i965/gen9: Setup MCS for compressed texture surfaces
authorTopi Pohjolainen <topi.pohjolainen@intel.com>
Mon, 8 Feb 2016 16:00:31 +0000 (18:00 +0200)
committerTopi Pohjolainen <topi.pohjolainen@intel.com>
Thu, 12 May 2016 16:49:37 +0000 (19:49 +0300)
Signed-off-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
src/mesa/drivers/dri/i965/gen8_surface_state.c

index 4b9896fe7d6ae2c3f79bb5486cddfcb058b4358a..b8462844ae6f00002dd63ea00d6b06924f00669d 100644 (file)
@@ -249,11 +249,12 @@ gen8_emit_texture_surface_state(struct brw_context *brw,
       pitch = mt->pitch;
    }
 
-   /* The MCS is not uploaded for single-sampled surfaces because the color
-    * buffer should always have been resolved before it is used as a texture
-    * so there is no need for it.
+   /* Prior to Gen9, MCS is not uploaded for single-sampled surfaces because
+    * the color buffer should always have been resolved before it is used as
+    * a texture so there is no need for it. On Gen9 it will be uploaded when
+    * the surface is losslessly compressed (CCS_E).
     */
-   if (mt->num_samples <= 1) {
+   if (mt->num_samples <= 1 && aux_mode != GEN9_SURFACE_AUX_MODE_CCS_E) {
       aux_mt = NULL;
       aux_mode = GEN8_SURFACE_AUX_MODE_NONE;
    }