Commit graph

205360 commits

Author SHA1 Message Date
Eric Engestrom
fec01a11d4 ci/vkd3d: drop unused 32-bit build
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34356>
2025-04-21 11:50:57 +00:00
David Rosca
5ccf28ce1b radeonsi/uvd_enc: Move all code to radeon_uvd_enc.c
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Also get rid of function pointers.

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34450>
2025-04-21 10:43:04 +00:00
David Rosca
d9f214001b radeonsi/vce: Move all code to radeon_vce.c
Also get rid of function pointers and remove dump_feedback.

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34450>
2025-04-21 10:43:03 +00:00
David Rosca
b0b52d4922 radeonsi/vcn: Fix decode target index for H264 interlaced streams
With H264 the target surface can also be in the reference list for
current frame, so it can only be inserted into the DPB list after
iterating over all references.

Fixes: 0e68a2655f ("radeonsi/vcn: Rework decode ref handling")
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34527>
2025-04-21 10:00:29 +00:00
Job Noorman
bde3ab4cd3 ir3/isa: add nop encoding for bary.f/flat.b
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
We already use it in legalize but the disassembler didn't display it
yet.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34618>
2025-04-21 08:20:49 +00:00
Faith Ekstrand
cd953a7dfa nak/sm20: Use the immediates instead of rZ in OpShfl
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
For some reason, shfl doesn't seem to like rZ.  I have no idea why but

    shfl.up pt, r5, r5, r3, 0x0

works fine but

    shfl.up pt, r5, r5, r3, rz

does not.  Fortunately, this is pretty easy to handle in the generator
by just using `as_u32()` instead of the AluSrc hack I did before.

Fixes: 608eef01d6 ("nak/sm20: Add subgroup ops")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34624>
2025-04-20 13:43:24 -05:00
Faith Ekstrand
0b8359e159 nak/sm20: Fix legalization of float source types
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Fixes: 142fb563c4 ("nak/sm20: Improve folding of ffma and dfma")
Fixes: a3330f1d46 ("nak/sm20: Add float ops")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34622>
2025-04-20 09:45:43 -05:00
Faith Ekstrand
a2caf95c50 nak: Handle OpFRnd in is_fp64()
Fixes: b27fc463da ("nak: Record and set DOES_FP64 in the SPH")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34622>
2025-04-20 09:45:43 -05:00
Marek Olšák
4a51089f30 radv: fix incorrect patch_outputs_read for TCS with dynamic state
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Fixes: 8c2f9f0665 - radv: switch to the new TCS LDS/offchip size computation

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544>
2025-04-19 22:55:00 -04:00
Marek Olšák
2948f7ce96 ac/gpu_info: rename tess ring variables, fold double_offchip_wg
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544>
2025-04-19 22:55:00 -04:00
Marek Olšák
d2e016c37d ac/nir: don't store tess levels for TES in TCS if no_varying is set
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544>
2025-04-19 22:55:00 -04:00
Marek Olšák
be8977811b ac/nir: remove shader_info parameter from ac_nir_compute_tess_wg_info
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544>
2025-04-19 22:55:00 -04:00
Marek Olšák
6d9e708642 ac/gpu_info: reduce the tess offchip ring size and compute it proportionately
.. to the CU count. We allocated too much.

This reduces the tess offchip ring size as follows (examples):
- GFX11-12:
  - Navi31, Navi33, and Navi48 get 75% decrease.
  - Navi32 gets 68.75% decrease.
  - Phoenix gets 81.25% decrease.
  - Phoenix2 gets 93.75% decrease.
- GFX10.3:
  - Navi21 and Navi22 get 37.5% decrease.
  - Navi23 and Navi24 get 50% decrease.
  - Rembrandt gets 62.5% decrease.
  - VanGogh gets 75% decrease.
  - Raphael gets 93.75% decrease.
- GFX8-9:
  - Vega10 gets 0% decrease.
  - Vega20 gets 49.6% decrease.
  - Raven gets 65.3% decrease.
  - Raven2 gets 93.7% decrease.
  - Stoney gets 81% decrease.

No difference in performance was measured.

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544>
2025-04-19 22:55:00 -04:00
Marek Olšák
9333c0a1ed ac/gpu_info: compute the tess factor ring size proportionately to the CU count
No change in the size on GPUs with 16 CUs per SE such as Navi31 and Navi48.
Navi21 and Navi32 get 25% increase. (20 CUs per SE)

