Karmjit Mahil
cf49571c9e
ir3: fix comparison of different signedness build issue
...
Addresses:
../src/freedreno/ir3/ir3_shader.h: In function 'void ir3_link_add(ir3_shader_linkage*, uint8_t, uint8_t, uint8_t, uint8_t)':
../src/freedreno/ir3/ir3_shader.h:1326:16: error: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Werror=sign-compare]
1326 | assert(i < ARRAY_SIZE(l->var));
Signed-off-by: Karmjit Mahil <karmjit.mahil@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38104 >
2025-11-13 11:39:54 +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
Lionel Landwerlin
b9266a122b
anv: ensure shader printf is functional on all backends
...
Also ensure the printfs are read even if the device is lost or ran
into a fault.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38358 >
2025-11-13 10:19:47 +00:00
Lionel Landwerlin
ef5a0def76
intel/isl: add INTEL_DEBUG=noccs-modifier to disable CCS modifiers
...
To help figure out whether a CCS related corruption is tied to
modifier setup or internal driver state tracking.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38382 >
2025-11-13 09:52:27 +00:00
Rhys Perry
6a5982cfe5
aco/scheduler: fix register demand check
...
Fixes deathloop/01f8d58bf245663b with gfx1201.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Fixes: 668259ef0b ("aco/scheduler: move clauses through RAR dependencies")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38402 >
2025-11-13 09:07:12 +00:00
Samuel Pitoiset
9141696d32
radv: fix gathering push constants from shaders with ESO
...
Need to be 4-bytes aligned.
Fixes: aa44a5a4ae ("radv: gather push constant size from shaders for ESO")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14276
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38397 >
2025-11-13 07:30:14 +00:00
Samuel Pitoiset
388875abe1
radv: bump maxRayDispatchInvocationCount to 2^30
...
It's the required limit by Vulkan.
Fixes dEQP-VK.ray_tracing_pipeline.limits.ray_tracing_props.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38405 >
2025-11-13 07:10:39 +00:00
Qiang Yu
f07dab1899
doc: mark GL_EXT_mesh_shader as done
...
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:29 +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
Qiang Yu
915d5167af
radeonsi: change arg for si_cp_dma_prefetch
...
To be used by gang cs 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:29:52 +00:00
Yonggang Luo
8c427aae92
util: Remove unused ALIGN function to prevent future use
...
The #undef ALIGN is also not needed anymore, remove it.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38365 >
2025-11-12 21:58:41 +00:00
Yonggang Luo
ecb0ccf603
treewide: Replace calling to function ALIGN with align
...
This is done by grep ALIGN( to align(
docs,*.xml,blake3 is excluded
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38365 >
2025-11-12 21:58:40 +00:00
Yonggang Luo
03a32b3fe2
radeon/drm: Replace all usage of ALIGN to align and remove ALIGN macro
...
As now all ALIGN usage is on 32bit integer
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38365 >
2025-11-12 21:58:38 +00:00
Yonggang Luo
0fe6143a77
radeon/drm: use align64 for 64 bits input instead of ALIGN
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38365 >
2025-11-12 21:58:38 +00:00
Yonggang Luo
f8eafbe627
aco: Use align64 instead ALIGN for 64 bits input
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38365 >
2025-11-12 21:58:38 +00:00
Yonggang Luo
ee4c3e790f
anv: use align/align64 instead ALIGN, as the input is size_t/uint64_t
...
When the input is size_t, cast the input to uint32_t, as the output is expect uint32_t not size_t
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38365 >
2025-11-12 21:58:38 +00:00
Yonggang Luo
db767eb7e0
brw: Do not use align as variable name, as it's a function in u_math.h and will be used
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38365 >
2025-11-12 21:58:38 +00:00
Yonggang Luo
d95d7b85ca
panfrost/drm-shim: Use align_uintptr instead of ALIGN for size_t input
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38365 >
2025-11-12 21:58:38 +00:00
Yonggang Luo
dd97f64e88
freedreno: Use align64 instead ALIGN for 64 bits input
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38365 >
2025-11-12 21:58:38 +00:00
Yonggang Luo
974f9833cb
freedreno: Do not use align as variable name, as it's a function in u_math.h and will be used
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38365 >
2025-11-12 21:58:38 +00:00
Konstantin Seurer
b241b26d11
nir: Remove nir_def::parent_instr
...
This reduces the footprint of nir_def by 8B on 64-bit systems.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com >
Acked-by: Marek Olšák <maraeo@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38313 >
2025-11-12 21:22:13 +00:00
Konstantin Seurer
de32f9275f
treewide: add & use parent instr helpers
...
We add a bunch of new helpers to avoid the need to touch >parent_instr,
including the full set of:
* nir_def_is_*
* nir_def_as_*_or_null
* nir_def_as_* [assumes the right instr type]
* nir_src_is_*
* nir_src_as_*
* nir_scalar_is_*
* nir_scalar_as_*
Plus nir_def_instr() where there's no more suitable helper.
Also an existing helper is renamed to unify all the names, while we're
churning the tree:
* nir_src_as_alu_instr -> nir_src_as_alu
..and then we port the tree to use the helpers as much as possible, using
nir_def_instr() where that does not work.
Acked-by: Marek Olšák <maraeo@gmail.com >
---
To eliminate nir_def::parent_instr we need to churn the tree anyway, so I'm
taking this opportunity to clean up a lot of NIR patterns.
Co-authored-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38313 >
2025-11-12 21:22:13 +00:00
Yonggang Luo
34e7fa2fe6
nir: Disable gcc warning -Wstringop-overflow for nir_intrinsic_set_* for latter commit
...
gcc has a a false positive here, silenced with the pragmas, use separate commit
for easily revert latter once gcc fixed it.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38313 >
2025-11-12 21:22:13 +00:00
Konstantin Seurer
e231aec0c9
nir: Move nir_def directly after nir_instr
...
This way, all instruction types have the nir_def at the same offset.
Acked-by: Marek Olšák <maraeo@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38313 >
2025-11-12 21:22:13 +00:00
Alyssa Rosenzweig
013a6bfc70
pan/bi: clean up NIR
...
txf_ms(BUFFER) doesn't exist.
while in the area.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38313 >
2025-11-12 21:22:13 +00:00
Alyssa Rosenzweig
11e5f0b60d
pan/bi: initialize variable to fix warning
...
../src/compiler/nir/nir.h:1152:11: attention: « buf_index » pourrait être utilisé sans être initialisé [-Wmaybe-uninitialized]
1152 | return src;
| ^~~
../src/panfrost/compiler/bifrost_compile.c: Dans la fonction « lower_texel_buffer_fetch »:
../src/panfrost/compiler/bifrost_compile.c:6234:13: note: « buf_index » a été déclaré ici
6234 | nir_def *buf_index;
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38313 >
2025-11-12 21:22:12 +00:00
Yonggang Luo
24a7d53329
util: Add PRAGMA_DIAGNOSTIC_IGNORED_CLANG PRAGMA_DIAGNOSTIC_IGNORED_GCC for latter use
...
gcc and clang do not have equal set of warnings, so when warning are specific to CLANG or GCC, using PRAGMA_DIAGNOSTIC_IGNORED_CLANG or PRAGMA_DIAGNOSTIC_GCC_IGNORED instead
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38313 >
2025-11-12 21:22:10 +00:00