ac/nir/ngg: Fix cross-invocation indices and cull outputs.

The layout calculation accidentally thought these would be
stored in variables, but that's not the case.

Fixes: 697ea02202
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18846>
This commit is contained in:
Timur Kristóf
2022-09-27 18:25:49 +02:00
committed by Marge Bot
parent 458fc9ce81
commit 3ca8402ec7

View File

@@ -3880,8 +3880,8 @@ ms_calculate_output_layout(unsigned api_shared_size,
ms_out_mem_layout l = { .lds = { .total_size = api_shared_size } };
/* Outputs without cross-invocation access can be stored in variables. */
l.var.vtx_attr.mask = per_vertex_output_mask & ~lds_per_vertex_output_mask;
l.var.prm_attr.mask = per_primitive_output_mask & ~lds_per_primitive_output_mask;
l.var.vtx_attr.mask = per_vertex_output_mask & ~cross_invocation_output_access;
l.var.prm_attr.mask = per_primitive_output_mask & ~cross_invocation_output_access;
/* Workgroup information, see ms_workgroup_* for the layout. */
l.lds.workgroup_info_addr = ALIGN(l.lds.total_size, 16);