intel/compiler: Don't stage Task/Mesh outputs in registers
Since the outputs are shared among the whole workgroup, these can't be staged in registers as they will not be always visible for all the invocations (to read/flush). If they ever need to be staged, we should use SLM for that. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13661>
This commit is contained in:
@@ -53,7 +53,10 @@ fs_visitor::emit_nir_code()
|
||||
void
|
||||
fs_visitor::nir_setup_outputs()
|
||||
{
|
||||
if (stage == MESA_SHADER_TESS_CTRL || stage == MESA_SHADER_FRAGMENT)
|
||||
if (stage == MESA_SHADER_TESS_CTRL ||
|
||||
stage == MESA_SHADER_TASK ||
|
||||
stage == MESA_SHADER_MESH ||
|
||||
stage == MESA_SHADER_FRAGMENT)
|
||||
return;
|
||||
|
||||
unsigned vec4s[VARYING_SLOT_TESS_MAX] = { 0, };
|
||||
|
||||
Reference in New Issue
Block a user