platform/upstream/mesa.git
15 months agoutil: fix ROUND_DOWN_TO alignment type
Rohan Garg [Fri, 2 Dec 2022 09:46:25 +0000 (15:16 +0530)]
util: fix ROUND_DOWN_TO alignment type

Alignments can only be unsigned. Cast alignment to uint64_t to keep MSVC
happy.

Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20153>

15 months agofreedreno: set alignment to next POT
Rohan Garg [Fri, 20 Jan 2023 10:33:16 +0000 (11:33 +0100)]
freedreno: set alignment to next POT

Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20153>

15 months agoac/surface: make sure alignment is a POT
Rohan Garg [Tue, 20 Dec 2022 15:19:24 +0000 (16:19 +0100)]
ac/surface: make sure alignment is a POT

Signed-off-by: Rohan Garg <rohan@garg.io>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20153>

15 months agoiris: correctly set alignment to next power of two for struct size
Rohan Garg [Fri, 2 Dec 2022 15:39:33 +0000 (21:09 +0530)]
iris: correctly set alignment to next power of two for struct size

We're currently aligning the offset to the size of the data structure
itself when the upload manager actually expects a POT. Ideally this
would be the next POT that's greater than the size of the structure.

Fixes: c24a574e6c78 ("iris: Don't allocate a BO per query object")

Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20153>

15 months agodocs/relnotes: add sha256sum for 23.1.1
Eric Engestrom [Thu, 25 May 2023 21:15:30 +0000 (22:15 +0100)]
docs/relnotes: add sha256sum for 23.1.1

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23241>

15 months agodocs: add release notes for 23.1.1
Eric Engestrom [Thu, 25 May 2023 20:01:46 +0000 (21:01 +0100)]
docs: add release notes for 23.1.1

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23241>

15 months agodocs: update calendar for 23.1.1
Eric Engestrom [Thu, 25 May 2023 20:04:25 +0000 (21:04 +0100)]
docs: update calendar for 23.1.1

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23241>

15 months agowsi/win32: Handle acquiring an image while one is already acquired
Jesse Natalie [Wed, 24 May 2023 21:33:48 +0000 (14:33 -0700)]
wsi/win32: Handle acquiring an image while one is already acquired

In the case where the app is attempting to acquire both (since the
min/max num images is 2) swapchain images, we need to wait on the
fence for the next image in the chain.

Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23222>

15 months agov3dv: fix align() computation for pixel formats with non-POT block sizes
Eric Engestrom [Wed, 24 May 2023 19:39:16 +0000 (20:39 +0100)]
v3dv: fix align() computation for pixel formats with non-POT block sizes

Fixes hundreds of dEQP-VK.api.copy_and_blit.* tests when including the
assert that the alignment in align() is valid, as added in !20153.

Fixes: 3ba839bf734f37f50dfc ("v3dv: align compressed image regions to block size")
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23224>

15 months agoradv: Stop using radv_get_int_debug_option
Konstantin Seurer [Sat, 20 May 2023 12:18:04 +0000 (14:18 +0200)]
radv: Stop using radv_get_int_debug_option

We can use debug_get_num_option instead. Bool options are changed to use
debug_get_bool_option.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23146>

15 months agonir: Add intrinsics for multisampling on AGX
Alyssa Rosenzweig [Sat, 8 Apr 2023 20:31:41 +0000 (16:31 -0400)]
nir: Add intrinsics for multisampling on AGX

sample_mask_agx maps to the AGX instruction used to write out a sample mask.

api_sample_mask_agx is a system value that returns the value of glSampleMask
(or its Vulkan equivalent), used to lower glSampleMask (etc).
This is distinct from sample_mask_in, which we map to the hardware thing and
AND with this as a lowering.

sample_positions_agx is a system value returning the sample positions in a
packed fixed-point format matching the hardware register, used to lower
gl_SamplePositions.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23040>

15 months agoci/zink: document new zink-radv-navi10-valve failures
Eric Engestrom [Thu, 25 May 2023 08:36:37 +0000 (09:36 +0100)]
ci/zink: document new zink-radv-navi10-valve failures

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23234>

