From aa1c128b54b31580367d97107660c11cb94e0b98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20=C5=9Alusarz?= Date: Wed, 27 Apr 2022 16:05:44 +0200 Subject: [PATCH] anv: disable streamout before emitting mesh shading state Fixes tests which use secondary command buffers. Fixes: ef04caea9b8 ("anv: Implement Mesh Shading pipeline") Reviewed-by: Caio Oliveira Part-of: --- src/intel/vulkan/genX_pipeline.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c index 97df60eb999..f8d3c1628c8 100644 --- a/src/intel/vulkan/genX_pipeline.c +++ b/src/intel/vulkan/genX_pipeline.c @@ -2807,6 +2807,12 @@ genX(graphics_pipeline_create)( #endif } else { assert(anv_pipeline_is_mesh(pipeline)); + + /* BSpec 46303 forbids both 3DSTATE_MESH_CONTROL.MeshShaderEnable + * and 3DSTATE_STREAMOUT.SOFunctionEnable to be 1. + */ + anv_batch_emit(&pipeline->base.batch, GENX(3DSTATE_STREAMOUT), so) {} + #if GFX_VERx10 >= 125 emit_task_state(pipeline); emit_mesh_state(pipeline);