intel/compiler: Fix stackIDs on Xe2+

For Xe2+, from Bspec 64643, bit field "StackID": The maximum number of
StackIDs can be 2^12- 1.

Cc: mesa-stable
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34709>
(cherry picked from commit 821c1bfa7e1776177b0323b1d8d4b44f32361f91)
This commit is contained in:
Sagar Ghuge
2025-04-24 23:33:49 -07:00
committed by Eric Engestrom
parent bb56867a1b
commit fd80d0027b
2 changed files with 10 additions and 2 deletions

View File

@@ -174,7 +174,7 @@
"description": "intel/compiler: Fix stackIDs on Xe2+",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View File

@@ -2374,9 +2374,17 @@ lower_trace_ray_logical_send(const brw_builder &bld, brw_inst *inst)
* payload register.
*/
if (!synchronous) {
/* For Xe2+, Bspec 64643:
* "StackID": The maximum number of StackIDs can be 2^12- 1.
*
* For platforms < Xe2, The maximum number of StackIDs can be 2^11 - 1.
*/
brw_reg stack_id_mask = devinfo->ver >= 20 ?
brw_imm_uw(0xfff) :
brw_imm_uw(0x7ff);
bld.AND(subscript(payload, BRW_TYPE_UW, 1),
retype(brw_vec8_grf(1 * unit, 0), BRW_TYPE_UW),
brw_imm_uw(0x7ff));
stack_id_mask);
}
/* Update the original instruction. */