Module: Mesa Branch: master Commit: e16608e2338ded844a850c6242b08f65f43c1aed URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e16608e2338ded844a850c6242b08f65f43c1aed
Author: Jonathan Marek <[email protected]> Date: Sat Jun 6 11:26:11 2020 -0400 turnip: fix HW binning with geometry shader Fixes failures with TU_DEBUG=forcebin and geometry shaders, for example: dEQP-VK.binding_model.*geometry* dEQP-VK.transform_feedback.simple.query* Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5370> --- src/freedreno/vulkan/tu_pipeline.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/freedreno/vulkan/tu_pipeline.c b/src/freedreno/vulkan/tu_pipeline.c index f95b9e174ac..a0369235444 100644 --- a/src/freedreno/vulkan/tu_pipeline.c +++ b/src/freedreno/vulkan/tu_pipeline.c @@ -1578,9 +1578,13 @@ tu6_emit_program(struct tu_cs *cs, if (binning_pass) { /* if we have streamout, use full VS in binning pass, as the * binning pass VS will have outputs on other than position/psize - * stripped out: + * stripped out + * + * GS also can have streamout, but we completely disable the + * the binning pass variant when GS is present because we don't + * support compiling correct binning pass variants with GS */ - if (vs->shader->stream_output.num_outputs == 0) { + if (vs->shader->stream_output.num_outputs == 0 && !has_gs) { vs = &builder->shaders[MESA_SHADER_VERTEX]->variants[1]; vs_offset = builder->binning_vs_offset; } _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
