mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-06 21:50:11 +01:00
radv/nir/lower_cmat: convert matrix use in smaller type
Less conversions, and less data to move around. Foz-DB Navi31: Totals from 10 out of 14 FSR4 shaders: Instrs: 65443 -> 64204 (-1.89%); split: -1.93%, +0.04% CodeSize: 441884 -> 439052 (-0.64%); split: -1.21%, +0.57% Latency: 213374 -> 208878 (-2.11%); split: -2.17%, +0.07% InvThroughput: 236922 -> 232898 (-1.70%); split: -1.77%, +0.08% VClause: 935 -> 902 (-3.53%); split: -3.74%, +0.21% Copies: 5064 -> 6418 (+26.74%); split: -13.35%, +40.09% Branches: 54 -> 55 (+1.85%) VALU: 55700 -> 54762 (-1.68%); split: -1.85%, +0.16% VOPD: 3459 -> 3895 (+12.60%); split: +16.88%, -4.28% Acked-by: Daniel Schürmann <daniel@schuermann.dev> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36115>
This commit is contained in:
parent
f2846b936a
commit
56d93c40ea
1 changed files with 5 additions and 1 deletions
|
|
@ -605,10 +605,14 @@ radv_nir_lower_cooperative_matrix(nir_shader *shader, enum amd_gfx_level gfx_lev
|
|||
src = nir_vec(&b, components, src->num_components / scale);
|
||||
}
|
||||
|
||||
src = convert_use(&b, src, src_use, dst_use, ¶ms);
|
||||
if (radv_nir_cmat_bits(src_desc) <= radv_nir_cmat_bits(dst_desc))
|
||||
src = convert_use(&b, src, src_use, dst_use, ¶ms);
|
||||
|
||||
nir_def *ret = convert_base_type(&b, src, src_element_type, dst_element_type, sat);
|
||||
|
||||
if (radv_nir_cmat_bits(src_desc) > radv_nir_cmat_bits(dst_desc))
|
||||
ret = convert_use(&b, ret, src_use, dst_use, ¶ms);
|
||||
|
||||
if (dst_mul > src_mul) {
|
||||
nir_def *components[NIR_MAX_VEC_COMPONENTS];
|
||||
unsigned scale = dst_mul / src_mul;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue