summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRhys Perry <pendingchaos02@gmail.com>2023-01-25 18:00:54 +0000
committerEric Engestrom <eric@engestrom.ch>2023-02-08 20:34:45 +0000
commit72fbe4451d65bb200a7f2451ff08578d54966bff (patch)
tree8ae15fcde2ee3fcdce07d8c51bf938c088d31251
parente29a84fc1695497d4f51f589cd73245b67b94310 (diff)
downloadmesa-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.json2
-rw-r--r--src/amd/vulkan/radv_cmd_buffer.c6
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;
}