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

Reply via email to