intel/blorp: Use linear formats for CCS_E clear colors in copies
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 11 May 2018 22:02:13 +0000 (15:02 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Mon, 14 May 2018 17:41:26 +0000 (10:41 -0700)
It's clear that the original code meant to do this and there is even a
10-line comment explaining why.  Originally, we had a simple function
for packing the clear colors which was unaware of sRGB.  However, in
a6b66a7b26ae1, when we started using ISL to do the packing, the wrong
format was used.

Fixes: a6b66a7b26 "intel/blorp: Use ISL instead of bitcast_color..."
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
src/intel/blorp/blorp_blit.c

index e825862..26bf442 100644 (file)
@@ -2562,7 +2562,7 @@ blorp_copy(struct blorp_batch *batch,
                                               params.src.view.format));
       uint32_t packed[4];
       isl_color_value_pack(&params.src.clear_color,
-                           params.src.surf.format, packed);
+                           linear_src_format, packed);
       isl_color_value_unpack(&params.src.clear_color,
                              params.src.view.format, packed);
    }
@@ -2576,7 +2576,7 @@ blorp_copy(struct blorp_batch *batch,
                                               params.dst.view.format));
       uint32_t packed[4];
       isl_color_value_pack(&params.dst.clear_color,
-                           params.dst.surf.format, packed);
+                           linear_dst_format, packed);
       isl_color_value_unpack(&params.dst.clear_color,
                              params.dst.view.format, packed);
    }