From: Alyssa Rosenzweig Date: Sat, 5 Jun 2021 19:05:37 +0000 (-0400) Subject: nir: Add nir_intrinsic_load_back_face_agx X-Git-Tag: upstream/21.2.3~2432 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c5098789718f652a4853e96fc7d46fc208f0d283;p=platform%2Fupstream%2Fmesa.git nir: Add nir_intrinsic_load_back_face_agx On AGX, the special register for front facing is inverted from its meaning in APIs. We need to lower load_front_face to inot(load_back_face). Doing this in the backend is trivial, but then we would miss out on algebraic optimizations for the inot. Signed-off-by: Alyssa Rosenzweig Acked-by: Jason Ekstrand Part-of: --- diff --git a/src/compiler/nir/nir_intrinsics.py b/src/compiler/nir/nir_intrinsics.py index 072a366..18d24b9 100644 --- a/src/compiler/nir/nir_intrinsics.py +++ b/src/compiler/nir/nir_intrinsics.py @@ -1183,6 +1183,9 @@ 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]) +# Logical complement of load_front_face, mapping to an AGX system value +system_value("back_face_agx", 1, bit_sizes=[1, 32]) + # 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.