nir: Add AGX-specific helper opcodes

These opcodes are used by the helper program to fetch the current
operation info and core ID.

Signed-off-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27616>
This commit is contained in:
Asahi Lina 2023-11-08 15:23:12 +09:00 committed by Marge Bot
parent 5d0f1ca77f
commit b07dbf7b0f

View file

@ -1929,6 +1929,18 @@ intrinsic("stack_map_agx", src_comp=[1, 1])
# dst[] = { stack_address }.
intrinsic("stack_unmap_agx", src_comp=[1], dest_comp=1, bit_sizes=[32])
# dst[] = { GPU core ID }.
system_value("core_id_agx", 1, bit_sizes=[32])
# dst[] = { Helper operation type }.
load("helper_op_id_agx", [], [], [CAN_ELIMINATE])
# dst[] = { Helper argument low 32 bits }.
load("helper_arg_lo_agx", [], [], [CAN_ELIMINATE])
# dst[] = { Helper argument high 32 bits }.
load("helper_arg_hi_agx", [], [], [CAN_ELIMINATE])
# Intel-specific query for loading from the brw_image_param struct passed
# into the shader as a uniform. The variable is a deref to the image
# variable. The const index specifies which of the six parameters to load.