summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRohan Garg <rohan.garg@intel.com>2024-03-28 11:17:03 +0100
committerMarge Bot <emma+marge@anholt.net>2024-03-28 19:53:40 +0000
commit467ee9d27ab97476ca8bd4640a663851e1886560 (patch)
tree61601bb6415fc2c77df165931d69393563e38ff5
parentc4b38c717de208dd64dabc21cfc03357bcc6292a (diff)
intel/brw: Xe2+ can do SIMD16 for extended math on HF types
BSpec 56797: Math operation rules when half-floats are used on both source and destination operands and both source and destinations are packed. The execution size must be 16. Signed-off-by: Rohan Garg <rohan.garg@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27235>
-rw-r--r--src/intel/compiler/brw_fs_lower_simd_width.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/intel/compiler/brw_fs_lower_simd_width.cpp b/src/intel/compiler/brw_fs_lower_simd_width.cpp
index 2582b810640..26c5cf026bc 100644
--- a/src/intel/compiler/brw_fs_lower_simd_width.cpp
+++ b/src/intel/compiler/brw_fs_lower_simd_width.cpp
@@ -287,8 +287,8 @@ brw_fs_get_lowered_simd_width(const fs_visitor *shader, const fs_inst *inst)
* The execution size must be 16.
*/
if (is_half_float_src_dst(inst))
- return MIN2(8, inst->exec_size);
-
+ return devinfo->ver < 20 ? MIN2(8, inst->exec_size) :
+ MIN2(16, inst->exec_size);
return MIN2(16, inst->exec_size);
}