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

Reply via email to