From b0eec9e27d753af11f82d64bd329234a3291339c Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Tue, 9 Jul 2019 09:15:02 +0200 Subject: [PATCH] nir: add a new v3d-specific intrinsic for tile buffer color reads This is intended to be used, for example, with OpenGL logic operations. It takes a render target as source and a sample index in the base index for MSAA color reads. v2: drop the CAN_ELIMINATE and CAN_REORDER flags (Eric). Reviewed-by: Eric Anholt --- src/compiler/nir/nir_intrinsics.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/compiler/nir/nir_intrinsics.py b/src/compiler/nir/nir_intrinsics.py index 0fd8a30eb4d..a37297ca440 100644 --- a/src/compiler/nir/nir_intrinsics.py +++ b/src/compiler/nir/nir_intrinsics.py @@ -776,3 +776,12 @@ intrinsic("ssbo_atomic_comp_swap_ir3", src_comp=[1, 1, 1, 1, 1], dest_comp=1) # src[] = { value } store("raw_output_pan", 1, []) load("raw_output_pan", 0, [], [CAN_ELIMINATE, CAN_REORDER]) + +# V3D-specific instrinc for tile buffer color reads. +# +# The hardware requires that we read the samples and components of a pixel +# in order, so we cannot eliminate or remove any loads in a sequence. +# +# src[] = { render_target } +# BASE = sample index +load("tlb_color_v3d", 1, [BASE, COMPONENT], []) -- 2.30.2