Mesa (master): draw: fix segfaults with aaline and aapoint stages disabled

Marek Olšák mareko at kemper.freedesktop.org
Fri Aug 30 23:34:36 UTC 2013


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Tue Aug 27 21:57:41 2013 +0200

draw: fix segfaults with aaline and aapoint stages disabled

There are drivers not using these optional stages.

Broken by a3ae5dc7dd5c2f8893f86a920247e690e550ebd4.

Cc: mesa-stable at lists.freedesktop.org

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

---

 src/gallium/auxiliary/draw/draw_context.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/gallium/auxiliary/draw/draw_context.c b/src/gallium/auxiliary/draw/draw_context.c
index d1fac0c..641dd82 100644
--- a/src/gallium/auxiliary/draw/draw_context.c
+++ b/src/gallium/auxiliary/draw/draw_context.c
@@ -564,8 +564,10 @@ draw_prepare_shader_outputs(struct draw_context *draw)
    draw_remove_extra_vertex_attribs(draw);
    draw_prim_assembler_prepare_outputs(draw->ia);
    draw_unfilled_prepare_outputs(draw, draw->pipeline.unfilled);
-   draw_aapoint_prepare_outputs(draw, draw->pipeline.aapoint);
-   draw_aaline_prepare_outputs(draw, draw->pipeline.aaline);
+   if (draw->pipeline.aapoint)
+      draw_aapoint_prepare_outputs(draw, draw->pipeline.aapoint);
+   if (draw->pipeline.aaline)
+      draw_aaline_prepare_outputs(draw, draw->pipeline.aaline);
 }
 
 /**




More information about the mesa-commit mailing list