mesa/src/asahi/lib
Alyssa Rosenzweig fcf1a8062b asahi: switch to VS/FS prolog/epilog system
With the exception of some variants for framebuffer fetch (to be addressed in a
follow up MR, this is big enough as it is) -- this switches us to a shader
precompile path for VS & FS. VS prologs let us implement vertex buffer fetch
with dynamic formats, FS prologs let us implement misc emulation like API sample
masking and cull distance, while FS epilogs handle blending and tilebuffer
stores. This should cut down shader recompile jank significantly in the GL
driver. It also prepares us with most of what we need for big ticket Vulkan
extensions like ESO, GPL, and EDS3.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483>
2024-03-30 00:26:20 +00:00
..
shaders libagx: parallelize prefix sum over 1024 threads 2024-03-30 00:26:18 +00:00
tests asahi: add missing tib alignment check 2024-01-10 08:44:38 -04:00
agx_bo.c asahi: Implement BO alignment 2024-01-10 08:44:37 -04:00
agx_bo.h asahi/lib: use #pragma once 2024-02-14 21:02:32 +00:00
agx_border.c asahi: Implement custom border colours 2023-02-04 10:37:02 -05:00
agx_device.c agx: Add scaffolding to build the helper shader at device init 2024-02-14 21:02:29 +00:00
agx_device.h asahi: drop =varyings debug 2024-03-30 00:26:19 +00:00
agx_formats.c asahi: clean up format table renderability 2024-02-14 21:02:32 +00:00
agx_formats.h asahi: clean up format table renderability 2024-02-14 21:02:32 +00:00
agx_helpers.h asahi: switch to VS/FS prolog/epilog system 2024-03-30 00:26:20 +00:00
agx_iokit.h asahi/lib: use #pragma once 2024-02-14 21:02:32 +00:00
agx_linker.c asahi: add fast linker 2024-03-30 00:26:19 +00:00
agx_linker.h asahi: switch to VS/FS prolog/epilog system 2024-03-30 00:26:20 +00:00
agx_meta.c asahi: switch to VS/FS prolog/epilog system 2024-03-30 00:26:20 +00:00
agx_meta.h asahi/lib: use #pragma once 2024-02-14 21:02:32 +00:00
agx_nir_format_helpers.h asahi/lib: use #pragma once 2024-02-14 21:02:32 +00:00
agx_nir_lower_alpha.c asahi: return progress from passes 2024-01-12 01:13:03 +00:00
agx_nir_lower_gs.c asahi: switch to VS/FS prolog/epilog system 2024-03-30 00:26:20 +00:00
agx_nir_lower_gs.h asahi: switch to VS/FS prolog/epilog system 2024-03-30 00:26:20 +00:00
agx_nir_lower_ia.c asahi: rm ia key 2024-02-14 21:02:32 +00:00
agx_nir_lower_msaa.c asahi: switch to VS/FS prolog/epilog system 2024-03-30 00:26:20 +00:00
agx_nir_lower_sample_intrinsics.c asahi: switch to VS/FS prolog/epilog system 2024-03-30 00:26:20 +00:00
agx_nir_lower_tess.c asahi: stop merging VS and TCS 2024-03-30 00:26:17 +00:00
agx_nir_lower_texture.c agx: always reserve sampler #0 for txf 2024-03-30 00:26:19 +00:00
agx_nir_lower_tilebuffer.c asahi: don't set writes_memory for tib spilling 2024-03-30 00:26:19 +00:00
agx_nir_lower_uvs.c asahi: delete layer id code 2024-03-30 00:26:19 +00:00
agx_nir_lower_vbo.c agx/lower_vbo: dce as we go 2024-03-30 00:26:19 +00:00
agx_nir_lower_vbo.h asahi/lib: use #pragma once 2024-02-14 21:02:32 +00:00
agx_nir_passes.h asahi: rewrite varying linking 2024-03-30 00:26:19 +00:00
agx_nir_prolog_epilog.c asahi: switch to VS/FS prolog/epilog system 2024-03-30 00:26:20 +00:00
agx_ppp.h asahi: split out genxml/ directory 2024-02-14 21:02:32 +00:00
agx_scratch.c asahi: precompile helper program 2024-02-14 21:02:32 +00:00
agx_scratch.h asahi/lib: use #pragma once 2024-02-14 21:02:32 +00:00
agx_tilebuffer.c asahi: don't allocate tib space for gaps 2024-03-30 00:26:19 +00:00
agx_tilebuffer.h asahi: switch to VS/FS prolog/epilog system 2024-03-30 00:26:20 +00:00
agx_usc.h asahi: add agx_usc_push_packed helper 2024-03-30 00:26:19 +00:00
agx_uvs.h asahi: rewrite varying linking 2024-03-30 00:26:19 +00:00
decode.c asahi: fix overread with samplers 2024-03-30 00:26:17 +00:00
decode.h asahi/lib: use #pragma once 2024-02-14 21:02:32 +00:00
dyld_interpose.h asahi: Clang-format the subtree 2022-12-27 22:46:29 +00:00
meson.build asahi: switch to VS/FS prolog/epilog system 2024-03-30 00:26:20 +00:00
pool.c asahi: Convert to SPDX headers 2023-03-28 05:14:00 +00:00
pool.h asahi: split out genxml/ directory 2024-02-14 21:02:32 +00:00
wrap.c asahi/decode: Decode multiple macOS commands 2023-12-09 10:56:17 -04:00