Commit Graph

207629 Commits

Author SHA1 Message Date
Alyssa Rosenzweig caa0854da8 nir: plumb load_global_bounded
this lets the backend implement bounded loads (i.e. robust SSBOs) in a way
that's more clever than a full branch. similar idea to
load_global_constant_bound which should eventually be merged into this.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Job Noorman <job@noorman.info>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35720>
2025-06-26 16:41:53 +00:00
Dave Airlie 37e71a5cb2 radv/video: add support for AV1 encoding
Co-authored-by: Charlie Turner <cturner@igalia.com>
Co-authored-by: Benjamin Cheng <benjamin.cheng@amd.com>
Co-authored-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32440>
2025-06-26 15:41:01 +00:00
Dave Airlie 724655bfc6 vulkan/video: add support for AV1 encoding to runtime
Co-authored-by: Charlie Turner <cturner@igalia.com>
Co-authored-by: Benjamin Cheng <benjamin.cheng@amd.com>
Co-authored-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32440>
2025-06-26 15:41:01 +00:00
David Rosca ac935c18b2 vulkan/video: Add bit depth to session and session params
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32440>
2025-06-26 15:41:01 +00:00
Dave Airlie ee9ec055d9 radv/video: move session defines to header as encode needs more.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32440>
2025-06-26 15:41:01 +00:00
Dylan Baker dd45e25dc3 meson: update b_sanitize check for Meson >= 1.8
In Meson 1.8 the b_sanitize option was changed from an enumerated set of
known sanitizers to an array of options to test with `-fsanitize`, this
means that the thread sanitizer could be used in conjunction with one
or more other sanitizers and we need to account for this. Use
`.contains()` to check if `thread` is in the sanitizer list

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35747>
2025-06-26 14:59:27 +00:00
Mike Blumenkrantz 5cfaa6cd5f zink: use smaller keys for surface/bufferview caching and switch to sets
this should be a bit more efficient

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz 9ac256645e zink: use samplerview obj to check buffer rebinds in non-db path
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz c88cc5d135 zink: unify bvci creation
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz 3517ad1432 zink: remove redundant pipe_resource param from zink surface funcs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz 5cf6cb1c6d zink: enforce pipe_surface::texture matching the resource in zink_get_surface()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz ef3f798957 zink: prune zink_surface down to the imageview and create/fetch on demand
this eliminates all pipe_surface allocations

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz 309710c260 zink: various trivial struct access changes
ideally no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz b8108d0e7a zink: use temp struct for implicit feedback loop detection
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz 9197de066c zink: add layer info to bindless descriptor
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz daa07aba98 zink: directly return import2d resource
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz ed325d9309 zink: directly use imageview format for image descriptors for depth clamping
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz 21fbe0f893 zink: track whether fb has swapchain bound on context
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz defc3dfa79 zink: use a better check for current fb zsbuf in zink_clear_depth_stencil()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz 76e2b61a2f zink: delete/simplify some bindless descriptor resource accesss
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz 8805afd291 zink: delete zink_surface::ivci
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz a9c928954e zink: allocate keys for surface cache to stop using zink_surface::ivci
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz b3c02d2bca zink: store/use fb attachment formats directly
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz b177136c56 zink: tweak zink_create_transient_surface to stop using zink_surface::ivci
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz 35cd9f663b zink: break out fb ivci init
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz 25441082d9 zink: big resource view rework
* move/unify the cache onto zink_resource_object to streamline rebinds
* delete refcounts from surfaces and bufferviews
* only delete surfaces and bufferviews when owner object is destroyed
* cache swapchain surfaces onto the swapchain image

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz 8eb5f272f2 zink: remove some usage of zink_surface::ivci
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz b030b20d72 zink: unify some z24 sampler clamping code
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz 74cf4f4efc zink: remove random format check in surface create
not sure why this was here

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz efcd6c11d9 zink: delete some redundant flagging of ctx->rp_changed
this already happens during unbind

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz 635f0c5f4f zink: delete transient attachments instead of leaking them
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz 07cc25d968 zink: always directly create surfaces
no need to defer this anymore

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz a7bfa37c6a zink: unify zink_resource_object_init_mutable() calling
this all goes through surface creation the same way

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz 2ac0f97921 zink: delete surface handling of blockTexelViewCompatibleMultipleLayers
this is a pipe cap now

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz e7a2268ca2 zink: simplify code surrounding prep_fb_attachment()
there's no need to pass a surface here since no part
of the surface is actually used besides the resource

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz 9a1f5e82ee zink: clean up null surface case in prep_fb_attachment()
this is already checking for non-null surface in the caller,
and usage must be set after swapchain acquire to handle barriers

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz 78cd7f17af zink: move zink_prep_fb_attachment up and make static
no longer used externally

