radv: Support nir_intrinsic_load_global_constant.

SPIR-V parsing can result in some direct constant usage for shader
records. Lower this early to a global based intrinsic so that it
doesn't interfere with the later 32-bit offset based constants
for scratch usage.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12592>
This commit is contained in:
Bas Nieuwenhuizen
2021-07-24 12:12:11 +02:00
committed by Marge Bot
parent 0d8bd8518d
commit 8ca54b4d38
4 changed files with 6 additions and 1 deletions
@@ -805,6 +805,7 @@ init_context(isel_context* ctx, nir_shader* shader)
case nir_intrinsic_load_ubo:
case nir_intrinsic_load_ssbo:
case nir_intrinsic_load_global:
case nir_intrinsic_load_global_constant:
case nir_intrinsic_vulkan_resource_index:
case nir_intrinsic_get_ssbo_size:
type = nir_dest_is_divergent(intrinsic->dest) ? RegType::vgpr : RegType::sgpr;