nir: add nir_address_format_2x32bit_global
This adds support for global 64-bit GPU addresses as a pair of 32-bit values. This is useful for platforms with 32-bit GPUs that want to support VK_KHR_buffer_device_address, which makes GPU addresses explicitly 64-bit. With the new format we also add new global intrinsics with 2x32 suffix that consume the new address format. Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17275>
This commit is contained in:
@@ -351,6 +351,7 @@ visit_intrinsic(nir_shader *shader, nir_intrinsic_instr *instr)
|
||||
case nir_intrinsic_load_shared:
|
||||
case nir_intrinsic_load_shared2_amd:
|
||||
case nir_intrinsic_load_global:
|
||||
case nir_intrinsic_load_global_2x32:
|
||||
case nir_intrinsic_load_global_constant:
|
||||
case nir_intrinsic_load_global_amd:
|
||||
case nir_intrinsic_load_uniform:
|
||||
@@ -558,6 +559,20 @@ visit_intrinsic(nir_shader *shader, nir_intrinsic_instr *instr)
|
||||
case nir_intrinsic_global_atomic_fmin_amd:
|
||||
case nir_intrinsic_global_atomic_fmax_amd:
|
||||
case nir_intrinsic_global_atomic_fcomp_swap_amd:
|
||||
case nir_intrinsic_global_atomic_add_2x32:
|
||||
case nir_intrinsic_global_atomic_imin_2x32:
|
||||
case nir_intrinsic_global_atomic_umin_2x32:
|
||||
case nir_intrinsic_global_atomic_imax_2x32:
|
||||
case nir_intrinsic_global_atomic_umax_2x32:
|
||||
case nir_intrinsic_global_atomic_and_2x32:
|
||||
case nir_intrinsic_global_atomic_or_2x32:
|
||||
case nir_intrinsic_global_atomic_xor_2x32:
|
||||
case nir_intrinsic_global_atomic_exchange_2x32:
|
||||
case nir_intrinsic_global_atomic_comp_swap_2x32:
|
||||
case nir_intrinsic_global_atomic_fadd_2x32:
|
||||
case nir_intrinsic_global_atomic_fmin_2x32:
|
||||
case nir_intrinsic_global_atomic_fmax_2x32:
|
||||
case nir_intrinsic_global_atomic_fcomp_swap_2x32:
|
||||
case nir_intrinsic_atomic_counter_add:
|
||||
case nir_intrinsic_atomic_counter_min:
|
||||
case nir_intrinsic_atomic_counter_max:
|
||||
|
Reference in New Issue
Block a user