llvmpipe: plumb multisample state bit into setup code.
authorDave Airlie <airlied@redhat.com>
Tue, 10 Mar 2020 22:09:22 +0000 (08:09 +1000)
committerMarge Bot <eric+marge@anholt.net>
Wed, 6 May 2020 06:20:37 +0000 (06:20 +0000)
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122>

src/gallium/drivers/llvmpipe/lp_setup.c
src/gallium/drivers/llvmpipe/lp_setup.h
src/gallium/drivers/llvmpipe/lp_setup_context.h
src/gallium/drivers/llvmpipe/lp_state_rasterizer.c

index 67c714b02db732222f3d42771e8ec3667bae520f..6b46e82756d308099d9dfd3181646b33a668bba8 100644 (file)
@@ -567,13 +567,15 @@ lp_setup_set_triangle_state( struct lp_setup_context *setup,
                              boolean ccw_is_frontface,
                              boolean scissor,
                              boolean half_pixel_center,
-                             boolean bottom_edge_rule)
+                             boolean bottom_edge_rule,
+                             boolean multisample)
 {
    LP_DBG(DEBUG_SETUP, "%s\n", __FUNCTION__);
 
    setup->ccw_is_frontface = ccw_is_frontface;
    setup->cullmode = cull_mode;
    setup->triangle = first_triangle;
+   setup->multisample = multisample;
    setup->pixel_offset = half_pixel_center ? 0.5f : 0.0f;
    setup->bottom_edge_rule = bottom_edge_rule;
 
index 43da6c86589c17271617363c12ea3c22c35c6001..a948212a511e9e580b0f1074106f8111025135d5 100644 (file)
@@ -78,7 +78,8 @@ lp_setup_set_triangle_state( struct lp_setup_context *setup,
                              boolean front_is_ccw,
                              boolean scissor,
                              boolean half_pixel_center,
-                             boolean bottom_edge_rule);
+                             boolean bottom_edge_rule,
+                             boolean multisample);
 
 void 
 lp_setup_set_line_state( struct lp_setup_context *setup,
index 701dcadfdf995c14963c5ecd2fb8325766a611f9..2cd01941ca8b9a8cb6ebc8bdb1182d097758e419 100644 (file)
@@ -101,6 +101,7 @@ struct lp_setup_context
    boolean scissor_test;
    boolean point_size_per_vertex;
    boolean rasterizer_discard;
+   boolean multisample;
    unsigned cullmode;
    unsigned bottom_edge_rule;
    float pixel_offset;
index ef6958d99feac5e6d044cf5435e73f03af8b90d4..a4ffd68397e1301441d22bc848cc4e469b0668de 100644 (file)
@@ -116,7 +116,8 @@ llvmpipe_bind_rasterizer_state(struct pipe_context *pipe, void *handle)
                                   state->lp_state.front_ccw,
                                   state->lp_state.scissor,
                                   state->lp_state.half_pixel_center,
-                                  state->lp_state.bottom_edge_rule);
+                                  state->lp_state.bottom_edge_rule,
+                                  state->lp_state.multisample);
       lp_setup_set_flatshade_first( llvmpipe->setup,
                                    state->lp_state.flatshade_first);
       lp_setup_set_line_state( llvmpipe->setup,