+ VkPhysicalDeviceFeatures2 feats = {};
+ VkPhysicalDeviceConditionalRenderingFeaturesEXT cond_render_feats = {};
+
+ feats.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
+ if (have_cond_render_ext) {
+ cond_render_feats.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT;
+ cond_render_feats.pNext = feats.pNext;
+ feats.pNext = &cond_render_feats;
+ }
+ vkGetPhysicalDeviceFeatures2(screen->pdev, &feats);
+ memcpy(&screen->feats, &feats.features, sizeof(screen->feats));
+ if (have_cond_render_ext && cond_render_feats.conditionalRendering)
+ screen->have_EXT_conditional_rendering = true;
+
+ VkPhysicalDeviceProperties2 props = {};
+ props.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2;
+ vkGetPhysicalDeviceProperties2(screen->pdev, &props);
+ memcpy(&screen->props, &props.properties, sizeof(screen->props));