VkPhysicalDeviceProperties props;
VkPhysicalDeviceFeatures feats;
VkPhysicalDeviceMemoryProperties mem_props;
+ VkPhysicalDeviceTransformFeedbackPropertiesEXT tf_props;
+ VkPhysicalDeviceRobustness2PropertiesEXT rb2_props;
+ VkPhysicalDeviceRobustness2FeaturesEXT rb2_feats;
+ VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT vdiv_feats;
+ uint32_t max_vertex_attrib_divisor;
bool have_KHR_maintenance1;
bool have_KHR_external_memory_fd;
bool have_EXT_conditional_rendering;
+ bool have_EXT_transform_feedback;
+ bool have_EXT_index_type_uint8;
+ bool have_EXT_robustness2_features;
+ bool have_EXT_vertex_attribute_divisor;
+ bool have_EXT_calibrated_timestamps;
bool have_X8_D24_UNORM_PACK32;
bool have_D24_UNORM_S8_UINT;
uint32_t gfx_queue;
+ uint32_t timestamp_valid_bits;
VkDevice dev;
PFN_vkGetMemoryFdKHR vk_GetMemoryFdKHR;
PFN_vkCmdBeginConditionalRenderingEXT vk_CmdBeginConditionalRenderingEXT;
PFN_vkCmdEndConditionalRenderingEXT vk_CmdEndConditionalRenderingEXT;
+
+ PFN_vkCmdBindTransformFeedbackBuffersEXT vk_CmdBindTransformFeedbackBuffersEXT;
+ PFN_vkCmdBeginTransformFeedbackEXT vk_CmdBeginTransformFeedbackEXT;
+ PFN_vkCmdEndTransformFeedbackEXT vk_CmdEndTransformFeedbackEXT;
+ PFN_vkCmdBeginQueryIndexedEXT vk_CmdBeginQueryIndexedEXT;
+ PFN_vkCmdEndQueryIndexedEXT vk_CmdEndQueryIndexedEXT;
+ PFN_vkCmdDrawIndirectByteCountEXT vk_CmdDrawIndirectByteCountEXT;
+
+ PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vk_GetPhysicalDeviceCalibrateableTimeDomainsEXT;
+ PFN_vkGetCalibratedTimestampsEXT vk_GetCalibratedTimestampsEXT;
};
static inline struct zink_screen *