asahi,agx: Use new tilebuffer infrastructure

Flag day change to replace the previous hardcoded background/end-of-tile shaders
and the API-style load/store_output in fragment shaders with the generated
shaders and lowered *_agx intrinsics. This gets us working non-UNORM8 render
targets and working MRT. It's also a step in the direction of working MSAA but
that needs a lot more work, since the multisampling programming model on AGX is
quite different from any of the APIs (including Metal).

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
This commit is contained in:
Alyssa Rosenzweig
2022-11-19 13:48:14 -05:00
committed by Marge Bot
parent c5c0ea39f6
commit 74e92274af
11 changed files with 167 additions and 335 deletions

View File

@@ -300,15 +300,18 @@ typedef struct {
uint32_t component;
uint32_t channels;
uint32_t bfi_mask;
uint16_t pixel_offset;
enum agx_sr sr;
enum agx_icond icond;
enum agx_fcond fcond;
enum agx_format format;
enum agx_round round;
enum agx_lod_mode lod_mode;
struct agx_block *target;
};
/* For local access */
enum agx_format format;
/* For load varying */
bool perspective : 1;