diff --git a/src/asahi/lib/agx_formats.c b/src/asahi/lib/agx_formats.c index 67b79c15f99..454c586528e 100644 --- a/src/asahi/lib/agx_formats.c +++ b/src/asahi/lib/agx_formats.c @@ -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), diff --git a/src/gallium/drivers/asahi/agx_pipe.c b/src/gallium/drivers/asahi/agx_pipe.c index 59b51259c04..610ba4f3e7a 100644 --- a/src/gallium/drivers/asahi/agx_pipe.c +++ b/src/gallium/drivers/asahi/agx_pipe.c @@ -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);