From 531ea3596da0476794b783fd0f0ac37b1ea07a39 Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Mon, 3 Aug 2020 11:41:28 +0200 Subject: [PATCH] broadcom/compiler: implement nir_intrinsic_load_sample_pos MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is intended to return the sample location within the pixel. Fixes: dEQP-VK.pipeline.multisample_shader_builtin.sample_position.* Reviewed-by: Alejandro PiƱeiro Reviewed-by: Eric Anholt Part-of: --- src/broadcom/compiler/nir_to_vir.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/broadcom/compiler/nir_to_vir.c b/src/broadcom/compiler/nir_to_vir.c index e40c1f07f8f..c03afcb2a69 100644 --- a/src/broadcom/compiler/nir_to_vir.c +++ b/src/broadcom/compiler/nir_to_vir.c @@ -2444,6 +2444,13 @@ ntq_emit_intrinsic(struct v3d_compile *c, nir_intrinsic_instr *instr) ntq_store_dest(c, &instr->dest, 0, vir_SAMPID(c)); break; + case nir_intrinsic_load_sample_pos: + ntq_store_dest(c, &instr->dest, 0, + vir_FSUB(c, vir_FXCD(c), vir_ITOF(c, vir_XCD(c)))); + ntq_store_dest(c, &instr->dest, 1, + vir_FSUB(c, vir_FYCD(c), vir_ITOF(c, vir_YCD(c)))); + break; + default: fprintf(stderr, "Unknown intrinsic: "); nir_print_instr(&instr->instr, stderr);