[Mesa-dev] [PATCH] draw: fix segfaults with aaline and aapoint stages disabled

Marek Olšák maraeo at gmail.com
Tue Aug 27 16:01:58 PDT 2013


There are drivers not using these optional stages.

Broken by a3ae5dc7dd5c2f8893f86a920247e690e550ebd4.

Cc: mesa-stable at lists.freedesktop.org
---
 src/gallium/auxiliary/draw/draw_context.c | 6 ++++--
 1 file 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);
 }
 
 /**
-- 
1.8.1.2



More information about the mesa-dev mailing list