Commit graph

5622 commits

Author SHA1 Message Date
Chia-I Wu
015f6a7aff panvk: ensure res table is restored after meta
Set res_table to 0 to ensure that the res table is re-emitted.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Fixes: 5067921349 ("panvk: Switch to vk_meta")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32044>
2024-11-09 00:48:47 +00:00
Chia-I Wu
879ec4270d panvk: fix dummy sampler handle for vs
When there is no dynamic buffer, create_copy_table early returns.  Make
sure dummy_sampler_handle is still set.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32018>
2024-11-07 17:35:12 +00:00
Chia-I Wu
7e737500bd panvk: fix missing same-subqueue wait for CmdWaitEvents2
CmdSetEvent2 does not call cs_wait_slots.  CmdWaitEvents2 should wait
for the syncobj even on the same subqueue.  To that goal, update
collect_cs_deps to not clear self from wait_subqueue_mask.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31997>
2024-11-07 17:15:12 +00:00
Mary Guillemard
125223b391 panvk: Ensure that render_info is not null in force_fb_preload
This fixes various crashes that I saw with occlusion query tests.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Fixes: ba2c7fd00a ("panvk: use force_fb_preload for unaligned preload")
Fixes: c108dfc930 ("panvk: force_fb_preload should insert a barrier")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32024>
2024-11-07 10:26:48 +00:00
Chia-I Wu
c108dfc930 panvk: force_fb_preload should insert a barrier
Preloading is effectively texel fetching.  When we force preloading, we
need to insert a barrier for the feedback loop.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31895>
2024-11-06 15:23:45 -08:00
Chia-I Wu
ba2c7fd00a panvk: use force_fb_preload for unaligned preload
Extend force_fb_preload to take an optional VkRenderingInfo.  When it is
non-NULL, this is the unaligned preload and force_fb_preload should
clear attachments.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31895>
2024-11-06 15:23:41 -08:00
Constantine Shablia
29db405c16 pan/bi: Lower nir_texop_txd to TEXC in GRDESC_DER mode followed by sampling TEXC
On v7-, use TEXC(op=GRDESC_DER) to convert user-provided gradient into a
gradient descriptor consumed by the hardware, and then supply that
descriptor to the TEXC instruction.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29521>
2024-11-05 11:20:21 +00:00
Constantine Shablia
52226d0e3f pan/va: Lower nir_texop_txd to TEX_GRADIENT with derivs followed by TEX_SINGLE
On v9+, use TEX_GRADIENT to convert user-provided gradient into a
gradient descriptor consumed by the hardware, and then supply that
descriptor to TEX_SINGLE.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29521>
2024-11-05 11:20:21 +00:00
Boris Brezillon
9199c25e5e pan/bi: Expose the packed TextureOperationDescriptor in bifrost_texture_operation
Rather than adding memcpy()s to a local u32 variable, add a union
to bifrost_texture_operation so we can directly access the packed
value.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29521>
2024-11-05 11:20:21 +00:00
Chia-I Wu
07ca1bbb05 panvk: expand meta stage and access flags
VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT is equivalent to the logical OR of:

 - VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT
 - VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT

VK_ACCESS_2_SHADER_READ_BIT is equivalent to the logical OR of:

 - VK_ACCESS_2_SHADER_SAMPLED_READ_BIT
 - VK_ACCESS_2_SHADER_STORAGE_READ_BIT

VK_ACCESS_2_SHADER_WRITE_BIT is equivalent to
VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31898>
2024-11-04 22:22:13 +00:00
Chia-I Wu
c61116a2a6 panvk: fix truncated access flags in collect_cs_deps
Use 64-bit VkAccessFlags2 instead of 32-bit VkAccessFlags.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31898>
2024-11-04 22:22:12 +00:00
Benjamin Lee
7ca01506c9 panvk: hack to improve depth clipping with small viewport depth range
Fixes 'dEQP-VK.draw.renderpass.inverted_depth_ranges.nodepthclamp_deltazero'.
This is an unfortunate fix, but it's not a situation that's likely to
come up in practice. The proprietary driver does something similar.

