URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=cee2c4624d05f49e15d03142305c5ae8a5422816
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Nov 18 22:28:05 2022 -0500
asahi: Advertise all supported renderable formats
Now that we have the new tilebuffer infrastructure in place, all renderable
formats should be working.
This reverts commit 32ab63b4fcaaaf832d549ddcf7b3a225c5f73df4.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=74e92274af3940fa232b5e92fb52a9991c7eaadf
Author: Alyssa Rosenzweig <[email protected]>
Date: Sat Nov 19 13:48:14 2022 -0500
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 <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c5c0ea39f6a04ce26b505cf0276be26282336fa9
Author: Alyssa Rosenzweig <[email protected]>
Date: Sat Nov 19 13:12:02 2022 -0500
asahi: Add new clear/reload/store infrastructure
With multiple render targets, it's not practical to generate all
variants of the background and end-of-tile programs at start up. Rather
than trying, add a hash table of meta program keys to background
programs, and compile variants as they're needed.
With the new infrastructure, it's sensible to handle clears with the
same code path as reloads. In addition to getting us closer to multiple
render target support, this gets us support for non-RGBA8 render
targets, as the u8norm tilebuffer format was baked into the hardcoded
clear shader and store shaders used before.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4f96651f1e46ccc673c75534a7f7b17e3b18e6d7
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Nov 18 23:18:14 2022 -0500
asahi: Use correct tib settings for USC
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=555447769d3bb894f9f986361412810a531f0871
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Nov 18 23:08:29 2022 -0500
asahi: Extend texture descriptor packing for MSAA
Multisampling uses different values of the dimension enum in tandem with a
new
samples field. Handle this in agx_pack_texture (split off here) so we can
use
the new functionality for texture descriptors in reloads too.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=cc555e0c04f79503eee26d42a6e1b420369cc2ea
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Nov 18 23:07:24 2022 -0500
asahi: Remove some bogus asserts
Hitting in dEQP-GLES31
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bbe7d8e4f5d4c0d2a6eaa72c2413533c7ee5eac7
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Nov 18 23:00:48 2022 -0500
asahi: Implement texture_barrier trivially
For the advanced blending tests.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=03dc4bc3e80c68e48e0a2f9d698f92f4e0f58041
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Nov 18 22:59:42 2022 -0500
asahi: Calculate tilebuffer layout per batch
It won't be fixed soon.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b1f5004ee7937490b9b81a63b9b6abf55d0a80b9
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Nov 18 22:50:03 2022 -0500
asahi: Add agx_usc_shared_none helper
Convenience for vertex USC programs.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c713197c25cbc0f7f44b95c24ed34e3397a1bea1
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Nov 18 22:49:45 2022 -0500
asahi: Add R16 SNORM formats
For completeness, since we do have hardware for this.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d637189d366e719f9ea574216d771f8bcf44dda3
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Nov 18 22:48:20 2022 -0500
asahi: Add more XML via PowerVR
These bits are the same as RGX.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a3907e92da4d7418b0560237e64b3b25b7e8573d
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Nov 18 22:47:52 2022 -0500
asahi: Add note to XML about 16-bit varyings
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=94a8fe51d5ae0723111183b09b43d7f43e5c336d
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Nov 18 22:47:28 2022 -0500
asahi: Identify more depth-related fields in XML
Needed for gl_FragDepth writes.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6ce615d852f8e52da78af92317498218934b5232
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Nov 18 22:46:55 2022 -0500
asahi: Add XML for layered rendering
We don't need to support this for a while but it's good to know the
mechanism.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=74de571402a21e15855a6bb5506fecc77e50b4ef
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Nov 18 22:35:05 2022 -0500
asahi: Add NIR pass to lower tilebuffer access
The compiler can't handle load/store_output directly for nontrivial
tilebuffer
layouts. Add a NIR pass to lower these intrinsics, applying a given layout.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=66a680a0435f5d1a7ba937fcd11aeba3581bbee8
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Nov 18 22:31:58 2022 -0500
asahi: Add tilebuffer layout helpers
Laying out the tilebuffer is nontrivial and a task shared between GL and
VK, so
add unit-tested helpers.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5d3243ea2db1e8b74238376e29830dd5d4d20732
Author: Alyssa Rosenzweig <[email protected]>
Date: Sun Oct 23 17:44:11 2022 -0400
asahi: Add some notes about unknowns to the XML
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=363ffa779da2eee58c57fa53074ec20521841a95
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Nov 7 20:01:40 2022 -0500
asahi: Identify multisampling fields of shared layout
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5a20c90508cb4957af77db164f55cb7e73f015e0
Author: Alyssa Rosenzweig <[email protected]>
Date: Sat Oct 22 20:48:29 2022 -0400
asahi: Add _with_bo pool uploads
Will be useful for managing our meta shaders.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4a166acc93001e91800b2d25660dcf94a10169aa
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Nov 18 22:52:20 2022 -0500
agx: Add block_image_store instruction
This hw instruction writes out an entire block from the tilebuffer to an
attached render target (PBE descriptor). It is used (only?) in end-of-tile
shaders to implement write out. We need to handle it in the compiler as a
prerequisite to compiling end-of-tile shaders ourselves, instead of
hardcoding.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0e106681e0d4ab384daeb1da61085d1eb0ec70fb
Author: Alyssa Rosenzweig <[email protected]>
Date: Sat Nov 19 11:22:43 2022 -0500
agx: Add helper to map pipe formats to agx_formats
Or a restricted subset thereof anyway.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=db0461a8d0a1e83726abecd8d71392ebc5b99300
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Nov 18 22:40:39 2022 -0500
agx: Implement nir_texop_txf_ms
Mutlisampled texture fetch (txf_ms) is encoded like regular txf. However,
we now
need to pack the multisample index in the right place, which we do by
extending
our existing NIR texture source lowering pass. 2D MS arrays use a new value
of
dim which requires tweaking the encoding slightly. Otherwise, everything is
bog standard.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=53d013a60503c15abf0f6aefbf441a4fa37ecb1c
Author: Alyssa Rosenzweig <[email protected]>
Date: Fri Nov 18 22:38:27 2022 -0500
ail: Handle multisampling
It appears that multisampled textures on AGX have all samples of the same
pixel
contiguous in memory, effectively using the layout of a single-sampled
texture
with a larger block size. Handle in ail.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8781aef6b4349420cb715e89378c0a329fa735ba
Author: Alyssa Rosenzweig <[email protected]>
Date: Sat Nov 19 15:17:17 2022 -0500
asahi: Make libasahi_lib depend on libasahi_decode
The track_alloc and track_free symbols are used, we need to link them in.
Depending on build flags / environment / etc, fixes the potential build
error
hit by a CI job:
mold: error: undefined symbol: agxdecode_track_alloc
>>> referenced by agx_device.c
>>>
src/asahi/lib/libasahi_lib.a(src/asahi/lib/libasahi_lib.a.p/agx_device.c.o):(agx_shmem_alloc)>>>
referenced by agx_device.c
>>>
src/asahi/lib/libasahi_lib.a(src/asahi/lib/libasahi_lib.a.p/agx_device.c.o):(agx_bo_create)
mold: error: undefined symbol: agxdecode_track_free
>>> referenced by agx_device.c
>>>
src/asahi/lib/libasahi_lib.a(src/asahi/lib/libasahi_lib.a.p/agx_device.c.o):(agx_bo_unreference)
...when trying to link with libasahi_lib without libasahi_decode for unit
tests.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6ee6cfec4129e54b881ade0629eadbc09b5fa311
Author: Alyssa Rosenzweig <[email protected]>
Date: Sat Nov 19 10:58:08 2022 -0500
asahi: Use PIPE_FORMATs for driver-compiler ABI
This avoids exposing the ISA-internal agx_format to the driver, instead
hiding
it behind a real PIPE_FORMAT. This lets us use real pipe formats in
formatted
intrinsics in NIR, which is convenient; it will allow us to simplify the
compiler/driver ABI; and it lets us use common format helpers (e.g.
util_format_get_blocksize) for the internal formats in driver lowering.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=940b871dbab6c4013c8e2bb86fa3a0f3962c422c
Author: Alyssa Rosenzweig <[email protected]>
Date: Mon Nov 7 20:30:45 2022 -0500
nir: Define AGX intrinsics for local pixel access
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19871>