Commit graph

181443 commits

Author SHA1 Message Date
Caio Oliveira
d9e49ce194 intel/compiler: Fix memory leaks in intel_clc
Avoids failures when using Address Sanitizer.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26458>
2023-12-05 11:48:25 +00:00
Caio Oliveira
db9111bb87 intel/compiler: Use single variable instead of dynarray
A previous change concatenated multiple SPIR-V inputs to be
compiled together, so we have a single clc_binary to work on.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26458>
2023-12-05 11:48:25 +00:00
Caio Oliveira
73276c1ece intel/compiler: Refactor program exit in intel_clc
Move the clean up code (at the moment just ralloc_ctx) into
a single place at the end.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26458>
2023-12-05 11:48:25 +00:00
Faith Ekstrand
1d10de539c nvk: Implement VK_EXT_shader_image_atomic_int64
The compiler work is done but we still need to advertise formats and
deal with clears.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9647
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
0ad77cbf98 nvk: Don't disable non-texturable formats
We're about to add int64 formats and those aren't texturable but you can
use them as storage images.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
7f1dc665ef nil: Add R64_SINT and R64_UINT formats
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
c190c54c30 nak: Handle 64-bit image atomics
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
62ff051139 nak: Lower 64-bit image load/store
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
1e2f9ab771 nak/nir: Trim image load/stores based on format
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
9b60a1c00e nvk: Advertise VK_KHR_shader_atomic_int64
Everything should be mostly wired up. Shared atomics don't seem to work,
though, for some reason.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9603
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
c05ad7904f nvk: Advertise KHR_shader_subgroup_extended_types
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9607
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
a975c51d5b nak/nir: Handle non-32-bit data in lower_scan_reduce
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
2655607983 nvk: Advertise VK_EXT_shader_subgroup_ballot/vote
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
3bded00831 nvk: Advertise shaderInt64
We enable the lowering so everything should work.  If there's bugs,
we'll fix them.  There's more work to do to implement it efficiently, of
course, but it should work.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9662
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
56a6486599 nak/nir: Don't lower 64-bit conversions
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
39db9cf0a7 nak: Implement b2i64
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
943eae018b nak: Fix encoding of 64-bit F2I, I2F, and F2F
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
16e55dc7d5 nak: Use the right source types for I2F, F2I, and F2F
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
d621f2ccfd nak: Don't ask NIR to lower [iu]mul64_2x32
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
d2cec80768 nak: Implement 64-bit comparisons
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
8747a25d65 nak: Rework printing of comparisons
As with the memory modifiers, put the . on the modifier rather than
having to do it as part of the print itself.  Also, add printing of
accumulators but only if it's not a trivial accumulation.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
9c1eade3eb nak: Lower isign in NIR
The NIR lowering just clamps to [-1, 1] which should turn into two IMnMx
as opposed to the 4 instructions we're emitting now.  We can maybe do
better than the NIR lowering for 64-bit but that seems unnecessary.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
12acb2ef62 nak: Natively implement 64-bit shifts
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
a52e46406b nak: Implement 64-bit ineg
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:51 +00:00
Faith Ekstrand
7db3cc7502 nak/nir: Don't use nir_lower_bit_size on 64-bit values
It works by casting values to a larger type and doing the operation
there so it makes no sense to use it for 64-bit values.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:50 +00:00
Faith Ekstrand
af94989085 nak: Set .64/.32 on CSSR as needed
Fixes: 46d489fa4d ("nak: Implement shader clock")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:50 +00:00
Faith Ekstrand
ee386c0c58 nak: Fix integer roll-over when we have a u64vec4
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:50 +00:00
Faith Ekstrand
add1119671 nak: Run rustfmt again
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26246>
2023-12-05 11:24:50 +00:00
Yonggang Luo
83a5fb9faf util: Fixes note: the alignment of ‘_Atomic long long int’ fields changed in GCC 11.
This is a improve of https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22121

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23961>
2023-12-05 09:26:08 +00:00
Eric Engestrom
81ec1fa0b5 nvk: use || instead of | between bools
We have to split each call into its own variable, because simply
replacing `|` with `||` would short-circuit the right side when the left
side succeeds.

Fixes: dadf9d59e6 ("nvk: Add support for variable pointers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26509>
2023-12-05 08:07:48 +00:00
Eric Engestrom
3115e6e211 amd/ci: reuse .radeonsi-rules in .radeonsi-vaapi-rules
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26480>
2023-12-05 06:55:21 +00:00
Lionel Landwerlin
344a4948b7 intel/hang_replay: fix compile race with generated files
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 03712579b0 ("intel/tools: add hang_replay tool")
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26510>
2023-12-05 06:09:52 +00:00
Faith Ekstrand
dcf2f25169 nouveau: Move headers/classes to headers/nvidia/classes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26507>
2023-12-05 03:53:01 +00:00
Faith Ekstrand
ec345567ad nouveau: Rename nvidia-headers to headers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26507>
2023-12-05 03:53:01 +00:00
Yonggang Luo
e568ef122a d3d12,dzn: Simplify the usage of #include <wsl/winadapter.h>
Now wsl/winadapter.h are platform independent

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26508>
2023-12-05 03:24:30 +00:00
Yonggang Luo
767aa00230 dzn: Fixes -Werror=incompatible-pointer-type
Error message:

../../src/microsoft/vulkan/dzn_device.c:3840:108: error: passing argument 5 of 'device->dev13->lpVtbl->OpenExistingHeapFromAddress1' from incompatible pointer type [-Werror=incompatible-pointer-types]

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26508>
2023-12-05 03:24:30 +00:00
Rob Clark
f2e3285d8e freedreno/drm: Fix zombie BO import harder
Fixes: 6ac133c646 ("freedreno/drm: Fix race in zombie import")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26506>
2023-12-05 03:03:12 +00:00
Mohamed Ahmed
3c10b70ee8 nvk: Enable linear images for texturing
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26365>
2023-12-05 02:47:18 +00:00
Mohamed Ahmed
03492b5532 nvk: Wire up rendering to linear
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26365>
2023-12-05 02:47:18 +00:00
Mohamed Ahmed
6ab7753042 nil: Add support for linear images
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26365>
2023-12-05 02:47:18 +00:00
Mohamed Ahmed
b1737856ad nvk: Fix GetImageSubResourceLayout for non-disjoint images
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26365>
2023-12-05 02:47:18 +00:00
Faith Ekstrand
db1ec1c67a nil: Add support for filling out linear texture headers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26365>
2023-12-05 02:47:18 +00:00
Faith Ekstrand
bd667acb35 nvk: Advertise VK_EXT_subgroup_size_control
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9617
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26503>
2023-12-05 02:32:00 +00:00
Dmitry Baryshkov
579ea57db9 freedreno/regs: add mdp_fetch_mode enum
Basing on the DPU driver, add the mdp_fetch_mode enum. It describes the
SSPP fetching mode: linear, UBWC or tiled.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26471>
2023-12-05 01:19:50 +00:00
Dmitry Baryshkov
10cca7ac49 freedreno/regs/mdp_common: fix BPC comments
Fix comments for the BPC5 and BPC4A entries, so that they mention proper
bit width corresponding to this enum value.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26471>
2023-12-05 01:19:50 +00:00
Dmitry Baryshkov
80816f210d freedreno/regs/mdp_common: change BPC1 -> BPC4
This enum value corresponds to 4-bits colour instead of 1-bit colour.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26471>
2023-12-05 01:19:50 +00:00
Rob Clark
d05e81fa7f isaspec: Sort labels with same output
In order to get stable results from qsort() across different versions of
libc, toolchain, etc., sort labels with the same offset alphabetically.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10217
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26399>
2023-12-05 00:42:09 +00:00
Boris Brezillon
93e9bfcfd5 panfrost: Fix multiplanar YUV texture descriptor emission on v9+
Multiplanar YUV textures require two surface descriptors, and the
base address calculation should be moved inside the for loop,
otherwise we always take the base address of the first plane.

Fixes: 144f9324a3 ("panfrost: prepare v9+ to support YUV sampling")
Cc: stable
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26425>
2023-12-05 00:26:20 +00:00
Eric Engestrom
dafd6e776e venus: fix typo in comment
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26495>
2023-12-05 00:03:56 +00:00
Eric Engestrom
64a827a8e6 venus: update symbols that have become aliases for newer ones
All of these have been renamed in the spec (usually by being promoted);
renamed them in our code too.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26495>
2023-12-05 00:03:56 +00:00