Signed-off-by: Benjamin Lee <benjamin.lee@collabora.com>
Co-authored-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31879>
2024-11-04 14:02:36 +00:00
Erik Faye-Lund
62622c6523 panvk: enable KHR_16bit_storage
This enables the 16bit storage extensions, with the
uniformAndStorageBuffer16BitAccess feature-bit.

This seems to already be implemented, so let's just expose it!

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31907>
2024-10-31 11:06:28 +00:00
Chia-I Wu
e474d4ebee panvk: add support for VK_KHR_timeline_semaphore
On panthor, VK_SYNC_FEATURE_TIMELINE is always supported.  On panfrost,
we can use vk_sync_timeline_get_type.

Note that there is a kernel issue regarding syncobj query that causes
dEQP-VK.synchronization.timeline_semaphore.wait.poll_signal_from_device
to time out when VK_SYNC_FEATURE_TIMELINE is set.  It is considered a
kernel bug and is not dealt with here.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31720>
2024-10-30 21:04:20 +00:00
Chia-I Wu
287a4f4701 panvk/jm: assert that the submit mode is not threaded
If the submit mode was VK_QUEUE_SUBMIT_MODE_THREADED, we would need to
call vk_common_QueueWaitIdle.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31720>
2024-10-30 21:04:20 +00:00
Chia-I Wu
60ade50d2d Revert "panvk: Set the submit mode to THREADED_ON_DEMAND"
This reverts commit aedb00ca08.
vk_device_init is able to set the submit mode correctly based on
vk_sync_type.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31720>
2024-10-30 21:04:20 +00:00
Chia-I Wu
d3eb432155 panvk: remove an incorrect assert in collect_cs_deps
src_stages_to_subqueue_sb_mask calls stages_cover_subqueue, but also has
a special case for VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31720>
2024-10-30 21:04:20 +00:00
Boris Brezillon
32ccec7450 pan/cs: Fix lazy allocation support
Commit 0e6aaab00a ("pan/cs: add block to handle registers backup in
exception handler") broke the lazy allocation case by checking the
current chunk capacity too early.

Fixes: 0e6aaab00a ("pan/cs: add block to handle registers backup in exception handler")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Tested-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com>
Tested-by: Rebecca Mckeever <rebecca.mckeever@collabora.com>
Reviewed-by: Benjamin Lee <benjamin.lee@collabora.com>
Tested-by: Benjamin Re <benjamin.lee@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31884>
2024-10-30 10:19:21 +00:00
Benjamin Lee
ffe68eb225 panvk: flush sync point before executing secondary cmdbufs
Secondary command buffers need seqno registers to hold the current value
at the start of command buffer execution in order to calculate correct
wait values.

Fixes: c2299b6642 ("panvk/csf: Implement vkCmdExecuteCommands")
Signed-off-by: Benjamin Lee <benjamin.lee@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31813>
2024-10-30 09:57:53 +00:00
Benjamin Lee
2b1ec1c35d panvk: allow resuming secondary cmdbufs with dynamic rendering
The removed assertion was originally added to enforce

> VUID-vkCmdExecuteCommands-pCommandBuffers-00100:
>  If vkCmdExecuteCommands is not being called within a render pass
>  instance, each element of pCommandBuffers must not have been recorded
>  with the VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT

However, if a render pass instance is entered with vkCmdBeginRendering,
vk_command_buffer::render_pass is unset.

Code change was done by Boris, only commit description was added.

Fixes: c2299b6642 ("panvk/csf: Implement vkCmdExecuteCommands")
Co-authored-by: Boris Brezillon <boris.brezillon@collabora.com>
Signed-off-by: Benjamin Lee <benjamin.lee@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31813>
2024-10-30 09:57:53 +00:00
Erik Faye-Lund
b63dab29f0 panvk: expose EXT_depth_clip_enable
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31886>
2024-10-30 09:55:56 +01:00
Erik Faye-Lund
e6174e6139 panvk/csf: respect depth-clip state
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31886>
2024-10-30 09:55:50 +01:00
Erik Faye-Lund
117283cdf8 panvk/jm: respect depth-clip state
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31886>
2024-10-30 09:55:43 +01:00
Erik Faye-Lund
0ebb1b737c panvk: drop duplicate dirty-test
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31886>
2024-10-30 09:55:17 +01:00
Chia-I Wu
cc1c663152 panvk: disable depth write when depth test is disabled
The spec says

  depthWriteEnable controls whether depth writes are enabled when
  depthTestEnable is VK_TRUE. Depth writes are always disabled when
  depthTestEnable is VK_FALSE.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-By: Benjamin Lee <benjamin.lee@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31878>
2024-10-29 18:08:03 +00:00
Benjamin Lee
e52a599eba panvk: fix combined image/sampler descriptor arrays
For combined image/sampler descriptors, each user-facing descriptor gets
two entries in the descriptor table. Indexes must be strided to account
for this.

Signed-off-by: Benjamin Lee <benjamin.lee@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31777>
2024-10-29 13:07:56 +00:00
Erik Faye-Lund
78f23bf295 panfrost: add an assert in render-target setup
This code isn't really wrong, but it makes some assumptions that are a
bit hard to grok. Let's thread a bit more carefully, by adding an assert
that hopefully clears things up a tad.

We area after all choosing in the range of RAW8 to RAW128.

CID: 1605056
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31767>
2024-10-29 10:13:16 +00:00
Erik Faye-Lund
a62e80ce11 panfrost: drop needless assign
We are overwriting l right after the conditional block, so let's just
drop this for simplicity.

CID: 1529404
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31767>
2024-10-29 10:13:16 +00:00
Erik Faye-Lund
8b619b2360 panvk/csf: only look at fs if it's required
If the FS isn't used, there's no reason to consult it. This was inspired
by a coverity report, which was technically wrong, but made me look
closer at the code.

CID: 1620442
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31767>
2024-10-29 10:13:16 +00:00
Erik Faye-Lund
712c11fc17 panvk: assert on missing vs
A vs is always required, and we already dereference it in this function
unconditionally. Let's add an assert to be sure, and drop the run-time
check here.

CID: 1620449
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31767>
2024-10-29 10:13:16 +00:00
Erik Faye-Lund
9ad9d9ac68 panvk: put conditional outside of define
While this is perfectly valid, stuffing the conditional into the define
makes us evaluate it over and over again, causing some warnings about
nonsensical compares with Coverity.

CID: 1618771
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31767>
2024-10-29 10:13:16 +00:00
Erik Faye-Lund
19fdfd6429 panvk: drop needless assert
The value can't be larger than 31 here anyway, due to the bitfield
width. So the assert is completely needless.

CID: 1633082
Fixes: b8bfbbdf66 ("panvk: check against texfeat_bit")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31767>
2024-10-29 10:13:16 +00:00
Erik Faye-Lund
103ad15ece panvk: avoid signed integer underflow
This is undefined behavior, let's use unsigned integer underflow
instead.

CID: 1605124
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31767>
2024-10-29 10:13:15 +00:00
Boris Brezillon
2cef9cd913 pan/desc: Fix the CRC validity update when clean tiles are not written
CRCs don't become valid if the GPU omits pushing clean tiles to memory.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31771>
2024-10-28 20:55:09 +00:00
Louis-Francis Ratté-Boulianne
05abdda27b panfrost: properly align CRC buffer size for prefetching
CRC values are prefetched in 32x32 regions so we need to round up
the framebuffer size to account for that.

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31771>
2024-10-28 20:55:09 +00:00
Louis-Francis Ratté-Boulianne
45810bfc9c panfrost: check the right discard property when selecting CRC target
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31771>
2024-10-28 20:55:08 +00:00
Louis-Francis Ratté-Boulianne
f1e3e68241 panfrost: add debug flag to enable extra CS checks
For now, the flag enables these checks for CSF-based GPUs:

   - registers are not used as a source after being loaded without a
      WAIT() in the middle
   - registers are not reused (used as a destination) after they
     served as a STORE() source without a WAIT() in the middle

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31174>
2024-10-28 20:31:21 +00:00
Louis-Francis Ratté-Boulianne
b519ae7336 pan/genxml: small fix to FINISH_FRAGMENT tracing
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31174>
2024-10-28 20:31:21 +00:00
Louis-Francis Ratté-Boulianne
90a722e312 pan/genxml: enable decoding for SET_EXCEPTION_HANDLER
Signed-off-by: antonino <antonino.maniscalco@collabora.com>
Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31174>
2024-10-28 20:31:21 +00:00
antonino
16815b5900 pan/genxml: fix SET_EXCEPTION_HANDLER instruction definition
Signed-off-by: antonino <antonino.maniscalco@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31174>
2024-10-28 20:31:21 +00:00
Louis-Francis Ratté-Boulianne
0e6aaab00a pan/cs: add block to handle registers backup in exception handler
It's gonna be used to save and restore registers content when an
exception handler is executed as to not interfere with normal
operation.

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31174>
2024-10-28 20:31:20 +00:00
Louis-Francis Ratté-Boulianne
e9e0153248 pan/cs: only flush block instrs if there is a pending if block
It is only needed for pending `if` block as it's the only block
we don't end normally and where instructions are only flushed when
we are certain that no `else` branch is gonna be added.

It also collide with scenarios where we want to add a preamble
before inserting a block.

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31174>
2024-10-28 20:31:20 +00:00
antonino
f98e01f0d2 pan/cs: add support for nop instruction
Signed-off-by: antonino <antonino.maniscalco@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31174>
2024-10-28 20:31:20 +00:00
Vignesh Raman
c3531d5fea ci: rename FORCE_KERNEL_TAG to EXTERNAL_KERNEL_TAG
FORCE_KERNEL_TAG allows testing kernel uprevs without rebuilding
containers by supplying an external kernel directly for booting on
hardware devices. Renaming it to EXTERNAL_KERNEL_TAG clarifies its
purpose, distinguishing it from KERNEL_TAG which rebuilds containers.

Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31795>
2024-10-28 02:18:27 +00:00
Samuel Pitoiset
38d7492391 ci: uprev VKCTS to 1.3.10.0
This tag contains tests for DGC EXT.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31789>
2024-10-25 14:03:37 +02:00
Chia-I Wu
5fea98c4a1 panvk: fix scissor box
Fix a typo in prepare_vp which causes incorrect scissor box with
non-zero X in viewport/scissor.

Fixes: 5544d39f44 ("panvk: Add a CSF backend for panvk_queue/cmd_buffer")
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31832>
2024-10-24 12:49:02 -07:00
Chia-I Wu
029b8b11a0 panvk: fix gl_VertexIndex
According to pandecode, r32 is global attribute offset and r36 is vertex
offset.  Follow panfrost to use r36 instead of r32 for both non-indexed
firstVertex and indexed vertexOffset.

With this, gl_VertexIndex stops being zero-based which is incorrect.

Fixes: 5544d39f44 ("panvk: Add a CSF backend for panvk_queue/cmd_buffer")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31810>
2024-10-24 18:19:48 +00:00
Erik Faye-Lund
23c34f89fc panvk: fix broken wsi
We don't need to bend over backwards to try to repair the consequences
of something that happened earlier when we can just prevent that from
happening in the first palce instead.

While we're at it, also move the cmd_dispatch initialization into the
conditional block, because that's only used by the secondary-buffer
emulation code.

This fixes WSI, because there's more differences than just secondary
command buffers between the device-level dispatch-table and the
cmd_dispatch table.

Fixes: c2299b6642 ("panvk/csf: Implement vkCmdExecuteCommands")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31819>
2024-10-24 15:33:59 +00:00
Yao Zi
5ffc5ba8ef panvk: Link with --build-id explicitly
panvk provides driver UUID generated from build id of the dynamic
library, but ld_args_build_id isn't used during linking. This leads to
broken drivers when building mesa with a toolchain defaults to
--no-build-id. Let's specify the flag explicitly.

Fixes: 8ea2931ed1 ("panvk: Generate proper device and driver UUIDs")
Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31654>
2024-10-24 12:09:16 +00:00
Daniel Schürmann
87cb42f953 treewide: don't lower to LCSSA before calling nir_divergence_analysis()
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30787>
2024-10-24 10:06:17 +00:00