nir: add nir_intrinsic_interp_deref_at_vertex
From the SPV_AMD_shader_explicit_vertex_parameter extension: "Returns the value of the input <interpolant> without any interpolation, i.e. the raw output value of previous shader stage." Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3578>
This commit is contained in:

committed by
Marge Bot

parent
687f170311
commit
d29f10a7ca
@@ -170,9 +170,9 @@ intrinsic("copy_deref", src_comp=[-1, -1], indices=[DST_ACCESS, SRC_ACCESS])
|
||||
|
||||
# Interpolation of input. The interp_deref_at* intrinsics are similar to the
|
||||
# load_var intrinsic acting on a shader input except that they interpolate the
|
||||
# input differently. The at_sample and at_offset intrinsics take an
|
||||
# additional source that is an integer sample id or a vec2 position offset
|
||||
# respectively.
|
||||
# input differently. The at_sample, at_offset and at_vertex intrinsics take an
|
||||
# additional source that is an integer sample id, a vec2 position offset, or a
|
||||
# vertex ID respectively.
|
||||
|
||||
intrinsic("interp_deref_at_centroid", dest_comp=0, src_comp=[1],
|
||||
flags=[ CAN_ELIMINATE, CAN_REORDER])
|
||||
@@ -180,6 +180,8 @@ intrinsic("interp_deref_at_sample", src_comp=[1, 1], dest_comp=0,
|
||||
flags=[CAN_ELIMINATE, CAN_REORDER])
|
||||
intrinsic("interp_deref_at_offset", src_comp=[1, 2], dest_comp=0,
|
||||
flags=[CAN_ELIMINATE, CAN_REORDER])
|
||||
intrinsic("interp_deref_at_vertex", src_comp=[1, 1], dest_comp=0,
|
||||
flags=[CAN_ELIMINATE, CAN_REORDER])
|
||||
|
||||
# Gets the length of an unsized array at the end of a buffer
|
||||
intrinsic("deref_buffer_array_length", src_comp=[-1], dest_comp=1,
|
||||
|
Reference in New Issue
Block a user