Commit graph

217297 commits

Author SHA1 Message Date
Rob Clark
ff034b5aef freedreno/registers: Fix gen8 GRAS_SU_STEREO_CNTL
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39167>
2026-01-20 02:27:29 +00:00
Rob Clark
a2dc77323d freedreno/registers: Add subpass fence events
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39167>
2026-01-20 02:27:28 +00:00
Rob Clark
5546654104 freedreno/registers: Fix gen8 UV_PITCH
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39167>
2026-01-20 02:27:28 +00:00
Rob Clark
c9a0b1d6f1 freedreno/fdl: Fix gen8 sRGB buffers
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39167>
2026-01-20 02:27:28 +00:00
Rob Clark
bd00d86bd7 freedreno/fdl: Fix gen8 MUTABLEEN
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39167>
2026-01-20 02:27:28 +00:00
Rob Clark
eba06c5e5b tu: Convert foveat state to CRB
The GRAS regs are no longer consecutive in gen8.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39167>
2026-01-20 02:27:27 +00:00
Rob Clark
eb43e95d61 freedreno: Disable supports_double_threadsize for gen8
Gone is thread128.  Instead the hw can co-dispatch thread64.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39167>
2026-01-20 02:27:27 +00:00
Rob Clark
7958a19ee9 freedreno: Disable has_rt_workaround for gen8
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39167>
2026-01-20 02:27:26 +00:00
Faith Ekstrand
13926b3492 panfrost: Lower pixel-local storage to load/store_tile in NIR
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Now that we have intrinsics which map directly to the hardware opcodes,
we can lower PLS inside the gallium driver instead of the back-end
compiler having to know anything about it.  This simplifies the back-end
and is less code, if you ignore the new copyright header.

Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39367>
2026-01-19 21:33:14 +00:00
Faith Ekstrand
669ddc5241 pan/blend: Use the blend builder helpers instead of nir_lower_blend()
This is a little more manual (though it's actually less code) but it
gives us a lot more control and makes the whole flow nicer.

Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39367>
2026-01-19 21:33:14 +00:00
Faith Ekstrand
2313bec66e nir: Expose the guts of nir_lower_blend as builder helpers
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39367>
2026-01-19 21:33:14 +00:00
Faith Ekstrand
d2c2d798f8 nir/lower_blend: Optimize trivial logic op cases
There's no point in going to/from UNORM if we're just going to copy or
throw away the source.

Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39367>
2026-01-19 21:33:14 +00:00
Faith Ekstrand
68d22b5a2a nir/lower_blend: Move the format to nir_lower_blend_rt
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39367>
2026-01-19 21:33:14 +00:00
Faith Ekstrand
d6556a580f nir,pan: Add and implement a new store_tile_pan intrinsic
Like we just did with load_tile_pan, this maps directly to ST_TILE in
the hardware.  This is more versatile and lets us do more of our
lowering in NIR.

Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39367>
2026-01-19 21:33:13 +00:00
Faith Ekstrand
11b6cd2f2c nir,pan: Rework the pafrost tile load intrinsic
Instead of making it explicitly about outputs, this switchies it to
being a NIR version of LD_TILE.  It means we have to do a bit of work in
NIR and add a builder helper but the end result is something much more
versatile.

Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39367>
2026-01-19 21:33:13 +00:00
Faith Ekstrand
592963e941 pan/bi: Implement pack_32_4x8 natively
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39367>
2026-01-19 21:33:13 +00:00
Faith Ekstrand
4189865347 nir: panfrost tile loads are always divergent
Each lane refers to a different pixel.

Cc: mesa-stable
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39367>
2026-01-19 21:33:13 +00:00
Yiwei Zhang
419a3e66f8 venus: allow vtest to properly wait for present
Previously common wsi has a special submission to install implicit fence
to wsi memory directly, which has been deprecated in favor of bonfire
implicit fencing (implicit fencing has been turned into explicit fencing
within vulkan since then). The virtgpu backend is fine but the vtest
backend has been regressed since then, only relying on renderer side hw
driver doing implicit fencing.

With async present landed earlier, we can directly tell which submission
is done by common wsi, and can revive the idle waiting accordingly.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39377>
2026-01-19 21:01:13 +00:00
Yiwei Zhang
d4e2184904 venus: refactor vn_QueueSubmit2
To prepare for fixing vtest wsi present.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39377>
2026-01-19 21:01:13 +00:00
Christian Gmeiner
bb83b67910 etnaviv/ci: Add gitlab-ci-inc.yml to file list
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39391>
2026-01-19 20:46:38 +00:00
José Roberto de Souza
48b43157f8 intel/perf: Add Gfx 12.5 mdap_metrics struct and set it
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Gfx 12.5 struct has only one major difference with gfx9, that is OaCntr lenght,
while on gfx 9 it is 36 uint64_t long on gfx 12.5 it is 38 uint64_t long.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Tested-by: Lukasz Stalmirski <lukasz.stalmirski@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32842>
2026-01-19 19:24:16 +00:00
José Roberto de Souza
a097a3d214 intel/perf: Change mdapi switch cases from ver to verx
We are missing handling for gfx12.5 so to add it we will need a switch case over
verx.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Tested-by: Lukasz Stalmirski <lukasz.stalmirski@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32842>
2026-01-19 19:24:16 +00:00
José Roberto de Souza
2d75b3b873 intel/perf: Extend Xe2 mdap_metrics to Xe3
Looking at the reference code, there is no new struct for Xe3 so it should
use the same struct as Xe2.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Tested-by: Lukasz Stalmirski <lukasz.stalmirski@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32842>
2026-01-19 19:24:15 +00:00
José Roberto de Souza
8e318e3246 intel/perf: Add Xe2 mdap_metrics struct and set it
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Tested-by: Lukasz Stalmirski <lukasz.stalmirski@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32842>
2026-01-19 19:24:15 +00:00
José Roberto de Souza
0675a0da55 intel/perf: Nuke intel_perf_load_configuration() and related code
With no more users of intel_perf_load_configuration() it can be
removed with other i915 functions around it.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Tested-by: Lukasz Stalmirski <lukasz.stalmirski@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32842>
2026-01-19 19:24:15 +00:00
José Roberto de Souza
132bcbee74 anv/hasvk: Add intel_perf_get_configuration_id() and replace intel_perf_load_configuration() usage
We have no usage of the information returned by
intel_perf_load_configuration(). It is only used to add a copy of the
configuration so we have the metric id but we could instead get the
metric id from sysfs, that is added by mdapi.

Xe KMD don't have a uAPI to query the metrics configuration, so
using sysfs also fixes the integration of mdapi with Xe KMD.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Tested-by: Lukasz Stalmirski <lukasz.stalmirski@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32842>
2026-01-19 19:24:15 +00:00
José Roberto de Souza
5b39137ba0 anv/hasvk: Nuke register_config from anv_performance_configuration_intel
There is no usage for register_config outside of
anv_AcquirePerformanceConfigurationINTEL(), so we don't need to store
it.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Tested-by: Lukasz Stalmirski <lukasz.stalmirski@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32842>
2026-01-19 19:24:15 +00:00
Mike Blumenkrantz
ae5c0db8cb zink: reuse transient attachments for format view shadowing
a longstanding issue in zink has been the scenario where a dmabuf is
created for e.g., RGBA8888, then the app tries to do SRGB, but the driver
doesn't support mutable formats with the dmabuf modifier. in this scenario, the app
would either crash or break unpredictably

by reusing the existing transient mechanism (previously only for msrtss emulation),
these dmabufs can instead have a shadow image which handles mutable formats and
then syncs back to the main image when necessary

this should greatly improve the situation on e.g., Intel

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39336>
2026-01-19 18:37:06 +00:00
Mike Blumenkrantz
34ba521acd zink: explicitly null pipe_resource::next when creating transients
this otherwise blows up the aux resources

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39336>
2026-01-19 18:37:06 +00:00
Mike Blumenkrantz
9fd8041d24 zink: create new transient image if the sample count doesn't match
otherwise this will keep reusing the previous transient

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39336>
2026-01-19 18:37:06 +00:00
Mike Blumenkrantz
957e19e8a7 zink: flag immutable handles as such when creating resources
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39336>
2026-01-19 18:37:05 +00:00
Mike Blumenkrantz
e904300270 zink: improve checks for srgb mutability
normally it's assumed that srgb-ness is baked in, but this isn't
always the case (e.g., for imported dmabufs on intel)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39336>
2026-01-19 18:37:05 +00:00
Mike Blumenkrantz
85d98500bd zink: rename msaa_expand to attachment_shadow
this mechanism can be used for more than just msrtss

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39336>
2026-01-19 18:37:04 +00:00
Mike Blumenkrantz
b0b74b7362 zink: automatically rewrite clears where possible to avoid using format views
when executing a renderpass solely to apply clears, there's no need to
create a format view for an image because the clear can just be rewritten

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39336>
2026-01-19 18:37:04 +00:00
Mike Blumenkrantz
193b7cb29d zink: delete all the no-op checks when rewriting clears
there's no harm in calling this on a no-op, and generally if
this function is called then it won't be a no-op. plus most of
these checks are broken in some way

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39336>
2026-01-19 18:37:03 +00:00
Utku Iseri
8056e4756f st/pbo: set src_type on the upload path
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Not setting this results in an extra bitcast to float for u/int target types as
outputs are always floats, which could in turn also result in HW-dependent
behavior with having float outputs getting written to u/int targets. Whether
this ends up being handled correctly is also driver and HW specific. Zink does
not handle this, which causes problems as having FS float outputs writing to
an int attachment is undefined behavior.

Since we know the texture type already, let's use that.

Explicitly setting this to dest_type gets Zink to behave better, and could also
help other drivers by dropping the cast and marking the output type as u/int.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39352>
2026-01-19 17:37:11 +00:00
Marek Olšák
842480f48b radeonsi: remove si_surface & create_surface
it's deprecated

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39260>
2026-01-19 16:58:22 +00:00
Marek Olšák
7e14735765 radeonsi: stop using create_surface
it's deprecated

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39260>
2026-01-19 16:58:22 +00:00
Marek Olšák
f29676741c radeonsi: move si_surface::width0/height0 code into si_initialize_color_surface
prerequisite for removing util_framebuffer_init

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39260>
2026-01-19 16:58:22 +00:00
Marek Olšák
46f2c96c4c radeonsi: remove dead code in si_create_surface
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39260>
2026-01-19 16:58:21 +00:00
Marek Olšák
490a618cf6 radeonsi: remove si_surface::dcc_incompatible
prerequisite for removing util_framebuffer_init

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39260>
2026-01-19 16:58:21 +00:00
Marek Olšák
311a1816c2 radeonsi: stop using si_surface::base
prerequisite for removing util_framebuffer_init

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39260>
2026-01-19 16:58:20 +00:00
Marek Olšák
76dff24cb0 radeonsi: move most si_surface z/s fields into new si_zs_surface_info
prerequisite for removing util_framebuffer_init

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39260>
2026-01-19 16:58:20 +00:00
Marek Olšák
87a704ad4b radeonsi: move most si_surface color fields into new si_cb_surface_info
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39260>
2026-01-19 16:58:19 +00:00
Marek Olšák
1c63f9e46f radeonsi: use deprecated fb_cbufs and fb_zsbuf less
prerequisite for removing util_framebuffer_init

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39260>
2026-01-19 16:58:19 +00:00
Marek Olšák
20515c83ea radeonsi: rename hiz_his to gfx12_*hiz
Only GFX12 will ever have this.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39260>
2026-01-19 16:58:18 +00:00
Marek Olšák
6bdb8abf22 radeonsi: set FORCE_STENCIL_VALID less often on gfx12
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39260>
2026-01-19 16:58:18 +00:00
Marek Olšák
3abe31aa7f radeonsi: set WALK_ALIGN8_PRIM_FITS_ST=0 for 64K rendering
this is required

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39260>
2026-01-19 16:58:17 +00:00
Marek Olšák
f8f4c02c97 radv: rename hiz_his to gfx12_*hiz
Only GFX12 will ever have this.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39260>
2026-01-19 16:58:17 +00:00
Marek Olšák
482c410f41 ac: remove never enabled gfx12 HiS
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39260>
2026-01-19 16:58:17 +00:00