aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2020-03-11 08:09:22 +1000
committerMarge Bot <[email protected]>2020-05-06 06:20:37 +0000
commitf5463576b94fa51a55e180c71dfbc249c2a3cc6b (patch)
treed798114fbda3001217d8362063ca58eb71fc5ebd
parente47d39aee15e80976e62fec2937771b0b9346fef (diff)
llvmpipe: plumb multisample state bit into setup code.
Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4122>
-rw-r--r--src/gallium/drivers/llvmpipe/lp_setup.c4
-rw-r--r--src/gallium/drivers/llvmpipe/lp_setup.h3
-rw-r--r--src/gallium/drivers/llvmpipe/lp_setup_context.h1
-rw-r--r--src/gallium/drivers/llvmpipe/lp_state_rasterizer.c3
4 files changed, 8 insertions, 3 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_setup.c b/src/gallium/drivers/llvmpipe/lp_setup.c
index 67c714b02db..6b46e82756d 100644
--- a/src/gallium/drivers/llvmpipe/lp_setup.c
+++ b/src/gallium/drivers/llvmpipe/lp_setup.c
@@ -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;
diff --git a/src/gallium/drivers/llvmpipe/lp_setup.h b/src/gallium/drivers/llvmpipe/lp_setup.h
index 43da6c86589..a948212a511 100644
--- a/src/gallium/drivers/llvmpipe/lp_setup.h
+++ b/src/gallium/drivers/llvmpipe/lp_setup.h
@@ -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,
diff --git a/src/gallium/drivers/llvmpipe/lp_setup_context.h b/src/gallium/drivers/llvmpipe/lp_setup_context.h
index 701dcadfdf9..2cd01941ca8 100644
--- a/src/gallium/drivers/llvmpipe/lp_setup_context.h
+++ b/src/gallium/drivers/llvmpipe/lp_setup_context.h
@@ -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;
diff --git a/src/gallium/drivers/llvmpipe/lp_state_rasterizer.c b/src/gallium/drivers/llvmpipe/lp_state_rasterizer.c
index ef6958d99fe..a4ffd68397e 100644
--- a/src/gallium/drivers/llvmpipe/lp_state_rasterizer.c
+++ b/src/gallium/drivers/llvmpipe/lp_state_rasterizer.c
@@ -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,