asahi: Write to cubes/etc attachments as 2D array
authorAlyssa Rosenzweig <alyssa@rosenzweig.io>
Thu, 17 Aug 2023 16:51:45 +0000 (12:51 -0400)
committerAlyssa Rosenzweig <alyssa@rosenzweig.io>
Sun, 1 Oct 2023 16:37:55 +0000 (12:37 -0400)
commit87a7b239e1f659075c2132fe61ddf7479e93bcf3
treeb9d51c6de22c49abbc53078136302d09f05b45c5
parent0cbecc1ad14447c7b790bf657f73b38f58d5d6ae
asahi: Write to cubes/etc attachments as 2D array

To reduce shader variants, the tilebuffer lowering code does not know the
actual texture targets of the spilled render targets, only whether they are
layered or not. As such, all layered targets (3D, cube map, etc) get written out
uniformly as 2D Arrays. For that to work, the driver needs to do the
corresponding transform.

Regular imageStore() instructions are not affected by any of this.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
src/gallium/drivers/asahi/agx_state.c