Gert Wollny
1f58a36abb
r600/sfn: Add method to force-override the dest of an AluInstr
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37321 >
2025-11-17 14:46:57 +00:00
Gert Wollny
6f8841b338
r600/sfn: Make value factory a member of the block scheduler
...
No need to pass it around all the time.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37321 >
2025-11-17 14:46:56 +00:00
Gert Wollny
8e0a0ca098
r600/sfn: Add slot access operator to AluGroup
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37321 >
2025-11-17 14:46:56 +00:00
Gert Wollny
12d913fe4f
r600/sfn: change register ID of dummy dest register
...
Handle it correctly in the assembler, live range evaluation
and RA.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37321 >
2025-11-17 14:46:56 +00:00
Gert Wollny
fc5728950b
r600/sfn: don't use dummy register with non-write 64 bit slots
...
For trans ops and two source ops we can just clear the write flag
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37321 >
2025-11-17 14:46:56 +00:00
Gert Wollny
603af345be
r600/sfn: fix querying number of sources for LDS ops in readport validation
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37321 >
2025-11-17 14:46:55 +00:00
Gert Wollny
0cd0efbbf9
r600/sfn: Don't assign dest registers in non-write interpolation slots
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37321 >
2025-11-17 14:46:55 +00:00
Gert Wollny
ebe395608a
r600/sfn: Silence warning about unused parameter
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37321 >
2025-11-17 14:46:55 +00:00
Gert Wollny
43df08dd42
r600/sfn: remove some unused static variables
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37321 >
2025-11-17 14:46:54 +00:00
Gert Wollny
a22c03f0a3
r600: Handle dummy dest in assembler and disass
...
The dummy dest will not be allocated, so we must not
count it.
In the disassambler write PV and PS if the ALU dest GPR is
only used via PS/PV.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37321 >
2025-11-17 14:46:54 +00:00
Valentine Burley
eb0c95a5d5
lavapipe/ci: Run vkd3d job in parallel
...
This appears to be stable now, and running on multiple threads fixes the
the timeout problems we were hitting in lavapipe-vkd3d.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38476 >
2025-11-17 14:00:10 +00:00
Samuel Pitoiset
f5ecc5ffd5
ac,radv,radeonsi: add ac_emit_sdma_copy_tiled_sub_window()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38448 >
2025-11-17 11:29:24 +00:00
Samuel Pitoiset
5f8fa6ae03
ac,radv,radeonsi: add ac_emit_sdma_copy_linear_sub_window()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38448 >
2025-11-17 11:29:23 +00:00
Samuel Pitoiset
6413651bcf
ac,radv,radeonsi: add ac_emit_sdma_copy_linear()
...
RadeonSI wasn't considering the undocumented HW limitation apparently.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38430 >
2025-11-17 08:28:37 +01:00
Timur Kristóf
cad4e7d2e7
radv, radeonsi: Move GFX6-7 CB clamp issue to ac_gpu_info
...
To improve consistency between the two drivers.
This excludes Hawaii from the workaround on RADV.
Also add the same to ac_null_device_create().
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38304 >
2025-11-15 14:24:59 +01:00
Timur Kristóf
35b376b942
radeonsi: Respect if rbplus is allowed when choosing color formats
...
For consistency with RADV.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38304 >
2025-11-15 14:24:52 +01:00
Timur Kristóf
4f793d2515
radeonsi: Inline si_choose_spi_color_formats
...
Will be necessary for the subsequent commit.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38304 >
2025-11-15 14:24:46 +01:00
Marek Olšák
f9341082a2
nir,glsl,zink: remove the option nir_io_separate_clip_cull_distance_arrays
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This calls nir_separate_merged_clip_cull_io in zink, which is better
than having to handle separate clip & cull arrays in all passes.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38452 >
2025-11-15 03:30:10 +00:00
Marek Olšák
e372365cf4
nir: rename nir_copy_prop -> nir_opt_copy_prop
...
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38411 >
2025-11-15 02:16:38 +00:00
Lucas Fryzek
b75b0ce7b2
lp: Implement gallium depth_bounds_test capability
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Support for this capability in llvmpipe expose
support for GL_EXT_depth_bounds_test, as well as supporting
the `depthBounds` device feature in lavapipe.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36487 >
2025-11-14 09:43:22 +00:00
Daniel Schürmann
7ee1932309
treewide: Never preserve nir_metadata_dominance without nir_metadata_block_index
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38367 >
2025-11-14 09:09:14 +00:00
Adrián Larumbe
a24f490488
panfrost: match a GL object's maximum label length to KMD uAPI limit
...
At present, this is the value mandated by the KMD's uAPI, or 4096 bytes.
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38027 >
2025-11-13 19:16:15 +00:00
Adrián Larumbe
a68c584d70
mesa: gallium: make GL object maximum label length a pipescreen cap
...
Commit a4ffd2395f ("mesa: Implement label sharing from GL objects with
UM drivers") enabled GL clients to tag objects at a UM driver level. In
the case of Panfrost, and for both KMDs, maximum label size is set to
4096, but the Mesa limit is much lower.
Since glObjectLabel() allocates object labels dynamically, there's no
need to have this value chiseled in stone, so allow Gallium driver
implementers to set their own limit through a pipe screen capability.
Keep the same default maximum label length as before.
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38027 >
2025-11-13 19:16:15 +00:00
Pohsiang (John) Hsu
e9757d25e0
mediafoundation: propagate input timestamp / duration to output
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14261
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38427 >
2025-11-13 16:31:06 +00:00
Benjamin Cheng
b4ae11ee42
ac,radeonsi/vcn,radv/video: Drop signature param
...
The signature is not very useful, and is unnecessary CPU overhead.
Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38372 >
2025-11-13 14:35:58 +00:00
Gert Wollny
79e4323cf0
r600/sfn: Don't start a new ALU-CF if LDS pipeline loads are pending
...
Fixes: e57643cf (r600/sfn: Add handling for R600 indirect access alias handling)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38398 >
2025-11-13 11:17:51 +00:00
Qiang Yu
ece827d53b
radeonsi: enable EXT_mesh_shader
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:30:27 +00:00
Qiang Yu
3d01529316
radeonsi: si_calculate_max_simd_waves support task and mesh shader
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:30:25 +00:00
Qiang Yu
4495978932
radeonsi: handle maybe per primitive input for fragment shader
...
Some fragment shader may be per-primitive when mesh pipeline,
per-vertex when vertex pipeline. We sort these inputs always
after other per-vertex inputs in nir_recompute_io_bases, so
fragment shader code is same, just need to set different reg.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:30:24 +00:00
Qiang Yu
1733dddee9
radeonsi: add mesh shader functions
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:30:23 +00:00
Qiang Yu
4c220f9745
radeonsi: add si_emit_rasterizer_prim_state_for_mesh
...
To be used by mesh pipeline.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:30:22 +00:00
Qiang Yu
4ee6553767
radeonsi: add si_update_shaders_for_mesh
...
To be used by mesh pipeline.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:30:20 +00:00
Qiang Yu
8410970e8b
radeonsi: add si_update_shaders_shared_by_vertex_and_mesh_pipe
...
Move shared part of si_update_shaders to this function,
no implementation change.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:30:19 +00:00
Qiang Yu
87715a1c8c
radeonsi: compute culldist_mask and clipdist_mask for mesh shader
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:30:18 +00:00
Qiang Yu
355e499b52
radeonsi: si_emit_buffered_compute_sh_regs support gang cs
...
To be used by task shader gang cs.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:30:17 +00:00
Qiang Yu
b713f453c6
radeonsi: lower mesh shader local id and workgroup id
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:30:15 +00:00
Qiang Yu
2e025d66c3
radeonsi: add task shader queries support
...
Need to emit query start/stop/sample packets in compute
queue.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:30:15 +00:00
Qiang Yu
9a31151436
radeonsi: increase task wait count when emit barrier
...
It will be waited by task queue too.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:30:15 +00:00
Qiang Yu
c0f6e97d6c
radeonsi: implement nir_intrinsic_load_ring_mesh_scratch_amd
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:30:13 +00:00
Qiang Yu
5048216b43
radeonsi: init mesh shader ngg info
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:30:13 +00:00
Qiang Yu
432f66a7b6
radeonsi: add si_create_compute_state_for_nir
...
To be shared by task shader state creation.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:30:11 +00:00
Qiang Yu
263cce11bd
radeonsi: move shared_size to si_shader_variant_info
...
For mesh shader which know this after ac_nir_lower_ngg_mesh.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:30:08 +00:00
Qiang Yu
e3ab6249f2
radeonsi: export si_init_compute_preamble_state for task shader
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:30:03 +00:00
Qiang Yu
0ee4747678
radeonsi: log cs support mesh shader
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:30:02 +00:00
Qiang Yu
f1138c18ac
radeonsi: implement task ring nir intrinsic lower
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:30:02 +00:00
Qiang Yu
e819554b2a
radeonsi: add task/mesh shader context states
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:30:00 +00:00
Qiang Yu
cffc40051d
winsys/amdgpu: support gang submit for kernel queue
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:29:58 +00:00
Qiang Yu
963ad4bb4e
radeonsi: add si_emit_task_shader_pointers
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:29:58 +00:00
Qiang Yu
66cd3f1b52
radeonsi: add si_upload_shader_descriptos
...
To be shared with gfx, mesh and compute pipeline.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:29:55 +00:00
Qiang Yu
12f33b596c
radeonsi: export si_setup_compute_scratch_buffer for task shader
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38044 >
2025-11-13 01:29:54 +00:00