Module: Mesa Branch: staging/22.3 Commit: 17457e560e975dbf6fdc26082c08315a58355229 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=17457e560e975dbf6fdc26082c08315a58355229
Author: Rhys Perry <[email protected]> Date: Wed Jan 25 18:00:54 2023 +0000 radv: set state.vbo_misaligned_mask_invalid in radv_bind_vs_input_state Found by inspection. Something probably hangs because of this, but I don't know what. Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Tatsuyuki Ishi <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> 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 | 2 +- src/amd/vulkan/radv_cmd_buffer.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index c841e61a2d4..9958606bce2 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -355,7 +355,7 @@ "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" }, diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 3c584274579..6b2e8809361 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -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; }
