diff options
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_state_gs.c | 8 |
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; |