From fba6dafb9fe24ff4fcc45c4b3ba6789d1c2f468e Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 2 Jul 2021 10:36:38 -0400 Subject: [PATCH] lavapipe: store whether the geometry shader outputs GL_LINES Reviewed-by: Dave Airlie Part-of: --- src/gallium/frontends/lavapipe/lvp_pipeline.c | 3 +++ src/gallium/frontends/lavapipe/lvp_private.h | 1 + 2 files changed, 4 insertions(+) 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; };