diff --git a/src/gallium/frontends/lavapipe/lvp_pipeline.c b/src/gallium/frontends/lavapipe/lvp_pipeline.c index 22312999129..f01f7b00bd2 100644 --- a/src/gallium/frontends/lavapipe/lvp_pipeline.c +++ b/src/gallium/frontends/lavapipe/lvp_pipeline.c @@ -835,6 +835,9 @@ lvp_graphics_pipeline_init(struct lvp_pipeline *pipeline, pipeline->pipeline_nir[MESA_SHADER_TESS_EVAL]->info.tess.ccw = !pipeline->pipeline_nir[MESA_SHADER_TESS_EVAL]->info.tess.ccw; } + pipeline->gs_output_lines = pipeline->pipeline_nir[MESA_SHADER_GEOMETRY] && + pipeline->pipeline_nir[MESA_SHADER_GEOMETRY]->info.gs.output_primitive == GL_LINES; + bool has_fragment_shader = false; for (uint32_t i = 0; i < pCreateInfo->stageCount; i++) { diff --git a/src/gallium/frontends/lavapipe/lvp_private.h b/src/gallium/frontends/lavapipe/lvp_private.h index 46b84ff28cb..35f2f07a71b 100644 --- a/src/gallium/frontends/lavapipe/lvp_private.h +++ b/src/gallium/frontends/lavapipe/lvp_private.h @@ -483,6 +483,7 @@ struct lvp_pipeline { uint16_t line_stipple_pattern; bool line_stipple_enable; bool line_smooth; + bool gs_output_lines; bool provoking_vertex_last; };