llvmpipe: generate multisample triangle rasterizer functions (v2)
[mesa.git] / src / gallium / drivers / llvmpipe / lp_state_gs.c
index 405a415624e2bd794f2b9058441bbed5e4cf54e5..302d599024dfe5c22610af012e4a91143245b679 100644 (file)
@@ -57,10 +57,13 @@ llvmpipe_create_gs_state(struct pipe_context *pipe,
    }
 
    /* copy stream output info */
-   state->no_tokens = !templ->tokens;
+   if (templ->type == PIPE_SHADER_IR_TGSI)
+      state->no_tokens = !templ->tokens;
+   else
+      state->no_tokens = FALSE;
    memcpy(&state->stream_output, &templ->stream_output, sizeof state->stream_output);
 
-   if (templ->tokens) {
+   if (templ->tokens || templ->type == PIPE_SHADER_IR_NIR) {
       state->dgs = draw_create_geometry_shader(llvmpipe->draw, templ);
       if (state->dgs == NULL) {
          goto no_dgs;