| 1711 | } |
| 1712 | } |
| 1713 | void VulkanDeviceInfoExtensions::readPhysicalFeatures_EXT() { |
| 1714 | VkPhysicalDeviceFeatures2 deviceFeatures2{}; |
| 1715 | if (extensionSupported("VK_EXT_transform_feedback")) { |
| 1716 | const char* extension("VK_EXT_transform_feedback"); |
| 1717 | VkPhysicalDeviceTransformFeedbackFeaturesEXT* extFeatures = new VkPhysicalDeviceTransformFeedbackFeaturesEXT{}; |
| 1718 | extFeatures->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT; |
| 1719 | deviceFeatures2 = initDeviceFeatures2(extFeatures); |
| 1720 | vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2); |
| 1721 | pushFeature2(extension, "transformFeedback", extFeatures->transformFeedback); |
| 1722 | pushFeature2(extension, "geometryStreams", extFeatures->geometryStreams); |
| 1723 | delete extFeatures; |
| 1724 | } |
| 1725 | if (extensionSupported("VK_EXT_texture_compression_astc_hdr")) { |
| 1726 | const char* extension("VK_EXT_texture_compression_astc_hdr"); |
| 1727 | VkPhysicalDeviceTextureCompressionASTCHDRFeatures* extFeatures = new VkPhysicalDeviceTextureCompressionASTCHDRFeatures{}; |
| 1728 | extFeatures->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES; |
| 1729 | deviceFeatures2 = initDeviceFeatures2(extFeatures); |
| 1730 | vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2); |
| 1731 | pushFeature2(extension, "textureCompressionASTC_HDR", extFeatures->textureCompressionASTC_HDR); |
| 1732 | delete extFeatures; |
| 1733 | } |
| 1734 | if (extensionSupported("VK_EXT_astc_decode_mode")) { |
| 1735 | const char* extension("VK_EXT_astc_decode_mode"); |
| 1736 | VkPhysicalDeviceASTCDecodeFeaturesEXT* extFeatures = new VkPhysicalDeviceASTCDecodeFeaturesEXT{}; |
| 1737 | extFeatures->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT; |
| 1738 | deviceFeatures2 = initDeviceFeatures2(extFeatures); |
| 1739 | vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2); |
| 1740 | pushFeature2(extension, "decodeModeSharedExponent", extFeatures->decodeModeSharedExponent); |
| 1741 | delete extFeatures; |
| 1742 | } |
| 1743 | if (extensionSupported("VK_EXT_pipeline_robustness")) { |
| 1744 | const char* extension("VK_EXT_pipeline_robustness"); |
| 1745 | VkPhysicalDevicePipelineRobustnessFeaturesEXT* extFeatures = new VkPhysicalDevicePipelineRobustnessFeaturesEXT{}; |
| 1746 | extFeatures->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT; |
| 1747 | deviceFeatures2 = initDeviceFeatures2(extFeatures); |
| 1748 | vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2); |
| 1749 | pushFeature2(extension, "pipelineRobustness", extFeatures->pipelineRobustness); |
| 1750 | delete extFeatures; |
| 1751 | } |
| 1752 | if (extensionSupported("VK_EXT_conditional_rendering")) { |
| 1753 | const char* extension("VK_EXT_conditional_rendering"); |
| 1754 | VkPhysicalDeviceConditionalRenderingFeaturesEXT* extFeatures = new VkPhysicalDeviceConditionalRenderingFeaturesEXT{}; |
| 1755 | extFeatures->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT; |
| 1756 | deviceFeatures2 = initDeviceFeatures2(extFeatures); |
| 1757 | vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2); |
| 1758 | pushFeature2(extension, "conditionalRendering", extFeatures->conditionalRendering); |
| 1759 | pushFeature2(extension, "inheritedConditionalRendering", extFeatures->inheritedConditionalRendering); |
| 1760 | delete extFeatures; |
| 1761 | } |
| 1762 | if (extensionSupported("VK_EXT_depth_clip_enable")) { |
| 1763 | const char* extension("VK_EXT_depth_clip_enable"); |
| 1764 | VkPhysicalDeviceDepthClipEnableFeaturesEXT* extFeatures = new VkPhysicalDeviceDepthClipEnableFeaturesEXT{}; |
| 1765 | extFeatures->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT; |
| 1766 | deviceFeatures2 = initDeviceFeatures2(extFeatures); |
| 1767 | vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2); |
| 1768 | pushFeature2(extension, "depthClipEnable", extFeatures->depthClipEnable); |
| 1769 | delete extFeatures; |
| 1770 | } |
nothing calls this directly
no outgoing calls
no test coverage detected