Commit graph

207631 commits

Author SHA1 Message Date
Alyssa Rosenzweig
d17dd8332e hk: sink SSBO loads
Seems to hit instr count due to RA lottery but reduce reg pressure a LOT so,
probably worth it.

Totals from 5305 (9.88% of 53701) affected shaders:
MaxWaves: 4487168 -> 4551040 (+1.42%); split: +1.51%, -0.09%
Instrs: 6063323 -> 6178678 (+1.90%); split: -0.17%, +2.07%
CodeSize: 44356516 -> 44662024 (+0.69%); split: -0.21%, +0.90%
Spills: 7321 -> 4034 (-44.90%); split: -45.49%, +0.59%
Fills: 8522 -> 5069 (-40.52%); split: -40.87%, +0.35%
Scratch: 21940 -> 9856 (-55.08%); split: -55.17%, +0.09%
ALU: 4541440 -> 4554906 (+0.30%); split: -0.20%, +0.50%
FSCIB: 4541440 -> 4554906 (+0.30%); split: -0.20%, +0.50%
IC: 1180150 -> 1184856 (+0.40%); split: -0.01%, +0.41%
GPRs: 605023 -> 576336 (-4.74%); split: -5.00%, +0.26%
Uniforms: 1421832 -> 1425367 (+0.25%); split: -0.08%, +0.33%

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35720>
2025-06-26 16:41:55 +00:00
Alyssa Rosenzweig
776f07517f hk: optimize load_global_bounded
Totals from 5967 (11.24% of 53090) affected shaders:
MaxWaves: 5044864 -> 5126720 (+1.62%); split: +1.95%, -0.32%
Instrs: 6911845 -> 6227557 (-9.90%); split: -9.96%, +0.06%
CodeSize: 46353592 -> 45359410 (-2.14%); split: -4.41%, +2.27%
Spills: 18002 -> 7046 (-60.86%); split: -63.22%, +2.36%
Fills: 15833 -> 8074 (-49.01%); split: -54.59%, +5.58%
Scratch: 52160 -> 23324 (-55.28%); split: -58.32%, +3.04%
ALU: 4235569 -> 4602546 (+8.66%); split: -1.79%, +10.45%
FSCIB: 4235364 -> 4602341 (+8.66%); split: -1.79%, +10.45%
IC: 1261552 -> 1253110 (-0.67%); split: -4.33%, +3.66%
GPRs: 664060 -> 640627 (-3.53%); split: -4.69%, +1.16%
Uniforms: 1568288 -> 1505664 (-3.99%); split: -10.88%, +6.89%
Loops: 4669 -> 4670 (+0.02%)

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35720>
2025-06-26 16:41:54 +00:00
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
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
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
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
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