15 months agoaco/tests: add fix_derivs_in_divergent_cf tests
Rhys Perry [Fri, 14 Apr 2023 16:50:15 +0000 (17:50 +0100)]
aco/tests: add fix_derivs_in_divergent_cf tests

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22636>

15 months agoaco/tests: improve performance of declaration parsing
Rhys Perry [Tue, 9 May 2023 18:59:50 +0000 (19:59 +0100)]
aco/tests: improve performance of declaration parsing

Unlike \S, \w only matches characters which are valid in identifiers. This
seems to be much faster, especially for longer identifier names.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22636>

15 months agoradv: use fix_derivs_in_divergent_cf
Rhys Perry [Fri, 14 Apr 2023 16:50:04 +0000 (17:50 +0100)]
radv: use fix_derivs_in_divergent_cf

fossil-db (navi21):
Totals from 3256 (2.40% of 135636) affected shaders:
MaxWaves: 65430 -> 64366 (-1.63%)
Instrs: 3517336 -> 3517724 (+0.01%); split: -0.12%, +0.13%
CodeSize: 18963788 -> 18946904 (-0.09%); split: -0.14%, +0.05%
VGPRs: 172464 -> 175872 (+1.98%); split: -0.02%, +2.00%
Latency: 33643792 -> 33643179 (-0.00%); split: -0.12%, +0.12%
InvThroughput: 5912965 -> 5934404 (+0.36%); split: -0.09%, +0.46%
VClause: 60268 -> 60275 (+0.01%); split: -0.12%, +0.13%
SClause: 125227 -> 125241 (+0.01%); split: -0.09%, +0.10%
Copies: 253452 -> 254638 (+0.47%); split: -1.29%, +1.76%
Branches: 100951 -> 100953 (+0.00%); split: -0.00%, +0.00%
PreSGPRs: 186403 -> 185641 (-0.41%)
PreVGPRs: 153751 -> 156915 (+2.06%); split: -0.06%, +2.12%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22636>

15 months agoaco: implement texture samples with strict WQM coordinates
Rhys Perry [Fri, 14 Apr 2023 16:49:46 +0000 (17:49 +0100)]
aco: implement texture samples with strict WQM coordinates

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22636>

15 months agoaco: implement strict_wqm_coord_amd
Rhys Perry [Fri, 14 Apr 2023 14:44:43 +0000 (15:44 +0100)]
aco: implement strict_wqm_coord_amd

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22636>

15 months agoaco: add MIMG_instruction::strict_wqm
Rhys Perry [Tue, 21 Mar 2023 14:44:09 +0000 (14:44 +0000)]
aco: add MIMG_instruction::strict_wqm

This lets us use linear VGPRs for part of the texture sample's address.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22636>

15 months agoaco: let p_start_linear_vgpr take an operand
Rhys Perry [Fri, 17 Mar 2023 16:44:25 +0000 (16:44 +0000)]
aco: let p_start_linear_vgpr take an operand

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22636>

15 months agoaco: remove unused RegType
Rhys Perry [Tue, 21 Mar 2023 14:47:45 +0000 (14:47 +0000)]
aco: remove unused RegType

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22636>

15 months agoac/nir: add fix_derivs_in_divergent_cf
Rhys Perry [Mon, 24 Apr 2023 11:21:04 +0000 (12:21 +0100)]
ac/nir: add fix_derivs_in_divergent_cf

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22636>

15 months agonir/lower_tex: remove lower_array_layer_round_even
Rhys Perry [Tue, 25 Apr 2023 14:37:32 +0000 (15:37 +0100)]
nir/lower_tex: remove lower_array_layer_round_even

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22636>

15 months agoradv,radeonsi: use ac_nir_lower_tex
Rhys Perry [Thu, 6 Apr 2023 10:43:29 +0000 (11:43 +0100)]
radv,radeonsi: use ac_nir_lower_tex

