MCPcopy Create free account
hub / github.com/SaschaWillems/VulkanCapsViewer / readPhysicalFeatures_QCOM

Method readPhysicalFeatures_QCOM

vulkanDeviceInfoExtensions.cpp:3938–4063  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3936 }
3937}
3938void VulkanDeviceInfoExtensions::readPhysicalFeatures_QCOM() {
3939 VkPhysicalDeviceFeatures2 deviceFeatures2{};
3940 if (extensionSupported("VK_QCOM_tile_shading")) {
3941 const char* extension("VK_QCOM_tile_shading");
3942 VkPhysicalDeviceTileShadingFeaturesQCOM* extFeatures = new VkPhysicalDeviceTileShadingFeaturesQCOM{};
3943 extFeatures->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_FEATURES_QCOM;
3944 deviceFeatures2 = initDeviceFeatures2(extFeatures);
3945 vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2);
3946 pushFeature2(extension, "tileShading", extFeatures->tileShading);
3947 pushFeature2(extension, "tileShadingFragmentStage", extFeatures->tileShadingFragmentStage);
3948 pushFeature2(extension, "tileShadingColorAttachments", extFeatures->tileShadingColorAttachments);
3949 pushFeature2(extension, "tileShadingDepthAttachments", extFeatures->tileShadingDepthAttachments);
3950 pushFeature2(extension, "tileShadingStencilAttachments", extFeatures->tileShadingStencilAttachments);
3951 pushFeature2(extension, "tileShadingInputAttachments", extFeatures->tileShadingInputAttachments);
3952 pushFeature2(extension, "tileShadingSampledAttachments", extFeatures->tileShadingSampledAttachments);
3953 pushFeature2(extension, "tileShadingPerTileDraw", extFeatures->tileShadingPerTileDraw);
3954 pushFeature2(extension, "tileShadingPerTileDispatch", extFeatures->tileShadingPerTileDispatch);
3955 pushFeature2(extension, "tileShadingDispatchTile", extFeatures->tileShadingDispatchTile);
3956 pushFeature2(extension, "tileShadingApron", extFeatures->tileShadingApron);
3957 pushFeature2(extension, "tileShadingAnisotropicApron", extFeatures->tileShadingAnisotropicApron);
3958 pushFeature2(extension, "tileShadingAtomicOps", extFeatures->tileShadingAtomicOps);
3959 pushFeature2(extension, "tileShadingImageProcessing", extFeatures->tileShadingImageProcessing);
3960 delete extFeatures;
3961 }
3962 if (extensionSupported("VK_QCOM_fragment_density_map_offset")) {
3963 const char* extension("VK_QCOM_fragment_density_map_offset");
3964 VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM* extFeatures = new VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM{};
3965 extFeatures->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM;
3966 deviceFeatures2 = initDeviceFeatures2(extFeatures);
3967 vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2);
3968 pushFeature2(extension, "fragmentDensityMapOffset", extFeatures->fragmentDensityMapOffset);
3969 delete extFeatures;
3970 }
3971 if (extensionSupported("VK_QCOM_image_processing")) {
3972 const char* extension("VK_QCOM_image_processing");
3973 VkPhysicalDeviceImageProcessingFeaturesQCOM* extFeatures = new VkPhysicalDeviceImageProcessingFeaturesQCOM{};
3974 extFeatures->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM;
3975 deviceFeatures2 = initDeviceFeatures2(extFeatures);
3976 vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2);
3977 pushFeature2(extension, "textureSampleWeighted", extFeatures->textureSampleWeighted);
3978 pushFeature2(extension, "textureBoxFilter", extFeatures->textureBoxFilter);
3979 pushFeature2(extension, "textureBlockMatch", extFeatures->textureBlockMatch);
3980 delete extFeatures;
3981 }
3982 if (extensionSupported("VK_QCOM_tile_properties")) {
3983 const char* extension("VK_QCOM_tile_properties");
3984 VkPhysicalDeviceTilePropertiesFeaturesQCOM* extFeatures = new VkPhysicalDeviceTilePropertiesFeaturesQCOM{};
3985 extFeatures->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM;
3986 deviceFeatures2 = initDeviceFeatures2(extFeatures);
3987 vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2);
3988 pushFeature2(extension, "tileProperties", extFeatures->tileProperties);
3989 delete extFeatures;
3990 }
3991 if (extensionSupported("VK_QCOM_multiview_per_view_viewports")) {
3992 const char* extension("VK_QCOM_multiview_per_view_viewports");
3993 VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM* extFeatures = new VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM{};
3994 extFeatures->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM;
3995 deviceFeatures2 = initDeviceFeatures2(extFeatures);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected