From b26748a9189bfc48556466044e333c0f6d452e75 Mon Sep 17 00:00:00 2001 From: Icenowy Zheng Date: Tue, 24 Mar 2026 23:45:56 +0800 Subject: [PATCH] pco: fix encoding of fred's s0abs bit The s0abs bit in the encoing of fred instruction is wrongly set to the status of .neg modifier instead of .abs modifier. Fix this copy-n-paste error. Fixes GLCTS tests when running on top of Zink: dEQP-GLES2.functional.shaders.random.trigonometric.vertex.4 dEQP-GLES2.functional.shaders.random.trigonometric.vertex.45 dEQP-GLES2.functional.shaders.random.trigonometric.fragment.4 dEQP-GLES2.functional.shaders.random.trigonometric.fragment.45 Fixes: 8ec174b3f9a4 ("pco: add support for various selection, complex, trig ops") Signed-off-by: Icenowy Zheng Reviewed-by: Simon Perretta (cherry picked from commit 54860bb4c733194b3eebd26414d3c38b64d10cf3) Part-of: --- .pick_status.json | 2 +- src/imagination/pco/pco_map.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index ee45e2703df..601ad2689bf 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -2484,7 +2484,7 @@ "description": "pco: fix encoding of fred's s0abs bit", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "8ec174b3f9a409672e04856d0a046a09965ac0df", "notes": null diff --git a/src/imagination/pco/pco_map.py b/src/imagination/pco/pco_map.py index 34fc5818b09..64763de4344 100644 --- a/src/imagination/pco/pco_map.py +++ b/src/imagination/pco/pco_map.py @@ -995,7 +995,7 @@ encode_map(O_FRED, ('red_type', OM_FRED_TYPE), ('pwen', ('!pco_ref_is_null', DEST(2))), ('s0neg', (RM_NEG, SRC(0))), - ('s0abs', (RM_NEG, SRC(0))) + ('s0abs', (RM_ABS, SRC(0))) ]) ], op_ref_maps=[('0', [['w0', '_'], ['w1', '_'], ['p0', '_']], ['s0', ['s3', '_'], 'imm'])]