Commit graph

169908 commits

Author SHA1 Message Date
Lionel Landwerlin
b30a75a195 vulkan/overlay: deal with unknown pNext structures
To implement some of the features of the layer, we need to enable some
of the feature bits at device/command_buffer creation. To do so, we
need to edit some of the structures coming from the application. Most
of those are const so we need to clone them before edition.

This change disables some of the layer features if we run into a
situation where one of the structure we need to clone is unknown such
that we can't make a copy of it (since we don't know its size).

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7677
Cc: mesa-stable
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19897>
2023-04-17 15:41:58 +03:00
Erico Nunes
1eb2359bbd lima: fix stringop-overflow warning
New versions of gcc output a warning about this code, apparently
because of the mix of signed and unsigned operations in the loop
condition. Rework the types to fix the warning.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22129>
2023-04-17 10:15:25 +00:00
Patrick Lerda
4f42d3b843 r600: fix refcnt imbalance related to evergreen_set_shader_images()
Indeed, the reference was overwritten.

For instance, this issue is triggered with:
"piglit/bin/shader_runner tests/spec/arb_shader_image_load_store/execution/write-to-rendered-image.shader_test -auto -fbo"
while setting GALLIUM_REFCNT_LOG=refcnt.log.

Fixes: a6b3792843 ("r600: add core pieces of image support.")
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22394>
2023-04-17 10:01:03 +00:00
Andres Calderon Jaramillo
4405e8a9e1 r600: Report multi-plane formats as unsupported
This is the analogous of
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9490 but for
r600.

Discoloration of NV12 video frames was observed in Chrome/ChromeOS and
the problem was tracked down to the fact that Mesa was following the
PIPE_FORMAT_R8_G8B8_420_UNORM/lower_yuv_external() path. The symptom is
that (for an unknown reason) the YUV-to-RGB conversion is using the
value of Y as the value of Y, U, and V. So, for example, if the input
value is YUV = (50, 120, 130), then what actually gets converted to RGB
is YUV = (50, 50, 50).

Considering that PIPE_FORMAT_R8_G8B8_420_UNORM was introduced for
freedreno
(https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6693) and it
is already being reported as unsupported for radeonsi, it's reasonable
to assume that GPUs targeted by r600 don't support this path either.

Note: I tested this patch with an AMD Palm device which follows the
evergreen_is_format_supported() path. I did not have access to a device
to test the r600_is_format_supported() path.

v2: Changed >= 2 to > 1.

Fixes: 826a10255f ("st/mesa: Add NV12 lowering to PIPE_FORMAT_R8_G8B8_420_UNORM")
Tested-by: Andres Calderon Jaramillo <andrescj@chromium.org>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22511>
2023-04-17 09:43:14 +00:00
David Redondo
eb7e906886 egl/wayland: fix oob buffer access during buffer_fds clean up
After iterating through the number of planes in the above for
loop i is more than the number of planes which corresponds to
the size of the buffer_fds array.

Fixes: 967b9ad084 ("egl/wayland: for prime, allocate linear_copy from display GPU VRAM")
Signed-off-by: David Redondo <kde@david-redondo.de>
Reviewed-by: Simon Ser <contact@emersion.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22496>
2023-04-17 09:02:53 +00:00
Samuel Pitoiset
0d7912d239 radv: disable fast-clears with CMASK for 128-bit formats
This isn't supported according to RadeonSI.

This fixes a piglit test with Zink that uses a R32G32B32A32_SINT format
with MSAA 8x. This is because DCC fast-clears with MSAA require to
clear CMASK too.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7313
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22462>
2023-04-17 06:19:34 +00:00
Qiang Yu
134abe8344 radeonsi: remove separate_prolog parameter
si_get_ps_prolog_key is only called by part mode shader now.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21683>
2023-04-17 02:11:56 +00:00
Qiang Yu
51d9946448 radeonsi: restructure mono merged shader build
No function change, just refine to share more code.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21683>
2023-04-17 02:11:56 +00:00
Qiang Yu
dcfe3eed80 radeonsi: monolithic ps emit prolog in nir directly
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21683>
2023-04-17 02:11:56 +00:00
Qiang Yu
fbedbad0dd radeonsi: handle lowered ps in scan_io_usage
si_update_shader_binary_info() will call into this function
to collect memory usage info after shader has been lowered
finally. To avoid assertion failure in nir_instr_as_intrinsic()
we have to check instruction type first.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21683>
2023-04-17 02:11:56 +00:00
Qiang Yu
b8bd186788 radeonsi: add si_nir_emit_polygon_stipple
Ported from si_llvm_emit_polygon_stipple().

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21683>
2023-04-17 02:11:56 +00:00
Qiang Yu
223878fbe2 radeonsi: add si_nir_lower_ps_color_input
For lowering legacy color inputs in PS.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21683>
2023-04-17 02:11:56 +00:00
Qiang Yu
cc891e871e ac/llvm,radeonsi: lower ps color load in nir
Remove the color0/1 in ac_shader_abi which is used by
radeonsi only.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21683>
2023-04-17 02:11:56 +00:00
Qiang Yu
35d5c7c251 ac/nir/ps: lower sample mask input when needed
Ported from si_llvm_build_ps_prolog().

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21683>
2023-04-17 02:11:56 +00:00
Qiang Yu
1103d4ed74 ac/nir/ps: add force lower barycentric load options
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21683>
2023-04-17 02:11:55 +00:00
Qiang Yu
0e4ac0c1d6 ac/nir/ps: lower barycentric load when bc_optimize
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21683>
2023-04-17 02:11:55 +00:00
Qiang Yu
d6c5596c37 radeonsi: implement nir_load_barycentric_optimize_amd
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21683>
2023-04-17 02:11:55 +00:00
Qiang Yu
7fcc5aa9c0 nir: add nir_load_barycentric_optimize_amd intrinsic
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21683>
2023-04-17 02:11:55 +00:00
Mike Blumenkrantz
31a0de9921 zink: make general bo allocation more robust by iterating
previously there was a fallback path here (broken by f6d3a5755f)
which would attempt to demote BAR allocations to other heaps on failure
to avoid oom

