diff options
author | Rhys Perry <pendingchaos02@gmail.com> | 2023-01-25 18:00:54 +0000 |
---|---|---|
committer | Eric Engestrom <eric@engestrom.ch> | 2023-02-08 20:34:45 +0000 |
commit | 72fbe4451d65bb200a7f2451ff08578d54966bff (patch) | |
tree | 8ae15fcde2ee3fcdce07d8c51bf938c088d31251 | |
parent | e29a84fc1695497d4f51f589cd73245b67b94310 (diff) | |
download | mesa-72fbe4451d65bb200a7f2451ff08578d54966bff.tar.gz mesa-72fbe4451d65bb200a7f2451ff08578d54966bff.tar.bz2 mesa-72fbe4451d65bb200a7f2451ff08578d54966bff.zip |
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 <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)
-rw-r--r-- | .pick_status.json | 2 | ||||
-rw-r--r-- | src/amd/vulkan/radv_cmd_buffer.c | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/.pick_status.json b/.pick_status.json index f5c9e1fcb2a..a37e5534b65 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1237,7 +1237,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; } |