Commit Graph

188079 Commits

Author SHA1 Message Date
Mike Blumenkrantz 160dd5bf2b zink: add VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR for shaderdb
cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28815>
2024-04-18 16:34:37 +00:00
Mike Blumenkrantz fd6468a5ae zink: destroy shaderdb pipelines
cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28815>
2024-04-18 16:34:37 +00:00
Mike Blumenkrantz b7b51295bf zink: add ZINK_DEBUG=nopc to completely disable precompilation
I hack this in all the time for debugging anyway

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28766>
2024-04-18 16:07:07 +00:00
Mike Blumenkrantz a83fd26d0e nir/print: stop trying to match i/o vars using base/driver_location
this is broken

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28552>
2024-04-18 15:30:47 +00:00
Boris Brezillon 52cc12b8d2 panvk/ci: Enable dEQP-VK.pipeline.monolithic.*
We regressed a pipeline.monolithic test when switching to dynamic
rendering and this went unnoticed because
dEQP-VK.pipeline.monolithic.* is not run.

With this addition, execution time is too long to fit in a single job,
so we split VK tests in 2 and only run half of the tests, which should
be okay as long as we keep the tests manual.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:57 +00:00
Boris Brezillon a8a0051086 panvk/ci: Make sure we catch GPU faults
PAN_MESA_DEBUG=sync allows us to abort on faults.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:57 +00:00
Boris Brezillon d49ca71554 panvk: Abort on fault when PANVK_DEBUG=sync
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:57 +00:00
Boris Brezillon 9a8dae1bf8 panvk: Make sure we use the proper format for views of depth+stencil images
The view format doesn't take into account the internal image format
layout when only one aspect is selected. We need to patch the pipe_format
manually in that case.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:57 +00:00
Boris Brezillon 7d8bfe405d panvk: Skip tiler jobs when the vertex shader doesn't write the position
Fixes the dEQP-VK.pipeline.monolithic.no_position.* tests.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:57 +00:00
Erik Faye-Lund d5c2d152a5 panfrost: implement a driver-specific max-miplevel
The previous define was common for all panfrost code, but for Vulkan we
should probably use the real hardware-limits. So let's introduce a
GL-driver specific define here, and use that instead. This lets us
change the other define to the real HW limitation.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:57 +00:00
Boris Brezillon 2b1db3de7b panvk: Fill maxCustomBorderColorSamplers
dEQP-VK doesn't seem to test it, but the validation layer complains.
Pick a randomly high value, since there's no physical limit on the
custom border color (this is part of the sampler descriptor).

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:57 +00:00
Boris Brezillon 10a631f767 panvk: Re-order things in panvk_physical_device_init()
We need to know the GPU architecture when we initialize the physical
device properties/features. This implies creating the kmod device and
querying its properties early.

While at it, simplify the error path so we just have one entry point.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:57 +00:00
Boris Brezillon a261e6c4ea panvk: Swizzle the border color on v7 when the format is BGR
pan_texture.c tweaks the texture swizzle for BGR formats on v7 to
support AFBC(BGR). We need to take that into account when preparing
the border color.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:57 +00:00
Boris Brezillon 5e07edd4f6 panvk: Don't advertize vertex_buffer cap on sRGB formats
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:57 +00:00
Boris Brezillon 294406bba2 panvk: Make sure we have a decode context created when we need one
The sync and dump options also need a valid decode context.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:57 +00:00
Boris Brezillon 0eec8b0ff6 panvk: Fix depth/stencil image views
Vulkan wants an R001 pattern, where the depth/stencil is stored in
the red component, but the pan_format/texture logic gives us RRRR.
Tweak the swizzle so we get what Vulkan wants.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:57 +00:00
Boris Brezillon b40dad1d59 panvk: Make sure we pick a valid wrap_mode_r value for unnormalizedCoordinates
When unnormalizedCoordinates is true, we can only use CLAMP_TO_EDGE or
CLAMP_TO_BORDER. This also puts a constraint on the viewType (1D or 2D),
which means we should ignore addressModeW and pick a default that works
fine with the unnormalizedCoordinates case.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:57 +00:00
Boris Brezillon b9fe15e47f panvk: Fix has_non_vs_attribute() test in panvk_draw_prepare_vs_attribs()
attrib_count should be checked against pipeline->attribs.attrib_count
not pipeline->attribs.buf_count.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:57 +00:00
Boris Brezillon 58a5ae3f72 panvk: Fix img2buf copies with image X offset not aligned on 16 pixels
There are probably better ways of handling copies, but the whole thing
will disappear with the transition to vk_meta. The only reason we fix
it now is so we can enable more tests in CI and catch potential
regressions.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:57 +00:00
Boris Brezillon 7b06393257 panvk: Don't assume pViewportState != NULL
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:57 +00:00
Boris Brezillon f1d8a65d7f pan/bi: Extend bi_emit_texc() to support wider direct tex/sampler idx
The current code was doing some assumptions on the maximum
texture/sampler sizes which no longer stand with panvk. Add explicit
range checks on the direct texture/sampler_index.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:57 +00:00
Boris Brezillon feffe7fd2a panvk: We don't support resolve operations yet
Make sure we crash when resolveMode != VK_RESOLVE_MODE_NONE in the
vkCmdBeginRendering() path instead of silently ignoring resolve
arguments.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:57 +00:00
Boris Brezillon 3b6c2cf0f0 panvk: Make sure the sample_pattern is set in the tiler descriptor
This field should match the one defined in the framebuffer descriptor.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:57 +00:00
Boris Brezillon 47a98bbe34 panvk: Fill pan_tls_info::wls::instances
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:56 +00:00
Boris Brezillon 3c3476bae8 panvk: Fix input attachment support
Lower input attachments to texture operations as it was meant to be
according to the set layout accounting, and fix the descriptor set
logic to fill texture descriptors instead of image descriptors.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:56 +00:00
Boris Brezillon 502a1ca300 pan/bi: Allow subpass sampler dims
Those are just regular 2D[MS] textures.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:56 +00:00
Boris Brezillon 51ab0a4c25 panvk: Don't assume VkGraphicsPipelineCreateInfo::pColorBlendState != NULL
When the subpass being associated to a graphics pipeline has no color
attachment, pColorBlendState can be NULL.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:56 +00:00
Boris Brezillon 303f04d346 pan/bi: Support fragment store_output() with a non-zero offset
Fragment color outputs can be defined as a vec4 array. As long as the
indexing is not dynamic, we can add the constant offset passed to
the store_output() intrinsic to the RT index we extracted from the
location.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:56 +00:00
Boris Brezillon df4e3e4777 panvk: Fix the colorAttachmentCount check in begin_rendering_init_fbinfo()
colorAttachmentCount should be less that or equal the number of RT slots,
not strictly less than.

