Alyssa Rosenzweig
d8391860d9
agx: use mov imm for pcopies
...
allows bigger imms. no shaderdb changes.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:38 -04:00
Alyssa Rosenzweig
6102c866d1
agx: use custom assert when packing
...
so it dumps out the context of what we're packing. much friendly for debug.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:38 -04:00
Alyssa Rosenzweig
b8c80c5e80
agx: mv agx_read/write_regs to validator
...
since agx_index::channels is now always correct.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:38 -04:00
Alyssa Rosenzweig
b7da198274
agx: trust in agx_index size
...
validated.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:38 -04:00
Alyssa Rosenzweig
75d911f0ee
agx: add index size helper
...
to replace the switches.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:38 -04:00
Alyssa Rosenzweig
8e938d48f5
agx: rm outdated comment
...
no more logical ends
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:38 -04:00
Alyssa Rosenzweig
a65f17bfea
agx: rm silly todo
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:38 -04:00
Alyssa Rosenzweig
7f1ec658e9
agx: validate post-RA
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:38 -04:00
Alyssa Rosenzweig
f0b8d933fc
agx: make vec widths explicit in IR
...
no functional changes.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:38 -04:00
Asahi Lina
caee8a3114
agx: Add scoreboarding to stack instructions
...
These are basically device loads/stores and behave similarly.
Signed-off-by: Asahi Lina <lina@asahilina.net >
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:38 -04:00
Asahi Lina
f5ea767625
agx: Fix packing of stack map/unmap
...
We got the register indices wrong...
Signed-off-by: Asahi Lina <lina@asahilina.nt >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:38 -04:00
Alyssa Rosenzweig
5009e48748
agx: skip scoreboard bit in builder for !wait
...
it's supposed to be set late, not at build-time.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:38 -04:00
Asahi Lina
7fff5a128b
asahi: Implement BO alignment
...
The stack/scratch blocks need to be aligned to greater than the page
size in some cases. Add support for allocating BOs with a given
alignment in GPU VA space.
To avoid having to touch all callers, this adds a new function
agx_bo_create_aligned() for this purpose.
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Asahi Lina
4dcb0d40d2
asahi: Add .editorconfig for CL files
...
These are formatted with 3-space indents like our C code, so tell
editors about it.
Signed-off-by: Asahi Lina <lina@asahilina.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
i509VCB
d30b0adddb
agx: remove internal agx_device queue
...
The internal queue is unusued by agxv. An earlier commit changed the gallium driver to initialize it's own queue.
Signed-off-by: i509VCB <git@i509.me >
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
i509VCB
8f52e72686
asahi: create queue for screen
...
Signed-off-by: i509VCB <git@i509.me >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
43fc09a0d8
agx: implement query_levels
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
65789854c5
agx: lower votes to ballots
...
not optimal but passes the tests.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
c037fa376d
agx: wire up some ballots
...
lots of possibly optimizations but that's for another day
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
93d15c2bd2
agx: optimize fcmp like fcmpsel
...
total instructions in shared programs: 1810310 -> 1807236 (-0.17%)
instructions in affected programs: 269043 -> 265969 (-1.14%)
helped: 1553
HURT: 17
Instructions are helped.
total bytes in shared programs: 11851492 -> 11834830 (-0.14%)
bytes in affected programs: 1786394 -> 1769732 (-0.93%)
helped: 1540
HURT: 37
Bytes are helped.
total halfregs in shared programs: 474698 -> 474333 (-0.08%)
halfregs in affected programs: 6239 -> 5874 (-5.85%)
helped: 146
HURT: 22
Inconclusive result (%-change mean confidence interval includes 0).
total threads in shared programs: 19012032 -> 19012096 (<.01%)
threads in affected programs: 768 -> 832 (8.33%)
helped: 1
HURT: 0
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
61944b23cf
asahi: fix max tex sizes
...
per https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
4690ecd15f
asahi: fix set_sampler_views
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
210c6931ff
agx: fix early-z + discard together
...
don't trigger tests twice.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
eab145e223
agx: use more mem->tex barriers even on g13g
...
fixes KHR-GLES31.core.texture_buffer.texture_buffer_atomic_functions
with bigger subgroups on g13g.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
2aa82f7fd3
asahi: disable compute-based blitter for now
...
works great on g13g but hoses g13x. needs investigation.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
dd787b7b43
asahi: fix scissor arrays
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
6612532942
asahi: use copy region for decompression
...
for snorm correctness.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
1b849f8557
asahi: fix snorm staging blits
...
snorm doesn't roundtrip, use something compatible instead.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
c3ffcc27c1
asahi: implement blit-based resource_copy_region
...
doesn't handle complex cases, but faster than hitting the cpu!
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
c9b2bf84e5
asahi: do not stall for writers with invalid mips
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
69e6606bf9
asahi: reduce transfer map flushing with staging blits
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
7c86e6c05c
asahi: fix data valid tracking
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
386bd7fb97
asahi: set data_valid on first draw
...
otherwise we need to flush to read it safely which is ridiculous.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
b46e8fb4fe
asahi: drop custom mipmap generate
...
mipmap gen is now significantly faster with the default :~)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
2feea36b37
asahi: allow multiple compute dispatches in a batch
...
glmark2 terrain 50% faster. yes, really.
requires setting more barriers to fix flakes.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
10e528a495
asahi: fix get_batch with compute batches
...
we'll be able to switch between compute and gfx queues soon, handle that instead
of assert failing.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
b8f737937f
asahi: add and use batch_is_compute helper
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
9063da53d8
asahi: add compute blitter
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
1c60ced65b
asahi: fix image_mask with unbind num trailing
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
54ea408742
asahi: allow compressed image stores in blits
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
c54502ebe0
asahi: respect last_block
...
for blit shaders.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
c1636ba56c
asahi: implement arrays as 2d for internal images
...
reduces blit shader variants.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
799f568dcc
asahi: don't format convert with staging blits
...
this is supposed to be a copy
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
c455a27f54
agx: allow bindful arrays if not clamping
...
for blit shaders mostly.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
611fcfc5ca
asahi: do not use compression blits for uncompressed levels
...
pointless, it's much faster to just twiddle on the cpu. use the helpers to
detect compression per-level the right way.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
11a180c6e1
ail: add ail_is_level_twiddled_uncompressed
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
8dcdf5040b
ail: use is_level_compressed
...
to get unit testing coverage. identified several bugs!
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
67d92e0bb6
ail: add is_level_compressed query
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Alyssa Rosenzweig
2728995f12
asahi: fix eMRT + background load interaction
...
for when some render targets are spilled only. prevents regression in
KHR-GLES31.core.draw_buffers_indexed.color_masks
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26963 >
2024-01-10 08:44:37 -04:00
Pavel Ondračka
0610891c7c
r300/ci: add piglit job
...
Runs the gpu tests, runtime is around 25 minutes. Contrary to dEQP which
is quite stable with the disabled HiZ, piglit flakes a lot more, but
the flakes seems mostly limited to tex-miplevel-selection.
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26931 >
2024-01-10 12:28:12 +01:00