fossil-db (navi21):
Totals from 17279 (12.74% of 135636) affected shaders:
MaxWaves: 270015 -> 269991 (-0.01%)
Instrs: 24847385 -> 24843807 (-0.01%); split: -0.02%, +0.00%
CodeSize: 133215364 -> 133198744 (-0.01%); split: -0.02%, +0.01%
VGPRs: 1217632 -> 1217872 (+0.02%); split: -0.00%, +0.02%
Latency: 405347021 -> 404971784 (-0.09%); split: -0.09%, +0.00%
InvThroughput: 75386590 -> 75350344 (-0.05%); split: -0.07%, +0.03%
VClause: 426986 -> 426821 (-0.04%); split: -0.04%, +0.01%
SClause: 966751 -> 966971 (+0.02%); split: -0.01%, +0.03%
Copies: 1738510 -> 1737970 (-0.03%); split: -0.08%, +0.05%
PreSGPRs: 1169070 -> 1169120 (+0.00%); split: -0.00%, +0.00%
PreVGPRs: 1136102 -> 1136183 (+0.01%); split: -0.00%, +0.01%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22636>

15 months agoac/nir: round layer in ac_nir_lower_tex
Rhys Perry [Tue, 25 Apr 2023 14:37:02 +0000 (15:37 +0100)]
ac/nir: round layer in ac_nir_lower_tex

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22636>

15 months agoac/nir: add pass for lowering 1d/cube coordinates
Rhys Perry [Wed, 5 Apr 2023 15:58:43 +0000 (16:58 +0100)]
ac/nir: add pass for lowering 1d/cube coordinates

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22636>

15 months agonir,vtn,aco,ac/llvm: make cube_face_coord_amd more direct
Rhys Perry [Wed, 5 Apr 2023 14:52:40 +0000 (15:52 +0100)]
nir,vtn,aco,ac/llvm: make cube_face_coord_amd more direct

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22636>

15 months agonir/fold_16bit_tex_image: skip tex instructions with backend1
Rhys Perry [Wed, 12 Apr 2023 19:12:26 +0000 (20:12 +0100)]
nir/fold_16bit_tex_image: skip tex instructions with backend1

This will be used for RADV/ACO in the future, and I don't want to and
don't have to deal with 16-bit.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22636>

15 months agoutil: fix stack dynarray used by multiple tus
Georg Lehmann [Wed, 5 Apr 2023 09:55:51 +0000 (11:55 +0200)]
util: fix stack dynarray used by multiple tus

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23106>

15 months agopanfrost/ci: Skip hanging test
Alyssa Rosenzweig [Thu, 25 May 2023 12:54:40 +0000 (08:54 -0400)]
panfrost/ci: Skip hanging test

Reported as both slowest test (60s) and a flake in a deqp-runner double-whammy.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23235>

15 months agopanfrost/ci: Skip Piglit tests known to crash
Alyssa Rosenzweig [Thu, 25 May 2023 12:07:43 +0000 (08:07 -0400)]
panfrost/ci: Skip Piglit tests known to crash

A bunch of Piglits cause crashes, at least when run with PAN_MESA_DEBUG=sync.
For many, the crashes are due to faults. Although Piglits are nominally
process-isolated, faults can leak across processes to subpar recovery, meaning
these crashes are liable to cause robust passing tests to flakes.  So, skip any
tests known to crash to make sure the coverage is solid.

Given that we run piglit on panfrost in pre-merge CI, but there's nobody
actively working on fixing piglits for panfrost, I think this is the best
compromise. It means we get to keep the coverage (and ensure we don't regress
piglits that are currently passing) but we don't risk flaking CI. Currently
deqp-runner is eating massive numbers of piglit flakes. While it's really great
that the infrastructure is robust in that way, it'd be better to not have those
flakes in CI in the first place (for run time, if not robustness).

If someone starts hacking on Bifrost + desktop OpenGL again for some reason and
fixes these tests locally, they can reenable them then.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23235>

