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

Author: Tatsuyuki Ishi <ishitatsuy...@gmail.com>
Date:   Sat Nov 11 18:11:08 2023 +0900

radv: Pre-mask misaligned_mask for VS prolog.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26023>

---

 src/amd/vulkan/radv_cmd_buffer.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index a1ced57bd15..014d197fdda 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -3749,6 +3749,7 @@ lookup_vs_prolog(struct radv_cmd_buffer *cmd_buffer, 
const struct radv_shader *v
       cmd_buffer->state.vbo_misaligned_mask_invalid &= ~attribute_mask;
    }
    misaligned_mask |= state->nontrivial_formats;
+   misaligned_mask &= attribute_mask;
 
    const bool can_use_simple_input =
       cmd_buffer->state.shaders[MESA_SHADER_VERTEX] &&
@@ -3778,7 +3779,7 @@ lookup_vs_prolog(struct radv_cmd_buffer *cmd_buffer, 
const struct radv_shader *v
    key.nontrivial_divisors = *nontrivial_divisors;
    key.zero_divisors = zero_divisors;
    /* If the attribute is aligned, post shuffle is implemented using DST_SEL 
instead. */
-   key.post_shuffle = state->post_shuffle & attribute_mask & misaligned_mask;
+   key.post_shuffle = state->post_shuffle & misaligned_mask;
    key.alpha_adjust_hi = state->alpha_adjust_hi & attribute_mask;
    key.alpha_adjust_lo = state->alpha_adjust_lo & attribute_mask;
    u_foreach_bit (index, misaligned_mask)

Reply via email to