radv: set state.vbo_misaligned_mask_invalid in radv_bind_vs_input_state
authorRhys Perry <pendingchaos02@gmail.com>
Wed, 25 Jan 2023 18:00:54 +0000 (18:00 +0000)
committerEric Engestrom <eric@engestrom.ch>
Wed, 8 Feb 2023 20:34:45 +0000 (20:34 +0000)
Found by inspection. Something probably hangs because of this, but I don't
know what.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Fixes: c199a5160a0 ("radv: bind the VS input state for prologs created with GPL")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20913>
(cherry picked from commit 10a5035c836a852fcdc7a4532d9ec1af5fd3464d)

.pick_status.json
src/amd/vulkan/radv_cmd_buffer.c

index f5c9e1f..a37e553 100644 (file)
         "description": "radv: set state.vbo_misaligned_mask_invalid in radv_bind_vs_input_state",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": "c199a5160a08b118df6ba6d3bb211f5e2debcf83"
     },
index 3c58427..6b2e880 100644 (file)
@@ -5374,6 +5374,12 @@ radv_bind_vs_input_state(struct radv_cmd_buffer *cmd_buffer,
 
    cmd_buffer->state.dynamic_vs_input = *src;
 
+   if (cmd_buffer->device->physical_device->rad_info.gfx_level == GFX6 ||
+       cmd_buffer->device->physical_device->rad_info.gfx_level >= GFX10) {
+      cmd_buffer->state.vbo_misaligned_mask = 0;
+      cmd_buffer->state.vbo_misaligned_mask_invalid = src->attribute_mask;
+   }
+
    cmd_buffer->state.dirty |= RADV_CMD_DIRTY_DYNAMIC_VERTEX_INPUT;
 }