asahi: Use z24_in_z32f lowering
authorAlyssa Rosenzweig <alyssa@rosenzweig.io>
Sat, 2 Apr 2022 15:58:04 +0000 (11:58 -0400)
committerAlyssa Rosenzweig <alyssa@rosenzweig.io>
Sun, 22 May 2022 02:01:32 +0000 (22:01 -0400)
Thanks Dave!

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16512>

src/asahi/lib/agx_formats.c
src/gallium/drivers/asahi/agx_pipe.c

index 67b79c1..454c586 100644 (file)
@@ -97,6 +97,10 @@ const struct agx_pixel_format_entry agx_pixel_format[PIPE_FORMAT_COUNT] = {
    AGX_FMT(Z32_FLOAT,               R32,           FLOAT,  F, _),
    AGX_FMT(Z32_FLOAT_S8X24_UINT,    R32,           FLOAT,  F, _),
 
+   /* These must be lowered by u_transfer_helper to Z32F */
+   AGX_FMT(Z24X8_UNORM,             R32,           FLOAT,  F, _),
+   AGX_FMT(Z24_UNORM_S8_UINT,       R32,           FLOAT,  F, _),
+
    AGX_FMT(R10G10B10A2_UNORM,       R10G10B10A2,   UNORM,  T, RGB10A2),
    AGX_FMT(B10G10R10A2_UNORM,       R10G10B10A2,   UNORM,  T, RGB10A2),
 
index 59b5125..610ba4f 100644 (file)
@@ -1174,7 +1174,8 @@ agx_screen_create(struct sw_winsys *winsys)
    screen->resource_create = u_transfer_helper_resource_create;
    screen->resource_destroy = u_transfer_helper_resource_destroy;
    screen->transfer_helper = u_transfer_helper_create(&transfer_vtbl,
-                                                      true, true, false, true, false);
+                                                      true, true, false, true,
+                                                      true);
 
    agx_internal_shaders(&agx_screen->dev);