.inheritedQueries = true,
};
- VkPhysicalDeviceVulkan13Features vk13 = {
- .inlineUniformBlock = true,
- /* Inline buffers work like push constants, so after their are bound
- * some of their contents may be copied into the uniform stream as soon
- * as the next draw/dispatch is recorded in the command buffer. This means
- * that if the client updates the buffer contents after binding it to
- * a command buffer, the next queue submit of that command buffer may
- * not use the latest update to the buffer contents, but the data that
- * was present in the buffer at the time it was bound to the command
- * buffer.
- */
- .descriptorBindingInlineUniformBlockUpdateAfterBind = false,
- .pipelineCreationCacheControl = true,
- .privateData = true,
- .maintenance4 = true,
- .shaderZeroInitializeWorkgroupMemory = true,
- .synchronization2 = true,
- .robustImageAccess = true,
- .shaderIntegerDotProduct = true,
+ VkPhysicalDeviceVulkan11Features vk11 = {
+ .storageBuffer16BitAccess = true,
+ .uniformAndStorageBuffer16BitAccess = true,
+ .storagePushConstant16 = true,
+ .storageInputOutput16 = false,
+ .multiview = true,
+ .multiviewGeometryShader = false,
+ .multiviewTessellationShader = false,
+ .variablePointersStorageBuffer = true,
+ /* FIXME: this needs support for non-constant index on UBO/SSBO */
+ .variablePointers = false,
+ .protectedMemory = false,
+#ifdef ANDROID
+ .samplerYcbcrConversion = false,
+#else
+ .samplerYcbcrConversion = true,
+#endif
+ .shaderDrawParameters = false,
};
VkPhysicalDeviceVulkan12Features vk12 = {
.bufferDeviceAddressMultiDevice = false,
};
- VkPhysicalDeviceVulkan11Features vk11 = {
- .storageBuffer16BitAccess = true,
- .uniformAndStorageBuffer16BitAccess = true,
- .storagePushConstant16 = true,
- .storageInputOutput16 = false,
- .multiview = true,
- .multiviewGeometryShader = false,
- .multiviewTessellationShader = false,
- .variablePointersStorageBuffer = true,
- /* FIXME: this needs support for non-constant index on UBO/SSBO */
- .variablePointers = false,
- .protectedMemory = false,
-#ifdef ANDROID
- .samplerYcbcrConversion = false,
-#else
- .samplerYcbcrConversion = true,
-#endif
- .shaderDrawParameters = false,
+ VkPhysicalDeviceVulkan13Features vk13 = {
+ .inlineUniformBlock = true,
+ /* Inline buffers work like push constants, so after their are bound
+ * some of their contents may be copied into the uniform stream as soon
+ * as the next draw/dispatch is recorded in the command buffer. This means
+ * that if the client updates the buffer contents after binding it to
+ * a command buffer, the next queue submit of that command buffer may
+ * not use the latest update to the buffer contents, but the data that
+ * was present in the buffer at the time it was bound to the command
+ * buffer.
+ */
+ .descriptorBindingInlineUniformBlockUpdateAfterBind = false,
+ .pipelineCreationCacheControl = true,
+ .privateData = true,
+ .maintenance4 = true,
+ .shaderZeroInitializeWorkgroupMemory = true,
+ .synchronization2 = true,
+ .robustImageAccess = true,
+ .shaderIntegerDotProduct = true,
};
vk_foreach_struct(ext, pFeatures->pNext) {