Commit graph

206721 commits

Author SHA1 Message Date
Qiang Yu
6f2a1e19da nir/opt_varyings: fix mesh shader miss promote varying to flat
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
We still allow mesh shader promote constant output to flat, but
mesh shader like geometry shader may store multi vertices'
varying in a single thread. So mesh shader may store different
constant values to different vertices in a single thread, we
should not promote this case to flat.

I'm not using shader_info.mesh.ms_cross_invocation_output_access
because OpenGL does not require IO to have explicit location, so
when nir_shader_gather_info is called in OpenGL GLSL compiler to
compute ms_cross_invocation_output_access, some implicit output
has -1 location which causes ms_cross_invocation_output_access
unset for it.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13134
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35081>
2025-05-26 02:07:50 +00:00
Timothy Arceri
bf24d56862 util: add workaround for the game Foundation
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12882
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35107>
2025-05-26 00:10:40 +00:00
Timothy Arceri
27945bbd8a mesa: extend linear_as_nearest work around
Here we allow packed stencils to skip the completeness check also.
Will be used in the following patch for a bug in the game Foundation.

Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35107>
2025-05-26 00:10:39 +00:00
Faith Ekstrand
38f8e82dd2 nvk: 64-bit atomics exist on Kepler B+
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
64-bit atomics exist on Kepler B but not Kepler A.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35149>
2025-05-25 00:39:56 +00:00
Faith Ekstrand
aad4410b51 nak/sm20: Don't allow 64-bit atomics
The encoding exists and the disassembler will disassemble it but the
hardware throws an ILLEGAL_INSTRUCTION_ENCODING if we ever try to
execute one.  The proprietary driver doesn't expose any 64-bit atomics
features on Kepler A so we assume the hardware just doesn't do them.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35149>
2025-05-25 00:39:56 +00:00
Faith Ekstrand
4d752ad123 nvk: Disable R64_[US]INT formats when shaderImageInt64Atomics isn't supported
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35149>
2025-05-25 00:39:56 +00:00
Lorenzo Rossi
00bbb68c08 nak/sm32: Fix various encoding bugs
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35059>
2025-05-25 00:33:47 +02:00
Lorenzo Rossi
150a61ab2f nak/sm32: Fix shfl.up register alignment
For some obscure reason, shfl.up on sm32 requires the lane register to
be 128-bit aligned, this can be fixed with minimal code changes by
aligning the register in legalization.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35059>
2025-05-24 21:20:49 +02:00
Collabora's Gfx CI Team
3b6d7cdd23 Uprev ANGLE to ec4d8f8e4d3f1a9e64430abd8b6b436253732adf
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
db71e8fa7c...ec4d8f8e4d

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35040>
2025-05-24 07:35:01 +00:00
Marek Olšák
32c419744e mesa: remove the old GL name (ID) allocator
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Split from the commit that enabled the new GL name (ID) allocator.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31515>
2025-05-24 05:05:03 +00:00
sarbes
40497ca3a9 lima: genxml-ify PP frame registers
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Most (all?) PP frame registers are now documented in genxml. Most of the magic values written to the registers are gone.

v2:
- moved default values out of genxml
- commented on stencil truncation

v3:
- fixed comment typo

Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34210>
2025-05-24 00:45:27 +00:00
sarbes
eb61a607d8 lima: add 'unorm8' format to genxml
This MR allows packing of (normalized) floats into an 8 bit field.

v2:
- removed default attribute

Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34210>
2025-05-24 00:45:27 +00:00
Christian Gmeiner
41f2da1a6e treewide: Do not use NIR_PASS_V for nir_divergence_analysis(..)
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35131>
2025-05-23 21:19:25 +00:00
Caleb Callaway
e7454f5318 intel/debug: shader dump filter
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
v2: Fixes filtering for various brw shader dump logic

Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35061>
2025-05-23 19:57:02 +00:00
Caleb Callaway
5a36452158 intel/perf: intel_monitor documentation tweak
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35061>
2025-05-23 19:57:02 +00:00
Mel Henning
59308f92bf nak: Call nir_lower_undef_to_zero
Totals:
CodeSize: 4571686864 -> 4545122720 (-0.58%); split: -0.59%, +0.01%
Number of GPRs: 10994283 -> 10963889 (-0.28%); split: -0.28%, +0.00%
SLM Size: 1893964 -> 1855380 (-2.04%)
Static cycle count: 1114502308 -> 1104322907 (-0.91%); split: -0.93%, +0.02%
Spills to memory: 573363 -> 480689 (-16.16%)
Fills from memory: 573363 -> 480689 (-16.16%)
Spills to reg: 1625502 -> 458804 (-71.77%); split: -71.78%, +0.00%
Fills from reg: 878478 -> 303068 (-65.50%); split: -65.50%, +0.00%
Max warps/SM: 7235748 -> 7245516 (+0.13%)

