mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-06 13:10:10 +01:00
radv: relax shared alignment requirements in mem_vectorize_callback
fossil-db (GFX10.3): Totals from 13 (0.01% of 139391) affected shaders: CodeSize: 241316 -> 238684 (-1.09%) Instrs: 42251 -> 41912 (-0.80%); split: -0.81%, +0.01% Cycles: 1991192 -> 1974668 (-0.83%); split: -0.83%, +0.00% VMEM: 4067 -> 4102 (+0.86%) SMEM: 569 -> 578 (+1.58%) SClause: 848 -> 858 (+1.18%) Copies: 3077 -> 2992 (-2.76%); split: -3.12%, +0.36% Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8762>
This commit is contained in:
parent
4feca7ecde
commit
c2d57f55a8
1 changed files with 3 additions and 1 deletions
|
|
@ -3081,8 +3081,10 @@ mem_vectorize_callback(unsigned align_mul, unsigned align_offset,
|
|||
FALLTHROUGH;
|
||||
case nir_intrinsic_load_shared:
|
||||
case nir_intrinsic_store_shared:
|
||||
if (bit_size * num_components > 64) /* 96 and 128 bit loads require 128 bit alignment and are split otherwise */
|
||||
if (bit_size * num_components == 96) /* 96 bit loads require 128 bit alignment and are split otherwise */
|
||||
return align % 16 == 0;
|
||||
else if (bit_size * num_components == 128) /* 128 bit loads require 64 bit alignment and are split otherwise */
|
||||
return align % 8 == 0;
|
||||
else
|
||||
return align % (bit_size == 8 ? 2 : 4) == 0;
|
||||
default:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue