Mesa (main): lavapipe: do not disable multisampling for smooth lines

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jul 12 22:31:23 UTC 2021


Module: Mesa
Branch: main
Commit: e555e2b0019804d1822a94f041638f40c7eef8ec
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e555e2b0019804d1822a94f041638f40c7eef8ec

Author: Erik Faye-Lund <erik.faye-lund at collabora.com>
Date:   Wed Jul  7 12:02:39 2021 +0200

lavapipe: do not disable multisampling for smooth lines

Smooth lines are also rasterized with rectangles instead of using
bresenham-style lines, so let's make sure we exclude those as well
from this test.

Fixes: 9fbf6b2abff ("lavapipe: implement VK_EXT_line_rasterization")
Reviewed-by: Dave Airlie <airlied at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11782>

---

 src/gallium/frontends/lavapipe/lvp_pipeline.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gallium/frontends/lavapipe/lvp_pipeline.c b/src/gallium/frontends/lavapipe/lvp_pipeline.c
index bc6dec2f13a..b52999b1150 100644
--- a/src/gallium/frontends/lavapipe/lvp_pipeline.c
+++ b/src/gallium/frontends/lavapipe/lvp_pipeline.c
@@ -813,7 +813,8 @@ lvp_graphics_pipeline_init(struct lvp_pipeline *pipeline,
       /* always draw bresenham if !smooth */
       pipeline->line_stipple_enable = line_state->stippledLineEnable;
       pipeline->line_smooth = line_state->lineRasterizationMode == VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT;
-      pipeline->disable_multisample = line_state->lineRasterizationMode != VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT;
+      pipeline->disable_multisample = (line_state->lineRasterizationMode != VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT) &&
+         line_state->lineRasterizationMode != VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT;
       if (!dynamic_state_contains(pipeline->graphics_create_info.pDynamicState, VK_DYNAMIC_STATE_LINE_STIPPLE_EXT)) {
          pipeline->line_stipple_factor = line_state->lineStippleFactor - 1;
          pipeline->line_stipple_pattern = line_state->lineStipplePattern;



More information about the mesa-commit mailing list