this was great, but it's not the most robust solution, which is to iterate
all the memory types matching the given heap and try them in addition to having
a demotion fallback

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22479>
2023-04-16 23:55:30 +00:00
Mike Blumenkrantz
9d923b14f9 zink: restore BAR allocation failure demotion
this restores the fallback used when BAR allocation fails due to oom
by re-selecting memoryTypeIndex after the heap demotion

Fixes: f6d3a5755f ("zink: zink_heap isn't 1-to-1 with memoryTypeIndex")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22479>
2023-04-16 23:55:30 +00:00
Mike Blumenkrantz
561b64cf55 zink: slightly rework memoryTypeIndex selection to pre-determine heap
should be no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22479>
2023-04-16 23:55:30 +00:00
Mike Blumenkrantz
085c9efbf3 zink: move memoryTypeIndex selection down in general bo allocation
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22479>
2023-04-16 23:55:30 +00:00
Erico Nunes
fdf746cb2b Revert "ci: disable lima farm, currently out-of-space, needs to be fixed"
This reverts commit 78644c9bb0.

Fixes: 78644c9bb0 ("ci: disable lima farm, currently out-of-space, needs to be fixed")

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22513>
2023-04-16 23:03:47 +00:00
Eric Engestrom
8ebc5cbe2b v3dv/ci: drop fixed failure from fails.txt
Fixes: 8976d8280f ("wsi: remove get_sorted_vk_formats duplication")
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22514>
2023-04-16 20:49:05 +01:00
David Heidelberg
74525f8576 ci: uninstall libdrm from the GL and VK containers
Occasionally causing troubles on -valve jobs.

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22255>
2023-04-16 17:28:52 +00:00
David Heidelberg
74e4235916 ci: polish deqp-runner a bit
Plus cosmetics adjustments to pass more of shellcheck.

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22255>
2023-04-16 17:28:52 +00:00
David Heidelberg
2933976e78 ci/freedreno: fix the a530_piglit job and switch to Weston
If we count devices which running a530 with mainline kernel and Mesa,
it's probably mostly phones and tablets running on Wayland. Adapt to it.

Fixes: 83c2b26acf ("ci/freedreno: Switch the piglit job to using a deqp-runner suite.")

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22255>
2023-04-16 17:28:52 +00:00
David Heidelberg
f84aee451d ci/freedreno: update a530 flakes, fails and skips
Add multiple skips for the:
 - KHR-GLES31.core.pixelstoragemodes.teximage2d
 - KHR-GLES31.core.pixelstoragemodes.teximage3d

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8837

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22255>
2023-04-16 17:28:52 +00:00
David Heidelberg
2092f95975 ci/freedreno: a530 behaves stable in 6.3
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22255>
2023-04-16 17:28:52 +00:00
David Heidelberg
1fcfcaf008 ci: drop overriding new a530 firmware due to preemption issues with older kernel
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8825

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22255>
2023-04-16 17:28:52 +00:00
David Heidelberg
cad794594b ci/freedreno: do not restrict to 2 cpus on a530
Not needed for modern kernels (6.3+ for sure).

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22255>
2023-04-16 17:28:52 +00:00
David Heidelberg
a925c59f83 ci: bump kernel to the 6.3, support HDK 888 based on sm8350
- uprev to kernel 6.3-rc6
 - add sm8350 support (needed for HDK 888)
 - add missing patch for Asurada functionality
 - enable CONFIG_ARM_SMMU_QCOM, since we dropped specific patch
   worarounding need for it

