From: Alyssa Rosenzweig Date: Tue, 25 Apr 2023 18:50:01 +0000 (-0400) Subject: pan/bi: Use nir_alu_src_as_uint X-Git-Tag: upstream/23.3.3~8854 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=445e2f16200d7d9b6d948513775b901bd3d95d47;p=platform%2Fupstream%2Fmesa.git pan/bi: Use nir_alu_src_as_uint Fixes some theoretical issues with swizzle handling. Unsure if this could cause actual end-to-end miscompiles. Signed-off-by: Alyssa Rosenzweig Part-of: --- diff --git a/src/panfrost/compiler/bifrost_compile.c b/src/panfrost/compiler/bifrost_compile.c index 5b9adc8..c679c71 100644 --- a/src/panfrost/compiler/bifrost_compile.c +++ b/src/panfrost/compiler/bifrost_compile.c @@ -2522,7 +2522,7 @@ bi_emit_alu(bi_builder *b, nir_alu_instr *instr) case nir_op_extract_i8: { assert(comps == 1 && "should be scalarized"); assert((src_sz == 16 || src_sz == 32) && "should be lowered"); - unsigned byte = nir_src_as_uint(instr->src[1].src); + unsigned byte = nir_alu_src_as_uint(instr->src[1]); if (s0.swizzle == BI_SWIZZLE_H11) { assert(byte < 2); @@ -2546,7 +2546,7 @@ bi_emit_alu(bi_builder *b, nir_alu_instr *instr) case nir_op_extract_i16: { assert(comps == 1 && "should be scalarized"); assert(src_sz == 32 && "should be lowered"); - unsigned half = nir_src_as_uint(instr->src[1].src); + unsigned half = nir_alu_src_as_uint(instr->src[1]); assert(half == 0 || half == 1); if (instr->op == nir_op_extract_i16) @@ -2558,7 +2558,7 @@ bi_emit_alu(bi_builder *b, nir_alu_instr *instr) case nir_op_insert_u16: { assert(comps == 1 && "should be scalarized"); - unsigned half = nir_src_as_uint(instr->src[1].src); + unsigned half = nir_alu_src_as_uint(instr->src[1]); assert(half == 0 || half == 1); if (half == 0)