mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
nir: Add load_coefficients_agx intrinsic
For lowering interpolation. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24498>
This commit is contained in:
parent
e9a5da2f4b
commit
10cdc0ad9f
2 changed files with 10 additions and 0 deletions
|
|
@ -1655,6 +1655,15 @@ store("tlb_sample_color_v3d", [1], [BASE, COMPONENT, SRC_TYPE], [])
|
|||
# the target framebuffer
|
||||
intrinsic("load_fb_layers_v3d", dest_comp=1, flags=[CAN_ELIMINATE, CAN_REORDER])
|
||||
|
||||
# Load the coefficient register corresponding to a given fragment shader input.
|
||||
# Coefficient registers are vec3s that are dotted with <x, y, 1> to interpolate
|
||||
# the input, where x and y are relative to the 32x32 supertile.
|
||||
intrinsic("load_coefficients_agx",
|
||||
bit_sizes = [32],
|
||||
dest_comp = 3,
|
||||
indices=[COMPONENT, IO_SEMANTICS, INTERP_MODE],
|
||||
flags=[CAN_ELIMINATE, CAN_REORDER])
|
||||
|
||||
# Load/store a pixel in local memory. This operation is formatted, with
|
||||
# conversion between the specified format and the implied register format of the
|
||||
# source/destination (for store/loads respectively). This mostly matters for
|
||||
|
|
|
|||
|
|
@ -1200,6 +1200,7 @@ print_intrinsic_instr(nir_intrinsic_instr *instr, print_state *state)
|
|||
case nir_intrinsic_load_interpolated_input:
|
||||
case nir_intrinsic_load_per_vertex_input:
|
||||
case nir_intrinsic_load_input_vertex:
|
||||
case nir_intrinsic_load_coefficients_agx:
|
||||
mode = nir_var_shader_in;
|
||||
break;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue