Georg Lehmann
004f8aa2f4
aco: optimize get_alu_src with constant source and size > 1
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Emulated FSR4, Navi31:
Totals from 14 (100.00% of 14) affected shaders:
MaxWaves: 130 -> 131 (+0.77%)
Instrs: 67887 -> 67470 (-0.61%); split: -0.70%, +0.09%
CodeSize: 464428 -> 461668 (-0.59%); split: -0.67%, +0.07%
VGPRs: 2544 -> 2520 (-0.94%)
SpillVGPRs: 92 -> 89 (-3.26%)
Latency: 256823 -> 257574 (+0.29%); split: -0.37%, +0.66%
InvThroughput: 253895 -> 252929 (-0.38%); split: -0.40%, +0.02%
VClause: 997 -> 984 (-1.30%); split: -2.11%, +0.80%
Copies: 4501 -> 3788 (-15.84%); split: -17.35%, +1.51%
PreSGPRs: 504 -> 519 (+2.98%)
PreVGPRs: 2460 -> 2448 (-0.49%)
VALU: 57202 -> 56726 (-0.83%); split: -0.88%, +0.05%
SALU: 1231 -> 1384 (+12.43%)
VMEM: 3807 -> 3801 (-0.16%)
VOPD: 2693 -> 2303 (-14.48%); split: +1.19%, -15.67%
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36090 >
2025-07-25 11:33:00 +00:00
David Rosca
cc7178b9eb
radv/video: Use the new defines for H264 SPS info flags
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Also set gaps_in_frame_num_value_allowed_flag.
Cc: mesa-stable
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36225 >
2025-07-25 09:32:08 +00:00
Konstantin Seurer
48d15c3cf8
radv/bvh: Specialize the update shader for geometryCount==1
...
The geometry data can be loaded from push constants in that case.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35445 >
2025-07-25 09:05:13 +00:00
Konstantin Seurer
b20ab07e4a
radv/bvh: Update leaf nodes before refitting
...
This should reduce latency between refitting nodes and their parent
nodes.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35445 >
2025-07-25 09:05:13 +00:00
Konstantin Seurer
33a694fe9b
radv: Initialize base IDs when doing a BVH update with src!=dst
...
Fixes: 2d48b2c ("radv: Use subgroup OPs for BVH updates on GFX12")
Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35445 >
2025-07-25 09:05:12 +00:00
Konstantin Seurer
4a4251dc16
radv/bvh: Use a fixed indices midpoint on GFX12
...
This saves a couple of loads inside the update shader.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35445 >
2025-07-25 09:05:12 +00:00
Konstantin Seurer
7ad02416f6
radv/bvh: Fix flush in bit_writer_skip_to
...
If temp is not cleared, the next flushed dword will contain data from
the previous one.
Fixes: 97f6287 ("radv: Use the BVH8 format on GFX12")
Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35445 >
2025-07-25 09:05:11 +00:00
Konstantin Seurer
6201e24307
radv: Only write leaf node offsets when required
...
They are only used for serialization and position fetch which makes them
unnecessary most of the times.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35445 >
2025-07-25 09:05:11 +00:00
Konstantin Seurer
703a154f29
radv: Add and use RADV_OFFSET_UNUSED
...
This deduplicates the logic to figure out what needs to be written.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35445 >
2025-07-25 09:05:10 +00:00
David Rosca
1dda9d56cb
radv/video: Disable rate control modes for H265 encode on VCN1
...
VCN1 doesn't have FW interface to enable cu_qp_delta with rate control
disabled, which means we can only support either rate control enabled or
disabled. Spec requires VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR
to always be supported, thus the rate control modes needs to be disabled
on VCN1.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36353 >
2025-07-25 08:46:14 +00:00
David Rosca
627fdb368d
radv/video: Fix session_init and rc_per_pic on VCN2
...
Cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36353 >
2025-07-25 08:46:14 +00:00
David Rosca
c11508ad41
radv/video: Fix setting H265 encode cu_qp_delta on VCN2
...
Fixes H265 encoding with rate control disabled.
Cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36353 >
2025-07-25 08:46:13 +00:00
David Rosca
70473690f5
radv/video: Fix encode bitstream buffer offset and alignment
...
Caused issues on VCN2.
Cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36353 >
2025-07-25 08:46:13 +00:00
David Rosca
a30f91b71a
radv/video: Add more encode session params overrides
...
Cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36353 >
2025-07-25 08:46:13 +00:00
David Rosca
e3715df4ee
radv/video: Send slice control, spec misc and deblocking params every frame
...
These params can change per frame, so we need to send the values
to firmware on every frame instead of only once at session init.
Cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36353 >
2025-07-25 08:46:12 +00:00
David Rosca
947e647df8
radv/video: Always send the latency command
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36353 >
2025-07-25 08:46:12 +00:00
David Rosca
8368e3519e
radv/video: Set H264 encode cabac_init_idc and Cb/Cr QP offsets
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36353 >
2025-07-25 08:46:11 +00:00
David Rosca
df42301531
radv/video: Remove disabled slice header code for field encoding
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36353 >
2025-07-25 08:46:11 +00:00
David Rosca
cefd4cfd83
radv/ci: Update navi10 and vega10 expected failures
...
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/36311 >
2025-07-25 07:28:41 +00:00
David Rosca
75c01206dc
radv: Reject linear modifier for video decode DPB
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36311 >
2025-07-25 07:28:41 +00:00
David Rosca
b242c27c15
radv/video: Remove 10 to 8bit dithering support
...
Only one format is supported now, so this is not needed.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36311 >
2025-07-25 07:28:41 +00:00
David Rosca
4659be2c8b
radv/video: Rework GetPhysicalDeviceVideoFormatPropertiesKHR
...
Check if the profile is supported. Only return one format that
is supported by all requested profiles. Return error if the
requested profiles can't share the same format.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36311 >
2025-07-25 07:28:41 +00:00
David Rosca
52fa173557
radv/video: Add radv_video_is_profile_supported
...
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36311 >
2025-07-25 07:28:40 +00:00
David Rosca
8f6ceed8f5
radv/video: Set encodeInputPictureGranularity for AV1 encode
...
Fixes: 37e71a5cb2 ("radv/video: add support for AV1 encoding")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36311 >
2025-07-25 07:28:40 +00:00
David Rosca
fd0c70aded
radv/video: Add bit depth and profile check for VP9 decode
...
Fixes: b8ac2d47e7 ("radv/video: add KHR_video_decode_vp9 support.")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36311 >
2025-07-25 07:28:40 +00:00
David Rosca
bdad9e7e48
radv/video: Add bit depth and profile check for AV1 encode
...
Fixes: 37e71a5cb2 ("radv/video: add support for AV1 encoding")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36311 >
2025-07-25 07:28:39 +00:00
Marek Olšák
09e607c385
nir: add access to load_smem_amd (for ACCESS_CAN_SPECULATE)
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36099 >
2025-07-24 18:41:38 +00:00
Marek Olšák
688a639117
nir: add nir_tex_instr::can_speculate
...
Set to true everywhere except:
- spirv_to_nir used by Vulkan
- bindless handles in GLSL
- some internal shaders and driver-specific code
Acked-by: Job Noorman <job@noorman.info>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36099 >
2025-07-24 18:41:38 +00:00
Valentine Burley
5d55b7e50c
radeonsi/ci: Remove Fluster flakes, document failures
...
Tighten the expectations.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36316 >
2025-07-24 15:04:38 +00:00
Valentine Burley
93a45abcf4
radeonsi/ci: Convert Fluster job to deqp-runner suite
...
Drop the custom fluster-runner.sh script and add a deqp-runner suite for
the `radeonsi-raven-vaapi-fluster` job.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36316 >
2025-07-24 15:04:38 +00:00
Samuel Pitoiset
e64b0eda56
radv: remove dead ES emit code on GFX12
...
This is never reached because VS as ES means it's merged into GS as NGG.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36293 >
2025-07-24 11:03:27 +00:00
Samuel Pitoiset
081c7ec7b1
radv: emit PGM_HI_PS in the gfx preamble on GFX12
...
It never changes.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36293 >
2025-07-24 11:03:27 +00:00
Samuel Pitoiset
0cd745c386
radv: fix a memleak with GS copy shader NIR
...
Really need to refactor this code...
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36317 >
2025-07-24 08:09:00 +00:00
Marek Olšák
8308e394ef
radv: don't sink VS input loads and move them to the top
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This is likely to be faster.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35950 >
2025-07-24 06:31:17 +00:00
Marek Olšák
4c8a757951
radv,radeonsi: mark VS input loads and poly stipple load speculatable
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35950 >
2025-07-24 06:31:17 +00:00
Marek Olšák
4a80272bae
ac/llvm: fix readlane with vectors
...
It crashes in LLVM when the type is not scalar integer.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35950 >
2025-07-24 06:31:17 +00:00
Marek Olšák
543fddb01b
ac/llvm: always use opaque pointers
...
LLVM removed typed pointers a long time ago. These types and bitcasts
had no effect.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35950 >
2025-07-24 06:31:16 +00:00
Marek Olšák
d205772869
ac/llvm: rewrite global & shared loads to share code
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35950 >
2025-07-24 06:31:16 +00:00
Marek Olšák
c181db0660
ac/llvm: rewrite global & shared stores to share code
...
The alignment change allows LLVM to select 32-bit stores when 8-bit and
16-bit stores are properly aligned.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35950 >
2025-07-24 06:31:16 +00:00
Marek Olšák
43f18f5615
ac/nir: mark all input loads as reorderable and speculatable (for LICM)
...
These are only memory loads.
We could do the same for LDS loads, which are not truly speculatable
in merged shaders (can't be moved before the barrier), but that's fine
because LICM only moves code out of loops, which can't have barriers.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35950 >
2025-07-24 06:31:16 +00:00
Marek Olšák
a7291074c8
ac/nir: don't vectorize to 96-bit and 128-bit LDS loads (it's slower)
...
LLVM also generates better code with this.
(-0.51% code size in 153 shaders, less SGPR spilling)
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35950 >
2025-07-24 06:31:16 +00:00
Marek Olšák
ac52e82868
ac/surface/gfx12: select 64K tiling for sparse MSAA textures
...
addrlib doesn't do it automatically for MSAA
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35950 >
2025-07-24 06:31:16 +00:00
Marek Olšák
8fb8bb6840
ac/surface/gfx12: add addr_from_coord for sparse MSAA textures
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35950 >
2025-07-24 06:31:16 +00:00
Alyssa Rosenzweig
8a1a410389
treewide: use SWAP macro
...
Via Coccinelle patch + manual clean up:
@@
identifier temporary, a, b;
type T;
@@
-T temporary = a;
-a = b;
-b = temporary;
+SWAP(a, b);
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36297 >
2025-07-23 19:49:47 +00:00
Samuel Pitoiset
c05ef04152
radv/ci: fix list of expected failures for VEGA10/NAVI10
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36315 >
2025-07-23 16:29:20 +00:00
Eric Engestrom
7e702379ab
radv/ci: document recent flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36307 >
2025-07-23 15:30:52 +00:00
Eric Engestrom
a3a0af55b0
radeonsi/ci: document recent flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36307 >
2025-07-23 15:30:52 +00:00
Eric Engestrom
7db365b6f3
radv/ci: sort navi21 flakes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36307 >
2025-07-23 15:30:52 +00:00
Eric Engestrom
544d0c03e2
radv/ci: lower timeouts for vkd3d jobs
...
No timeout was set, so the project-wide default of 1h was applied.
radv-raven-vkd3d had to be excluded as it caused lava_job_submitter.py
to fail (without any error message).
All the jobs touched here take between 2 and 4 minutes to run total, and
between 40 and 100 sec of test time.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36305 >
2025-07-23 06:24:30 +00:00
Eric Engestrom
9e692a176f
radv/ci: lower timeouts for newly added gfx1201 jobs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36305 >
2025-07-23 06:24:30 +00:00