15 months agoci/llvmpipe: document intel_shader_atomic_float_minmax@execution@ssbo-atomic*
David Heidelberg [Wed, 24 May 2023 10:37:50 +0000 (12:37 +0200)]
ci/llvmpipe: document intel_shader_atomic_float_minmax@execution@ssbo-atomic*

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agoci/lavapipe: zink failures
David Heidelberg [Wed, 24 May 2023 10:40:53 +0000 (12:40 +0200)]
ci/lavapipe: zink failures

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agoci/lavapipe: document subgroups.shuffle.compute.subgroupshuffleup_double_constant...
David Heidelberg [Wed, 24 May 2023 09:41:34 +0000 (11:41 +0200)]
ci/lavapipe: document subgroups.shuffle.compute.subgroupshuffleup_double_constant crash

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agoci: do not fail when SHA1 impl. produce stringop-overreads warning
David Heidelberg [Mon, 22 May 2023 11:29:23 +0000 (13:29 +0200)]
ci: do not fail when SHA1 impl. produce stringop-overreads warning

When SHA1 gets purged from Mesa, drop the override.

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agoci: disable bogus GCC warning with -Warray-bounds
David Heidelberg [Fri, 17 Mar 2023 15:08:07 +0000 (16:08 +0100)]
ci: disable bogus GCC warning with -Warray-bounds

Reported: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109744

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agoci: enable shellcheck on whole .gitlab-ci
David Heidelberg [Sat, 20 May 2023 22:47:05 +0000 (00:47 +0200)]
ci: enable shellcheck on whole .gitlab-ci

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agoci/zink: disable flaking anv traces
David Heidelberg [Sat, 20 May 2023 20:46:31 +0000 (22:46 +0200)]
ci/zink: disable flaking anv traces

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agoci/virpipe: add flakes introduced with CI uprev to Debian 12
David Heidelberg [Mon, 15 May 2023 23:43:08 +0000 (00:43 +0100)]
ci/virpipe: add flakes introduced with CI uprev to Debian 12

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agoci/venus: add fail after CI uprev to the Debian 12
David Heidelberg [Mon, 15 May 2023 23:32:00 +0000 (00:32 +0100)]
ci/venus: add fail after CI uprev to the Debian 12

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agoci/mingw: disable as it's broken
David Heidelberg [Mon, 15 May 2023 23:12:50 +0000 (00:12 +0100)]
ci/mingw: disable as it's broken

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agobuild-crosvm: Use the pkg-config crate 0.3.27
Corentin Noël [Mon, 15 May 2023 15:20:58 +0000 (17:20 +0200)]
build-crosvm: Use the pkg-config crate 0.3.27

The support of pkgconf is available since this version.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agoci: drop gallium-aux test on msan builds, renable freedreno
David Heidelberg [Tue, 2 May 2023 23:26:29 +0000 (01:26 +0200)]
ci: drop gallium-aux test on msan builds, renable freedreno

gallium-aux test cannot work properly without msan libc,
which we don't have available right now.

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agoci/skqp: skqp can't live with compiler named clang-15, provide symlink
David Heidelberg [Wed, 26 Apr 2023 11:16:43 +0000 (13:16 +0200)]
ci/skqp: skqp can't live with compiler named clang-15, provide symlink

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agoci: add clang-15 and clang++-15 wrapper script
David Heidelberg [Sat, 25 Mar 2023 12:41:09 +0000 (13:41 +0100)]
ci: add clang-15 and clang++-15 wrapper script

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agoci/crosvm: install libelogind0 and sysvinit-core for poweroff functionality
David Heidelberg [Sun, 19 Mar 2023 05:01:49 +0000 (06:01 +0100)]
ci/crosvm: install libelogind0 and sysvinit-core for poweroff functionality

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agoci/apitrace: install win64 apitrace only on x86_64
David Heidelberg [Fri, 17 Mar 2023 00:51:07 +0000 (01:51 +0100)]
ci/apitrace: install win64 apitrace only on x86_64

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agoci: bump from Debian 11 (bullseye) to 12 (bookworm)
David Heidelberg [Thu, 16 Mar 2023 17:16:29 +0000 (18:16 +0100)]
ci: bump from Debian 11 (bullseye) to 12 (bookworm)

Already in hard-freeze, so we don't have to worry about breaking changes.

Significant changes:
 - LLVM 15 is used instead of 11 or 13
 - /dev/shm has to be manually mounted
 - Debian 12 uses libdrm 2.4.114
 - reworked creating of rootfs, from debootstrap to mmdebstrap
 - split `create-rootfs.sh` into `lava_build.sh`, `setup-rootfs.sh`, and `strip-rootfs.sh`
 - dropped winehq repository for now (Debian wine is up-to-date enough)
 - we use wine now, no need to call explicitly call wine64
 - bumped libasan from version 6 to 8

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agoci: VVL uprev (temporary until new release will be published)
David Heidelberg [Thu, 25 May 2023 12:36:59 +0000 (14:36 +0200)]
ci: VVL uprev (temporary until new release will be published)

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agoci: libwayland from 1.18 to 1.21 and wayland protocols from 1.24 to 1.31
David Heidelberg [Wed, 24 May 2023 10:27:30 +0000 (12:27 +0200)]
ci: libwayland from 1.18 to 1.21 and wayland protocols from 1.24 to 1.31

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agoci: bump gfxreconstruct revision up to compatible version with Debian 12
David Heidelberg [Wed, 24 May 2023 10:26:24 +0000 (12:26 +0200)]
ci: bump gfxreconstruct revision up to compatible version with Debian 12

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agoci: install stock android-libext4-utils (available in 12, bookworm)
David Heidelberg [Wed, 24 May 2023 10:18:23 +0000 (12:18 +0200)]
ci: install stock android-libext4-utils (available in 12, bookworm)

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agoci: bump libdrm from 2.4.110 to 2.4.114 present in Debian 12
David Heidelberg [Wed, 24 May 2023 10:11:51 +0000 (12:11 +0200)]
ci: bump libdrm from 2.4.110 to 2.4.114 present in Debian 12

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agoci: use meson setup and meson install instead of meson and invoking ninja directly
David Heidelberg [Wed, 24 May 2023 10:03:39 +0000 (12:03 +0200)]
ci: use meson setup and meson install instead of meson and invoking ninja directly

Not primary scope of relevant MR, just some incremental changes.

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agoci: move from pkg-config to pkgconf
David Heidelberg [Thu, 16 Mar 2023 17:05:35 +0000 (18:05 +0100)]
ci: move from pkg-config to pkgconf

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>

15 months agodocs: fix release date of 23.1.0
Eric Engestrom [Thu, 25 May 2023 13:04:56 +0000 (14:04 +0100)]
docs: fix release date of 23.1.0

I forgot to generate this doc when I made the release, and this was the
date when I actually did generate them.

Fixes: 7fe482d4ce48c5d800ca ("docs: add release notes for 23.1.0")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23237>

15 months agobroadcom/compiler: use scoped barriers
Iago Toral Quiroga [Wed, 24 May 2023 07:58:31 +0000 (09:58 +0200)]
broadcom/compiler: use scoped barriers

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23228>

15 months agobroadcom/compiler: flag use of control barriers
Iago Toral Quiroga [Thu, 25 May 2023 06:45:40 +0000 (08:45 +0200)]
broadcom/compiler: flag use of control barriers

We have been relying on NIR's gather info pass for this
but it is not safe unless we are certain we are always
calling it after any other pass that may emit a control
barrier.

As it stands, nir_zero_initialize_shared_memory can emit a
control barrier and we don't call the gather info pass after
it, which is problematic. The only reason this is not really
a problem right now is because for non-scoped barriers (which
is what we currently use) it doesn't emit a scoped barrier, just
a regular memory barrier (which is probably a bug in the pass!),
but as soon as we move to scoped barriers, this is going
to be a problem, since we need to know when we emit a control
barrier to ensure supergroup calculations prevent deadlocks at
the barrier op.

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23228>

15 months agozink: Switch to scoped barriers
Alyssa Rosenzweig [Tue, 23 May 2023 16:22:57 +0000 (12:22 -0400)]
zink: Switch to scoped barriers

Rather than translate piles of discrete memory_barrier/control_barrier
instructions, translate the unified scoped_barrier which maps almost directly to
SPIR-V's barrier. Yes, this means I cheated off vtn for the implementation.

v2: Use existing scope translation.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23186>

15 months agodocs: move obsolete extensions to their own list
Erik Faye-Lund [Mon, 15 May 2023 13:53:50 +0000 (15:53 +0200)]
docs: move obsolete extensions to their own list

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23029>

15 months agodocs: mark MESA_texture_array as obsolete
Erik Faye-Lund [Mon, 15 May 2023 13:48:25 +0000 (15:48 +0200)]
docs: mark MESA_texture_array as obsolete

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23029>

15 months agodocs: mark MESA_swap_frame_usage as obsolete
Erik Faye-Lund [Mon, 15 May 2023 13:47:26 +0000 (15:47 +0200)]
docs: mark MESA_swap_frame_usage as obsolete

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23029>

15 months agodocs: mark MESA_shader_debug as obsolete
Erik Faye-Lund [Mon, 15 May 2023 13:45:26 +0000 (15:45 +0200)]
docs: mark MESA_shader_debug as obsolete

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23029>

15 months agodocs: mark MESA_multithread_makecurrent as obsolete
Erik Faye-Lund [Mon, 15 May 2023 13:41:21 +0000 (15:41 +0200)]
docs: mark MESA_multithread_makecurrent as obsolete

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23029>

15 months agodocs: explicitly mark extensions as obsolete
Erik Faye-Lund [Mon, 15 May 2023 13:39:07 +0000 (15:39 +0200)]
docs: explicitly mark extensions as obsolete

We explicitly mark the other extensions in the OLD-folder as obsolete,
so let's be consistent here.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23029>

15 months agovulkan/pipeline_cache: remove a bogus assert when inserting objects
Samuel Pitoiset [Thu, 4 May 2023 13:29:39 +0000 (15:29 +0200)]
vulkan/pipeline_cache: remove a bogus assert when inserting objects

If two threads deserialize the raw object at the same time, the
refcount could be more than 1 temporarily.

This can be reproduced with Granite during the multi-threaded pipeline
cache pre-warm on startup, and also with Dota2.

Fixes: cbab396f549 ("vulkan/pipeline_cache: replace raw data objects on cache insertion of real objects")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22853>

15 months agoradeonsi,radv: use nir_format_linear_to_srgb
Erik Faye-Lund [Mon, 8 May 2023 08:28:45 +0000 (10:28 +0200)]
radeonsi,radv: use nir_format_linear_to_srgb

There's little point in open-coding this, when we already have a helper
for it.

This adds an fsat to both code-paths. Not sure if that's good or bad, or
if it even matters at all.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23201>

15 months agoiris: rework Wa_14017076903 to only apply with occlusion queries
Lionel Landwerlin [Tue, 2 May 2023 21:06:32 +0000 (00:06 +0300)]
iris: rework Wa_14017076903 to only apply with occlusion queries

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 415b824bc6 ("iris: implement occlusion query related Wa_14017076903")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22807>

15 months agomailmap: update @mupuf's name
Eric Engestrom [Wed, 24 May 2023 11:35:17 +0000 (12:35 +0100)]
mailmap: update @mupuf's name

There were a number of variants in the git history:

    Martin Peres <martin.peres@linux.intel.com>
    Martin Peres <martin.peres@mupuf.org>
    Martin Roukala (néé Peres) <martin.roukala@mupuf.org>
    Martin Roukala (né Peres) <martin.roukala@mupuf.org>

Last one is the current one, so let's normalize the rest to that.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23229>

15 months agost: remove unused tgsi includes
Thomas H.P. Andersen [Wed, 3 May 2023 18:50:04 +0000 (20:50 +0200)]
st: remove unused tgsi includes

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22838>

15 months agolavapipe: remove unused tgsi includes
Thomas H.P. Andersen [Wed, 3 May 2023 18:49:56 +0000 (20:49 +0200)]
lavapipe: remove unused tgsi includes

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22838>

15 months agozink: remove unused tgsi includes
Thomas H.P. Andersen [Wed, 3 May 2023 18:49:48 +0000 (20:49 +0200)]
zink: remove unused tgsi includes

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22838>

15 months agovirgl: remove unused tgsi includes
Thomas H.P. Andersen [Wed, 3 May 2023 18:49:42 +0000 (20:49 +0200)]
virgl: remove unused tgsi includes

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22838>

15 months agovc4: remove unused tgsi includes
Thomas H.P. Andersen [Wed, 3 May 2023 18:49:35 +0000 (20:49 +0200)]
vc4: remove unused tgsi includes

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22838>

15 months agov3d: remove unused tgsi includes
Thomas H.P. Andersen [Wed, 3 May 2023 18:49:28 +0000 (20:49 +0200)]
v3d: remove unused tgsi includes

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22838>

15 months agosvga: remove unused tgsi includes
Thomas H.P. Andersen [Wed, 3 May 2023 18:49:21 +0000 (20:49 +0200)]
svga: remove unused tgsi includes

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22838>

15 months agosoftpipe: remove unused tgsi includes
Thomas H.P. Andersen [Wed, 3 May 2023 18:49:11 +0000 (20:49 +0200)]
softpipe: remove unused tgsi includes

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22838>

15 months agoradeonsi: remove unused tgsi includes
Thomas H.P. Andersen [Wed, 3 May 2023 18:49:04 +0000 (20:49 +0200)]
radeonsi: remove unused tgsi includes

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22838>

15 months agor600: remove unused tgsi includes
Thomas H.P. Andersen [Wed, 3 May 2023 18:48:55 +0000 (20:48 +0200)]
r600: remove unused tgsi includes

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22838>

15 months agor300: remove unused tgsi includes
Thomas H.P. Andersen [Wed, 3 May 2023 18:48:48 +0000 (20:48 +0200)]
r300: remove unused tgsi includes

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22838>

15 months agonouveau: remove unused tgsi includes
Thomas H.P. Andersen [Wed, 3 May 2023 18:48:40 +0000 (20:48 +0200)]
nouveau: remove unused tgsi includes

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22838>

15 months agollvmpipe: remove unused tgsi includes
Thomas H.P. Andersen [Wed, 3 May 2023 18:48:34 +0000 (20:48 +0200)]
llvmpipe: remove unused tgsi includes

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22838>

15 months agoi915: remove unused tgsi includes
Thomas H.P. Andersen [Wed, 3 May 2023 18:48:20 +0000 (20:48 +0200)]
i915: remove unused tgsi includes

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22838>

15 months agofreedreno: remove unused tgsi includes
Thomas H.P. Andersen [Wed, 3 May 2023 18:48:12 +0000 (20:48 +0200)]
freedreno: remove unused tgsi includes

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22838>

15 months agoetnaviv: remove unused tgsi includes
Thomas H.P. Andersen [Wed, 3 May 2023 18:48:01 +0000 (20:48 +0200)]
etnaviv: remove unused tgsi includes

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22838>

15 months agod3d12: remove unused tgsi includes
Thomas H.P. Andersen [Wed, 3 May 2023 18:47:51 +0000 (20:47 +0200)]
d3d12: remove unused tgsi includes

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22838>

15 months agoaux: remove unused tgsi includes
Thomas H.P. Andersen [Wed, 3 May 2023 18:47:13 +0000 (20:47 +0200)]
aux: remove unused tgsi includes

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22838>

15 months agotgsi: delete unused functions
Thomas H.P. Andersen [Thu, 4 May 2023 09:50:59 +0000 (11:50 +0200)]
tgsi: delete unused functions

None of these are in use

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22864>

15 months agonir: use nir_fsub_imm
Erik Faye-Lund [Mon, 8 May 2023 07:54:46 +0000 (09:54 +0200)]
nir: use nir_fsub_imm

Now that we have nir_fsub_imm, let's use it to save some typing!

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23179>

15 months agonir: add nir_fsub_imm
Erik Faye-Lund [Mon, 8 May 2023 07:07:53 +0000 (09:07 +0200)]
nir: add nir_fsub_imm

This is similar to nir_isub_imm, but for floats.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23179>

15 months agonir: use more nir_ffma_imm variants
Erik Faye-Lund [Tue, 9 May 2023 22:53:24 +0000 (23:53 +0100)]
nir: use more nir_ffma_imm variants

nir_ffma_imm has several variants that allows specific arguments to be
immediates. Use them for simplicity.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23179>

15 months agonir: fsub -> fadd_imm
Erik Faye-Lund [Mon, 8 May 2023 08:12:56 +0000 (10:12 +0200)]
nir: fsub -> fadd_imm

When doing nir_fsub(b, x, imm), we can negate the immediate value, and
replace the fsub with nir_fadd_imm() and get the same result. This makes
the code a bit shorter and easier to read.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23179>

15 months agonir: use more nir_fadd_imm
Erik Faye-Lund [Mon, 8 May 2023 07:57:56 +0000 (09:57 +0200)]
nir: use more nir_fadd_imm

This makes the code a bit easier to read.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23179>

15 months agonir: use more nir_fmul_imm
Erik Faye-Lund [Sat, 6 May 2023 06:49:32 +0000 (08:49 +0200)]
nir: use more nir_fmul_imm

This simplifies things a bit. Note that in some cases, the arguments are
swapped, because multiplications are commutative, and nir_fmul_imm only
allows the second operand to be an immediate.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23179>

15 months agoradv/video: use correct h264 levels
Dave Airlie [Wed, 24 May 2023 23:37:39 +0000 (09:37 +1000)]
radv/video: use correct h264 levels

This should be set to the enum, ffmpeg has it wrong so far, but the sample decoder has it right.

convert radv to the proper answer.

Fixes: 1693c03a3963 ("radv/video: add initial h264 decoder for VCN")
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23225>

15 months agozink: Implement PIPE_CAP_RESOURCE_FROM_USER_MEMORY
Julia Tatz [Wed, 24 May 2023 23:51:29 +0000 (19:51 -0400)]
zink: Implement PIPE_CAP_RESOURCE_FROM_USER_MEMORY

Needed for GL_AMD_pinned_memory & zero-copy support in opencl

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23199>

15 months agowinsys/radeon: set more radeon_info fields
Marek Olšák [Wed, 24 May 2023 21:28:17 +0000 (17:28 -0400)]
winsys/radeon: set more radeon_info fields

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23221>

15 months agowinsys/radeon: fix the scratch buffer on gfx6-7
Marek Olšák [Wed, 24 May 2023 21:30:43 +0000 (17:30 -0400)]
winsys/radeon: fix the scratch buffer on gfx6-7

I'm sure this was broken.

Fixes: 1bf39b1f9d115d69 - ac,radeonsi: rework how scratch_waves is used and move it to ac_gpu_info.c

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23221>

15 months agowinsys/radeon: set has_image_opcodes to unbreak gfx6-7
Marek Olšák [Wed, 24 May 2023 20:59:10 +0000 (16:59 -0400)]
winsys/radeon: set has_image_opcodes to unbreak gfx6-7

Fixes: 96913bbf3eba74 - ac/surface: force linear image layout for chips not supporting image opcodes

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9073

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23221>

15 months agodzn: Fix src/dest confusion for some non-bindless descriptor copies
Jesse Natalie [Wed, 24 May 2023 18:11:58 +0000 (11:11 -0700)]
dzn: Fix src/dest confusion for some non-bindless descriptor copies

Fixes: 5d2b4ee4 ("dzn: Allocate descriptor sets in buffers for bindless mode")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23218>

15 months agodzn: Don't expose copy queues
Jesse Natalie [Wed, 24 May 2023 17:54:08 +0000 (10:54 -0700)]
dzn: Don't expose copy queues

Vulkan says you can do things like image resolves or blits on transfer
queues, but D3D only allows literal copies. We could try to emulate
a Vulkan transfer-only queue backed by multiple D3D queues, where we
use the copy queue when possible but fall back to compute when needed,
but let's wait until there's a good reason to do that...

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23218>