asahi: Use 2D array staging resources for cube/3D
authorAlyssa Rosenzweig <alyssa@rosenzweig.io>
Sun, 9 Apr 2023 18:16:53 +0000 (14:16 -0400)
committerAlyssa Rosenzweig <alyssa@rosenzweig.io>
Sun, 7 May 2023 13:00:59 +0000 (09:00 -0400)
commit9f39bbdee9bf802aa37684943830a1659055d1b7
treee3ddbffa86264a8cfd2c9cdffe5bfc7355690b76
parentc11c40eaf4d4ba1e2900df4615374cb8296c8725
asahi: Use 2D array staging resources for cube/3D

Staging resources need to be linear for efficient CPU side mapping. This is a
problem for access to 3D and cube textures, since we don't have linear 3D
textures or linear cube textures. But we do have linear 2D array textures, which
can be reshaped to the same effect. So use a 2D array staging resource even for
3D textures and cube maps.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22891>
src/gallium/drivers/asahi/agx_pipe.c