APUs get a significant decrease. For example:
- Phoenix gets 25% decrease
- Vangogh gets 50% decrease
- Phoenix2 gets 75% decrease
- Raphael and Stoney get 87.5% decrease

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544>
2025-04-19 22:55:00 -04:00
Marek Olšák
5fb2de9454 ac/nir: don't include TCS offchip size in LDS_SIZE
This drastically reduces LDS usage for TCS.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544>
2025-04-19 22:55:00 -04:00
Marek Olšák
b8f2fb81f6 ac/gpu_info: print tessellation ring info
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544>
2025-04-19 22:55:00 -04:00
Marek Olšák
b8d15fee3d ac: minor cleanup of ac_compute_num_tess_patches
No change in behavior.

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544>
2025-04-19 22:55:00 -04:00
Marek Olšák
a905a17f39 ac: use HS offchip wg size from radeon_info in ac_compute_num_tess_patches
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544>
2025-04-19 22:55:00 -04:00
Marek Olšák
d82eda72a1 ac/gpu_info: move HS info into radeon_info
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544>
2025-04-19 22:55:00 -04:00
Marek Olšák
ea294349bd radv: move the tess factor ring after the tess offchip ring
to match radeonsi

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544>
2025-04-19 22:54:59 -04:00
Marek Olšák
c057d9105f ac/gpu_info: add total_tess_ring_size
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544>
2025-04-19 22:54:59 -04:00
Marek Olšák
97119d980c ac/gpu_info: clean up ac_get_hs_info, use standard terms like workgroup
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544>
2025-04-19 22:54:59 -04:00
Pierre-Eric Pelloux-Prayer
ac6351fd23 radeonsi/tests: use proper skip file
gbm-skips.txt has been renamed all-skips.txt in f9564e1754
("ci/piglit: Consolidate identical skip lists for X11 and gbm")

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34544>
2025-04-19 22:54:59 -04:00
Janne Grunau
3d3ca9b65e venus: virtgpu: Require stable wire format
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
When VMMs do not support VIRTGPU_DRM_CAPSET_VENUS the capset data
remains zeroed. By requiring the stable wire_format_version 1 this can
be detected early without initialising the renderer.

Avoids triggering `assert(capset->supports_blob_id_0);` in debug builds
under such circumstances.

Cc: mesa-stable
Signed-off-by: Janne Grunau <j@jannau.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34613>
2025-04-19 21:02:17 +00:00
Yiwei Zhang
2a4675ee9f venus: fix missing renderer destructions
With failed compatibility check, the created renderer must be destroyed
within vn_instance_init_renderer.

