intel/compiler/icl: Use barrier id bits 24:30 instead of 24:27,31

Fixes gpu hangs with Carchase and Manhattan.

Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Signed-off-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
This commit is contained in:
Topi Pohjolainen
2018-09-20 06:46:04 -04:00
parent ec1fcf92ae
commit 1cc17fb731

View File

@@ -791,9 +791,19 @@ fs_visitor::emit_cs_terminate()
void
fs_visitor::emit_barrier()
{
assert(devinfo->gen >= 7);
const uint32_t barrier_id_mask =
devinfo->gen >= 9 ? 0x8f000000u : 0x0f000000u;
uint32_t barrier_id_mask;
switch (devinfo->gen) {
case 7:
case 8:
barrier_id_mask = 0x0f000000u; break;
case 9:
case 10:
barrier_id_mask = 0x8f000000u; break;
case 11:
barrier_id_mask = 0x7f000000u; break;
default:
unreachable("barrier is only available on gen >= 7");
}
/* We are getting the barrier ID from the compute shader header */
assert(stage == MESA_SHADER_COMPUTE);