Enum
VkShaderCreateFlagBitsEXT
Bitmask controlling how a shader object is created
Possible values of the flags member of VkShaderCreateInfoEXT
specifying how a shader object is created, are:
typedef enum VkShaderCreateFlagBitsEXT {
VK_SHADER_CREATE_LINK_STAGE_BIT_EXT = 0x00000001,
// Provided by extensions
VK_SHADER_CREATE_RESERVED_17_BIT_IMG = 0x00020000,
VK_SHADER_CREATE_DESCRIPTOR_HEAP_BIT_EXT = 0x00000400,
VK_SHADER_CREATE_RESERVED_16_BIT_KHR = 0x00010000,
VK_SHADER_CREATE_INSTRUMENT_SHADER_BIT_ARM = 0x00000800,
VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000002,
VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000004,
VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT = 0x00000008,
VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT = 0x00000010,
VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT = 0x00000020,
VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00000040,
VK_SHADER_CREATE_INDIRECT_BINDABLE_BIT_EXT = 0x00000080,
VK_SHADER_CREATE_RESERVED_8_BIT_EXT = 0x00000100,
VK_SHADER_CREATE_RESERVED_9_BIT_EXT = 0x00000200,
VK_SHADER_CREATE_RESERVED_12_BIT_EXT = 0x00001000,
VK_SHADER_CREATE_64_BIT_INDEXING_BIT_EXT = 0x00008000,
VK_SHADER_CREATE_RESERVED_18_BIT_KHR = 0x00040000,
} VkShaderCreateFlagBitsEXT;
pub struct ShaderCreateFlagBitsEXT(u32);
impl ShaderCreateFlagBitsEXT {
pub const LINK_STAGE: Self = 0x00000001;
pub const RESERVED_17_IMG: Self = 0x00020000;
pub const DESCRIPTOR_HEAP: Self = 0x00000400;
pub const RESERVED_16_KHR: Self = 0x00010000;
pub const INSTRUMENT_SHADER_ARM: Self = 0x00000800;
pub const ALLOW_VARYING_SUBGROUP_SIZE: Self = 0x00000002;
pub const REQUIRE_FULL_SUBGROUPS: Self = 0x00000004;
pub const NO_TASK_SHADER: Self = 0x00000008;
pub const DISPATCH_BASE: Self = 0x00000010;
pub const FRAGMENT_SHADING_RATE_ATTACHMENT: Self = 0x00000020;
pub const FRAGMENT_DENSITY_MAP_ATTACHMENT: Self = 0x00000040;
pub const INDIRECT_BINDABLE: Self = 0x00000080;
pub const RESERVED_8: Self = 0x00000100;
pub const RESERVED_9: Self = 0x00000200;
pub const RESERVED_12: Self = 0x00001000;
pub const TYPE_64_INDEXING: Self = 0x00008000;
pub const RESERVED_18_KHR: Self = 0x00040000;
}
VK_SHADER_CREATE_LINK_STAGE_BIT_EXTspecifies that a shader is linked to all other shaders created in the same vkCreateShadersEXT call whose VkShaderCreateInfoEXT structures'flagsincludeVK_SHADER_CREATE_LINK_STAGE_BIT_EXT.VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXTspecifies that theSubgroupSizemay vary in a task, mesh, or compute shader.VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXTspecifies that the subgroup sizes must be launched with all invocations active in a task, mesh, or compute shader.VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXTspecifies that a mesh shader must only be used without a task shader. Otherwise, the mesh shader must only be used with a task shader.VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXTspecifies that a compute shader can be used with vkCmdDispatchBase with a non-zero base workgroup.VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXTspecifies that a fragment shader can be used with a fragment shading rate attachment.VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXTspecifies that a fragment shader can be used with a fragment density map attachment.VK_SHADER_CREATE_INDIRECT_BINDABLE_BIT_EXTspecifies that the shader can be used in combination with Device-Generated Commands.VK_SHADER_CREATE_64_BIT_INDEXING_BIT_EXTspecifies that the shader enables 64-bit indexing.VK_SHADER_CREATE_DESCRIPTOR_HEAP_BIT_EXTspecifies that the shader will use descriptor heap mappings instead of descriptor set layouts.
Parent
VK_EXT_shader_objectType
Enum