Module: Mesa
Branch: main
Commit: d54c140eb65ecf49d969c93ebbe8519c205a17c0
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d54c140eb65ecf49d969c93ebbe8519c205a17c0

Author: Juston Li <justo...@google.com>
Date:   Fri Nov 17 11:14:21 2023 -0800

venus: disable unsupported ExtendedDynamicState3Features

Fixes: 49e5b583 ("venus: enable VK_EXT_extended_dynamic_state3")

Signed-off-by: Juston Li <justo...@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26261>

---

 src/virtio/vulkan/vn_physical_device.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/src/virtio/vulkan/vn_physical_device.c 
b/src/virtio/vulkan/vn_physical_device.c
index 0c16142d456..bba3dcd3f36 100644
--- a/src/virtio/vulkan/vn_physical_device.c
+++ b/src/virtio/vulkan/vn_physical_device.c
@@ -302,6 +302,36 @@ vn_physical_device_init_features(struct vn_physical_device 
*physical_dev)
       VN_SET_CORE_VALUE(feats, sparseResidency16Samples, false);
       VN_SET_CORE_VALUE(feats, sparseResidencyAliased, false);
    }
+
+   /* Disable unsupported ExtendedDynamicState3Features */
+   if (exts->EXT_extended_dynamic_state3) {
+      /* TODO: Add support for VK_EXT_sample_locations */
+      VN_SET_CORE_VALUE(feats, extendedDynamicState3SampleLocationsEnable,
+                        false);
+      /* TODO: Add support for VK_EXT_blend_operation_advanced */
+      VN_SET_CORE_VALUE(feats, extendedDynamicState3ColorBlendAdvanced,
+                        false);
+      /* VK_NV_* extensions required */
+      VN_SET_CORE_VALUE(feats, extendedDynamicState3ViewportWScalingEnable,
+                        false);
+      VN_SET_CORE_VALUE(feats, extendedDynamicState3ViewportSwizzle, false);
+      VN_SET_CORE_VALUE(feats, extendedDynamicState3CoverageToColorEnable,
+                        false);
+      VN_SET_CORE_VALUE(feats, extendedDynamicState3CoverageToColorLocation,
+                        false);
+      VN_SET_CORE_VALUE(feats, extendedDynamicState3CoverageModulationMode,
+                        false);
+      VN_SET_CORE_VALUE(
+         feats, extendedDynamicState3CoverageModulationTableEnable, false);
+      VN_SET_CORE_VALUE(feats, extendedDynamicState3CoverageModulationTable,
+                        false);
+      VN_SET_CORE_VALUE(feats, extendedDynamicState3CoverageReductionMode,
+                        false);
+      VN_SET_CORE_VALUE(
+         feats, extendedDynamicState3RepresentativeFragmentTestEnable, false);
+      VN_SET_CORE_VALUE(feats, extendedDynamicState3ShadingRateImageEnable,
+                        false);
+   }
 }
 
 static void

Reply via email to