Totals from 25050 (12.75% of 196502) affected shaders:
CodeSize: 1870779504 -> 1844215360 (-1.42%); split: -1.45%, +0.03%
Number of GPRs: 2578387 -> 2547993 (-1.18%); split: -1.18%, +0.00%
SLM Size: 890840 -> 852256 (-4.33%)
Static cycle count: 439061010 -> 428881609 (-2.32%); split: -2.37%, +0.05%
Spills to memory: 268807 -> 176133 (-34.48%)
Fills from memory: 268807 -> 176133 (-34.48%)
Spills to reg: 1485538 -> 318840 (-78.54%); split: -78.54%, +0.00%
Fills from reg: 753623 -> 178213 (-76.35%); split: -76.35%, +0.00%
Max warps/SM: 556844 -> 566612 (+1.75%)

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35100>
2025-05-23 19:41:31 +00:00
Mel Henning
9d620fabd2 nak: Fix a perf regression in tex lowering
These lines look like they were mistakenly introduced, and cause a
significant perf hit. Eg. this fix improves the Horizon Zero Dawn
in-game benchamark by ~42% on my ampere machine (5992 pts -> 8517 pts).

Fixes: d16e75e55f ("nak: Lower texture inputs for Kepler B")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35100>
2025-05-23 19:41:31 +00:00
Eric Engestrom
162f1f5566 delete xa leftovers
Fixes: 3be2c47db2 ("delete the XA frontend")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35136>
2025-05-23 18:54:04 +00:00
Eric Engestrom
e3d8f4c135 lavapipe/ci: skip timing out tests
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135>
2025-05-23 18:30:30 +00:00
Eric Engestrom
31a5039b38 lavapipe/ci: document flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135>
2025-05-23 18:30:30 +00:00
Eric Engestrom
84bbee22f4 rpi/ci: skip timing out test
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135>
2025-05-23 18:30:30 +00:00
Eric Engestrom
30dedadc53 rpi/ci: document flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135>
2025-05-23 18:30:30 +00:00
Eric Engestrom
cde3351213 amd/ci: document radv flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135>
2025-05-23 18:30:30 +00:00
Eric Engestrom
286204404a amd/ci: document radeonsi flakes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135>
2025-05-23 18:30:30 +00:00
Eric Engestrom
2beeac9484 r300/ci: document fixed test
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135>
2025-05-23 18:30:30 +00:00
Eric Engestrom
5969df364a radeonsi/ci: document fixed piglit tests
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135>
2025-05-23 18:30:30 +00:00
Eric Engestrom
7707e17cd4 radv/ci: document fixed angle test
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35135>
2025-05-23 18:30:30 +00:00
Mike Blumenkrantz
00aaef9f12 delete gallium-nine
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
farewell, old friend

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Axel Davy <davyaxel0@gmail.com>
Acked-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34887>
2025-05-23 13:43:37 -04:00
Mike Blumenkrantz
3be2c47db2 delete the XA frontend
this is unmaintained and untested

Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34823>
2025-05-23 12:46:23 -04:00
Sil Vilerino
c4b6285c81 mr-label-maker.yml: Add mediafoundation tag and associated directories
Reviewed-by: Pohsiang Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34843>
2025-05-23 15:30:04 +00:00
Pohsiang (John) Hsu
d348fd5fb5 mediafoundation: Add mediafoundation frontend
Reviewed-by: <yuboxie@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34843>
2025-05-23 15:30:04 +00:00
Rob Clark
45a2f02876 ci: Disable fd-farm
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Take the google farm offline in preparation for shipping.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35093>
2025-05-23 15:27:16 +00:00
Mike Blumenkrantz
42b303c7b0 lavapipe: handle counterOffset in vkCmdDrawIndirectByteCountEXT
fixes dEQP-VK.transform_feedback.simple.draw_indirect*counter_offset*

cc: mesa-stable

Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35076>
2025-05-23 14:53:02 +00:00
Mike Blumenkrantz
753d3e71d3 llvmpipe: disable conditional rendering mem for blits
u_blitter doesn't support this, and changing u_blitter to support a niche
lavapipe feature seems like overkill

fixes dEQP-VK.conditional_rendering.conditional_ignore.resolve_image*

cc: mesa-stable

Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35076>
2025-05-23 14:53:02 +00:00
José Roberto de Souza
ddca50584c intel: Return PTL stepping
Without this no temporary workaround is applied to PTL as by
default INTEL_STEPPING_RELEASE is returned and it is larger than
any stepping.

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35110>
2025-05-23 13:52:27 +00:00
Mike Blumenkrantz
c78d6bc4c3 ci: disable panfrost-t720-gles2
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34054>
2025-05-23 13:21:29 +00:00
Mike Blumenkrantz
2eb45daa9c gallium: de-pointerize pipe_surface
this allows eliminating surface refcounting and objects
which, relatively speaking, don't serve much purpose

