.standardSampleLocations = true,
.optimalBufferCopyOffsetAlignment = 1,
.optimalBufferCopyRowPitchAlignment = 1,
+ .bufferImageGranularity = 1,
+ .sparseAddressSpaceSize = UINT32_MAX,
+ },
+ .sparseProperties = {
+ .residencyNonResidentStrict = true,
},
-
/* More properties */
};
/* TODO: shaderInt16 */
/* TODO: shaderResourceResidency */
.shaderResourceMinLod = true,
+#if NVK_NEW_UAPI == 1
+ .sparseBinding = true,
+#endif
/* TODO: sparseResidency* */
/* TODO: variableMultisampleRate */
/* TODO: inheritedQueries */
p->queueFamilyProperties.queueFlags = VK_QUEUE_GRAPHICS_BIT |
VK_QUEUE_COMPUTE_BIT |
VK_QUEUE_TRANSFER_BIT;
+#if NVK_NEW_UAPI == 1
+ p->queueFamilyProperties.queueFlags |= VK_QUEUE_SPARSE_BINDING_BIT;
+#endif
p->queueFamilyProperties.queueCount = 1;
p->queueFamilyProperties.timestampValidBits = 64;
p->queueFamilyProperties.minImageTransferGranularity = (VkExtent3D){1, 1, 1};