Commit graph

5471 commits

Author SHA1 Message Date
Mary Guillemard
83bc9bb1af pan/kmod: Add priority query uapi support
This adds support for the new DEV_QUERY_GROUP_PRIORITIES_INFO query from
panthor to report and will be used to report appropriate priority mask
in the Gallium driver.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30991>
2024-09-26 10:21:19 +00:00
Eric R. Smith
ef2bb4728f panvk: Support blend shaders for alpha_to_one_enable
As in OpenGL, if alpha-to-one is required for Vulkan generate a
blend shader for it (since the hardware does not support alpha_to_one
natively).

Signed-off-by: Eric R. Smith <eric.smith@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31194>
2024-09-26 02:25:28 +00:00
Eric R. Smith
008a17da60 panfrost: fix SAMPLE_ALPHA_TO_ONE
When SAMPLE_ALPHA_TO_ONE is enabled we need to use a blend shader, as
the BlendDescriptor.alpha_to_one bit is deprecated (does not work)
on bifrost and valhall.

In order to generate the appopriate blend shader code, we must put the
alpha_to_one status into pan_blend_state.

Signed-off-by: Eric R. Smith <eric.smith@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31194>
2024-09-26 02:25:28 +00:00
Lars-Ivar Hesselberg Simonsen
1f3b8bb918 panvk: Add support for Draw[Indexed]Indirect
Adds support for limited Draw[Indexed]Indirect. MultiDrawIndirect and
DrawIndirect + layers are still not supported and will just hit an
assert for now.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11887
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31314>
2024-09-25 17:23:31 +00:00
Lars-Ivar Hesselberg Simonsen
ec2222f7a6 panvk: Split panvk_cmd_draw into prepare_draw
To prepare for adding draw_indirect, move shared parts into a separate
function called prepare_draw.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31314>
2024-09-25 17:23:31 +00:00
Lars-Ivar Hesselberg Simonsen
1fa364bfe3 panvk: Add get_tiler_idvs_flags
To prepare for factoring out a larger part of panvk_cmd_draw to a
separate prepare function, move tiler idvs flag calculation to a
separate function.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31314>
2024-09-25 17:23:30 +00:00
Lars-Ivar Hesselberg Simonsen
fb67fc6d08 panvk: Only set index buffer size for DrawIndexed
There is no need to update the index_array_size register unless the draw
is indexed and the index buffer has changed. For non-indexed draws, this
field is not read.

To achieve this, add a new function prepare_index_buffer that updates
both the size and the pointer registers in case the state is dirty.

As this decouples the index buffer size register from the drawcall, set
the full index buffer size.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31314>
2024-09-25 17:23:30 +00:00
Lars-Ivar Hesselberg Simonsen
9da908838a panvk: Use the passed Vertex Attribute divisor
MALI_ATTRIBUTE_FREQUENCY_INSTANCE allows us to use the passed vertex
attribute divisor directly without having to multiply it by vertex
count.

This decouples the vertex attribute building from drawcalls.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31314>
2024-09-25 17:23:30 +00:00
Lars-Ivar Hesselberg Simonsen
0b11d1a96f panvk: Map device memory for PANVK_DEBUG=trace
This allows us to trace applications that use device memory for
LOAD_MULTIPLE operations.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31314>
2024-09-25 17:23:30 +00:00
Mary Guillemard
8318bef289 panvk/ci: Make panfrost-g52-vk run at premerge
This is stable and only take 20 min max currently.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31340>
2024-09-25 11:05:52 +00:00
Mary Guillemard
2f54228da5 panvk/ci: Update to run full CTS on G52
A full CTS run currently takes around 4 hours.

