intel/compiler: emit URB fences for TASK/MESH
Cc: 22.1 <mesa-stable> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16665>
This commit is contained in:

committed by
Marge Bot

parent
9afd955353
commit
2bd148c990
@@ -4489,7 +4489,7 @@ fs_visitor::nir_emit_intrinsic(const fs_builder &bld, nir_intrinsic_instr *instr
|
||||
ugm_fence = modes & (nir_var_mem_ssbo | nir_var_mem_global);
|
||||
slm_fence = modes & nir_var_mem_shared;
|
||||
tgm_fence = modes & nir_var_image;
|
||||
urb_fence = modes & nir_var_shader_out;
|
||||
urb_fence = modes & (nir_var_shader_out | nir_var_mem_task_payload);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -4545,8 +4545,15 @@ fs_visitor::nir_emit_intrinsic(const fs_builder &bld, nir_intrinsic_instr *instr
|
||||
slm_fence && workgroup_size() <= dispatch_width)
|
||||
slm_fence = false;
|
||||
|
||||
if (stage != MESA_SHADER_TESS_CTRL)
|
||||
switch (stage) {
|
||||
case MESA_SHADER_TESS_CTRL:
|
||||
case MESA_SHADER_TASK:
|
||||
case MESA_SHADER_MESH:
|
||||
break;
|
||||
default:
|
||||
urb_fence = false;
|
||||
break;
|
||||
}
|
||||
|
||||
unsigned fence_regs_count = 0;
|
||||
fs_reg fence_regs[3] = {};
|
||||
|
Reference in New Issue
Block a user