Enum
VkShaderStageFlagBits
Bitmask specifying a pipeline stage
Bits which can be set by commands and structures, specifying one or more 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,
// Provided by extensions
VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
VK_SHADER_STAGE_TASK_BIT_NV = VK_SHADER_STAGE_TASK_BIT_EXT,
VK_SHADER_STAGE_MESH_BIT_NV = VK_SHADER_STAGE_MESH_BIT_EXT,
VK_SHADER_STAGE_TASK_BIT_EXT = 0x00000040,
VK_SHADER_STAGE_MESH_BIT_EXT = 0x00000080,
VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000,
VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI = 0x00080000,
VK_SHADER_STAGE_RESERVED_15_BIT_NV = 0x00008000,
VK_SHADER_STAGE_RESERVED_16_BIT_HUAWEI = 0x00010000,
} VkShaderStageFlagBits;
pub struct ShaderStageFlagBits(u32);
impl ShaderStageFlagBits {
pub const VERTEX: Self = 0x00000001;
pub const TESSELLATION_CONTROL: Self = 0x00000002;
pub const TESSELLATION_EVALUATION: Self = 0x00000004;
pub const GEOMETRY: Self = 0x00000008;
pub const FRAGMENT: Self = 0x00000010;
pub const COMPUTE: Self = 0x00000020;
pub const ALL_GRAPHICS: Self = 0x0000001F;
pub const ALL: Self = 0x7FFFFFFF;
pub const RAYGEN_KHR: Self = 0x00000100;
pub const ANY_HIT_KHR: Self = 0x00000200;
pub const CLOSEST_HIT_KHR: Self = 0x00000400;
pub const MISS_KHR: Self = 0x00000800;
pub const INTERSECTION_KHR: Self = 0x00001000;
pub const CALLABLE_KHR: Self = 0x00002000;
pub const RAYGEN_NV: Self = Self::RAYGEN_KHR;
pub const ANY_HIT_NV: Self = Self::ANY_HIT_KHR;
pub const CLOSEST_HIT_NV: Self = Self::CLOSEST_HIT_KHR;
pub const MISS_NV: Self = Self::MISS_KHR;
pub const INTERSECTION_NV: Self = Self::INTERSECTION_KHR;
pub const CALLABLE_NV: Self = Self::CALLABLE_KHR;
pub const TASK_NV: Self = Self::TASK_EXT;
pub const MESH_NV: Self = Self::MESH_EXT;
pub const TASK_EXT: Self = 0x00000040;
pub const MESH_EXT: Self = 0x00000080;
pub const SUBPASS_SHADING_HUAWEI: Self = 0x00004000;
pub const CLUSTER_CULLING_HUAWEI: Self = 0x00080000;
pub const RESERVED_15_NV: Self = 0x00008000;
pub const RESERVED_16_HUAWEI: Self = 0x00010000;
}
VK_SHADER_STAGE_VERTEX_BITspecifies the vertex stage.VK_SHADER_STAGE_TESSELLATION_CONTROL_BITspecifies the tessellation control stage.VK_SHADER_STAGE_TESSELLATION_EVALUATION_BITspecifies the tessellation evaluation stage.VK_SHADER_STAGE_GEOMETRY_BITspecifies the geometry stage.VK_SHADER_STAGE_FRAGMENT_BITspecifies the fragment stage.VK_SHADER_STAGE_COMPUTE_BITspecifies the compute stage.VK_SHADER_STAGE_ALL_GRAPHICSis a combination of bits used as shorthand to specify all graphics stages defined above (excluding the compute stage).VK_SHADER_STAGE_ALLis 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_TASK_BIT_EXTspecifies the task stage.VK_SHADER_STAGE_MESH_BIT_EXTspecifies the mesh stage.VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEIspecifies the cluster culling stage.VK_SHADER_STAGE_RAYGEN_BIT_KHRspecifies the ray generation stage.VK_SHADER_STAGE_ANY_HIT_BIT_KHRspecifies the any-hit stage.VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHRspecifies the closest hit stage.VK_SHADER_STAGE_MISS_BIT_KHRspecifies the miss stage.VK_SHADER_STAGE_INTERSECTION_BIT_KHRspecifies the intersection stage.VK_SHADER_STAGE_CALLABLE_BIT_KHRspecifies the callable stage.
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.Parent
VK_VERSION_1_0Type
Enum