As we are allocating 4 runners to stay in a 45 min budget,
let's have a 8 fraction (that should be around 30 min)

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31340>
2024-09-25 11:05:52 +00:00
Mary Guillemard
131d2745c4 panvk/ci: Update Mali-G52 status with full VKCTS
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31340>
2024-09-25 11:05:52 +00:00
Timothy Arceri
c1b97415fa ci: disable gimark trace
gimark requires a mesa environment variable to be set to work around
a shader bug, disable it for now.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31353>
2024-09-25 09:25:52 +10:00
Eric R. Smith
466df904b7 panfrost: Add back A8_UNORM format for valhall
If A8_UNORM isn't specified in the format table, then it is emulated
in the state tracker by RGBA8. This is suboptimal, both because it requires
more memory, and because the blit gets more complicated (and in fact there's
a bug currently in the blit code where we don't mask properly for GL_ALPHA).
Fix this by adding an explicit A8_UNORM format entry.

Fixes piglit test ext_framebuffer_multisample-blit-mismatched-formats.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31322>
2024-09-23 21:35:15 +00:00
Boris Brezillon
dc1a7b94a8 pan/va: Fix nir_op_pack_uvec4_to_uint
We don't have a generic v4i8 on Valhall, we have to lower it to two
v2i8. Fortunately, bi_make_vec_to() hides the Bifrost/Valhall
differences, so use that for nir_op_pack_uvec4_to_uint.

Fixes: 934b0f1add ("pan/bi: Respect swizzles for more vector ops")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Eric R. Smith <eric.smith@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31280>
2024-09-23 16:22:49 +00:00
Boris Brezillon
22841babee panvk: Protect access to the virtual address heap
Device memory can be allocated from different threads and thus requires
locking when allocating/freeing virtual addresses.

Fixes: 53fb1d99ca ("panvk: Transition to explicit VA assignment on v10+")
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/31282>
2024-09-23 17:29:12 +02:00
Eric R. Smith
fd11bbbb90 panfrost: print human readable versions of some swizzle fields
In traces produced with PAN_MESA_DEBUG, print swizzles in human readable
form (like BGRA) as well as the raw decimal format we were printing
before. This is purely a convenience feature for developers.

Reviewed-by: Boris Brezilllon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31242>
2024-09-21 09:18:55 -03:00
Boris Brezillon
157a4dc509 panvk/csf: Fix multi-layer rendering
We assumed a tiler descriptor could handle 256 layers at a time, but
it's actually limited to 8 on v10, so let's adjust the code to take
that into account.

Fixes: 5544d39f44 ("panvk: Add a CSF backend for panvk_queue/cmd_buffer")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11882
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>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31227>
2024-09-20 18:21:50 +00:00
Boris Brezillon
dbfaf15bc1 pan/genxml: Fix layer_offset definition on v9+
The layer offset is a 9-bit signed integer, not an 8-bit unsigned.

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>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31227>
2024-09-20 18:21:50 +00:00
Boris Brezillon
8822f5949c pan/desc: Add layer_offset field to pan_tiler_context::valhall
Compared to Bifrost, Valhall slightly improved layered rendering in
that you no longer need one IDVS job per layer. But they didn't quite
unleash things, because tiler descriptors still have a limited amount
of layers they can deal with, forcing us to emit more than one IDVS/tiler
descriptor per draw call if the number of layer exceeds this limit.

In order to specify where the starting point, a
{layer_offset,internal_layer_index} field has been added, so we need to
extend pan_tiler_context to pass this information and let the common
logic adjust the framebuffer internal_layer_index accordingly.

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>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31227>
2024-09-20 18:21:50 +00:00
Boris Brezillon
6224a1e4d1 pan/decode: Interpret CS_BRANCH instructions
panvk uses loops and conditional blocks. We need to follow these
conditional branches if we want to dump the right amount of jobs.

Following branching has the annoying side effect of repeating
instructions, so we probably want to dump the CS and jobs separately
at some point, but that's good enough for now.

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>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31227>
2024-09-20 18:21:50 +00:00
Boris Brezillon
1e0c502a77 panfrost: Don't turn 3D/cube images into 2D arrays
Instead of special-casing 3D image handling in the gallium driver, use
the actual image type and extend the compiler to deal with cube/3D
image coordinates.

This fixes panvk without resorting to the image type casting that was
in place in the gallium driver.

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>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31227>
2024-09-20 18:21:50 +00:00
Boris Brezillon
15f18c862f panvk: Hook up descriptor array bounds checking
The clamping on the array index was already implemented, but
lower_desc_ctx::add_bounds_checks was always false. Set it based on
the robustness state we're being passed.

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/31251>
2024-09-20 09:12:42 +00:00
Boris Brezillon
0872c65f13 panvk: Pass the robustness state to nir_lower_descriptors()
Pass the robustness state to nir_lower_descriptors() instead of using
the default robustness set at device creation time.

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/31251>
2024-09-20 09:12:42 +00:00
Boris Brezillon
e4613f8b23 panvk: Lower get_ssbo_size() on Valhall
On Valhall, the nir_lower_explicit_io(ssbo) pass can add
get_ssbo_size() intrinsics. Make sure those are lowered to load_ubo()s
on the targeted buffer 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/31248>
2024-09-20 08:30:12 +00:00
Boris Brezillon
e5ba60ca86 panvk: Use nir_metadata_control_flow
Replace nir_metadata_block_index | nir_metadata_dominance by
nir_metadata_control_flow.

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/31248>
2024-09-20 08:30:12 +00:00
Boris Brezillon
ae9df204e9 panvk/csf: Fix TLS pointer copy
The source/destination was inverted. While at it, make this copy
conditional on tlsinfo.tls.size > 0.

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/31248>
2024-09-20 08:30:12 +00:00
Boris Brezillon
28e4d22497 panvk/csf: Pass a non-zero flush-id to benefit from cache flush reduction
The cache flush reduction mechanism relies on the flush ID to
conditionally eliminate cache flush requests if another cache flush
happened between the time the flush ID was retrieved and the time
the flush operation happens.

Store the current flush ID at EndCommandBuffer() time, and pass it
back to the submit ioctl().

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/31230>
2024-09-20 07:59:48 +00:00
Boris Brezillon
73f7020ade panvk/csf: Replace a cs_while() by a cs_if()
The cs_while() in cs_render_desc_ringbuf_move_ptr() was never meant to
be a while() loop, but we didn't have a cs_if() helper back then.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31205>
2024-09-20 07:25:03 +00:00
Boris Brezillon
741f6b9e5a pan/cs: Add helpers for if/else blocks
The logic is a bit more involved than with other blocks to keep
cs_if/else() declaration consistent with the rest. This forces us to
keep track of the last end_if() so we can flush it if the next CS
[pseudo-]instruction is not a cs_else().

These changes require quite a bit of code motion to avoid forward
declarations.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31205>
2024-09-20 07:25:03 +00:00
Boris Brezillon
944ee9e088 pan/cs: Don't use a list for our block stack
We don't need a double-linked list to manage our block stack. Use a
single-link list instead, which simplifies things a bit and hopefully
lets the compiler optimize things a bit more.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31205>
2024-09-20 07:25:03 +00:00
Boris Brezillon
c0455249ea pan/cs: Drop the cs_builder::blocks::cur field
The current block is just the top of the stack, so let's just provide
an helper that returns the current block and drop the cur field.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31205>
2024-09-20 07:25:03 +00:00
Boris Brezillon
79ff741104 pan/cs: Pass the block to end to cs_block_end()
This allows us to check that the block to end is at the top of the
stack.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31205>
2024-09-20 07:25:03 +00:00
Boris Brezillon
e6ba99deda pan/cs: Make the CS loop helpers more robust
Always pass the loop object around so we can check that the current
block is the loop block, and provide syntactic sugor for unconditional
continue/break statements.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31205>
2024-09-20 07:25:03 +00:00
Boris Brezillon
7e322396aa pan/cs: Make sure cs_alloc_ins() is never passed num_instrs=0
If zero instructions are requested, we should return NULL, but there's
no good reason to accept this case in the first place, so let's assert
that num_instrs > 0 instead.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31205>
2024-09-20 07:25:03 +00:00
Boris Brezillon
df1088e16f pan/cs: Make sure we don't overflow the chunk capacity
assert that a block is no bigger than a chunk allocated by
::alloc_buffer().

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31205>
2024-09-20 07:25:02 +00:00
Boris Brezillon
bdd1335e4f pan/cs: Fix buffer overflow in cs_block_end()
If cs_alloc_ins() fails, it returns a dummy instruction slot, which can
only hold one instruction. Make sure we skip the memcpy() if the CS
is invalid to avoid a buffer overflow.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31205>
2024-09-20 07:25:02 +00:00
David Heidelberg
e1a53d41c9 ci/panfrost: update rock-5b from rc5 to rc7
Acked-by: Vignesh Raman <vignesh.raman@collabora.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31260>
2024-09-20 12:17:37 +09:00
David Heidelberg
22db4971d9 ci/panfrost: update furmark checksum for T860 traces
Reviewed-by: Vignesh Raman <vignesh.raman@collabora.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31260>
2024-09-20 12:17:34 +09:00
David Heidelberg
bff63e1ed2 ci/panfrost: switch to 6.11 with timestamp patches for traces
Timestamp implementation is now available when switching to the Linux 6.11 + patches,
so traces requiring timestamp feature works again properly.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11912
Reviewed-by: Vignesh Raman <vignesh.raman@collabora.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31260>
2024-09-20 12:17:15 +09:00
David Heidelberg
0fd96dcf17 ci/panfrost: Implement basic nightly OpenCL testing on T860
Acked-by: Eric R. Smith <eric.smith@collabora.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30963>
2024-09-19 22:09:14 +00:00
David Heidelberg
de230c4c07 panfrost/midgard: Lower *hadd instructions
Fixes multiple piglit tests, except (u)long/char hadd,
which now fails instead of crashing.

Acked-by: Eric R. Smith <eric.smith@collabora.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30963>
2024-09-19 22:09:14 +00:00
David Heidelberg
45af8ddf91 panfrost/midgard: Lower fisnormal
Fixes piglit:
program@execute@builtin@builtin-float-isnormal-1.0.generated

Acked-by: Eric R. Smith <eric.smith@collabora.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30963>
2024-09-19 22:09:14 +00:00
David Heidelberg
2137c62923 panfrost/midgard: Support 64bit pack/unpack
Needed for OpenCL support through Rusticl.

Acked-by: Eric R. Smith <eric.smith@collabora.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30963>
2024-09-19 22:09:14 +00:00
David Heidelberg
7a0838ebb1 panfrost/midgard: Implement nir_lower_mem_access_bit_sizes pass
Needed for OpenCL support through Rusticl.

Acked-by: Eric R. Smith <eric.smith@collabora.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30963>
2024-09-19 22:09:14 +00:00
Sergi Blanch Torne
213f5e9152 Uprev Piglit to e9ab30aeaed97b69868cf4d6d6a3f70f3b53c362
93b4bd2e0a...e9ab30aeae

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Reviewed-by: David Heidelberg <david@ixit.cz>
Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31058>
2024-09-19 15:41:32 +00:00
Erik Faye-Lund
cdef6cfa8c panvk: error-check get_fb_descs calls
These calls were missing error-handling, but all the pieces to do so are
already in place. Let's report the errors as appropriate.

Fixes: 5544d39f44 ("panvk: Add a CSF backend for panvk_queue/cmd_buffer")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31216>
2024-09-18 18:53:25 +00:00
Erik Faye-Lund
1cc4a23a46 panvk: drop unused define
This is unused since ac34183ec3 ("panvk: Move the VkPhysicalDevice logic
to panvk_physical_device.{c,h}"), let's remove the define.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31216>
2024-09-18 18:53:25 +00:00
Erik Faye-Lund
bd18ea5fcb panvk: remove out-of-date detail
This is no longer r62, it's r90. But we don't need to be explicit about
it, so let's be a bit more vague in the comment here.

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31216>
2024-09-18 18:53:25 +00:00
Lars-Ivar Hesselberg Simonsen
d63da63f3f panvk: Fix use of cs_sync64_wait in cmd_wait_event
The sync objects used by events are of type panvk_cs_sync32, making this
mismatch hit an assert in cs_to_reg_tuple.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11886
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31221>
2024-09-18 17:08:48 +00:00