Mike Blumenkrantz
f99503faa2
zink: use velems buffer count in blitter instead of gfx mask
...
small simplification
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37277 >
2025-09-13 12:20:26 +00:00
Mike Blumenkrantz
a730c83dd0
zink: split update_res_bind_count
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37277 >
2025-09-13 12:20:26 +00:00
Mike Blumenkrantz
c96bb8d1c4
zink: ALWAYS_INLINE zink_set_vertex_buffers_internal
...
otherwise the specialization is useless
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37277 >
2025-09-13 12:20:25 +00:00
Mike Blumenkrantz
26f4cc39b5
zink: add a fastpath for nooping vertex and draw buffer barriers
...
even doing this mechanism inside the barrier function doesn't yield
anywhere near the same gains (~15-20% in viewperf catia), mostly for
the draw buffers, so I'd assume it's just added register pressure
from the huge draw function
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37277 >
2025-09-13 12:20:25 +00:00
Mike Blumenkrantz
efd8e46891
zink: support NV_representative_fragment_test
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37081 >
2025-09-13 11:28:44 +00:00
Mike Blumenkrantz
34641b44c6
mesa: support GL_NV_representative_fragment test
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37081 >
2025-09-13 11:28:44 +00:00
Yonggang Luo
57d273b55b
meson: Getting symbols-check.py works for mingw
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37289 >
2025-09-13 08:23:07 +00:00
Yonggang Luo
bd915eeb96
util: Fixes gcc warning: declaration of 'strndup' shadows a built-in function [-Wshadow]
...
../../src/util/strndup.h:37:1: warning: declaration of 'strndup' shadows a built-in function [-Wshadow]
37 | strndup(const char *str, size_t max)
| ^~~~~~~
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37289 >
2025-09-13 08:23:07 +00:00
Yonggang Luo
a01a110071
meson: Remove non-unused inc_d3d9
...
As nine is removed, the by-product inc_d3d9 also need removed
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37289 >
2025-09-13 08:23:07 +00:00
Yonggang Luo
bebd167d74
glsl: Fixes warning: deprecated directive: ‘%pure-parser’, ‘%error-verbose’
...
../../src/compiler/glsl/glcpp/glcpp-parse.y:179.1-12: warning: deprecated directive: ‘%pure-parser’, use ‘%define api.pure’ [-Wdeprecated]
179 | %pure-parser
| ^~~~~~~~~~~~
| %define api.pure
../../src/compiler/glsl/glcpp/glcpp-parse.y:180.1-14: warning: deprecated directive: ‘%error-verbose’, use ‘%define parse.error verbose’ [-Wdeprecated]
180 | %error-verbose
| ^~~~~~~~~~~~~~
| %define parse.error verbose
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37289 >
2025-09-13 08:23:07 +00:00
Yonggang Luo
7db518cfe4
aco: Fixes warning: function get_branch_target/to_clrx_device_name defined but not used
...
../../src/amd/compiler/aco_print_asm.cpp:156:1: warning: 'bool aco::{anonymous}::get_branch_target(char**, aco::Program*, const std::vector<bool>&, char**)' defined but not used [-Wunused-function]
156 | get_branch_target(char** output, Program* program, const std::vector<bool>& referenced_blocks,
| ^~~~~~~~~~~~~~~~~
../../src/amd/compiler/aco_print_asm.cpp:105:1: warning: 'const char* aco::{anonymous}::to_clrx_device_name(amd_gfx_level, radeon_family)' defined but not used [-Wunused-function]
105 | to_clrx_device_name(amd_gfx_level gfx_level, radeon_family family)
| ^~~~~~~~~~~~~~~~~~~
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37289 >
2025-09-13 08:23:07 +00:00
Yonggang Luo
1758bc32cc
meson: For windows, the with_ld_version_script won't take effect
...
On windows, both msvc/gcc are using vs_module_defs to export symbols. So avoid use with_ld_version_script on win32
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37289 >
2025-09-13 08:23:07 +00:00
Yonggang Luo
3c8ea260d0
meson: Remove redundant '/wd4996' option for MSVC
...
It's not needed as we already have -D_CRT_SECURE_NO_WARNINGS
And use _CRT_NONSTDC_NO_DEPRECATE to disable other warnings
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37289 >
2025-09-13 08:23:07 +00:00
Yonggang Luo
64655a77a6
meson: Remove unused predefined macros for windows msvc/gcc
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37289 >
2025-09-13 08:23:06 +00:00
Yonggang Luo
21b8e7604b
meson: mingw do not need _USE_MATH_DEFINES, only MSVC need it
...
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Reviewed-by: Eric Engestrom <eric@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37289 >
2025-09-13 08:23:06 +00:00
Christian Gmeiner
5977c0026d
nak: Move dataflow to compiler crate
...
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com >
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37348 >
2025-09-13 07:30:50 +00:00
Robert Mader
5cc0d1b681
kms-dri-sw: Implement create_mapped()
...
Following the example of dri_sw_winsys, in order to support
importing client-allocated (u)dmabufs into GL renderers as well
as KMS.
This crucially allows Wayland compositors running on vkms + llvmpipe
to behave much more like on HW GPUs/display engines, making CI testing
more robust and intuitive.
Signed-off-by: Robert Mader <robert.mader@collabora.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37305 >
2025-09-13 06:47:58 +00:00
Robert Mader
306feaf3a4
sw_winsys: Add winsys_handle to displaytarget_create_mapped
...
The main intention is to allow to pass dmabuf handles, however as its
type differs depending on platform, just pass the whole whandle.
Also make use of it in llvmpipe_resource_from_handle(), in preparation
for the next commit.
Signed-off-by: Robert Mader <robert.mader@collabora.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37305 >
2025-09-13 06:47:58 +00:00
Daniel Stone
5a7cc8843c
ci/panfrost: Add wider EGL/multithread flakes
...
It seems like everything involving the multithreaded ES2 tests is prone
to flaking out with a segfault. Just wildcard the lot until we can
bottom out what's actually going on.
Signed-off-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37305 >
2025-09-13 06:47:58 +00:00
Timur Kristóf
c183eb5bc8
radv: Flush L2 before CP DMA copy/fill when CP DMA doesn't use L2
...
In case the source or destination were previously written
through L2, we need to writeback L2 to avoid the CP DMA accessing
stale data.
However, as the CP DMA doesn't write L2 either, an invalidation
is also needed to make sure other clients don't access stale data
when they read it through L2 after the CP DMA is complete.
Doing an invalidation before the CP DMA operation should take
care of both.
Additionally, radv_src_access_flush also invalidates L2 before
the copied data can be read.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36820 >
2025-09-13 05:18:28 +00:00
Timur Kristóf
8ef2f492e2
radv: Add comment to document CP DMA prefetch
...
Explain which caches (MALL, L2) the prefetch works with.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36820 >
2025-09-13 05:18:28 +00:00
Guilherme Gallo
66932a95b9
ci: Bump image tags to force recreation of s3 artifacts
...
This will enforce that the artifacts will be available at `gallo/mesa`
namespace, to get more info please check
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36836
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37273 >
2025-09-12 23:10:19 -03:00
Collabora's Gfx CI Team
db3501ec4f
Uprev Piglit to 517270ccca11a795d2f29bd723c362eb6ef9ce8f
...
https://gitlab.freedesktop.org/mesa/piglit/-/compare/28d1349844eacda869f0f82f551bcd4ac0c4edfe...517270ccca11a795d2f29bd723c362eb6ef9ce8f
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37273 >
2025-09-12 23:09:46 -03:00
Collabora's Gfx CI Team
b2e0f57be2
Uprev ANGLE to 1df3b59f8730b56b4770595d4d69f36d5283333f
...
https://github.com/google/angle/compare/995c4c4d89ed6a5c28b210e9c0f83eb4f8b6e2f5...1df3b59f8730b56b4770595d4d69f36d5283333f
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37273 >
2025-09-12 23:09:21 -03:00
Caterina Shablia
9ef1cbc16b
pan/kmod,panvk: rewrite how alignment for an allocation is chosen
...
The current code assumes 2M and 4k pages. If an allocation request
is larger than 2M, allocation will be aligned to 2M, otherwise to
4k.
The new code is informed by pgsize_bitmap. The allocation is
aligned to a particular page boundary, if the request is at least
as large as that page boundary. Note that given
pgsize_bitmap = PGSIZE_4K | PGSIZE_2M
2M requests will now be aligned to a 2M boundary, rather than 4k,
which is the case with the current code.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37288 >
2025-09-13 01:00:26 +00:00
Caterina Shablia
2c5f88a074
panvk: introduce panvk_get_gpu_page_size
...
This function returns the page size of the VM that we're using. The
GPU page size might be different from what the host process uses.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37288 >
2025-09-13 01:00:26 +00:00
Caterina Shablia
19daf0c4b1
pan/kmod: introduce pan_kmod_vm::pgsize_bitmap
...
pgsize_bitmap specifies the page sizes supported by the VM.
Aligning the mappings to huge-r pages can increase access perf.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37288 >
2025-09-13 01:00:26 +00:00
Caterina Shablia
1a0e7d18a2
pan/kmod,panvk: use uint64_t and not size_t for device sizes
...
When the host process is 32-bit, size_t can not express all of the
device address space. Note that there's still a lot of code that
uses size_t for device sizes remaining. Cleaning that up is left
for future MRs.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37288 >
2025-09-13 01:00:26 +00:00
Caterina Shablia
e9f23edf17
panvk: adjust formatting in csf/panvk_queue.h
...
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37288 >
2025-09-13 01:00:26 +00:00
Corentin Noël
63cd410c29
virgl: Skip resource destruction only when there are actually needed references
...
Suggested by Jan Alexander Steffens in https://gitlab.freedesktop.org/mesa/mesa/-/issues/13844#note_3087461
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13844
Fixes: 6c1c116a0f
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37346 >
2025-09-13 00:44:49 +00:00
Dylan Baker
7b337e214d
anv: remove dead code
...
This code cannot be reached, since we already checked for
`!valid_samples` and returned `VK_ERROR_FEATURE_NOT_PRESET` in that case
above, and have not altered `valid_samples` since.
Fixes: d5da6980d3 ("anv/sparse: don't support depth/stencil with sparse")
CID: 1662063
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37341 >
2025-09-12 23:20:35 +00:00
Sushma Venkatesh Reddy
5f10c1a8fb
intel/compiler: generalize workaround script name for broader applicability
...
Renamed brw_nir_trig_workarounds.py to brw_nir_workarounds.py to reflect
its expanded scope beyond just trignometric workarounds.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36990 >
2025-09-12 22:32:46 +00:00
Sushma Venkatesh Reddy
fe1d84e083
intel/compiler: apply sqrt workaround for Horizon Forbidden West shader
...
Added a workaround for a known shader in Horizon Forbidden West that causes
visual corruption on Intel anv driver. The fix clamps fsqrt inputs using
fmax(x, 1e-12) to avoid invalid values. Integrated the workaround via
brw_nir_apply_sqrt_workarounds() and applied it conditionally in the Vulkan
pipeline based on the shader's BLAKE3 hash.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12555
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36990 >
2025-09-12 22:32:46 +00:00
Mike Blumenkrantz
c02d5d79b7
zink: add another tu flake
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37318 >
2025-09-12 22:09:50 +00:00
Mike Blumenkrantz
69f90bfe29
zink: add some pre-checks before calling query update/suspend/resume
...
these trigger lots of context switches which impact perf
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37318 >
2025-09-12 22:09:50 +00:00
Mike Blumenkrantz
9d19d7f6de
zink: move draw state flag resets into their blocks
...
incredibly, this shows up in perf
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37318 >
2025-09-12 22:09:50 +00:00
Mike Blumenkrantz
74b7b5b661
zink: simplify index type access to normal array
...
the sizes are 1/2/4, so just use that array index
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37318 >
2025-09-12 22:09:50 +00:00
Mike Blumenkrantz
c852c25cdc
zink: always use vkCmdBindVertexBuffers2
...
this cuts out a small amount of overhead in drivers that wrap
vkCmdBindVertexBuffers onto vkCmdBindVertexBuffers2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37318 >
2025-09-12 22:09:50 +00:00
Mike Blumenkrantz
07a7d3627f
zink: store last index buffer
...
this allows skipping some draw-time ops when the same index buffer
is used repeatedly
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37318 >
2025-09-12 22:09:50 +00:00
Martin Roukala (né Peres)
03239662c3
zink/ci: raise the job timeout from 5 to 8 minutes
...
Suggested-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37328 >
2025-09-12 21:46:55 +00:00
Georg Lehmann
2ac5641473
shader_info: remove gl_subgroup_size enum
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37258 >
2025-09-12 21:05:17 +00:00
Georg Lehmann
89adefec64
microsoft: switch to new subgroup size info
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37258 >
2025-09-12 21:05:17 +00:00
Georg Lehmann
8d7b1498cc
rusticl: switch to new subgroup size info
...
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37258 >
2025-09-12 21:05:17 +00:00
Georg Lehmann
1b5c78d1f7
radeonsi: switch to new subgroup size info
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37258 >
2025-09-12 21:05:17 +00:00
Georg Lehmann
79d02047b8
intel: switch to new subgroup size info
...
Reviewed-by: Iván Briano <ivan.briano@intel.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37258 >
2025-09-12 21:05:17 +00:00
Georg Lehmann
04d3b3bde5
mesa,glsl,spirv: set new subgroup size info
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37258 >
2025-09-12 21:05:17 +00:00
Georg Lehmann
d807f5a351
vulkan: set nir subgroup size shader info
...
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37258 >
2025-09-12 21:05:17 +00:00
Georg Lehmann
ce91b0be08
nir: define new subgroup size info
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37258 >
2025-09-12 21:05:17 +00:00
Georg Lehmann
95c2a65662
nir: remove unused shader_info param in nir_create_shader
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37258 >
2025-09-12 21:05:17 +00:00
Ian Romanick
1eb4a2f5cd
iris: Limit max_shader_buffer_size to INT32_MAX
...
GLSL arrays are sized by signed integers. Other places in the Mesa treat
this value is int32_t. Having the value larger than (uint32_t)INT32_MAX
causes assertion failures in many piglit tests.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Closes : #13873
Fixes: 2f8b8649f0 ("iris: Increase max_shader_buffer_size to max_buffer_size")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37282 >
2025-09-12 20:45:39 +00:00