Cc: mesa-stable
Fixes: 25b8f4f714 ("venus: handle device probing properly.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34613>
2025-04-19 21:02:17 +00:00
Janne Grunau
39e4fd98ce venus: Do not use instance pointer before NULL check
Fixes: a753f50668 ("venus: break up vn_device.c")
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Signed-off-by: Janne Grunau <j@jannau.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34613>
2025-04-19 21:02:17 +00:00
Faith Ekstrand
7d3a99a46c nak/sm20: Use the correct index field for OpS2R
It's 10 bits, not 6.

Fixes: 078ffb860b ("nak/sm20: Add initial SM20 encoding")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34619>
2025-04-19 14:58:35 -05:00
Lorenzo Rossi
4d8d6a28c8 nak: Use s2r for SV_CLOCK on Kepler
cs2r is new starting with Maxwell.  Prior to that we need to use s2r
which still works just fine, it's just slower.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34619>
2025-04-19 14:58:35 -05:00
Faith Ekstrand
142fb563c4 nak/sm20: Improve folding of ffma and dfma
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34619>
2025-04-19 11:06:19 -05:00
David Heidelberg
9855467ed0 docs: Rename distro to distribution
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32880>
2025-04-19 15:52:17 +02:00
David Heidelberg
5251c82404 docs: Drop distro unmaintained and deprecated file.
Pretty much useless.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32880>
2025-04-19 15:52:12 +02:00
Sushma Venkatesh Reddy
4084527876 intel/compiler: Always run opt_algebraic after descriptor_lowering
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This change ensures that `brw_opt_algebraic` is always executed after
`brw_lower_send_descriptors` in `brw_opt.cpp`. By doing so, redundant
logical operations are optimized, resulting in cleaner and more
compact assembly output.

fossil-db results on LNL:
- Totals:
  - Instructions: 215857290 -> 215857028 (-0.00%)
  - Cycle count: 32008929636 -> 32008935384 (+0.00%); split: -0.00%, +0.00%
  - Max live registers: 66940643 -> 66940557 (-0.00%)

- Affected shaders (104 out of 713963):
  - Instructions: 31090 -> 30828 (-0.84%)
  - Cycle count: 5955908 -> 5961656 (+0.10%); split: -0.16%, +0.26%
  - Max live registers: 10888 -> 10802 (-0.79%)

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34615>
2025-04-19 07:05:54 +00:00
Faith Ekstrand
c0f56fc64c nvk: Return an error for Kepler storage images instead of asserting
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This lets us fail without restarting dEQP, making CTS runs faster.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34616>
2025-04-19 03:40:08 +00:00
Faith Ekstrand
f6b9d13a15 nak/sm20: Implement OpBar
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34616>
2025-04-19 03:40:08 +00:00
Faith Ekstrand
8401a60840 nak/sm20: Add double ops
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34616>
2025-04-19 03:40:08 +00:00
Faith Ekstrand
608eef01d6 nak/sm20: Add subgroup ops
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34616>
2025-04-19 03:40:08 +00:00
Faith Ekstrand
5a140e7c3e nak/sm20: Add more memory ops
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34616>
2025-04-19 03:40:08 +00:00
Arunpravin Paneer Selvam
84f18f31ad amdgpu: Add queue id support to the user queue wait IOCTL
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Add queue id support to the user queue wait IOCTL
drm_amdgpu_userq_wait structure.

This is required to retrieve the wait user queue and maintain
the fence driver references in it so that the user queue in
the same context releases their reference to the fence drivers
at some point before queue destruction.

Otherwise, we would gather those references until we
don't have any more space left and crash.

Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Suggested-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34493>
2025-04-18 21:55:53 +00:00
Iván Briano
949d2e507d anv: expose promoted KHR_depth_clamp_zero_one
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34614>
2025-04-18 21:31:37 +00:00
Lorenzo Rossi
ddbf2ec883 nak: Add a new OpFSwz and use it for derivatives on Kepler
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/34540>
2025-04-18 19:30:41 +00:00
Faith Ekstrand
309c48cbb7 nak/sm20: Add texture ops
The current NIR lowering is good for at least SM30+.  When someone
decides to enable Fermi, we'll have to add lowering for it.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540>
2025-04-18 19:30:41 +00:00
Faith Ekstrand
8d41221158 nak/nir: Use Kepler texture source ordering on SM30
SM30 (i.e. Kepler A) has Fermi's instruction encoding but it uses the
same texture source ordering as Kepler B.  It also supports bindless,
unlike Fermi.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540>
2025-04-18 19:30:41 +00:00
Lorenzo Rossi
b8c7d937fe nak: Add OpTexDepBar
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540>
2025-04-18 19:30:41 +00:00
Faith Ekstrand
043995220a nak/sm20: Add control-flow ops
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540>
2025-04-18 19:30:41 +00:00
Faith Ekstrand
9a62a76c46 nak/sm20: Add shader I/O ops
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540>
2025-04-18 19:30:41 +00:00
Faith Ekstrand
bdbe6447ed nak/nir: Use Maxwell input interpolation for SM20+
It appears to be the same at least as far back as Kepler A.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540>
2025-04-18 19:30:41 +00:00
Faith Ekstrand
0105a75c53 nak/sm20: Add conversion ops
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540>
2025-04-18 19:30:41 +00:00
Faith Ekstrand
b27fc463da nak: Record and set DOES_FP64 in the SPH
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540>
2025-04-18 19:30:41 +00:00
Faith Ekstrand
d249e7ddac nak: Lower 64-bit shifts in NIR on Kepler A and earlier
SHF is introduced on Kepler B.  Without it, there's nothing we can do
that's more efficient than NIR's lowering.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540>
2025-04-18 19:30:41 +00:00
Faith Ekstrand
9fbf63b584 nak/sm20: Add integer ops
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34540>
2025-04-18 19:30:41 +00:00