mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 05:08:08 +02:00
radeonsi: treat nir_intrinsic_load_constant as a VMEM operation
This is used by variable indexing of constant arrays, to build code like this: s_add_u32 s6, s6, const_data@rel32@lo+4 s_addc_u32 s7, s7, const_data@rel32@hi+12 [...] global_load_dword v4, v4, s[6:7 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5118 Fixes:8288882965("radeonsi: set MEM_ORDERED optimally") Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13550> (cherry picked from commitdc56301f78)
This commit is contained in:
parent
5537232fca
commit
8c9d526aa4
2 changed files with 4 additions and 1 deletions
|
|
@ -643,7 +643,7 @@
|
|||
"description": "radeonsi: treat nir_intrinsic_load_constant as a VMEM operation",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "8288882965bf1c5f0ca5d9f29c1b759bee2bc718"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -243,6 +243,9 @@ static void scan_instruction(const struct nir_shader *nir, struct si_shader_info
|
|||
if (!nir_src_is_const(intr->src[1]))
|
||||
info->uses_vmem_return_type_other = true;
|
||||
break;
|
||||
case nir_intrinsic_load_constant:
|
||||
info->uses_vmem_return_type_other = true;
|
||||
break;
|
||||
|
||||
case nir_intrinsic_load_barycentric_at_sample: /* This loads sample positions. */
|
||||
case nir_intrinsic_load_tess_level_outer: /* TES input read from memory */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue