summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZack Rusin <zackr@vmware.com>2013-04-16 20:17:08 -0700
committerZack Rusin <zackr@vmware.com>2013-04-16 23:38:47 -0700
commitbe497ac9d3b5c50a4cd126578081bd54b68f16a9 (patch)
tree15c6fd0fce3284ed8f9c551f6b45cdc00eef36f2
parent80ee4a407a2668f6a6a410c3e56ae9910510f773 (diff)
draw/gs: Return early if the passed geometry shader is null
Can happen if we were using stream output without geometry shader, by returning early we avoid a crash. Signed-off-by: Zack Rusin <zackr@vmware.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
-rw-r--r--src/gallium/auxiliary/draw/draw_gs.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/draw/draw_gs.c b/src/gallium/auxiliary/draw/draw_gs.c
index f8cb04a8f3..987c01a791 100644
--- a/src/gallium/auxiliary/draw/draw_gs.c
+++ b/src/gallium/auxiliary/draw/draw_gs.c
@@ -788,6 +788,9 @@ void draw_bind_geometry_shader(struct draw_context *draw,
void draw_delete_geometry_shader(struct draw_context *draw,
struct draw_geometry_shader *dgs)
{
+ if (!dgs) {
+ return;
+ }
#ifdef HAVE_LLVM
if (draw_get_option_use_llvm()) {
struct llvm_geometry_shader *shader = llvm_geometry_shader(dgs);