Module: Mesa Branch: main Commit: 790ff1ceac8a406467b38c929e0ae75200da59f0 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=790ff1ceac8a406467b38c929e0ae75200da59f0
Author: Lionel Landwerlin <[email protected]> Date: Tue May 4 09:46:08 2021 +0300 anv: fixup physical device properties of fragment shading rate We've only enabled the extension on Gfx11+ so no need to care about prior values. Also fixup values of (min|max)FragmentShadingRateAttachmentTexelSize. Signed-off-by: Lionel Landwerlin <[email protected]> Fixes: 231651fd89fb00 ("anv: implement VK_KHR_fragment_shading_rate") Reviewed-by: Tapani Pälli <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10607> --- src/intel/vulkan/anv_device.c | 58 ++++++++++++++++--------------------------- 1 file changed, 21 insertions(+), 37 deletions(-) diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 7d43f4b019b..4281d823c23 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -2218,43 +2218,27 @@ void anv_GetPhysicalDeviceProperties2( case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: { VkPhysicalDeviceFragmentShadingRatePropertiesKHR *props = (VkPhysicalDeviceFragmentShadingRatePropertiesKHR *)ext; - if (pdevice->info.ver < 11) { - props->minFragmentShadingRateAttachmentTexelSize = (VkExtent2D) { 0, 0 }; - props->maxFragmentShadingRateAttachmentTexelSize = (VkExtent2D) { 0, 0 }; - props->maxFragmentShadingRateAttachmentTexelSizeAspectRatio = 0; - props->primitiveFragmentShadingRateWithMultipleViewports = false; - props->layeredShadingRateAttachments = false; - props->fragmentShadingRateNonTrivialCombinerOps = true; - props->maxFragmentSize = (VkExtent2D) { 1, 1 }; - props->maxFragmentSizeAspectRatio = 1; - props->maxFragmentShadingRateCoverageSamples = 0; - props->maxFragmentShadingRateRasterizationSamples = 0; - props->fragmentShadingRateWithShaderDepthStencilWrites = false; - props->fragmentShadingRateWithSampleMask = false; - props->fragmentShadingRateWithShaderSampleMask = false; - props->fragmentShadingRateWithConservativeRasterization = true; - props->fragmentShadingRateWithFragmentShaderInterlock = false; - props->fragmentShadingRateWithCustomSampleLocations = false; - props->fragmentShadingRateStrictMultiplyCombiner = false; - } else { - props->minFragmentShadingRateAttachmentTexelSize = (VkExtent2D) { 1, 1 }; - props->maxFragmentShadingRateAttachmentTexelSize = (VkExtent2D) { 4, 4 }; - props->maxFragmentShadingRateAttachmentTexelSizeAspectRatio = 0; - props->primitiveFragmentShadingRateWithMultipleViewports = pdevice->info.ver >= 12; - props->layeredShadingRateAttachments = false; - props->fragmentShadingRateNonTrivialCombinerOps = true; - props->maxFragmentSize = (VkExtent2D) { 4, 4 }; - props->maxFragmentSizeAspectRatio = 4; - props->maxFragmentShadingRateCoverageSamples = 4 * 4; - props->maxFragmentShadingRateRasterizationSamples = VK_SAMPLE_COUNT_16_BIT; - props->fragmentShadingRateWithShaderDepthStencilWrites = false; - props->fragmentShadingRateWithSampleMask = true; - props->fragmentShadingRateWithShaderSampleMask = false; - props->fragmentShadingRateWithConservativeRasterization = true; - props->fragmentShadingRateWithFragmentShaderInterlock = true; - props->fragmentShadingRateWithCustomSampleLocations = true; - props->fragmentShadingRateStrictMultiplyCombiner = false; - } + /* Those must be 0 if attachmentFragmentShadingRate is not + * supported. + */ + props->minFragmentShadingRateAttachmentTexelSize = (VkExtent2D) { 0, 0 }; + props->maxFragmentShadingRateAttachmentTexelSize = (VkExtent2D) { 0, 0 }; + props->maxFragmentShadingRateAttachmentTexelSizeAspectRatio = 0; + + props->primitiveFragmentShadingRateWithMultipleViewports = pdevice->info.ver >= 12; + props->layeredShadingRateAttachments = false; + props->fragmentShadingRateNonTrivialCombinerOps = true; + props->maxFragmentSize = (VkExtent2D) { 4, 4 }; + props->maxFragmentSizeAspectRatio = 4; + props->maxFragmentShadingRateCoverageSamples = 4 * 4; + props->maxFragmentShadingRateRasterizationSamples = VK_SAMPLE_COUNT_16_BIT; + props->fragmentShadingRateWithShaderDepthStencilWrites = false; + props->fragmentShadingRateWithSampleMask = true; + props->fragmentShadingRateWithShaderSampleMask = false; + props->fragmentShadingRateWithConservativeRasterization = true; + props->fragmentShadingRateWithFragmentShaderInterlock = true; + props->fragmentShadingRateWithCustomSampleLocations = true; + props->fragmentShadingRateStrictMultiplyCombiner = false; break; } _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