Acked-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22255>
2023-04-16 17:28:52 +00:00
Emma Anholt
f3e8aeb2e9 tu/perfetto: s/MRTs/attachment_count/ in traces.
MRTs usually means >1 color buffers, so seeing "2" is surprising when
you're expecing just color and depth.  Makes the output look more Vulkan.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22278>
2023-04-16 15:50:49 +00:00
Emma Anholt
947f5d4d7a tu/perfetto: Drop unused arg to send_descriptors().
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22278>
2023-04-16 15:50:49 +00:00
Emma Anholt
020baed66e tu/perfetto: Use tu_CmdBeginDebugUtilsLabelEXT as a stage event in perfetto.
This lets zink mark points of interest (particularly its barriers and
blits) with some useful data, for presenting in perfetto traces.

Closes: #8487
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22278>
2023-04-16 15:50:49 +00:00
Emma Anholt
69bff073ca tu/perfetto: Clean up an extra token paste to just use the arg being passed.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22278>
2023-04-16 15:50:49 +00:00
Emma Anholt
b4b18e4165 tu/perfetto: Refactor code out of the macro, to stage_end.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22278>
2023-04-16 15:50:49 +00:00
Karol Herbst
60cfe15d79 rusticl/event: drop work item before updating status
This fixes some CTS compiler tests where they relied on the cl_kernel
object to be released in time so it can recompile a program without
throwing CL_INVALID_OPERATION due to still having active kernel objects.

Fixes: 47a80d7ff4 ("rusticl/event: proper eventing support")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22510>
2023-04-15 21:07:01 +00:00
Emma Anholt
00b9685d96 symbol_table: Prehash the key on insert, and reuse the entry on shadowing.
Mostly saves computing the hash twice, but while we're here there's no
need for shadowing to walk the table again.

Release Mesa build runtime of
KHR-Single-GL46.arrays_of_arrays_gl.SizedDeclarationsPrimitive -4.19869%
+/- 3.20231%

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22451>
2023-04-15 18:33:25 +00:00
Emma Anholt
46498abbac symbol_table: Don't bother resetting the key on popping scope.
If you made a same-name symbol, then its name was just the name from the
parent scope anyway.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22451>
2023-04-15 18:33:25 +00:00
Emma Anholt
0a400f933f symbol_table: Don't maintain the HT as we're destroying the table.
Release Mesa build runtime of
KHR-Single-GL46.arrays_of_arrays_gl.SizedDeclarationsPrimitive -5.05801%
+/- 3.41206% (n=12)

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22451>
2023-04-15 18:33:25 +00:00
Emma Anholt
6db7d72b4b symbol_table: Store the symbol name in the same allocation as the symbol entry.
Saves an extra malloc.  Release Mesa build runtime of
KHR-Single-GL46.arrays_of_arrays_gl.SizedDeclarationsPrimitive (which is a
lot of GLSL 4.60 builtin vars symbol table setup) -5.15821% +/- 3.19636%
(n=13).

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22451>
2023-04-15 18:33:25 +00:00
David Heidelberg
c690644842 ci/amd: update checksums after DXVK 2.1 update
Heaven got fixed with DXVK 2.1.

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22447>
2023-04-15 10:57:06 +00:00
David Heidelberg
5cf3b92661 ci/dxvk: uprev to 2.1
Major uprev, requires VK 1.3 now.

Acked-by: Martin Roukala <martin.roukala@mupuf.org>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22447>
2023-04-15 10:57:06 +00:00
David Heidelberg
0dcb3994a5 ci/amd: 4/5 runners TPad-C13 runners are online, restore most of the tests
Partial revert of 590959057c ("ci/amd: raven is currently downgraded
to 2 machines only, adapt")

Test which remains disabled: radeonsi-raven-va:amd64 (VAAPI testing).

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22447>
2023-04-15 10:57:06 +00:00
Lionel Landwerlin
a787728906 anv: enable blorp query reset for performance queries
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Felix DeGrood <felix.j.degrood@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22480>
2023-04-15 12:25:57 +03:00
Michel Dänzer
20c330e95d ci: Drop executable permissions from backend compiler wrapper script
Not needed anymore, since the frontend scripts just source the backend
script now.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22438>
2023-04-15 01:55:12 +00:00
Michel Dänzer
1ec3c16c54 ci: Remove shebang from backend compiler wrapper script
Not needed anymore, since the frontend scripts just source the backend
script now.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22438>
2023-04-15 01:55:12 +00:00
Michel Dänzer
21b190bf44 ci: Use set -e in frontend compiler wrapper scripts.
I doubt the shebang line in the backend script has any effect now,
since the frontend scripts just source it directly.

v2:
* Use "set -e" instead of adding -e to shebang (Eric Engestrom)

v3:
* Apply to the clang wrapper scripts as well (Eric Engestrom)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22438>
2023-04-15 01:55:12 +00:00
Michel Dänzer
1915185648 ci: Explicitly test for meson feature checks in compiler wrapper
The previous indirect method was more complicated and still error prone.

v2:
* Use "grep -E" (Eric Engestrom)
* Exclude spaces and slashes in the grep pattern, to avoid accidentally
  matching across unrelated compiler arguments.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22438>
2023-04-15 01:55:12 +00:00