## C Specification

The VkPhysicalDeviceSubgroupSizeControlPropertiesEXT structure is defined as:

typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
VkStructureType       sType;
void*                 pNext;
uint32_t              minSubgroupSize;
uint32_t              maxSubgroupSize;
uint32_t              maxComputeWorkgroupSubgroups;
} VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;

## Members

The members of the VkPhysicalDeviceSubgroupSizeControlPropertiesEXT structure describe the following properties:

## Description

• sType is the type of this structure.

• pNext is NULL or a pointer to an extension-specific structure.

• minSubgroupSize is the minimum subgroup size supported by this device. minSubgroupSize is at least one if any of the physical device’s queues support VK_QUEUE_GRAPHICS_BIT or VK_QUEUE_COMPUTE_BIT. minSubgroupSize is a power-of-two. minSubgroupSize is less than or equal to maxSubgroupSize. minSubgroupSize is less than or equal to subgroupSize.

• maxSubgroupSize is the maximum subgroup size supported by this device. maxSubgroupSize is at least one if any of the physical device’s queues support VK_QUEUE_GRAPHICS_BIT or VK_QUEUE_COMPUTE_BIT. maxSubgroupSize is a power-of-two. maxSubgroupSize is greater than or equal to minSubgroupSize. maxSubgroupSize is greater than or equal to subgroupSize.

• maxComputeWorkgroupSubgroups is the maximum number of subgroups supported by the implementation within a workgroup.

• requiredSubgroupSizeStages is a bitfield of what shader stages support having a required subgroup size specified.

If the VkPhysicalDeviceSubgroupSizeControlPropertiesEXT structure is included in the pNext chain of VkPhysicalDeviceProperties2, it is filled with the implementation-dependent limits.

If VkPhysicalDeviceSubgroupProperties::supportedOperations includes VK_SUBGROUP_FEATURE_QUAD_BIT, minSubgroupSize must be greater than or equal to 4.

Valid Usage (Implicit)
• sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT