v3dv_GetPhysicalDeviceFeatures(physicalDevice, &pFeatures->features);
VkPhysicalDeviceVulkan12Features vk12 = {
- .storageBuffer8BitAccess = true,
+ .hostQueryReset = true,
.uniformAndStorageBuffer8BitAccess = true,
+ .uniformBufferStandardLayout = true,
+ .storageBuffer8BitAccess = true,
.storagePushConstant8 = true,
};
break;
}
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR: {
- VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR *features =
- (VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR *)ext;
- features->uniformBufferStandardLayout = true;
- break;
- }
-
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT: {
VkPhysicalDevicePrivateDataFeaturesEXT *features =
(VkPhysicalDevicePrivateDataFeaturesEXT *)ext;
break;
}
+ /* Vulkan 1.2 */
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: {
+ VkPhysicalDevice8BitStorageFeatures *features = (void *) ext;
+ features->storageBuffer8BitAccess = vk12.storageBuffer8BitAccess;
+ features->uniformAndStorageBuffer8BitAccess =
+ vk12.uniformAndStorageBuffer8BitAccess;
+ features->storagePushConstant8 = vk12.storagePushConstant8;
+ break;
+ }
+
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: {
- VkPhysicalDeviceHostQueryResetFeatures *features =
- (void *) ext;
+ VkPhysicalDeviceHostQueryResetFeatures *features = (void *) ext;
+ features->hostQueryReset = vk12.hostQueryReset;
+ break;
+ }
- features->hostQueryReset = true;
+ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR: {
+ VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR *features =
+ (VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR *)ext;
+ features->uniformBufferStandardLayout = vk12.uniformBufferStandardLayout;
break;
}
memcpy(features, &vk11, sizeof(VkPhysicalDeviceVulkan11Features));
break;
}
- case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: {
- VkPhysicalDevice8BitStorageFeatures *features = (void *) ext;
- features->storageBuffer8BitAccess = vk12.storageBuffer8BitAccess;
- features->uniformAndStorageBuffer8BitAccess =
- vk12.uniformAndStorageBuffer8BitAccess;
- features->storagePushConstant8 = vk12.storagePushConstant8;
- break;
- }
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: {
VkPhysicalDevice16BitStorageFeatures *features = (void *) ext;
features->storageBuffer16BitAccess = vk11.storageBuffer16BitAccess;