Commit graph

179244 commits

Author SHA1 Message Date
Timur Kristóf
614bb47cbf radv: Use const on vi_alpha_is_on_msb arguments.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25770>
2023-10-19 14:35:00 +00:00
Timur Kristóf
ff39212e28 radv: Use const device argument in radv_sdma_copy_buffer.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25770>
2023-10-19 14:35:00 +00:00
Timur Kristóf
320e20db68 radv: Rename SDMA file to radv_sdma.c
It already contains more than just the buffer image copies.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25770>
2023-10-19 14:35:00 +00:00
Faith Ekstrand
baa8487c28 nvk: Implement VK_EXT_dynamic_rendering_unused_attachments
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9632
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25813>
2023-10-19 14:06:07 +00:00
Faith Ekstrand
131d05da7b nvk: Enable descriptorIndexing
This is the Vulkan 1.2 equivalent of VK_EXT_descriptor_indexing
extension enable.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25812>
2023-10-19 13:13:54 +00:00
Faith Ekstrand
075219e58f nvk: Advertise shaderOutputLayer and shaderOutputViewportIndex
We already advertise the extension but it's moved into feature bits in
Vulkan 1.2 and we didn't have those turned on.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25812>
2023-10-19 13:13:54 +00:00
Faith Ekstrand
18af014f7c nvk: Re-arrange Vulkan 1.2 features to match the header
Also, conditional render ended up in the Vulkan 1.2 section which is
wrong.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25812>
2023-10-19 13:13:54 +00:00
Faith Ekstrand
b80575a38a features: Mark VK_EXT_attachment_feedback_loop_layout done for NVK
Fixes: c93b30daa3 ("nvk: Advertise VK_EXT_attachment_feedback_loop_layout")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25812>
2023-10-19 13:13:53 +00:00
Faith Ekstrand
c93b30daa3 nvk: Advertise VK_EXT_attachment_feedback_loop_layout
We don't need to do anything with the layout.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25808>
2023-10-19 10:11:36 +00:00
Lionel Landwerlin
5d76b03a3e anv: uninitialize queues before utrace
We need to shut down the runtime queue threads before tearing down
anything else.

Gets rid of helgrind errors like this :

==212772== Possible data race during write of size 4 at 0xADCBFB0 by thread #1
==212772== Locks held: 1, at address 0x6B8F260
==212772==    at 0x8AC3EFF: simple_mtx_destroy (simple_mtx.h:97)
==212772==    by 0x8ACB24D: intel_ds_device_fini (intel_driver_ds.cc:603)
==212772==    by 0x6CBD4D4: anv_device_utrace_finish (anv_utrace.c:471)
==212772==    by 0x6C71577: anv_DestroyDevice (anv_device.c:3679)
==212772==    by 0x6B2F1E2: loader_layer_destroy_device (loader.c:4358)
==212772==    by 0x6B3F10B: vkDestroyDevice (trampoline.c:983)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: cc5843a573 ("anv: implement u_trace support")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10010
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25805>
2023-10-19 09:45:36 +00:00
Eric Anholt
0603ac7b00 ci/freedreno: Generalize the implicit_unmap timeouts.
dedicated_alloc.image caused a job flake today.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25804>
2023-10-19 09:18:01 +00:00
Lionel Landwerlin
9bea6e02b8 anv: don't uninitialize bvh_bo_pool is not initialized
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 3e8d2617e1 ("anv: use buffer pools for BVH build buffers")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10009
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25802>
2023-10-19 08:40:22 +00:00
Eric Anholt
42f53a2155 ci/zink: Cut zink-lvp coverage in half.
It's taking 23 minutes of deqp-runner time.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25790>
2023-10-19 07:42:16 +00:00
Eric Anholt
b1eef3094f ci/freedreno: Move skqp testing to a618.
The limozeen runners are quite under-committed, while we had 10 jobs
running for our 9 cheza runners, causing an unnecessary wait even when the
farms were idle.

I've removed the old 630 skqp bits, so we can just track what's being
tested on 618.  618 had skqp toml and xfails laying around alreaady.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25790>
2023-10-19 07:42:16 +00:00
Eric Anholt
a4110026ea ci/freedreno: Fold a630_egl into a630_gl.
The GL job was only taking 5 minutes in deqp, and egl is 2 minutes.  Saves
a boot, and gets us closer to starting all a630 jobs at the same time if
the farm was idle.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25790>
2023-10-19 07:42:16 +00:00
Eric Anholt
20284af29b ci/iris: Drop parallel on kbl piglit to 2.
We have only 6 of these boards since one died in May, and 7 jobs allocated
to them.  So you ended up with a 5 minute delay on each pipeline with an
otherwise-idle farm while you waited for the first batch of jobs to
complete so you could get the last one started.  It turns out that piglit
was taking 3 minutes of runtime each, so we can just shard piglit 2 ways,
stay under runtime, and not over-allocate the farm

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25790>
2023-10-19 07:42:16 +00:00
Eric Anholt
40be79dc9f ci/bare-metal: Default our boards to a 20-minute timeout for the whole job.
If the test time is 10 minutes, and boot is 1.5 minutes, that gives you
8.5 minutes of slop for intermittent costs like container download.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25790>
2023-10-19 07:42:15 +00:00
Eric Anholt
97b2afa16a ci/bare-metal: Drop the 2 vs 1 exit code from poe_run.
This exit code was used for the intra-job retries on the other bare-metal
run scripts, but poe_run doesn't do that.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25790>
2023-10-19 07:42:15 +00:00
Eric Anholt
e2e3e4cbf3 ci: Stop doing internal retries in bare-metal.
We have job-level retry on failure now, and will continue to need to in
order to work around fd.o infrastructure flakes.  If we stop doing retry
inside the job, then we can crank down the gitlab-level timeouts on test
jobs to be closer to our CI guidelines and avoid blocking a runner for an
hour when things go wrong (for example, cheza #16 failing to boot in a
recognized way and continuously looping due to the intra-job retry).
Plus, the job logs will be more readable when you don't have two boots in
one job, and we'll get the flakes surfaced in our monitoring dashboards.

If internal retries were really doing useful work we may see an increase
in flakes as a result of this.  I'm committing to turning off boards or
reducing coverage as necessary to handle this.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25790>
2023-10-19 07:42:15 +00:00
Eric Anholt
cf8f60fc64 ci/zink: Only test half of piglit pre-merge on anv.
Unfortunately we're at 16 minutes of runtime for this job, which is much
too far past our guidelines.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25790>
2023-10-19 07:42:15 +00:00
Mike Blumenkrantz
0d2923dfbb zink: fix legacy depth texture rewriting for single component reads
if only a single component is read, this instruction can (and must) be
rewritten to use that component since depth sampling in vulkan is single-component

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25795>
2023-10-19 00:09:59 +00:00
Mike Blumenkrantz
b3e864b326 zink: update pointer for GPL pipeline cache entry formats
this otherwise points to ctx->gfx_pipeline_state.rendering_formats,
which is broken for background compiles

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25795>
2023-10-19 00:09:59 +00:00
Mike Blumenkrantz
ad72772d93 nir/lower_fragcolor: preserve location_frac
this otherwise breaks component-based outputs

cc: mesa-stable

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25794>
2023-10-18 23:02:45 +00:00
Lina Versace
71599a1a20 venus: Enable VK_EXT_graphics_pipeline_library behind debug flag
Until the performance issues get resolved, enable the extension
if `VN_DEBUG=gpl`.

Also enable the required (and trivial) VK_KHR_pipeline_library.

Signed-off-by: Lina Versace <linyaa@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22419>
2023-10-18 12:12:17 -07:00
Lina Versace
a65ac274ac venus: Do pipeline fixes for VK_EXT_graphics_pipeline_library
Signed-off-by: Lina Versace <linyaa@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22419>
2023-10-18 12:12:17 -07:00
Lina Versace
258f04a426 venus: Refactor pipeline fixup into two stages
Function vn_fix_graphics_pipeline_create_infos() had two interleaved
phases: discovery of needed fixes, and application of those fixes.
Move the discovery phase into new function
vn_find_graphics_pipeline_create_info_fixes(). The two-phase approach
will be simplify the implementation of VK_EXT_graphics_pipeline_library.

No intended change in behavior.

Signed-off-by: Lina Versace <linyaa@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22419>
2023-10-18 12:12:17 -07:00
Lina Versace
732c8aa2b7 venus: Renames for VkGraphicsPipelineCreateInfo fixes
Use a more consistent naming scheme for everything. Follow-up patches
will implement VK_EXT_graphics_pipeline_library, which will make the
code significantly more complex, in which better names will make the
code more readable.

Except for replacing `any_fix` with `erase.mask`, this patch does modify
any procedural code. It merely renames structs and fields.

Signed-off-by: Lina Versace <linyaa@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22419>
2023-10-18 12:12:17 -07:00
Lina Versace
197f485757 venus: Add enum vn_pipeline_type
No change in behavior.  Prepares for storing more state in graphics
libraries for VK_EXT_graphics_pipeline_library.

Signed-off-by: Lina Versace <linyaa@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22419>
2023-10-18 12:12:17 -07:00
Lina Versace
1d4822d894 venus: Use VkImageAspectFlags in vn_subpass
No intended change in behavior. This little improvement will help
vn_pipeline track its graphics state more accurately.

Signed-off-by: Lina Versace <linyaa@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22419>
2023-10-18 12:12:17 -07:00
Lina Versace
8b0b1f5d39 venus: Drop incorrectly-used always-true pipeline vars
When writing vn_fix_graphics_pipeline_create_info() long ago, I defined
some always-true dummy vars that represented some
VkGraphicsPipelineLibraryFlagsEXT. In the conditions that decide which
state to fixup, I used the dummy vars.

My intent was that this would ease the implementation of
VK_EXT_graphics_pipeline_library, because some of the GPL fixup logic
would already be present.  I was wrong. After I studied GPL more,
I discovered that the conditions were using the dummy vars incorrectly.
The incorrect usage produced no bugs, because the vars are always true.

