Pierre-Eric Pelloux-Prayer
bb12eebe2a
util: add util_sync_provider::clone
...
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34470 >
2025-06-27 08:15:49 +00:00
Samuel Pitoiset
989162e67a
radv: split descriptor set and descriptor utils in separate files
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35732 >
2025-06-27 07:55:37 +00:00
Samuel Pitoiset
7425b5a82f
radv: move radv_push_descriptor_set to radv_cmd_buffer.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35732 >
2025-06-27 07:55:37 +00:00
Samuel Pitoiset
d87c937e04
radv: move descriptor update implementation to radv_descriptor_update_template.c/h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35732 >
2025-06-27 07:55:37 +00:00
Samuel Pitoiset
173f4eeb65
radv: move write descriptor helpers to radv_descriptors.h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35732 >
2025-06-27 07:55:36 +00:00
Samuel Pitoiset
8493331eb1
radv: move descriptor pool implementation to radv_descriptor_pool.c/h
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35732 >
2025-06-27 07:55:35 +00:00
Hans-Kristian Arntzen
ac16b8c439
radv: Timestamps are not valid on dedicated sparse queue.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35766 >
2025-06-27 07:36:22 +00:00
Boris Brezillon
d36e6af329
panvk: Bump the max image size on v11+
...
We have more bits to encode the resource size there, so let's increase
the max limits.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Tested-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35731 >
2025-06-27 07:06:07 +00:00
Boris Brezillon
c2c91e78fd
pan/layout: Allow bigger size/surface stride on v12+
...
v11 started extending the size/surface stride of a few descriptors to
allow bigger images. Add the necessary code to take that into account.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Tested-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35731 >
2025-06-27 07:06:07 +00:00
Boris Brezillon
7a763bb0a3
pan/genxml: Rework the RT/ZS emission logic
...
For the ZS emission logic, we split the descriptor in 3 parts: ZS, S and
CRC, so we can easily mix and match each variant with pan_merge(). For
RTs, we just define a layout per variant instead of overlays, which makes
dumps less verbose, and avoid the situation where overlapping fields
get accidentally overwritten in the desc emission logic.
While at it, add the `Surface stride hi` fiels to the ZS/Color target
descriptors so we're all set to bump the image size limit.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Tested-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35731 >
2025-06-27 07:06:07 +00:00
Boris Brezillon
61d6e92f25
pan/genxml: Add missing upper-32 bits of the buffer size on v12+
...
We currently don't use this, but it's good to have it defined anyway.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Tested-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35731 >
2025-06-27 07:06:07 +00:00
Boris Brezillon
d2d27f8d9e
pan/genxml: Fix the texture dimension field on v9+
...
The enum has more than 3 values now, and the field is 3-bit.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Tested-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35731 >
2025-06-27 07:06:07 +00:00
Boris Brezillon
01d325ba63
pan/layout: Interleave header/body in AFBC(3D)
...
This allows us to get rid on an annoying limitation on AFBC(3D), and
makes things a lot easier to reason about.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com >
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com >
Tested-by: Mary Guillemard <mary.guillemard@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35731 >
2025-06-27 07:06:07 +00:00
Samuel Pitoiset
13e6d2ba00
radv: make sure to zero-initialize MSB of accel struct descriptor
...
RADV only uses the first 8 bytes but zero-initializing it make sure
the descriptor is invariant.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35763 >
2025-06-27 06:39:17 +00:00
Matt Turner
6842a8179f
intel: Add support for float16 as cooperative matrix accumulator
...
The number of passing tests in ./deqp-vk -n '*cooperative_matrix.khr*'
increases
- on PTL from 787 -> 914
- on RPL from 799 -> 926
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13304
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35616 >
2025-06-27 01:26:22 +00:00
Matt Turner
6d786a0e4b
brw: Use convert_cmat_intel intrinsic
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35616 >
2025-06-27 01:26:22 +00:00
Matt Turner
41cd196886
brw: Implement convert_cmat_intel intrinsic
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35616 >
2025-06-27 01:26:22 +00:00
Matt Turner
102d7409ef
nir: Add convert_cmat_intel intrinsic
...
This intrinsic will be used to implement matrix type and layout
conversions in the backend compiler.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35616 >
2025-06-27 01:26:22 +00:00
Matt Turner
1215845b5b
intel: Increase size of cooperative_matrix_configurations[] to 16
...
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35616 >
2025-06-27 01:26:21 +00:00
Guilherme Gallo
d06f8cfb19
ci/android: Add dEQP module for CML cuttlefish test
...
Add only those tests for initial coverage:
* `dEQP-VK.wsi.android.*`
* `dEQP-VK.api.external.memory.android_hardware_buffer.*`
This increases the job execution time to almost 1h, so move this job to
nightly.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35706 >
2025-06-26 23:21:12 +00:00
Guilherme Gallo
545727f97c
ci/android: Move ANDROID_CTS_MODULES to build script
...
Rely on the include files (-android-cts-include.txt) to filter both
tests and modules from Android CTS during test time.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35706 >
2025-06-26 23:21:12 +00:00
Guilherme Gallo
655cd186ee
ci/android: Add a job to run CTS on Intel CML
...
Like we do with `android-angle-lavapipe`, let's include the Android CTS
testing alongside the vkcts one.
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35706 >
2025-06-26 23:21:12 +00:00
Connor Abbott
630380349b
tu: Give renderpass events a separate trace buffer
...
Before this we tried hard to optimize for the sysmem case by emitting
the events for the renderpass inline and only discarding them in the
gmem case. However this won't work if we need to emit the
render_pass_start event after the binning IB, because we don't know
whether the binning IB will be emitted until the RP end time. The old
system also required a ton of confusing code to keep track of the
start/end pointers with suspending and resuming renderpasses. All of
that goes away if we use a separate u_trace for renderpass events and
just copy it to the main trace buffer for sysmem.
With this, the previous method of using the space between trace_rp_start
and trace_rp_drawcalls_start to keep track of the renderpass_start event
and disable it when emitting a split dynamic renderpass at submit time
doesn't work anymore. Just move trace_renderpass_start() to
tu_cmd_render() time after the draw calls have been recorded, which is
now safe to do.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35751 >
2025-06-26 22:51:29 +00:00
Connor Abbott
7791b5286c
util/u_trace: Add u_trace_move()
...
Destructively copy trace contents to another trace, transfering
ownership of resources. This will be useful for turnip.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35751 >
2025-06-26 22:51:29 +00:00
James Price
10ae673368
spirv: Fix cooperative matrix in OpVariable initializer
...
Check for cooperative matrix types first in the
nir_lower_variable_initializers pass, since they are also considered
to be scalar types.
Fixes: 7e6cd395c7 ("nir: Handle cmat types in lower_variable_initializers")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13388
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35668 >
2025-06-26 22:24:31 +00:00
Nicolas Dufresne
4008300672
build: Include panfrost to the tools 'all' list
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35775 >
2025-06-26 21:55:17 +00:00
Nicolas Dufresne
3ce37fcbb5
build: Sort the tools 'all' list
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35775 >
2025-06-26 21:55:17 +00:00
Dave Airlie
5c99599060
nvk/nak: handle sm100 lod mode encoding.
...
The lod mode encoding has changed on blackwell.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35773 >
2025-06-26 21:12:47 +00:00
Faith Ekstrand
cfc0be2454
nil: Use set_field2() for a few descriptor cases
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35773 >
2025-06-26 21:12:47 +00:00
Faith Ekstrand
046b6435bc
nak: Use the new set_field2() helper for a few things
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35773 >
2025-06-26 21:12:47 +00:00
Faith Ekstrand
ff944106fc
nvk/bitview: Add a set_field2() trait and method
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35773 >
2025-06-26 21:12:46 +00:00
Faith Ekstrand
125da7e341
nvk/bitview: Add a new ToFieldBits trait
...
This makes the implementation of SetField itself more generic
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35773 >
2025-06-26 21:12:46 +00:00
Konstantin Seurer
131b917246
lavapipe: Suspend conditional rendering around ray tracing dispatches
...
cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35754 >
2025-06-26 20:52:29 +00:00
Konstantin Seurer
e1acffbfc0
ci: Update trace checksums
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33003 >
2025-06-26 20:12:14 +00:00
Konstantin Seurer
5f3c956f49
gallivm/nir/soa: Call lp_build_opt_nir
...
Makes sure that everything is lowered and optimized.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33003 >
2025-06-26 20:12:14 +00:00
Konstantin Seurer
9f98ded348
gallivm/nir/soa: Cast divergent->uniform at the consumer
...
The exec mask can change between the producer and the consumer. Casting
at the consumer makes sure that we end up with a valid value.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33003 >
2025-06-26 20:12:14 +00:00
Konstantin Seurer
1fba5739c4
gallivm/nir/soa: Include helper invocations in first_active_invocation
...
So it returns a valid element if the exec mask is 0 for all active
invocations but -1 for helper invocations.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33003 >
2025-06-26 20:12:13 +00:00
Konstantin Seurer
405378f042
gallivm/nir/soa: Fix typo
...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33003 >
2025-06-26 20:12:13 +00:00
Konstantin Seurer
fe601b9293
gallivm: Implement demote and lower terminate in nir
...
The current implementation does not work for terminate since loads need
to ignore the mask because of helper invocations. This can lead to
crashes.
Reviewed-by: Mary Guillemard <mary@mary.zone >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33003 >
2025-06-26 20:12:12 +00:00
Konstantin Seurer
aacfc663cb
nir: Add nir_lower_halt_to_return
...
This is a lowering pass that was implemented by multiple drivers.
Reviewed-by: Mary Guillemard <mary@mary.zone >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33003 >
2025-06-26 20:12:12 +00:00
mojyack
db383ceb64
mesa: reorder mesa format corresponding to GL_BGRA
...
current `st_ChooseTextureFormat(..., internalFormat=GL_BGRA8, ...)`
returns `PIPE_FORMAT_R8G8B8A8_UNORM`.
this causes significant performance loss in apps that use BGRA texture
format(e.g. firefox) when transferring textures because of format
conversions, if the driver doesn't support PIPE_TEXTURE_TRANSFER_BLIT.
fix this by modifying the texture format mapping.
See Also: https://community.mnt.re/t/poor-browser-performance/2042/30
Signed-off-by: mojyack <mojyack@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Backport-to: 25.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35678 >
2025-06-26 19:36:09 +00:00
Dave Airlie
f972affd9d
nvk/hopper: set texture header version
...
Taken from open-gpu-kernel-modules.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:56 +00:00
Dave Airlie
c387c9fde8
nouveau/headers: generate c56f host methods.
...
The newer host methods would be nice to have in dumps.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:56 +00:00
Dave Airlie
1b654dc198
nouveau/winsys: Add blackwell support
...
This adds Blackwell support to sm_for_chipset() and
max_warps_per_mp_for_sm()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:56 +00:00
Dave Airlie
f310b3fa6f
nvk/qmd: fix shared memory size calcs for blackwell.
...
I'm still not 100% happy with these, nvidia does appear to use 26
as the max/target values, which corresponds to + 7 not +1
but let's dig a bit more.
Fixes: 6c052d87b7 ("nak/qmd: Add QMD version 5.0 for Blackwell+")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:56 +00:00
Dave Airlie
ec3232691b
nvk/sm90: fix su atom vs atom encoding
...
The suatom is encoded different to atom.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:56 +00:00
Dave Airlie
59015f1c64
nak/sm70: fix imnmx on blackwell.
...
The encoding was slightly wrong, this passes the hw_tests.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:56 +00:00
Faith Ekstrand
9c354cd47f
nak/hw_tests: Align the shared memory window to 4GB on Hopper+
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:56 +00:00
Dave Airlie
50a312ef24
nvk: Add hopper shared memory window alignment
...
This changes to need 4GB alignment on hopper and later.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:56 +00:00
Dave Airlie
46c72f69f9
nvk: invalidate raster cache after setting shading rate
...
on blackwell fix:
dEQP-VK.fragment_shading_rate.renderpass2.monolithic.attachment_rate.misc.two_subpass
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35484 >
2025-06-26 19:21:56 +00:00