brw/lower: Don't "fix" regioning of broadcast

The next two commits modify the destination regioning in a way that,
which still correct, trigger assertion failures if we try to fix the
regioning here.

Broadcast gets lowered in brw_eu_emit. For the purposes of region
restrictions, let's assume that the final code emission will do the
right thing. Doing a bunch of shuffling here is only going to make a
mess of things.

No shader-db or fossil-db changes on any Intel platform.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32097>
This commit is contained in:
Ian Romanick 2024-11-07 14:03:32 -08:00 committed by Marge Bot
parent f9b41056e9
commit 12d1886b87

View file

@ -767,6 +767,15 @@ namespace {
const intel_device_info *devinfo = v->devinfo;
bool progress = false;
/* BROADCAST is special. It's destination region is a bit of a lie, and
* it gets lower in brw_eu_emit. For the purposes of region
* restrictions, let's assume that the final code emission will do the
* right thing. Doing a bunch of shuffling here is only going to make a
* mess of things.
*/
if (inst->opcode == SHADER_OPCODE_BROADCAST)
return false;
if (has_invalid_dst_modifiers(devinfo, inst))
progress |= lower_dst_modifiers(v, block, inst);