Marek Olšák
0a228dfef2
ac/nir: compute ddx/ddy for barycentric_at_offset at the beginning of shaders
...
to make it work after terminate (discard).
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:26 -05:00
Marek Olšák
f98613d47c
aco: implement replacement of sample_mask_in with helper_invocation in PS prolog
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:26 -05:00
Marek Olšák
a842f198d7
aco: simplify how broadcast_last_cbuf is implemented in PS epilog
...
So PS epilogs only need a single bool flag that determines whether all
enabled color buffers should be written.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:26 -05:00
Marek Olšák
5c4f737b84
aco: implement replacing frag_coord with pixel_coord in PS prolog
...
This adds an option to replace frag_coord.xy with pixel_coord when sample
shading is disabled, which is most of the time. This reduces the number of
input VGPRs.
It's already implement in ac_nir_lower_ps_early for monolithic shaders.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:26 -05:00
Marek Olšák
eddd063420
ac/nir: cosmetic stuff for ac_nir_lower_ps
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:26 -05:00
Marek Olšák
247c0593eb
ac/nir: eliminate sample_mask_in without MSAA in ac_nir_lower_ps_early
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:26 -05:00
Marek Olšák
e57b52ff6c
ac/nir: optimize frag_coord <-> pixel_coord in ac_nir_lower_ps_early
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:26 -05:00
Marek Olšák
33134f9503
ac/nir: optimize barycentric_at_sample(sample_id) in ac_lower_ps_early
...
Replace it with barycentric_sample.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:26 -05:00
Marek Olšák
43f6b2655e
ac/nir: simplify force_*_center_interp options in ac_nir_lower_ps_early
...
This only indicates whether MSAA is disabled.
Having a separate option for each sysval is better for the PS prolog,
but not for monolithic compilation.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:25 -05:00
Marek Olšák
3bccfa72cc
ac/nir: simplify force_*_sample_interp options in ac_nir_lower_ps_early
...
The only thing we need here is whether sample shading is enabled
and how many samples.
Having a separate option for each sysval is better for the PS prolog,
but not for monolithic compilation.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:25 -05:00
Marek Olšák
d7d4d56f5b
ac,aco,radeonsi: replace SampleMaskIn with 1 << SampleID if full sample shading
...
Since the sample mask is always 1 << sample_id with full sample shading,
just use that instead of loading sample_mask_in. Set it to 0 if it's
a helper invocation. This removes the sample mask input VGPR.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:25 -05:00
Marek Olšák
b1fc34f290
radeonsi: sample shading state fixes
...
- really update sample shading state when it's changed
- reduce log state bits in the shader key to 2 because we don't support
16x EQAA
- exit early from si_update_ps_iter_samples if ps_iter_sample has the same
value since the last call
- set missing wqm for the PS prolog (this might fix tests)
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:25 -05:00
Marek Olšák
1026402b7c
ac/nir: clamp vertex color outputs in the right place
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:25 -05:00
Marek Olšák
4f63b21df0
ac/nir: drop 16x EQAA support from ac_get_ps_iter_mask
...
We don't support 16x EQAA anymore.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:25 -05:00
Marek Olšák
51bbe2606d
ac/nir: switch passes to use nir_shader_intrinsics_pass
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:25 -05:00
Marek Olšák
d31b3513da
ac/nir: handle FRAG_RESULT_COLOR with dual src blending in ac_nir_lower_ps_early
...
If FRAG_RESULT_COLOR with dual_src_blend_kndex=1 is present,
FRAG_RESULT_COLOR really means FRAG_RESULT_DATA0.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:25 -05:00
Marek Olšák
38d3fc7a6a
ac/nir: return progress from ac_nir_lower_ps_late
...
This changes the creation of barycentric coordinate variables to on-demand.
There is also some reordering of export code to return progress.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:25 -05:00
Marek Olšák
231009be65
ac/nir: return progress from ac_nir_lower_ps_early
...
This changes the creation of barycentric coordinate variables to on-demand.
Everything else is ready to return progress.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:25 -05:00
Marek Olšák
234b416ffb
ac/nir: lower fbfetch_output in ac_nir_lower_ps_early
...
so that we can gather shader_info after this and all system values that
this adds will be gathered.
shader_info won't be gathered after si_nir_lower_abi, which is why we
have to lower fbfetch_output here.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:25 -05:00
Marek Olšák
1570387aaa
ac/nir: lower barycentric_at_offset/sample in ac_nir_lower_ps_early
...
i.e. before future linking optimizations and shader_info gathering
They are lowered together because one depends on the other.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:25 -05:00
Marek Olšák
b9b1f3a047
ac/nir: lower sample_pos in ac_nir_lower_ps_early
...
i.e. before future linking optimizations and shader_info gathering
The ac_nir_lower_ps_early call is also added for non-monolithic shaders
because it's required now.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:25 -05:00
Marek Olšák
580304350b
ac/nir: optimize front_face in ac_nir_lower_ps_early
...
i.e. before future linking optimizations and shader_info gathering
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:25 -05:00
Marek Olšák
0939fc6fa8
radv: don't call ac_nir_lower_ps_early
...
The current version doesn't do anything, and later commits require significant
reordering of NIR passes to make it usable.
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:25 -05:00
Marek Olšák
ec3f397af4
freedreno/ci: skip a dmat3 div test timing out
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33024 >
2025-01-25 12:20:25 -05:00
Detlev Casanova
deda1b767e
ci/deqp-runner: uprev from 0.20.2 to 0.20.3
...
Signed-off-by: Detlev Casanova <detlev.casanova@collabora.com >
Co-authored-by: Sergi Blanch Torne <sergi@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26113 >
2025-01-25 08:48:04 +00:00
Detlev Casanova
8f4efda257
ci/fluster: Add radeonsi-raven-vaapi-fluster jobs
...
The CI job runs each supported decoder on 1 LAVA job:
- vp9
- h.264
- h.265
They each run the gstreamer VAAPI fluster decoder tests on a radeonsi
device on LAVA.
Signed-off-by: Detlev Casanova <detlev.casanova@collabora.com >
Co-authored-by: Sergi Blanch Torne <sergi@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26113 >
2025-01-25 08:48:04 +00:00
Detlev Casanova
aa11f3d630
ci/fluster/lava: Add fluster in LAVA rootfs
...
It will be used in next commits to run fluster vaapi tests on AMD
devices on LAVA.
Signed-off-by: Detlev Casanova <detlev.casanova@collabora.com >
Co-authored-by: Sergi Blanch Torne <sergi@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26113 >
2025-01-25 08:48:04 +00:00
Pavel Ondračka
ba860bd914
r300: fix uninitialized use in transform_vertex_ROUND
...
==26468== Conditional jump or move depends on uninitialised value(s)
==26468== at 0x577A190: get_readers_normal_read_callback (radeon_dataflow.c:534)
==26468== by 0x57795E7: rc_for_all_reads_src (radeon_dataflow.c:162)
==26468== by 0x577A7BB: get_readers_for_single_write (radeon_dataflow.c:709)
==26468== by 0x5779763: writes_normal (radeon_dataflow.c:212)
==26468== by 0x5779870: rc_for_all_writes_mask (radeon_dataflow.c:243)
==26468== by 0x577A93C: rc_get_readers (radeon_dataflow.c:819)
==26468== by 0x577E35E: transform_vertex_ROUND (radeon_optimize.c:1332)
==26468== by 0x577E48B: optimize_A0_loads (radeon_optimize.c:1367)
==26468== by 0x577E53E: rc_optimize (radeon_optimize.c:1393)
==26468== by 0x577767F: rc_run_compiler_passes (radeon_compiler.c:475)
==26468== by 0x57777C2: rc_run_compiler (radeon_compiler.c:498)
==26468== by 0x57747F3: r3xx_compile_vertex_program (r3xx_vertprog.c:820)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10562
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com >
Reviewed-by: Filip Gawin <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33210 >
2025-01-25 07:58:10 +00:00
Lionel Landwerlin
6768eb31e5
intel: rework CL pre-compile
...
Stolen from asahi_clc :)
We drop the nasty LLVM17+ workaround code (Thanks Alyssa!)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Tested-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Dylan Baker <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33014 >
2025-01-25 03:28:07 +00:00
Lionel Landwerlin
5adac011b8
meson: rework mesa-clc=system handling
...
In theory you can build a driver using OpenCL kernels with a
-Dmesa-clc=system. That shouldn't require any LLVM/Clang/etc...
But the checks to find the pre-compiled mesa_clc & vtn_bindgen
binaries are in meson files or conditions only triggered if you build
with LLVM (:
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Tested-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Dylan Baker <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33014 >
2025-01-25 03:28:07 +00:00
Lionel Landwerlin
db11165c07
intel/cl: switch to SPIRV as shader storage
...
Effectively making intel-clc not needed.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Tested-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Dylan Baker <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33014 >
2025-01-25 03:28:07 +00:00
Lionel Landwerlin
b3033dc633
meson: build mesa_clc for Anv/Iris
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Tested-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Dylan Baker <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33014 >
2025-01-25 03:28:07 +00:00
Lionel Landwerlin
bf8a1e1e71
brw/elk: move internal kernel parsing out of intel_clc
...
So it can be called internally.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Tested-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Dylan Baker <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33014 >
2025-01-25 03:28:07 +00:00
Lionel Landwerlin
857236a81d
spirv: build vtn_bindgen for Anv/Iris
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Tested-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Dylan Baker <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33014 >
2025-01-25 03:28:07 +00:00
Lionel Landwerlin
b0a882b3dc
libcl_vk: add some vulkan enums/structures for DGC
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Tested-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Dylan Baker <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33014 >
2025-01-25 03:28:07 +00:00
Lionel Landwerlin
d3d771607d
libcl: add MIN2/MAX2 macros
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Tested-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Dylan Baker <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33014 >
2025-01-25 03:28:07 +00:00
José Roberto de Souza
73f3de12ef
iris: Pick scanout PAT entry for scanout buffers
...
Scanout PAT was never being picked what could cause render cache to
not be flushed during page flips causing visual corruption on
displays.
Cc: stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33127 >
2025-01-25 02:53:44 +00:00
José Roberto de Souza
572eacec9e
iris: Make sure a uncached heap is choosen for scanout and shared buffers when LLC is not available
...
Platforms without LLC were in risky to get a heap that is cached
what could cause scanout glitches.
Cc: stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33127 >
2025-01-25 02:53:44 +00:00
Samuel Pitoiset
f8e7c037e3
radv: add a new helper to set image BO metadata
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33193 >
2025-01-25 02:10:03 +00:00
Samuel Pitoiset
ee4a1021d1
radv: add support for BO metadata on GFX12
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33193 >
2025-01-25 02:10:02 +00:00
Martin Roukala (né Peres)
8fd0eda0cf
freedreno/ci: uprev the a750 kernel to msm-next
...
This kernel was built using b2c's linux builder without any additional
patches... aside from the usual ones I apply for b2c, so we are almost
to the point where we can run a stable kernel on it!
The next uprev should be made from gfx-ci/linux rather than being
hosted on my server, but I would like to use a released kernel for
that.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Eric Engestrom <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33162 >
2025-01-24 23:36:56 +00:00
Martin Roukala (né Peres)
41bf984d0e
ci/b2c: allow using another initrd that contains firmware
...
This allows DUTs that require firmware to boot reliably to provide them
without needing to include them in the kernel image.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Eric Engestrom <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33162 >
2025-01-24 23:36:56 +00:00
Martin Roukala (né Peres)
668cc6dc0c
ci/b2c: allow jobs to select a file in the dtb url
...
This makes it possible to have a single DTB url serving multiple DUTs,
without paying much of a cost for it.
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Reviewed-by: Eric Engestrom <None>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33162 >
2025-01-24 23:36:56 +00:00
Saroj Kumar
433004dcff
ac/surface: fix missing NULL check in gfx12_select_swizle_mode()
...
Add null check for surf pointer.
Fixes segfault issue during start of gdm on gfx12.
Signed-off-by: Saroj Kumar <saroj.kumar@amd.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/33199 >
2025-01-24 21:51:50 +00:00
Karmjit Mahil
1f9d96ec78
vulkan: Add inital vram-report-limit layer
...
This Vulkan layer allows reporting a limited VRAM size to the
application. This layer can be useful for testing applications and
games which query for the memory budget adjusting their behavior
accordingly.
They layer does not set a hard limit on the amount of VRAM thus
applications can still make allocations even though the reported
budget might indicate no memory is left, if the set limit is lower
than of actually available VRAM.
Signed-off-by: Karmjit Mahil <karmjit.mahil@igalia.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30095 >
2025-01-24 19:56:43 +00:00
Karmjit Mahil
ad603d300d
util/simple_mtx: Add ASSERTED to parameter used only in an assert
...
Signed-off-by: Karmjit Mahil <karmjit.mahil@igalia.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30095 >
2025-01-24 19:56:42 +00:00
Rhys Perry
5cc977bee4
radv: set has_image_bvh_intersect_ray for null winsys
...
This is needed for fossilize-replay.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Fixes: 14e3231b56 ("radv: add a flag to indicate ray tracing support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33201 >
2025-01-24 18:08:12 +00:00
Sergi Blanch Torne
4818bc90d9
Revert "ci: disable Collabora's farm due to unexpected power cut"
...
This reverts commit e02539d7b6 .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33200 >
2025-01-24 17:21:47 +00:00
Antonio Ospite
7c6a4b65c7
docs/android: bump suggested platform-sdk-version to 34
...
Suggesting at least Android 14 for new development.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33188 >
2025-01-24 14:15:22 +00:00
Antonio Ospite
876c4513a5
ci/android: rename variable ANDROID_NDK to ANDROID_NDK_VERSION
...
Rename the variable ANDROID_NDK to ANDROID_NDK_VERSION and only use it
to specify the version itself.
This makes it consistent with ANDROID_SDK_VERSION and it is also in
preparation for using the same variable to build ANGLE in the future.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33188 >
2025-01-24 14:15:22 +00:00