Mesa (master): draw: use the prim type from prim_info not emit in passthrough emit

Roland Scheidegger sroland at kemper.freedesktop.org
Sat Dec 6 17:04:07 UTC 2014


Module: Mesa
Branch: master
Commit: 1b6db3593ed716ff36f9300c2ad646a80682ea85
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1b6db3593ed716ff36f9300c2ad646a80682ea85

Author: Roland Scheidegger <sroland at vmware.com>
Date:   Tue Dec  2 02:27:56 2014 +0100

draw: use the prim type from prim_info not emit in passthrough emit

The prim assembler may change the prim type when injecting prim ids now,
which isn't reflected by what's stored in emit.
This looks brittle and potentially dangerous (it is not obvious if such prim
type changes are really supported by pt emit, the prim type is actually also
set in prepare which would then be different).

This fixes piglit primitive-id-no-gs-first-vertex.shader_test.

Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

---

 src/gallium/auxiliary/draw/draw_pt_emit.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/auxiliary/draw/draw_pt_emit.c b/src/gallium/auxiliary/draw/draw_pt_emit.c
index 011efe7..b215c5f 100644
--- a/src/gallium/auxiliary/draw/draw_pt_emit.c
+++ b/src/gallium/auxiliary/draw/draw_pt_emit.c
@@ -143,7 +143,7 @@ draw_pt_emit(struct pt_emit *emit,
    /* XXX: and work out some way to coordinate the render primitive
     * between vbuf.c and here...
     */
-   draw->render->set_primitive(draw->render, emit->prim);
+   render->set_primitive(draw->render, prim_info->prim);
 
    render->allocate_vertices(render,
                              (ushort)translate->key.output_stride,
@@ -214,7 +214,7 @@ draw_pt_emit_linear(struct pt_emit *emit,
    /* XXX: and work out some way to coordinate the render primitive
     * between vbuf.c and here...
     */
-   draw->render->set_primitive(draw->render, emit->prim);
+   render->set_primitive(draw->render, prim_info->prim);
 
    if (!render->allocate_vertices(render,
                                   (ushort)translate->key.output_stride,




More information about the mesa-commit mailing list