## C Specification

Commands and structures which need to specify one or more shader stages do so using a bitmask whose bits correspond to stages. Bits which can be set to specify shader stages are:

typedef enum VkShaderStageFlagBits {
VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
VK_SHADER_STAGE_RAYGEN_BIT_NV = 0x00000100,
VK_SHADER_STAGE_ANY_HIT_BIT_NV = 0x00000200,
VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = 0x00000400,
VK_SHADER_STAGE_MISS_BIT_NV = 0x00000800,
VK_SHADER_STAGE_INTERSECTION_BIT_NV = 0x00001000,
VK_SHADER_STAGE_CALLABLE_BIT_NV = 0x00002000,
VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkShaderStageFlagBits;

## Description

• VK_SHADER_STAGE_VERTEX_BIT specifies the vertex stage.

• VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT specifies the tessellation control stage.

• VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT specifies the tessellation evaluation stage.

• VK_SHADER_STAGE_GEOMETRY_BIT specifies the geometry stage.

• VK_SHADER_STAGE_FRAGMENT_BIT specifies the fragment stage.

• VK_SHADER_STAGE_COMPUTE_BIT specifies the compute stage.

• VK_SHADER_STAGE_TASK_BIT_NV specifies the task stage.

• VK_SHADER_STAGE_MESH_BIT_NV specifies the mesh stage.

• VK_SHADER_STAGE_ALL_GRAPHICS is a combination of bits used as shorthand to specify all graphics stages defined above (excluding the compute stage).

• VK_SHADER_STAGE_ALL is a combination of bits used as shorthand to specify all shader stages supported by the device, including all additional stages which are introduced by extensions.

• VK_SHADER_STAGE_RAYGEN_BIT_NV specifies the ray generation stage.

• VK_SHADER_STAGE_ANY_HIT_BIT_NV specifies the any-hit stage.

• VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV specifies the closest hit stage.

• VK_SHADER_STAGE_MISS_BIT_NV specifies the miss stage.

• VK_SHADER_STAGE_INTERSECTION_BIT_NV specifies the intersection stage.

• VK_SHADER_STAGE_CALLABLE_BIT_NV specifies the callable stage.

 Note VK_SHADER_STAGE_ALL_GRAPHICS only includes the original five graphics stages included in Vulkan 1.0, and not any stages added by extensions. Thus, it may not have the desired effect in all cases.

## 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 (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.