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:

committed by
Eric Engestrom

parent
bb56867a1b
commit
fd80d0027b
@@ -174,7 +174,7 @@
|
|||||||
"description": "intel/compiler: Fix stackIDs on Xe2+",
|
"description": "intel/compiler: Fix stackIDs on Xe2+",
|
||||||
"nominated": true,
|
"nominated": true,
|
||||||
"nomination_type": 1,
|
"nomination_type": 1,
|
||||||
"resolution": 0,
|
"resolution": 1,
|
||||||
"main_sha": null,
|
"main_sha": null,
|
||||||
"because_sha": null,
|
"because_sha": null,
|
||||||
"notes": null
|
"notes": null
|
||||||
|
@@ -2374,9 +2374,17 @@ lower_trace_ray_logical_send(const brw_builder &bld, brw_inst *inst)
|
|||||||
* payload register.
|
* payload register.
|
||||||
*/
|
*/
|
||||||
if (!synchronous) {
|
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),
|
bld.AND(subscript(payload, BRW_TYPE_UW, 1),
|
||||||
retype(brw_vec8_grf(1 * unit, 0), BRW_TYPE_UW),
|
retype(brw_vec8_grf(1 * unit, 0), BRW_TYPE_UW),
|
||||||
brw_imm_uw(0x7ff));
|
stack_id_mask);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Update the original instruction. */
|
/* Update the original instruction. */
|
||||||
|
Reference in New Issue
Block a user