summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/llvmpipe
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/llvmpipe')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_state_gs.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_state_gs.c b/src/gallium/drivers/llvmpipe/lp_state_gs.c
index c94afeddd16..7ea7a390669 100644
--- a/src/gallium/drivers/llvmpipe/lp_state_gs.c
+++ b/src/gallium/drivers/llvmpipe/lp_state_gs.c
@@ -60,9 +60,11 @@ llvmpipe_create_gs_state(struct pipe_context *pipe,
state->no_tokens = !templ->tokens;
memcpy(&state->stream_output, &templ->stream_output, sizeof state->stream_output);
- state->dgs = draw_create_geometry_shader(llvmpipe->draw, templ);
- if (state->dgs == NULL) {
- goto no_dgs;
+ if (templ->tokens) {
+ state->dgs = draw_create_geometry_shader(llvmpipe->draw, templ);
+ if (state->dgs == NULL) {
+ goto no_dgs;
+ }
}
return state;