VkShaderCreateFlagBitsEXT(3)

# VkShaderCreateFlagBitsEXT(3) Manual Page

## Name

VkShaderCreateFlagBitsEXT - Bitmask controlling how a shader object is created

Loading… please wait.

## C Specification

Possible values of the `flags` member of VkShaderCreateInfoEXT specifying how a shader object is created, are:

    // Provided by VK_EXT_shader_object
    typedef enum VkShaderCreateFlagBitsEXT {
        VK_SHADER_CREATE_LINK_STAGE_BIT_EXT = 0x00000001,
        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,
    } VkShaderCreateFlagBitsEXT;

## Description

- `VK_SHADER_CREATE_LINK_STAGE_BIT_EXT` specifies that this stage is linked to all other stages being created in the same vkCreateShadersEXT call whose VkShaderCreateInfoEXT structures have the `VK_SHADER_CREATE_LINK_STAGE_BIT_EXT` flag set in `flags`.

- `VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT` specifies that the `SubgroupSize` may vary in the shader stage.

- `VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT` specifies that the subgroup sizes must be launched with all invocations active in the compute stage.

- `VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT` specifies that the mesh shader being created must only be used without a task shader. Otherwise, the mesh shader being created must only be used with a task shader.

- `VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT` specifies that a compute shader can be used with vkCmdDispatchBase with a non-zero base workgroup.

- `VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT` specifies that the fragment shader can be used with a fragment shading rate attachment.

- `VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT` specifies that the fragment shader can be used with a fragment density map attachment.

## See Also

VK_EXT_shader_object, VkShaderCreateFlagsEXT

## 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-2023 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0