[Mesa-dev] [PATCH 10/13] i965: Thwack multisample enable bit in 3DSTATE_RASTER.

Kenneth Graunke kenneth at whitecape.org
Wed Feb 19 02:04:34 PST 2014


The meaning and effects of this bit are surprisingly complicated.

See Rasterization > Windower > Multisampling > Multisample ModesState.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
---
 src/mesa/drivers/dri/i965/brw_defines.h   | 1 +
 src/mesa/drivers/dri/i965/gen8_sf_state.c | 4 ++++
 2 files changed, 5 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_defines.h b/src/mesa/drivers/dri/i965/brw_defines.h
index dea0940..1cbbe67 100644
--- a/src/mesa/drivers/dri/i965/brw_defines.h
+++ b/src/mesa/drivers/dri/i965/brw_defines.h
@@ -1707,6 +1707,7 @@ enum brw_message_target {
 # define GEN8_RASTER_CULL_FRONT                         (2 << 16)
 # define GEN8_RASTER_CULL_BACK                          (3 << 16)
 # define GEN8_RASTER_SMOOTH_POINT_ENABLE                (1 << 13)
+# define GEN8_RASTER_API_MULTISAMPLE_ENABLE             (1 << 12)
 # define GEN8_RASTER_LINE_AA_ENABLE                     (1 << 2)
 # define GEN8_RASTER_SCISSOR_ENABLE                     (1 << 1)
 # define GEN8_RASTER_VIEWPORT_Z_CLIP_TEST_ENABLE        (1 << 0)
diff --git a/src/mesa/drivers/dri/i965/gen8_sf_state.c b/src/mesa/drivers/dri/i965/gen8_sf_state.c
index a5cd9f8..b31b17e 100644
--- a/src/mesa/drivers/dri/i965/gen8_sf_state.c
+++ b/src/mesa/drivers/dri/i965/gen8_sf_state.c
@@ -209,6 +209,9 @@ upload_raster(struct brw_context *brw)
    if (ctx->Point.SmoothFlag)
       dw1 |= GEN8_RASTER_SMOOTH_POINT_ENABLE;
 
+   if (ctx->Multisample._Enabled)
+      dw1 |= GEN8_RASTER_API_MULTISAMPLE_ENABLE;
+
    if (ctx->Polygon.OffsetFill)
       dw1 |= GEN6_SF_GLOBAL_DEPTH_OFFSET_SOLID;
 
@@ -274,6 +277,7 @@ const struct brw_tracked_state gen8_raster_state = {
    .dirty = {
       .mesa  = _NEW_BUFFERS |
                _NEW_LINE |
+               _NEW_MULTISAMPLE |
                _NEW_POINT |
                _NEW_POLYGON |
                _NEW_SCISSOR |
-- 
1.8.4.2



More information about the mesa-dev mailing list