From b9233e4a3578b6fe605be9cec5cd8d7ebafd6d98 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Thu, 28 May 2026 13:38:10 -0700 Subject: [PATCH] jay: Implement viewport index FS input Reviewed-by: Alyssa Rosenzweig Part-of: --- src/intel/compiler/jay/jay_from_nir.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/intel/compiler/jay/jay_from_nir.c b/src/intel/compiler/jay/jay_from_nir.c index 02f7646ef64..1d86915250c 100644 --- a/src/intel/compiler/jay/jay_from_nir.c +++ b/src/intel/compiler/jay/jay_from_nir.c @@ -1562,6 +1562,15 @@ jay_emit_intrinsic(struct nir_to_jay_state *nj, nir_intrinsic_instr *intr) break; } + if (fs && + nir_intrinsic_io_semantics(intr).location == VARYING_SLOT_VIEWPORT) { + jay_def x = jay_alloc_def(b, GPR, 1); + jay_EXTRACT_SUBSPAN_INFO(b, x, jay_extract(nj->payload.u0, 9), + payload_u1(nj, 9, 1), BITFIELD_RANGE(12, 4)); + jay_SHR(b, JAY_TYPE_U32, dst, x, 12); + break; + } + FALLTHROUGH; case nir_intrinsic_load_fs_input_interp_deltas: { assert(s->stage == MESA_SHADER_FRAGMENT);