see MR for details

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34054>
2025-05-23 13:21:29 +00:00
Mike Blumenkrantz
506c8f9b76 mesa: remove gl_renderbuffer::surface
this is just a convenience alias

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34054>
2025-05-23 13:21:29 +00:00
Mike Blumenkrantz
c374bfd864 ci: set -Wno-error=deprecated-declarations
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34054>
2025-05-23 13:21:29 +00:00
Mike Blumenkrantz
7999b8024c util/inlines: constify pipe_surface_equal()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34054>
2025-05-23 13:21:29 +00:00
Mike Blumenkrantz
7154116220 gallium: pipe_surface_release -> pipe_surface_unref
this is a more accurate name for the function and will avoid confusion
with the 'release' mechanism of other objects

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34054>
2025-05-23 13:21:28 +00:00
Lionel Landwerlin
39f55541a3 anv: don't use pipeline layout at descriptor bind
An application is allowed to bind an empty descriptor set in a place
where a pipeline layout has no descriptor set layout. For example :

  pipeline_layout_A :
     set0 : NULL
     set1 : descriptor_set_layout_A

  vkCmdBindDescriptor :
     set0 : descriptor_set_B (with layout bindingCount=0)
     set1 : descriptor_set_C (compatible with descriptor_set_layout_A)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13227
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35125>
2025-05-23 12:56:31 +00:00
Christian Gmeiner
9da5eafa8e util/perf: Add sysprof integration
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34893>
2025-05-23 11:27:14 +00:00
Christian Gmeiner
8358d44223 util/perf: Change _mesa_trace begin functions to return void *
This enables implementations to pass context data between begin and
end tracing points, which is useful for more complex performance monitoring.

The change is minimal and only affects the function signatures and return
values, with no functional changes to existing behavior.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34893>
2025-05-23 11:27:14 +00:00
Lionel Landwerlin
2418525b2e anv: avoid 64bit atomics emulation on Xe2+
Xe2+ still requires lowering 64bit image load/store to 2x32bit for the
message format. But atomics work without lowering.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34876>
2025-05-23 10:04:29 +00:00
Mauro Rossi
ff6b181c2d android: fix llvmpipe build rules
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
llvmpipe driver name needs to be added to the list triggering MESON_GEN_LLVM_STUB := true
due to swrast driver name being an invalid gallium driver

swrast driver name is still used for lavapipe vulkan driver

Fixes: a3909092 ("meson: drop deprecated `swrast` alias for softpipe+llvmpipe")
Backport-to: 25.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35121>
2025-05-23 08:58:03 +02:00
Samuel Pitoiset
a4a59a2504 radv: eliminate useless mov(const) after lowering all IO to scalar
This eliminates useless mov copies introduced by nir_lower_io_to_scalar
and this might be useful for nir_opt_varyings which optimizes
constant varyings.

It also uncovers a bug with mesh shader and constant varyaings that is
fixed by https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35081.

No fossils-db change on NAV21.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35090>
2025-05-23 05:56:31 +00:00
Timothy Arceri
3ec68e8382 mesa: update validation when draw buffer changes
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Otherwise validation that depends on the _IntegerDrawBuffers and
_FP32DrawBuffers bitfield can end up stale.

Fixes: d04d9da98c ("st/mesa: fix _IntegerBuffers bitfield use")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35063>
2025-05-23 00:51:04 +00:00
Paulo Zanoni
d77b49eb0a anv/trtt: don't avoid the TR-TT submission when there is stuff to signal
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
When an application issues a sparse binding operation, it may be the
case that the state the app is setting is the state that is already
there. In that case, both n_l3l2_binds and n_l1_binds are zero, so the
batch doesn't contain anything and, since 0802bbd486, we just skip
the batch submission and return.

The problem is that skipping the batch submission and returning
ignores the synchronization: there may be syncobjs that we have to
wait and, more importantly, there may be syncobjs that we have to
signal.

This case is exercised by vkd3d-proton's test suite, but I'm not aware
of any other workload that triggers it. This commit only affects
Meteor Lake and older, as TR-TT is only the default behavior for the
platforms running i915.ko.

Testcase: vkd3d-proton/d3d12/test_sparse_buffer_memory_lifetime
Fixes: 0802bbd486 ("anv/trtt: don't submit empty batches when there are no binds to do")
Reviewed-by: Iván Briano <ivan.briano@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35078>
2025-05-23 00:17:18 +00:00
Dmitry Baryshkov
5c43cf823c freedreno: replace fixed array for globabl_bindings with dynamic array
Freedreno limits set_global_binding() to 16 resource entries
(MAX_GLOBAL_BUFFERS), however RustiCL can pass more global resources
(e.g. OpenCL CTS test api / min_max_constant_args requires passing of
17). Follow example of other drivers and use dynamic array for global
bindings.

Backport-to: 25.1
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35122>
2025-05-22 23:30:20 +00:00