Module: Mesa Branch: master Commit: 7dfa891f32316b17ae6f21dceb1b00845d34524a URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7dfa891f32316b17ae6f21dceb1b00845d34524a
Author: Nicolai Hähnle <[email protected]> Date: Thu Sep 21 16:50:08 2017 +0200 radeonsi/gfx9: fix geometry shaders without output vertices Not that those are super common or useful, but hey! Fun corner cases of the API... Fixes dEQP-GLES31.functional.geometry_shading.emit.* Cc: [email protected] Reviewed-by: Marek Olšák <[email protected]> Tested-by: Dieter Nützel <[email protected]> --- src/gallium/drivers/radeonsi/si_state_shaders.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c index 788631c986..889cd8e724 100644 --- a/src/gallium/drivers/radeonsi/si_state_shaders.c +++ b/src/gallium/drivers/radeonsi/si_state_shaders.c @@ -644,9 +644,11 @@ static void gfx9_get_gs_info(struct si_shader_selector *es, /* MAX_PRIMS_PER_SUBGROUP = gs_prims * max_vert_out * gs_invocations. * Make sure we don't go over the maximum value. */ - max_gs_prims = MIN2(max_gs_prims, - max_out_prims / - (gs->gs_max_out_vertices * gs_num_invocations)); + if (gs->gs_max_out_vertices > 0) { + max_gs_prims = MIN2(max_gs_prims, + max_out_prims / + (gs->gs_max_out_vertices * gs_num_invocations)); + } assert(max_gs_prims > 0); /* If the primitive has adjacency, halve the number of vertices _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
