nir: add a new ubo uniform loading intrinsic for intel
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23477>
This commit is contained in:
committed by
Marge Bot
parent
7eb1e2a690
commit
4a23a5a904
@@ -208,6 +208,7 @@ visit_intrinsic(nir_shader *shader, nir_intrinsic_instr *instr)
|
||||
case nir_intrinsic_load_btd_shader_type_intel:
|
||||
case nir_intrinsic_load_base_workgroup_id:
|
||||
case nir_intrinsic_load_alpha_reference_amd:
|
||||
case nir_intrinsic_load_ubo_uniform_block_intel:
|
||||
case nir_intrinsic_load_ssbo_uniform_block_intel:
|
||||
case nir_intrinsic_load_shared_uniform_block_intel:
|
||||
case nir_intrinsic_load_barycentric_optimize_amd:
|
||||
|
||||
@@ -1762,6 +1762,11 @@ store("ssbo_block_intel", [-1, 1], [WRITE_MASK, ACCESS, ALIGN_MUL, ALIGN_OFFSET]
|
||||
# src[] = { value, offset }.
|
||||
store("shared_block_intel", [1], [BASE, WRITE_MASK, ALIGN_MUL, ALIGN_OFFSET])
|
||||
|
||||
# Similar to load_global_const_block_intel but for UBOs
|
||||
# offset should be uniform
|
||||
# src[] = { buffer_index, offset }.
|
||||
load("ubo_uniform_block_intel", [-1, 1], [ACCESS, ALIGN_MUL, ALIGN_OFFSET, RANGE_BASE, RANGE], [CAN_ELIMINATE])
|
||||
|
||||
# Similar to load_global_const_block_intel but for SSBOs
|
||||
# offset should be uniform
|
||||
# src[] = { buffer_index, offset }.
|
||||
|
||||
@@ -94,6 +94,7 @@ case nir_intrinsic_##op: {\
|
||||
ATOMIC(nir_var_mem_task_payload, task_payload, -1, 0, -1, 1)
|
||||
LOAD(nir_var_shader_temp, stack, -1, -1, -1)
|
||||
STORE(nir_var_shader_temp, stack, -1, -1, -1, 0)
|
||||
LOAD(nir_var_mem_ubo, ubo_uniform_block_intel, 0, 1, -1)
|
||||
LOAD(nir_var_mem_ssbo, ssbo_uniform_block_intel, 0, 1, -1)
|
||||
LOAD(nir_var_mem_shared, shared_uniform_block_intel, -1, 0, -1)
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user