Delete the dummy vars.

Signed-off-by: Lina Versace <linyaa@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22419>
2023-10-18 12:12:17 -07:00
Lina Versace
b0530d2c94 venus: Fix subpass attachments
We must check for VK_ATTACHMENT_UNUSED.

Signed-off-by: Lina Versace <linyaa@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22419>
2023-10-18 12:12:17 -07:00
Lina Versace
904df222ef venus: Fix crash when VkGraphicsPipelineCreateInfo::layout is missing
With VK_EXT_graphics_pipeline_library, the layout may be omitted or
ignored in incomplete pipelines.

Signed-off-by: Lina Versace <linyaa@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22419>
2023-10-18 12:12:16 -07:00
Lina Versace
11f31f137c venus: Erase pViewports and pScissors in fewer cases
We should avoid erasing VkGraphicsPipelineCreateInfo when possible
because the erasure add cpu overhead. Do not erase pViewports if
viewportCount is 0. Do not erase pScissors if scissorCount is 0.

Signed-off-by: Lina Versace <linyaa@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22419>
2023-10-18 12:12:16 -07:00
Lina Versace
9a93ed7b56 venus: Sync protocol for VK_EXT_graphics_pipeline_library
Signed-off-by: Lina Versace <linyaa@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22419>
2023-10-18 12:12:16 -07:00
Karol Herbst
74ef0d4f93 asahi: flush denorms on exact fmin/fmax
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25788>
2023-10-18 17:10:02 +00:00
Timur Kristóf
d7f5ff402a ac: Add rudimentary implementation of printing SDMA IBs.
This isn't meant to be exhaustive and only prints the packets
and fields which were interesting to me during debugging the
RADV transfer queue implementation.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25769>
2023-10-18 16:29:01 +00:00
Timur Kristóf
90455ac864 ac: Print IP type for IBs.
This makes it clearer what is what when reading IBs
for debugging purposes.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25769>
2023-10-18 16:29:01 +00:00
Timur Kristóf
05d74265dc ac: Rename ac_do_parse_ib to parse_pkt3_ib.
This function only parses PKT3 packets, not other types.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25769>
2023-10-18 16:29:01 +00:00
Timur Kristóf
dfcb8d4784 ac: Add amd_ip_type argument to ac_parse_ib and ac_parse_ib_chunk.
The current parser only supports PKT3 packets, but not all HW IP
types use this format. This makes it possible to support more
than one format depending on the IP type.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25769>
2023-10-18 16:29:01 +00:00
Timur Kristóf
b44a616253 ac: Clarify SDMA opcode defines.
Make the naming of these defines consistent with others.
And add a few new opcodes and related definitions.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25769>
2023-10-18 16:29:01 +00:00
Timur Kristóf
375a14234f ac/gpu_info: Add some SDMA related information.
SDMA only supports sparse resources on GFX9+.
SDMA only supports DCC and HTILE on GFX10+.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25769>
2023-10-18 16:29:01 +00:00
David Rosca
37996c757f frontends/va: Implement vaMapBuffer2
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25620>
2023-10-18 16:07:19 +00:00
Vlad Schiller
12e4fa19df pvr: Enable VK_KHR_uniform_buffer_standard_layout
Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com>
Reviewed-by: Matt Coster <matt.coster@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25708>
2023-10-18 15:51:56 +00:00
Vlad Schiller
a2e0701428 pvr: Enable KHR_image_format_list
Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com>
Reviewed-by: Matt Coster <matt.coster@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25707>
2023-10-18 15:35:28 +00:00
Vlad Schiller
2adaa765ba pvr: Enable VK_EXT_scalar_block_layout
Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com>
Reviewed-by: Matt Coster <matt.coster@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25706>
2023-10-18 15:20:24 +00:00
Marek Olšák
10a2fbd42b radeonsi/ci: update failures and flakes
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25774>
2023-10-18 14:26:37 +00:00
Marek Olšák
e1a1150142 radeonsi/ci: enable GLES CTS in the runner
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25774>
2023-10-18 14:26:37 +00:00
Marek Olšák
eb79a3bb98 radeonsi/ci: enable GTF tests in the runner
These are closed-source CTS tests we have always been building.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25774>
2023-10-18 14:26:37 +00:00
Marek Olšák
ff9e883246 radeonsi/ci: update the runner for new build scripts
Needed for the new build scripts at:
  https://github.com/marekolsak/marek-build
which is needed for:
- updating deqp to main
- updating glcts to opengl-cts-4.6.3

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25774>
2023-10-18 14:26:37 +00:00
Mike Blumenkrantz
084e22cfd8 zink: ignore unacquired swapchain images during end-of-frame flush
> Use of a presentable image must: occur only after the image is returned by flink:vkAcquireNextImageKHR, and before it is released by flink:vkQueuePresentKHR.
> This includes transitioning the image layout and rendering commands.

fixes #10005

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25787>
2023-10-18 13:51:57 +00:00