blorp: Stop whacking Z24 depth to BGRA8
authorJason Ekstrand <jason@jlekstrand.net>
Wed, 4 Dec 2019 02:25:19 +0000 (20:25 -0600)
committerKenneth Graunke <kenneth@whitecape.org>
Sat, 4 Jan 2020 20:25:54 +0000 (12:25 -0800)
The shader code required to do this is int(sat(x) * UINT24_MAX) which
isn't really worth all the effort to avoid.  Doing the format
conversion, on the other hand, prevents us from sampling with HiZ which
is something that we very much want on gen8-9 where we can.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/intel/blorp/blorp_blit.c

index 3a27574..b63a6e5 100644 (file)
@@ -2297,17 +2297,6 @@ blorp_blit(struct blorp_batch *batch,
       }
    }
 
-   /* ISL_FORMAT_R24_UNORM_X8_TYPELESS it isn't supported as a render target,
-    * which requires shader math to render to it.  Blitting Z24X8 to Z24X8
-    * is fairly common though, so we'd like to avoid it.  Since we don't need
-    * to blend depth values, we can simply pick a renderable format with the
-    * right number of bits-per-pixel, like 8-bit BGRA.
-    */
-   if (dst_surf->surf->format == ISL_FORMAT_R24_UNORM_X8_TYPELESS &&
-       src_surf->surf->format == ISL_FORMAT_R24_UNORM_X8_TYPELESS) {
-      src_format = dst_format = ISL_FORMAT_B8G8R8A8_UNORM;
-   }
-
    brw_blorp_surface_info_init(batch->blorp, &params.src, src_surf, src_level,
                                src_layer, src_format, false);
    brw_blorp_surface_info_init(batch->blorp, &params.dst, dst_surf, dst_level,