Alyssa Rosenzweig
d0a7bff906
ail: unit test ail_get_twiddled_block_B
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
b842a7732d
ail: add ail_get_twiddled_block_B helper
...
this is useful for sparse updates.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
78ca483940
ail: add ail_bytes_to_pages helper
...
this happens a bunch with sparse
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
56cd20ddea
ail: expose ail_get_max_tile_size
...
useful for sparse block size calculation
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
8e20875651
ail: extract a blocksize helper
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
aebecb2886
ail: move helpers to layout.h for sharing
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
7d27fd84d5
ail: report miptail stride
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
2cac211946
ail: report mip_tail_first_lod for sparse
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
09cd1bf000
ail: unit test sparse_table_size_B
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
bc448fe88b
ail: model sparse page tables
...
see the docs previously added for the aux image layout described here.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
ca60908bf1
asahi: add sparse block XML
...
this xml (and the sparse page table structure itself) was r/e'd blackbox since
that was easier than writing tests, lol. but it seems to work.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
c7f7496da1
asahi: identify image mode enum
...
this controls sparse.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
2cc88430f1
asahi: rename Null layout
...
this isn't a Null layout only, it's also used with sparse. update the name to
reduce confusion. Unsure if we have a use case yet but maybe as an optimization
later?
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
102bd7127b
docs/asahi: describe sparse page tables
...
some things are better in prose than code.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
5acf398b5a
docs/asahi: add some section headers
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
dfebd94259
docs/asahi: update varying info
...
These docs are pretty old and we've learned a lot since then.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
7b717805bf
hk: enable bufferDeviceAddressCaptureReplay
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
f50edbd696
hk: fix buffer binding
...
clamp sizes to avoid kernel complaints, and check the return.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
1114fbcdb7
hk: unbind VAs
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
1e043ed67d
hk: unstub UnmapMemory2KHR
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
dc3669a837
hk: reject non-2D modifiers
...
via nvk
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
db7cb681bf
asahi: add more alignment asserts
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
bffb90f42c
libagx: use assert instead of 0xdeadbeef writes
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
479d2ab53e
libagx: fix wraparound issue with robust draw kernel
...
fixes dEQP-VK.robustness.index_access.draw_multi_indexed_2 with hard faults.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
bec073d3ca
libagx: fix subgroup id confusion
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
4949ae3920
asahi: switch tib lower to intrinsic pass
...
fixes metadata issue.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
e203d04f43
asahi: use NIR_PASS to validate more
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
290b8da8b6
asahi: perf debug indirect tess
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
3060b471b5
libagx: add missing null pointer check
...
fixes KHR-GL46.pipeline_statistics_query_tests_ARB.functional_tess_queries
with hard fault
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
c7a8200dcd
hk: don't allocate zero sink
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
f0d680437f
hk: use zero sink for null index buffer
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
eff6b884cb
asahi: use zero sink for vbuf
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
c14df405b9
libagx: use zero page
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
04eb91c68b
asahi: bind zero-page
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
3adbf53ed6
hk: do not incorrectly offset host-image-copy sources
...
the source is indexed from layer 0, the dest image is indexed from whatever the
base layer is. fixes new CTS dEQP-VK.image.host_image_copy.array.*
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
4559cdb94b
hk: fix increment CS invs
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Janne Grunau
27d27e08ea
hk: Use rowPitch from VkImageDrmFormatModifierExplicitCreateInfoEXT
...
Imported linear images may have an arbitrary row pitch. As long as it is
aligned to 16 agx can support. Initialize `.linear_stride_B` from the
supplied parameter and let ail verify it.
Fixes gtk dmabuf based tests with a pitch aligned to 256.
Signed-off-by: Janne Grunau <j@jannau.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
5d9e600ce9
hk: implement calibrated timestamps
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Janne Grunau
9c704dd759
hk: Replace alloca with malloc in queue_submit
...
`command_count` is under control of the vulkan application and can
become quite large. At a command count around 30000 the size of the
alloca() allocated buffers exceeds the default stack size of 16MB.
Fixes fixes segfaults in 'gtk:compare vulkan lots-of-offscreens-nogl*'
gtk 4 test cases which end up with a `command_count` around 32768.
Fixes: https://gitlab.freedesktop.org/asahi/mesa/-/issues/47
Signed-off-by: Janne Grunau <j@jannau.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
3e9f70570a
asahi: fix cull distance with GS
...
no, I don't know how this worked before.
fixes KHR-GL46.cull_distance.functional with nir_opt_varyings changes but
this seemed to be passing just by luck otherwise.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
cc04a65828
asahi: fix libwrap.dylib
...
libwrap.dylib is helpful to trace control streams on macOS. When it was
originally implemented, we..
* supported macOS in our OpenGL driver and needed to actually exercise these
interfaces
* didn't have Linux support or hypervisor support or anything so needed the
traces to be utterly thorough
* only had a single macOS version to worry about
The landscape today is very different
* no macOS support in our driver stack
* we can trace registers via the hypervisor - libwrap.dylib is no longer
"correctness" bearing, it's just a convenience tool
* what counts is the hardware side - tracing all the macOS software structs is
not actually useful, the hypervisor is the right place to grab control regs
* piles of macOS versions, this code only ever worked properly on 11.x and 12.x,
but with m4 r/e coming up soon we need a lot more versions working.
So... we keep around libwrap.dylib, but slim it down to only decode the bare
minimum of macOS versioned structures, just enough to grab the control stream
pointer and dump that. This is a loss of functionality around CRs (but we have the
hypervisor as a much better way to grab CRs). In exchange it makes the code much
more manageable and less likely to break every 6 months.
So in exchange for all this deletion we also get things working again, this time
on 13.x. But porting back to 12.x or 11.x would be a very small diffstat given
the reduced focus of the new code.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Alyssa Rosenzweig
07a2abd14d
asahi: clang-format
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33682 >
2025-02-22 02:24:28 +00:00
Paulo Zanoni
1d23cf192b
brw: don't mark instructions read from text assembly as compacted
...
I dumped assembly generated by our driver with INTEL_DEBUG=shaders,
copied and pasted it into a lua file, tried to run it with
src/intel/executor, but the disassembler started telling me some
instructions were invalid.
This happened because we print the "compacted" flag in our assembly
text, so when brw_gram.y parses our assembly flag, it sees the
"compacted" flag and sets it to the instruction by calling
add_instruction_option(). But the executor tool never sets the
BRW_ASSEMBLE_COMPACT flag when it calls brw_assemble(), so when
brw_assemble() calls dump_assembly(), which calls brw_disassbemble(),
the disassembler gets confused and prints misinterpreted instructions
and calls them invalid.
It is not the job of brw_gram.y (our text assembly parser) to mark
instructions as compacted. Whatever is later assembling the
instruction is the entity that should decide if the instructions are
compacted or not. So in this patch we just ignore this flag.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33614 >
2025-02-22 00:38:53 +00:00
Dave Airlie
c49423ca2c
vulkan/wsi/x11: don't use update_region for damage if not created
...
If we don't have a region in the X no MIT-SHM case don't go using
the damage call set region.
Fixes: bbdf7e45b1 ("wsi/x11: Hook up KHR_incremental_present")
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Michel Dänzer <mdaenzer@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33592 >
2025-02-21 21:41:58 +00:00
Valentine Burley
b331713f20
ci: Use new kernel that supports more Mediatek devices
...
The only change since the previous kernel is that the new one includes
the device tree blobs for the mt8195-cherry-tomato-r2 and
mt8186-corsola-steelix-sku131072 devices.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33606 >
2025-02-21 14:52:57 +00:00
Valentine Burley
c45d7dffca
intel/ci: Update GuC firmware for ADL-S and ADL-N
...
Certain ADL devices, like nissa, use the tgl_guc_70.bin firmware.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33606 >
2025-02-21 14:52:56 +00:00
Valentine Burley
eb5bd3bee2
ci: Don't download the kernel image in lava_build.sh
...
The kernel+rootfs jobs previously downloaded the prebuilt kernel iamge,
but this was unnecessary as LAVA doesn't use them here, and the images
were never uploaded to S3. LAVA acquires the kernel in lava_submit.sh,
and baremetal downloads the required images and dtbs in baremetal_build.sh.
The kernel modules are still required for some devices.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33606 >
2025-02-21 14:52:56 +00:00
Valentine Burley
5b65bbf72c
ci: Simplify downloading kernel for crosvm
...
Directly download the kernel instead of using the
download-prebuilt-kernel.sh script.
Save the kernel to /kernel for clarity, replacing the previous
/lava-files directory.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33606 >
2025-02-21 14:52:56 +00:00
Mike Blumenkrantz
d979cd8d9d
zink: support cl_gl_sharing if dmabuf is supported
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33652 >
2025-02-21 14:18:44 +00:00
Mike Blumenkrantz
93cd4ae0c0
zink: verify that adding a dmabuf bind actually chooses a modifier
...
this at least provides some checking to catch cases where something
stupid happens and it does a fallback to linear
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33652 >
2025-02-21 14:18:44 +00:00