Module: Mesa
Branch: master
Commit: 35b53c8d47d3a0b53ee2549d73296d5db8e3cca0
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=35b53c8d47d3a0b53ee2549d73296d5db8e3cca0

Author: Jason Ekstrand <[email protected]>
Date:   Tue Jun 21 15:32:09 2016 -0700

anv/cmd: Dirty descriptor sets when a new pipeline is bound

Ever since c2581a9375ea, the binding table layout has depended on the
pipeline.  This means that whenever we change pipelines we also need to
re-emit binding tables for the new layout.

Signed-off-by: Jason Ekstrand <[email protected]>
Cc: "12.0" <[email protected]>

---

 src/intel/vulkan/genX_cmd_buffer.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/intel/vulkan/genX_cmd_buffer.c 
b/src/intel/vulkan/genX_cmd_buffer.c
index 8fc09b9..95f9b48 100644
--- a/src/intel/vulkan/genX_cmd_buffer.c
+++ b/src/intel/vulkan/genX_cmd_buffer.c
@@ -512,6 +512,12 @@ genX(cmd_buffer_flush_state)(struct anv_cmd_buffer 
*cmd_buffer)
 
       anv_batch_emit_batch(&cmd_buffer->batch, &pipeline->batch);
 
+      /* The exact descriptor layout is pulled from the pipeline, so we need
+       * to re-emit binding tables on every pipeline change.
+       */
+      cmd_buffer->state.descriptors_dirty |=
+         cmd_buffer->state.pipeline->active_stages;
+
       /* If the pipeline changed, we may need to re-allocate push constant
        * space in the URB.
        */

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to