Structures
VkPhysicalDevice8BitStorageFeatures
Structure describing features supported by VK_KHR_8bit_storage
The VkPhysicalDevice8BitStorageFeatures structure is defined as:
typedef struct VkPhysicalDevice8BitStorageFeatures {
VkStructureType sType;
void* pNext;
VkBool32 storageBuffer8BitAccess;
VkBool32 uniformAndStorageBuffer8BitAccess;
VkBool32 storagePushConstant8;
} VkPhysicalDevice8BitStorageFeatures;
pub struct PhysicalDevice8BitStorageFeatures {
s_type: vk::StructureType,
p_next: *mut c_void,
storage_buffer8_bit_access: vk::Bool32, // 8-bit integer variables supported in StorageBuffer
uniform_and_storage_buffer8_bit_access: vk::Bool32, // 8-bit integer variables supported in StorageBuffer and Uniform
storage_push_constant8: vk::Bool32, // 8-bit integer variables supported in PushConstant
}
typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
type PhysicalDevice8BitStorageFeaturesKHR = vk::PhysicalDevice8BitStorageFeatures;
This structure describes the following features:
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.storageBuffer8BitAccessindicates whether objects in theStorageBuffer,ShaderRecordBufferKHR, orPhysicalStorageBufferstorage class with theBlockdecoration can have 8-bit integer members. If this feature is not enabled, 8-bit integer members must not be used in such objects unlessshaderUntypedPointeris enabled and they are accessed in 32-bit multiples or 16-bit multiples ifstorageBuffer16BitAccessis enabled. This also indicates whether shader modules can declare theStorageBuffer8BitAccesscapability.uniformAndStorageBuffer8BitAccessindicates whether objects in theUniformstorage class with theBlockdecoration can have 8-bit integer members. If this feature is not enabled, 8-bit integer members must not be used in such objects unlessshaderUntypedPointersis enabled and they are accessed in 32-bit multiples or 16-bit multiples ifuniformAndStorageBuffer16BitAccessis enabled. This also indicates whether shader modules can declare theUniformAndStorageBuffer8BitAccesscapability.storagePushConstant8indicates whether objects in thePushConstantstorage class can have 8-bit integer members. If this feature is not enabled, 8-bit integer members must not be used in such objects unlessshaderUntypedPointersis enabled and they are accessed in 32-bit multiples or 16-bit multiples ifstoragePushConstant16is enabled. This also indicates whether shader modules can declare theStoragePushConstant8capability.
If the VkPhysicalDevice8BitStorageFeatures 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 VkPhysicalDevice8BitStorageFeatures, 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 (Implicit)
VUID-VkPhysicalDevice8BitStorageFeatures-sType-sType
sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES