Karol Herbst
4080269845
util/u_printf: do not double print format string with unused arugments
...
the CL CTS added a new test being printf("\n", "foo"), but we ended up
printing the new line twice. If we can't find a specifier anymore, ignore
the argument as after the loop processing all arguments we'll print the
remaining format string anyway.
Cc: mesa-stable
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30574 >
2024-08-12 18:49:01 +00:00
Rob Clark
f7830e0c80
freedreno/a6xx: Fix arb_texture_view regression
...
In particular if src and dst have FD6_UBWC_UNKNOWN_COMPAT we shouldn't
treat them as compatible.
Fixes: beb5577e12 ("freedreno: Extract out common UBWC helper")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11676
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30621 >
2024-08-12 17:31:27 +00:00
Valentine Burley
367191ff63
tu: Always report that we can present on kgsl
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8637
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9240
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9365
Fixes: 3e7f6c9aeb ("tu: implement wsi hook to decide if we can present directly on device")
Signed-off-by: Valentine Burley <valentine.burley@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29627 >
2024-08-12 16:00:37 +00:00
Valentine Burley
47289ebc8d
vulkan/wsi: Refactor can_present_on_device
...
Make wsi_device_matches_drm_fd() a default helper that PCI based GPUs plug in to
wsi_dev->can_present_on_device. This is needed for devices without libdrm, where
wsi_device_matches_drm_fd was still being called causing an "undefined reference"
build error.
Suggested-by: Rob Clark <robdclark@chromium.org>
Fixes: baa38c144f ("vulkan/wsi: Use VK_EXT_pci_bus_info for DRM fd matching")
Reviewed-by: Mark Collins <mark@igalia.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Signed-off-by: Valentine Burley <valentine.burley@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29627 >
2024-08-12 16:00:37 +00:00
Thomas H.P. Andersen
37d0cdc36f
nak: special case PhiDsts as not uniform
...
Fixes: ab72be6c5e ("nak,compiler: Move AsSlice to common code")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30607 >
2024-08-12 15:34:50 +00:00
Mike Blumenkrantz
c8c46bf900
egl: fix fd passing on init with zink
...
this should be passed with gbm but not for any other display type
Fixes: 5ab29555cf ("egl/x11: pass render fd to screen create for zink")
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30588 >
2024-08-12 14:58:05 +00:00
Mike Blumenkrantz
d120992e1a
egl/wayland: bail on zink init in non-sw mode if extension check fails
...
cc: mesa-stable
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30479 >
2024-08-12 13:02:20 +00:00
Icenowy Zheng
4e777bb19b
zink: do not expose quad support when no geometry shader
...
The emulation of quads implemented in Zink utilizes geometry shaders,
but currently the enablement of it is only guarded by the support of
triangle strips.
Add geometry shaders to the condition to enable it either too.
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30608 >
2024-08-12 12:37:24 +00:00
Sergi Blanch Torne
e5291e1a22
Revert "ci: disable Collabora's farm due to maintenance"
...
This reverts commit 9d0491c12b .
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30609 >
2024-08-12 11:36:12 +00:00
Georg Lehmann
dedfff9dbf
aco: only set latekill in live_var_analysis
...
Cleaner to have this all in one place, in my opinion.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30368 >
2024-08-12 10:31:09 +00:00
Georg Lehmann
510f5e55be
aco/gfx10+: set lateKill for sgprs used by wave64 VALU writing a mask
...
RDNA2 ISA doc, 6.2.4. Wave64 Destination Restrictions:
The first pass of a wave64 VALU instruction may not overwrite a scalar value
used by the second half.
Foz-DB Navi31:
Totals from 5221 (6.58% of 79395) affected shaders:
Instrs: 9751484 -> 9752179 (+0.01%); split: -0.01%, +0.01%
CodeSize: 50624072 -> 50626088 (+0.00%); split: -0.00%, +0.01%
Latency: 85646450 -> 85647419 (+0.00%); split: -0.00%, +0.00%
InvThroughput: 15039160 -> 15039277 (+0.00%); split: -0.00%, +0.00%
VClause: 200275 -> 200204 (-0.04%)
SClause: 248645 -> 248607 (-0.02%); split: -0.03%, +0.01%
Copies: 640802 -> 641413 (+0.10%); split: -0.01%, +0.11%
PreSGPRs: 236297 -> 236735 (+0.19%)
VALU: 5666449 -> 5666440 (-0.00%)
SALU: 967482 -> 968111 (+0.07%); split: -0.01%, +0.07%
Cc: mesa-stable
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30368 >
2024-08-12 10:31:09 +00:00
Sergi Blanch Torne
9d0491c12b
ci: disable Collabora's farm due to maintenance
...
Planned downtime in the farm:
* Start: 2024-08-12 07:00 UTC
* End: 2024-08-12 13:00 UTC
Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30533 >
2024-08-12 06:10:34 +00:00
Timothy Arceri
3da4b5eaa5
glsl: always copy bindless sampler packing constructors to a temp
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11648
Fixes: 3cdcc5f02f ("glsl: implement ARB_bindless_texture conversions")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30586 >
2024-08-12 00:39:19 +00:00
Faith Ekstrand
c43d94a853
nvk: Invalidate MME data for descriptor buffers
...
Our cbuf optimization may pull UBO descriptors straight out of
client-owned descriptor buffers which may have been written from a
compute shader or similar. We need to stall the command processor if we
ever get a barrier from anything to DESCRIPTOR_BUFFER_READ_BIT.
Fixes: c5b752cea0c9 ("nvk: Advertise VK_EXT_descriptor_buffer")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30601 >
2024-08-11 09:49:01 -05:00
Konstantin Seurer
2808419f96
gallivm: Skip inactive branches
...
Improves performance of shaders with a lot of control flow.
Reviewed-by: Roland Scheidegger <roland.scheidegger@broadcom.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30347 >
2024-08-11 07:19:07 +00:00
Konstantin Seurer
b35ff07fc1
gallivm: Use variables for loop exec mask handling
...
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30347 >
2024-08-11 07:19:07 +00:00
Rob Clark
5f8016f88a
tu: Quiet vla warnings
...
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30452 >
2024-08-10 16:25:30 +00:00
Rob Clark
c9fe3e189b
freedreno/registers: Deprecate non-variant reg builders
...
For registers with variants, mark the legacy (non-variant) builders as
deprecated to help avoid using the wrong one.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30452 >
2024-08-10 16:25:30 +00:00
Rob Clark
75e0290e42
tu: Use CHIP variant reg builders
...
Avoid using the non-variant builders for regs that differ btwn
generations. This will become deprecated.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30452 >
2024-08-10 16:25:30 +00:00
Rob Clark
47468554d9
tu: Add helper to calculate layer address
...
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30452 >
2024-08-10 16:25:30 +00:00
Rob Clark
9f433a32cc
freedreno/computerator: Use CHIP variant reg builders
...
Avoid using the non-variant builders for regs that differ btwn
generations. This will become deprecated.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30452 >
2024-08-10 16:25:30 +00:00
Alyssa Rosenzweig
16cadc04f3
nir/opt_reassociate_bfi: use alu_pass
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30582 >
2024-08-10 13:40:21 +00:00
Alyssa Rosenzweig
2643b3cfbf
nir/lower_packing: use alu_pass
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30582 >
2024-08-10 13:40:21 +00:00
Alyssa Rosenzweig
6e39379183
nir/opt_idiv_const: use alu_pass
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30582 >
2024-08-10 13:40:21 +00:00
Alyssa Rosenzweig
b6daa35d9d
nir/scale_fdiv: use alu_pass
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30582 >
2024-08-10 13:40:21 +00:00
Alyssa Rosenzweig
d2780d871b
nir/lower_alu: use alu_pass
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30582 >
2024-08-10 13:40:21 +00:00
Alyssa Rosenzweig
9b07550908
treewide: use nir_shader_alu_pass
...
@def@
typedef bool;
typedef nir_builder;
typedef nir_instr;
typedef nir_def;
identifier fn, instr, intr, x, builder, data;
@@
static fn(nir_builder* builder,
-nir_instr *instr,
+nir_alu_instr *intr,
...)
{
(
- if (instr->type != nir_instr_type_alu)
- return false;
- nir_alu_instr *intr = nir_instr_as_alu(instr);
|
- nir_alu_instr *intr = nir_instr_as_alu(instr);
- if (instr->type != nir_instr_type_alu)
- return false;
)
<...
(
-instr->x
+intr->instr.x
|
-instr
+&intr->instr
)
...>
}
@pass depends on def@
identifier def.fn;
expression shader, progress;
@@
(
-nir_shader_instructions_pass(shader, fn,
+nir_shader_alu_pass(shader, fn,
...)
|
-NIR_PASS_V(shader, nir_shader_instructions_pass, fn,
+NIR_PASS_V(shader, nir_shader_alu_pass, fn,
...)
|
-NIR_PASS(progress, shader, nir_shader_instructions_pass, fn,
+NIR_PASS(progress, shader, nir_shader_alu_pass, fn,
...)
)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30582 >
2024-08-10 13:40:21 +00:00
Alyssa Rosenzweig
cc1f092b62
nir: add nir_shader_alu_pass
...
after the smashing success of nir_shader_intrinsics_pass, let's add the ALU
version to help the odd non-algebraic ALU lowering pass.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30582 >
2024-08-10 13:40:21 +00:00
Collabora's Gfx CI Team
d330870f9c
Uprev Piglit to f11abb664bfcad09586f32f411b90331e23be2e5
...
0453436872...f11abb664b
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30597 >
2024-08-10 07:39:41 +00:00
David Heidelberg
d0420c0990
ci/alpine: libclc on Alpine offering necessary targets spirv-mesa3d-;spirv64-mesa3d-
...
No need for any Debian specific hacks.
Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30482 >
2024-08-10 15:13:33 +09:00
David Heidelberg
6d09671b67
ci/alpine: enable ORCJIT
...
Recommended for LLVM 18+, let's test it on Alpine builds.
Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30482 >
2024-08-10 15:13:33 +09:00
David Heidelberg
9cec4aec09
ci/alpine: use packaged spirv-llvm-translator-dev
...
Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30482 >
2024-08-10 15:13:33 +09:00
David Heidelberg
09f8df82c8
ci/alpine: build test with LLVM 18
...
Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30482 >
2024-08-10 15:13:33 +09:00
David Heidelberg
34753cefd8
ci/alpine: use llvm variables
...
Fixes: da391650f5 ("ci: build a host version of mesa for cross builds")
Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30482 >
2024-08-10 15:13:33 +09:00
David Heidelberg
bda1a0596e
meson/addrlib: allow unintialized callbacks
...
Resolves:
[328/4125] Compiling C++ object src/amd/addrlib/libaddrlib.a.p/src_core_addrlib1.cpp.o
In static member function 'static VOID Addr::Object::ClientFree(VOID*, const Addr::Client*)',
inlined from 'static VOID Addr::Object::operator delete(VOID*)' at ../src/amd/addrlib/src/core/addrobject.cpp:190:15,
inlined from 'virtual Addr::Object::~Object()' at ../src/amd/addrlib/src/core/addrobject.cpp:71:1:
../src/amd/addrlib/src/core/addrobject.cpp:129:28: error: '*(const Addr::Client*)((char*)this + 8).Addr::Client::callbacks._ADDR_CALLBACKS::freeSysMem' is used uninitialized [-Werror=uninitialized]
129 | if (pClient->callbacks.freeSysMem != NULL)
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11634
Suggested-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30482 >
2024-08-10 15:13:33 +09:00
David Heidelberg
9c8e75e256
llvmpipe: Silence "possibly uninitialized value" warning for ssbo_limit (cont)
...
Fixes: ce611935df ("llvmpipe: Silence "possibly uninitialized value" warning for ssbo_limit.")
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30482 >
2024-08-10 15:13:32 +09:00
Marek Olšák
07554d32db
ac/nir: adjust gfx11 tuning for the compute blit
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30208 >
2024-08-10 02:14:44 +00:00
Marek Olšák
db7823e8b9
ac/nir: adjust performance-related decisions for clear/copy_buffer shader
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30208 >
2024-08-10 02:14:44 +00:00
Marek Olšák
361266fec7
ac/nir: import the clear/copy_buffer compute shader from radeonsi
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30208 >
2024-08-10 02:14:44 +00:00
Marek Olšák
e41fec7812
radeonsi: align waves to 256B clear/copy area for the clear/copy_buffer shader
...
This is about 10% faster in certain unaligned cases.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30208 >
2024-08-10 02:14:44 +00:00
Marek Olšák
2f9201e91b
radeonsi: implement optimized unaligned clear/copy_buffer compute shader
...
This totally beats CP DMA on Navi31.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30208 >
2024-08-10 02:14:44 +00:00
Marek Olšák
fa85b4b49e
radeonsi: minor changes at the beginning of si_compute_clear_copy_buffer
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30208 >
2024-08-10 02:14:44 +00:00
Marek Olšák
4d78052321
radeonsi: add correctness tests for the clear/copy_buffer compute shader
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30208 >
2024-08-10 02:14:44 +00:00
Marek Olšák
a48a376bc5
radeonsi: test more alignment cases in si_test_dma_perf
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30208 >
2024-08-10 02:14:44 +00:00
Marek Olšák
fa53a23031
radeonsi: reject insert/extract opcodes in si_vectorize_callback
...
The vector variants are not implemented by ac_nir_to_llvm.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30208 >
2024-08-10 02:14:44 +00:00
Marek Olšák
d34a450098
util: move util_lower_clearsize_to_dword here
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30208 >
2024-08-10 02:14:44 +00:00
Marek Olšák
1d66acf993
nir: add ACCESS_KEEP_SCALAR, preventing vectorization
...
The comment explains the reason.
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30208 >
2024-08-10 02:14:44 +00:00
Faith Ekstrand
3f1c3f04be
nvk: Advertise VK_EXT_descriptor_buffer
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30580 >
2024-08-10 00:42:59 +00:00
Faith Ekstrand
0f8f407e57
zink: Align descriptor buffers to descriptorBufferOffsetAlignment
...
Instead of aligning offsets, we just align the size every time we query
it. This simplifies our offset and size calculations later since we can
always just add up descriptor buffer sizes and know that we'll be okay.
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Fixes: 7ab5c5d36d ("zink: use EXT_descriptor_buffer with ZINK_DESCRIPTORS=db")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30580 >
2024-08-10 00:42:59 +00:00
Faith Ekstrand
fdf580bf74
nvk: Add support for embedded immutable samplers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30580 >
2024-08-10 00:42:59 +00:00