Fixes: 595d362d4b ("panvk: Implement dynamic rendering entry points")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:56 +00:00
Boris Brezillon cb9ad5e44b panvk: Fix attach-less rendering
VkRenderingInfo without any attachment is a perfectly valid use case.
Make sure we don't end up asserting on fbinfo width/height being zero
in that case.

Fixes: 595d362d4b panvk: Implement dynamic rendering entry points
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
2024-04-18 15:04:56 +00:00
Eric Engestrom b3e6ef964f util: simplify loop logic in util_format_get_first_non_void_channel()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28800>
2024-04-18 14:26:37 +00:00
Eric Engestrom 71b93f63dd radv: initialize a couple of variables
Because musl will lose (in the next commit) the ability to see that they are initialized...

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28800>
2024-04-18 14:26:37 +00:00
Eric Engestrom 05c4c17f91 wsi/x11: drop unused param in x11_present_to_x11_sw()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28806>
2024-04-18 13:51:48 +00:00
Eric Engestrom 8b53127e9f docs/rusticl: add an intro explaining what Rusticl is
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28807>
2024-04-18 13:32:45 +00:00
Eric Engestrom ae5231a0de vk/overlay-layer: simplify print and make it more readable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28805>
2024-04-18 12:56:39 +00:00
Eric Engestrom 0e61560266 vk/overlay-layer: fix None checks
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28805>
2024-04-18 12:56:39 +00:00
Eric Engestrom fc5fa08d89 vk/overlay-layer: drop unused imports
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28805>
2024-04-18 12:56:39 +00:00
Eric Engestrom acf1c7dc73 lavapipe: add 1 new failure and 1 new timeout since CTS uprev to 1.3.8.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28803>
2024-04-18 12:22:19 +00:00
Eric Engestrom aeab27cc24 egl: drop dead dri2_dpy param in dri2_wl_visual_idx_from_config()
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28528>
2024-04-18 11:22:49 +00:00
Eric Engestrom 7350b65669 etnaviv: avoid re-defining prog_python
It's already defined to the exact same thing in the root `meson.build`

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28801>
2024-04-18 10:03:08 +00:00
Samuel Pitoiset b67f9b4d0d radV/ci: reduce the parallelism of navi21 to 3
With CTS 1.3.8.0 the execution time has been reduced a lot.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28795>
2024-04-18 09:24:22 +00:00
Samuel Pitoiset 6ee39b1870 radv/ci: update lists for TAHITI and Zink/Polaris10
1f4662cc4e introduced regressions.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28795>
2024-04-18 09:24:22 +00:00
Samuel Pitoiset e85b2641a1 radv/ci: add one more flake since CTS 1.3.8.0 for RENOIR
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28795>
2024-04-18 09:24:22 +00:00
Iago Toral Quiroga 1070c9b0e7 broadcom/compiler: enable perquad with uses_wide_subgroup_intrinsics
This fixes a number of regressions in Vulkan subgroups tests in CTS.

Fixes: 97f5721bfc ('broadcom/compiler: needs_quad_helper_invocation enable PER_QUAD TMU access')
cc: mesa-stable

Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28797>
2024-04-18 09:00:56 +00:00
Vignesh Raman fbd6da9bcd ci: handle missing dri libraries during listing
Upreving mesa in drm-ci causes the below error,
ls -1 '/install/lib/dri/*_dri.so'
ls: cannot access '/install/lib/dri/*_dri.so': No such file or directory
trap_err 2

Allow the script to continue execution even if listing dri
libraries command fails.

Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28782>
2024-04-18 07:47:12 +00:00
Faith Ekstrand e297fb1bd5 nil: cbindgen is required
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28794>
2024-04-17 23:16:31 -05:00
Samuel Pitoiset 40f39482e1 ci: uprev CTS to vulkan-cts-1.3.8.0
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27459>
2024-04-17 21:22:36 +00:00
Mike Blumenkrantz 974b3ab964 zink: disable buffer reordering correctly on shader image binds
the unordered flags must be set after the barrier to avoid the
scenario where the barrier checks buffer usage and resets the flags

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28787>
2024-04-17 20:59:40 +00:00
Yiwei Zhang 737bae4267 venus: fix swapchain image memory bind
Fixed dEQP-VK.wsi.*.swapchain.simulate_oom.image_swapchain_create_info

Fixes: 36f639375b ("venus: use STACK_ARRAY to simplify BindImageMemory2")
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28790>
2024-04-17 18:32:42 +00:00
Mike Blumenkrantz dd02ea3769 egl: use os_get_option for MESA_LOADER_DRIVER_OVERRIDE
this is better for android

Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28570>
2024-04-17 17:19:27 +00:00