VkPhysicalDeviceVariablePointersFeatures
The VkPhysicalDeviceVariablePointersFeatures structure is defined as:
typedef struct VkPhysicalDeviceVariablePointersFeatures {
VkStructureType sType;
void* pNext;
VkBool32 variablePointersStorageBuffer;
VkBool32 variablePointers;
} VkPhysicalDeviceVariablePointersFeatures;
or the equivalent
typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
This structure describes the following features:
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.variablePointersStorageBufferspecifies whether the implementation supports the SPIR-VVariablePointersStorageBuffercapability. When this feature is not enabled, shader modules must not declare theSPV_KHR_variable_pointersextension or theVariablePointersStorageBuffercapability.-
variablePointersspecifies whether the implementation supports the SPIR-VVariablePointerscapability. When this feature is not enabled, shader modules must not declare theVariablePointerscapability.
If the VkPhysicalDeviceVariablePointersFeatures structure is included in the pNext chain of the
VkPhysicalDeviceFeatures2 structure passed to
vkGetPhysicalDeviceFeatures2, it is filled in to indicate whether each
corresponding feature is supported.
If the application wishes to use a VkDevice with any features
described by VkPhysicalDeviceVariablePointersFeatures, it must add an instance of the structure,
with the desired feature members set to VK_TRUE, to the pNext
chain of VkDeviceCreateInfo when creating the VkDevice.
Valid Usage
VUID-VkPhysicalDeviceVariablePointersFeatures-variablePointers-01431
If variablePointers is enabled then
variablePointersStorageBuffer must also be enabled
Valid Usage (Implicit)
VUID-VkPhysicalDeviceVariablePointersFeatures-sType-sType
sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES