From: Eleni Maria Stea <es...@igalia.com>

We only emit sample locations when the extension is enabled by the user.
In all other cases the default locations are emitted once when the device
is initialized to increase performance.
---
 src/intel/vulkan/genX_cmd_buffer.c | 1 +
 src/intel/vulkan/genX_pipeline.c   | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/intel/vulkan/genX_cmd_buffer.c 
b/src/intel/vulkan/genX_cmd_buffer.c
index 5d2b17cf8ae..ca684f6aa72 100644
--- a/src/intel/vulkan/genX_cmd_buffer.c
+++ b/src/intel/vulkan/genX_cmd_buffer.c
@@ -2797,6 +2797,7 @@ genX(cmd_buffer_flush_state)(struct anv_cmd_buffer 
*cmd_buffer)
       gen7_cmd_buffer_emit_scissor(cmd_buffer);
 
    if (cmd_buffer->state.gfx.dynamic.sample_locations.valid) {
+      assert(cmd_buffer->device->enabled_extensions.EXT_sample_locations);
       uint32_t samples = 
cmd_buffer->state.gfx.dynamic.sample_locations.samples;
       const VkSampleLocationEXT *locations =
          cmd_buffer->state.gfx.dynamic.sample_locations.locations;
diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c
index 828fcb17fcc..ffd5c7c6409 100644
--- a/src/intel/vulkan/genX_pipeline.c
+++ b/src/intel/vulkan/genX_pipeline.c
@@ -580,7 +580,8 @@ emit_ms_state(struct anv_pipeline *pipeline,
    }
 
 #if GEN_GEN >= 8
-   genX(emit_sample_pattern)(&pipeline->batch, samples, locations);
+   if (pipeline->device->enabled_extensions.EXT_sample_locations)
+      genX(emit_sample_pattern)(&pipeline->batch, samples, locations);
 #endif
 
    genX(emit_multisample)(&pipeline->batch, samples, locations);
-- 
2.20.1

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to