From e0eb9bc6027b7a3396f5b544f0baca3e339dafcd Mon Sep 17 00:00:00 2001 From: Icenowy Zheng Date: Sun, 5 Apr 2026 15:35:54 +0800 Subject: [PATCH] pvr: set has_usc_alu_roundingmode_rne for all B-series Rogue cores All B-series Rogue cores seem to have USC rounding mode as RTE instead of RTZ. Set the has_usc_alu_roundingmode_rne feature flag for them (currently only BXS-4-64 has it set). Verified via testing on BXM-4-64 (36.52.104.182) by fixing CTS tests dEQP-VK.spirv_assembly.instruction.*.float_controls.fp32.input_args.* , and via proprietary driver vulkaninfo result on BXE-2-32 (36.29.52.182), BXE-4-32 (36.50.54.182) and BXM-4-64 (36.56.104.183) (checking shaderRoundingModeRT?Float32 properties). Fixes: 1db1038a61a9 ("pvr: add device info for BXM-4-64 (36.56.104.183)") Fixes: e60e0c96ba75 ("pvr: add device info for BXE-2-32 (36.29.52.182)") Fixes: 2743363a5765 ("pvr: add device info for BXM-4-64 (36.52.104.182)") Fixes: ea28791d4032 ("pvr: add device info for BXE-4-32 (36.50.54.182)") Signed-off-by: Icenowy Zheng Reviewed-by: Simon Perretta (cherry picked from commit 9b44def4e952ff863e51ad1201b90fd645ef041b) Part-of: --- .pick_status.json | 2 +- src/imagination/common/device_info/bxe-2-32.h | 1 + src/imagination/common/device_info/bxe-4-32.h | 1 + src/imagination/common/device_info/bxm-4-64.h | 2 ++ 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index a8e4b05e06d..cef0c8542ba 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -2684,7 +2684,7 @@ "description": "pvr: set has_usc_alu_roundingmode_rne for all B-series Rogue cores", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "1db1038a61a9ab7f9e23d63ce5ac7f247bec8fdb", "notes": null diff --git a/src/imagination/common/device_info/bxe-2-32.h b/src/imagination/common/device_info/bxe-2-32.h index 531e9761bf6..59b5e1b98fe 100644 --- a/src/imagination/common/device_info/bxe-2-32.h +++ b/src/imagination/common/device_info/bxe-2-32.h @@ -51,6 +51,7 @@ static const struct pvr_device_features pvr_device_features_36_V_52_182 = { .has_tpu_image_state_v2 = true, .has_tpu_parallel_instances = true, .has_unified_store_depth = true, + .has_usc_alu_roundingmode_rne = true, .has_usc_f16sop_u8 = true, .has_usc_itrsmp = true, .has_usc_itrsmp_enhanced = true, diff --git a/src/imagination/common/device_info/bxe-4-32.h b/src/imagination/common/device_info/bxe-4-32.h index 861c0dfc213..318b7967147 100644 --- a/src/imagination/common/device_info/bxe-4-32.h +++ b/src/imagination/common/device_info/bxe-4-32.h @@ -52,6 +52,7 @@ static const struct pvr_device_features pvr_device_features_36_V_54_182 = { .has_tpu_image_state_v2 = true, .has_tpu_parallel_instances = true, .has_unified_store_depth = true, + .has_usc_alu_roundingmode_rne = true, .has_usc_itrsmp = true, .has_usc_itrsmp_enhanced = true, .has_usc_f16sop_u8 = true, diff --git a/src/imagination/common/device_info/bxm-4-64.h b/src/imagination/common/device_info/bxm-4-64.h index 85a32d384e9..5ccb462afe4 100644 --- a/src/imagination/common/device_info/bxm-4-64.h +++ b/src/imagination/common/device_info/bxm-4-64.h @@ -52,6 +52,7 @@ static const struct pvr_device_features pvr_device_features_36_V_104_182 = { .has_tpu_image_state_v2 = true, .has_tpu_parallel_instances = true, .has_unified_store_depth = true, + .has_usc_alu_roundingmode_rne = true, .has_usc_f16sop_u8 = true, .has_usc_itrsmp = true, .has_usc_itrsmp_enhanced = true, @@ -163,6 +164,7 @@ static const struct pvr_device_features pvr_device_features_36_V_104_183 = { .has_tpu_image_state_v2 = true, .has_tpu_parallel_instances = true, .has_unified_store_depth = true, + .has_usc_alu_roundingmode_rne = true, .has_usc_f16sop_u8 = true, .has_usc_itrsmp = true, .has_usc_itrsmp_enhanced = true,