For getting clc_helpers.cpp can be compiled with gcc/mingw
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36597>
Emits two triangles per node whenever possible. The nir code will
revisit the triangle node to handle the second triangle only if both
triangles are interescted by the ray.
Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35734>
This makes cleanup a little more robust. I'm not sure it's strictly
needed as the kernel will probably just error in that case but it's
probably safer to not call destroy on something that isn't registered or
is already destroyed.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36641>
Some of the headers (video is a particularly egregious culprit) wrap
defined values in parens, even when they don't need to be. This changes
the parser to up-front strip all outer pairs of parens to get us down to
the original value.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36641>
Fixes some dEQP-VK.wsi.display.* issues on platforms that don't
support said properties following their addition in !35461.
Fixes: b4176393a0 ("wsi/display: Implement VK_EXT_hdr_metadata on KHR_display swapchain")
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36607>
The hardware already checks that any subchannel that we use is valid,
but those error messages don't provide much context and can be hard to
debug. Add an assert in nv_push that the subchannel we're using has
been allocated. This way, we can pinpoint exactly where the incorrect
method was used by looking at the stack trace.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36651>
The only reason why this did not crash until now is because NVKMD_ENGINE_3D
and NVKMD_ENGINE_COMPUTE are always set in the only queue we returned.
With the addition of a video queue, where no state must be submitted, the logic
would try to push an empty push_buffer. This is wrong and the first place where
it fails is when it tries to allocate a BO of size 0 for the push data.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36651>
rustc-hash 1.1 does not have FxBuildHasher, and 1.2 has been yanked from
crates.io. I've verified that version 2.0 builds and seems to work, so
set the required version as 2.0.
Fixes: c1f979d84a ("nak: Add a dependency on rustc-hash")
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36650>
The sm8350-hdk devices in the Collabora lab are experiencing power
issues: most are unable to boot via the barrel jack and only receive
power over the USB-C port, which is also used for fastboot.
Out of 9 devices, only 4 are currently operational. To reduce the load
on the remaining devices, move the 3 a660-gl-cl jobs to nightly.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36623>
That pass tries to remove blocks that are not needed:
blocks with only 1 predecessor and 1 successor containing no
instruction or only 1 branch instruction.
Also remove unnecessary branch at the end of block with only 1
successor which is the next block
Run this pass at the end of the compiler flow once all optimisations
have been applied.
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36021>
Use bi_make_vec_to to allow to use only 1 MKVEC.v2i8 when possible.
Also add support for all swizzles instead of only mono-byte ones,
using bi_swizzle_to_byte_channels.
Update assert in bi_byte.
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35643>
When making a vector of 4 elements, try to make it with only 1
instruction instead of 2 at the moment, if the last 2 elements respect
the pattern supported by MKVEC.v2i8
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35643>
fixes a bunch of OpenCL CTS including test_basic vload_private due to failing
to relower the derefs but also lol.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Backport-to: 25.1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36631>
If a meta operation (like a blit or clear) happens while occlusion
queries are active, we temporarily disable the query. Unfortunately
the code for this did not clear out the `syncobj` field. In rare
combinations of circumstances this could cause an attempt to issue
a write back of the occlusion query values, and since we've zeroed
the `ptr` field it writes to a NULL value, causing a bus fault and
device lost error.
Fixes: 61534faf4e ("panvk: Wire occlusion queries to internals")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36525>