# vkCompileDeferredNV(3) Manual Page

## Name

vkCompileDeferredNV - Deferred compilation of shaders

Loading… please wait.

## C Specification

To compile a deferred shader in a pipeline call:

    // Provided by VK_NV_ray_tracing
    VkResult vkCompileDeferredNV(
        VkDevice                                    device,
        VkPipeline                                  pipeline,
        uint32_t                                    shader);

## Parameters

- `device` is the logical device containing the ray tracing pipeline.

- `pipeline` is the ray tracing pipeline object containing the shaders.

- `shader` is the index of the shader to compile.

## Description

Valid Usage

- VUID-vkCompileDeferredNV-pipeline-04621
  `pipeline` must be a ray tracing pipeline

- VUID-vkCompileDeferredNV-pipeline-02237
  `pipeline` must have been created with `VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV`

- VUID-vkCompileDeferredNV-shader-02238
  `shader` must not have been called as a deferred compile before

Valid Usage (Implicit)

- VUID-vkCompileDeferredNV-device-parameter
  `device` must be a valid VkDevice handle

- VUID-vkCompileDeferredNV-pipeline-parameter
  `pipeline` must be a valid VkPipeline handle

- VUID-vkCompileDeferredNV-pipeline-parent
  `pipeline` must have been created, allocated, or retrieved from `device`

Return Codes

On success, this command returns

  - `VK_SUCCESS`

On failure, this command returns

  - `VK_ERROR_OUT_OF_HOST_MEMORY`

  - `VK_ERROR_OUT_OF_DEVICE_MEMORY`

## See Also

VK_NV_ray_tracing, VkDevice, VkPipeline

## Document Notes

For more information, see the Vulkan Specification

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

## Copyright

Copyright 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0