From 3aadbb9fdec0623337dced7e829cb11149647a16 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Tue, 22 Nov 2022 12:22:06 +0200 Subject: [PATCH] anv: enable sample location enable dynamic state MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Lionel Landwerlin Reviewed-by: Tapani Pälli Reviewed-by: Jason Ekstrand Part-of: --- src/intel/vulkan/anv_device.c | 2 +- src/intel/vulkan/gfx8_cmd_buffer.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 1c384cde1ff..893200e2690 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -1735,13 +1735,13 @@ void anv_GetPhysicalDeviceFeatures2( features->extendedDynamicState3ColorBlendEnable = true; features->extendedDynamicState3ColorWriteMask = true; features->extendedDynamicState3ColorBlendEquation = true; + features->extendedDynamicState3SampleLocationsEnable = true; features->extendedDynamicState3SampleMask = true; features->extendedDynamicState3RasterizationSamples = false; features->extendedDynamicState3AlphaToCoverageEnable = false; features->extendedDynamicState3ConservativeRasterizationMode = false; features->extendedDynamicState3ExtraPrimitiveOverestimationSize = false; - features->extendedDynamicState3SampleLocationsEnable = false; features->extendedDynamicState3ViewportWScalingEnable = false; features->extendedDynamicState3ViewportSwizzle = false; features->extendedDynamicState3ShadingRateImageEnable = false; diff --git a/src/intel/vulkan/gfx8_cmd_buffer.c b/src/intel/vulkan/gfx8_cmd_buffer.c index 60a9945e804..e8a01ef9312 100644 --- a/src/intel/vulkan/gfx8_cmd_buffer.c +++ b/src/intel/vulkan/gfx8_cmd_buffer.c @@ -641,8 +641,12 @@ genX(cmd_buffer_flush_dynamic_state)(struct anv_cmd_buffer *cmd_buffer) #endif if (pipeline->base.device->vk.enabled_extensions.EXT_sample_locations && - BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_MS_SAMPLE_LOCATIONS)) - genX(emit_sample_pattern)(&cmd_buffer->batch, dyn->ms.sample_locations); + (BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_MS_SAMPLE_LOCATIONS) || + BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_MS_SAMPLE_LOCATIONS_ENABLE))) { + genX(emit_sample_pattern)(&cmd_buffer->batch, + dyn->ms.sample_locations_enable ? + dyn->ms.sample_locations : NULL); + } if ((cmd_buffer->state.gfx.dirty & ANV_CMD_DIRTY_PIPELINE) || BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_CB_COLOR_WRITE_ENABLES) ||