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_OPACITY_MICROMAP_DISALLOW_MIXED_SPECIAL_INDEX_BIT_EXT = 0x00001000,
VK_SHADER_CREATE_64_BIT_INDEXING_BIT_EXT = 0x00008000,
VK_SHADER_CREATE_INDEPENDENT_SETS_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 OPACITY_MICROMAP_DISALLOW_MIXED_SPECIAL_INDEX: Self = 0x00001000;
pub const TYPE_64_INDEXING: Self = 0x00008000;
pub const INDEPENDENT_SETS_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_OPACITY_MICROMAP_DISALLOW_MIXED_SPECIAL_INDEX_BIT_EXTspecifies that shader objects cannot be used with acceleration structures which are built with geometry that have an index buffer including both special indices and indices pointing to an associated micromap array. Geometry which has an index buffer using only special indices without an associated micromap array can be used with this flag.VK_SHADER_CREATE_INDEPENDENT_SETS_BIT_KHRspecifies that implementations must ensure that the properties and/or absence of a particular descriptor set do not influence any other descriptor sets for the shader. This allows shader objects to be created with a subset of the total descriptor sets.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