i965: Hook up the MCS buffers in SURFACE_STATE on Broadwell.
authorKenneth Graunke <kenneth@whitecape.org>
Sat, 10 May 2014 08:59:10 +0000 (01:59 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 26 Jun 2014 18:50:34 +0000 (11:50 -0700)
MCS buffers are never allocated on Broadwell, so this does nothing for
now, but puts the infrastructure in place for when they do exist.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
src/mesa/drivers/dri/i965/gen8_surface_state.c

index 0268e5c..72983f5 100644 (file)
@@ -157,6 +157,11 @@ gen8_update_texture_surface(struct gl_context *ctx,
       pitch = mt->pitch;
    }
 
+   if (mt->mcs_mt) {
+      aux_mt = mt->mcs_mt;
+      aux_mode = GEN8_SURFACE_AUX_MODE_MCS;
+   }
+
    /* If this is a view with restricted NumLayers, then our effective depth
     * is not just the miptree depth.
     */
@@ -355,6 +360,11 @@ gen8_update_renderbuffer_surface(struct brw_context *brw,
                        __FUNCTION__, _mesa_get_format_name(rb_format));
    }
 
+   if (mt->mcs_mt) {
+      aux_mt = mt->mcs_mt;
+      aux_mode = GEN8_SURFACE_AUX_MODE_MCS;
+   }
+
    uint32_t *surf = brw_state_batch(brw, AUB_TRACE_SURFACE_STATE, 13 * 4, 64,
                                     &brw->wm.base.surf_offset[surf_index]);