also move update_res_sampler_layouts() as a dependency

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz 0f58227324 zink: remove pipe_resource ref from bufferviews
this was only ever needed for shader images and bindless, which both
now take their own refs

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz 3da0853867 zink: make pipe_resource refs for image views more consistent
now they always get a ref on bind and lose the ref on unbind

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz 6658533ad5 zink: add a pipe_resource ref to bindless descriptors
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz f385b87963 zink: delete zink_surface::usage_info
not needed, just regenerated on creation

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz 37bb3af312 zink: remove resource param from apply_view_usage_for_format()
not actually needed

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz a4d4fee9d3 zink: delete zink_surface::hash
this is barely used

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Mike Blumenkrantz 0a2c395394 zink: require nullDescriptor feature
this simplifies a huge amount of code and enables a lot of refactoring

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35722>
2025-06-26 10:10:28 -04:00
Valentine Burley bac51d2931 virtio/ci: Add nightly Android Venus jobs on Intel TGL and ADL
Introduce nightly Cuttlefish jobs on Intel Tiger Lake and Alder Lake.

Like `android-angle-venus-anv-cml`, these jobs run dEQP with the Android
guest using Venus + ANGLE, and the host using the ANV Vulkan driver.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35737>
2025-06-26 12:51:54 +00:00
Valentine Burley bf98db1c45 virtio/ci: Split android-angle-venus-anv into reusable template
Move shared variables and configuration for the android-angle-venus-anv
job into a new template so that it can be reused by other jobs.

This follows the structure used everywhere else.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35737>
2025-06-26 12:51:54 +00:00
Valentine Burley 32264e7a00 virtio/ci: Increase timeout for AHB tests
Some of the tests occasionally time out on Tiger Lake.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35737>
2025-06-26 12:51:54 +00:00
Valentine Burley e2ac66efdd ci: Uprev kernel to enable Multi-Gen LRU
Update the kernel to enable CONFIG_LRU_GEN.
This is the only change from the previous kernel build.

Mutli-gen LRU improves how Linux handles high memory pressure, which
allows Cuttlefish to boot on devices with limited RAM.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35737>
2025-06-26 12:51:54 +00:00
Lucas Stach 29eb30c747 etnaviv/ci: drop fails due to ignored stencil valuemask
Now that the workaround for stencil valuemask 0 is gone on more
recent cores, we can drop the failures that were caused by this
workaround.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35704>
2025-06-26 12:17:06 +00:00
Lucas Stach 41b08a2040 etnaviv: allow 0 back stencil valuemask on new cores
Older cores have a hardware bug where the stencil test misbehaves when
the valuemask is 0 in the back stencil. The workaround is to effectively
switch to single sided stencil and hope for the best. This seems to be
okay for most actual use-cases and tests, as a 0 valuemask is quite rare.

However, as 0 is a valid value for the mask the workaround breaks some
edge cases. Newer cores don't seem to require the workaround and operate
correctly with all stencil valuemasks, so drop the workaround for them.

I don't know which feature bit tells us about the bugfix. I made an
educated guess by checking behavior on multiple GPUs: GC880r5106 and
GC2000r5108 need the workaround, GC3000r5450, GC7000r6204 and GC600r4653
work fine without it. By comparing the set BugFixes feature bits between
the cores and the fact that BugFixes15 already fixes some PE issues, I
think this one is the most likely candidate.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35704>
2025-06-26 12:17:06 +00:00