Mesa (main): turnip: emit vb stride dynamic state when it is dirty

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jun 2 22:34:52 UTC 2021


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

Author: Danylo Piliaiev <dpiliaiev at igalia.com>
Date:   Wed Jun  2 14:15:46 2021 +0300

turnip: emit vb stride dynamic state when it is dirty

Due to incorrect condition we never emitted vb stride
if state was dynamically set.

Fixes vertex explosion with Zink.

See https://gitlab.freedesktop.org/mesa/mesa/-/issues/4738

Signed-off-by: Danylo Piliaiev <dpiliaiev at igalia.com>
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11133>

---

 src/freedreno/vulkan/tu_cmd_buffer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/freedreno/vulkan/tu_cmd_buffer.c b/src/freedreno/vulkan/tu_cmd_buffer.c
index d3592a24f40..fd7ea6df927 100644
--- a/src/freedreno/vulkan/tu_cmd_buffer.c
+++ b/src/freedreno/vulkan/tu_cmd_buffer.c
@@ -3738,7 +3738,7 @@ tu6_draw_common(struct tu_cmd_buffer *cmd,
          1; /* vs_params */
 
       if ((cmd->state.dirty & TU_CMD_DIRTY_VB_STRIDE) &&
-          !(pipeline->dynamic_state_mask & BIT(TU_DYNAMIC_STATE_VB_STRIDE))) {
+          (pipeline->dynamic_state_mask & BIT(TU_DYNAMIC_STATE_VB_STRIDE))) {
          emit_binding_stride = true;
          draw_state_count += 1;
       }



More information about the mesa-commit mailing list