Mesa (master): anv: Flag descriptors dirty when gl_NumWorkgroups is used

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jan 10 01:45:27 UTC 2020


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

Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Wed Jan  8 14:47:11 2020 -0600

anv: Flag descriptors dirty when gl_NumWorkgroups is used

Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>

---

 src/intel/vulkan/genX_cmd_buffer.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c
index 66f0d7c6157..6797efd3068 100644
--- a/src/intel/vulkan/genX_cmd_buffer.c
+++ b/src/intel/vulkan/genX_cmd_buffer.c
@@ -3908,6 +3908,9 @@ void genX(CmdDispatchBase)(
          .bo = cmd_buffer->device->dynamic_state_pool.block_pool.bo,
          .offset = state.offset,
       };
+
+      /* The num_workgroups buffer goes in the binding table */
+      cmd_buffer->state.descriptors_dirty |= VK_SHADER_STAGE_COMPUTE_BIT;
    }
 
    genX(cmd_buffer_flush_compute_state)(cmd_buffer);
@@ -3958,9 +3961,13 @@ void genX(CmdDispatchIndirect)(
       return;
 #endif
 
-   if (prog_data->uses_num_work_groups)
+   if (prog_data->uses_num_work_groups) {
       cmd_buffer->state.compute.num_workgroups = addr;
 
+      /* The num_workgroups buffer goes in the binding table */
+      cmd_buffer->state.descriptors_dirty |= VK_SHADER_STAGE_COMPUTE_BIT;
+   }
+
    genX(cmd_buffer_flush_compute_state)(cmd_buffer);
 
    struct gen_mi_builder b;




More information about the mesa-commit mailing list