Mike Blumenkrantz
3dcb80da9d
zink: fix barrier generation for ssbo descriptors
...
ssbo binds are always at least readable, so without deeper shader
inspection, never assume that write binds mean no read access
this is different than image descriptors which can explicitly get
write-only access set
cc: mesa-stable
fixes #6231
THANKS TO @daniel-schuermann FOR SOLVING THIS WITH HIS INCREDIBLE TALENT AND WIT
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15697 >
2022-04-05 22:47:39 -04:00
Renato Pereyra
5ec4995305
Revert "venus: Increase the base sleep of vn_relax"
...
This reverts commit 737937f45e .
Testing has revealed sizable performance drops arising out of this change.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15760 >
2022-04-06 01:46:10 +00:00
Jason Ekstrand
cc78a3a820
panvk: Enable VK_EXT_debug_report and VK_EXT_debug_utils
...
They're both implemented in common code as long as you use
vk_command_buffer.
Acked-by: Emma Anholt <emma@anholt.net >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15560 >
2022-04-06 01:18:23 +00:00
Jason Ekstrand
29b8097408
anv: Enable VK_EXT_debug_utils
...
It's implemented in common code as long as you use vk_command_buffer.
Acked-by: Emma Anholt <emma@anholt.net >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15560 >
2022-04-06 01:18:23 +00:00
Jason Ekstrand
77ffa61a14
lavapipe: Enable VK_EXT_debug_utils
...
It's implemented in common code as long as you use vk_command_buffer.
Acked-by: Emma Anholt <emma@anholt.net >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15560 >
2022-04-06 01:18:23 +00:00
Jason Ekstrand
bdf52654ac
turnip: Enable VK_EXT_debug_utils
...
It's implemented in common code as long as you use vk_command_buffer.
Acked-by: Emma Anholt <emma@anholt.net >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15560 >
2022-04-06 01:18:23 +00:00
Jason Ekstrand
292ceb297c
v3dv: Enable VK_EXT_debug_utils
...
It's implemented in common code as long as you use vk_command_buffer.
Acked-by: Emma Anholt <emma@anholt.net >
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15560 >
2022-04-06 01:18:23 +00:00
Jason Ekstrand
3b547a9b58
lavapipe: Switch to the common sync framework
...
The common Vulkan sync framework will do most of the queueing for us.
It will even sort out timeline semaphore dependencies and ensure
everything executes in-order. All we have to do is make sure our
vk_sync type implements VK_SYNC_FEATURE_WAIT_PENDING. This lets us get
rid of a big pile of code.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15651 >
2022-04-06 00:38:22 +00:00
Jason Ekstrand
2f6bca6a74
vulkan: Use timespec_add_nsec in vk_sync_timeline
...
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15651 >
2022-04-06 00:38:22 +00:00
Jason Ekstrand
0ba22b203d
util/timespec: Return overflow from timespec_add_[mn]sec()
...
To avoid altering any currently existing callers, we continue on with
the calculation regardless of overflow. This also matches the behavior
of GCC's __builtin_add_overflow().
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15651 >
2022-04-06 00:38:22 +00:00
Emma Anholt
591899eedd
gallivm/nir: Add a short circuit uniform-offset mode for load_ssbo/load_shared.
...
dEQP-VK.binding_model.buffer_device_address.set3.depth3.basessbo.convertuvec2.nostore.multi.scalar.vert
runtime -24.4002% +/- 1.94375% (n=7). The win (I think) is in LLVM not
having to chew through handling the extra loops on every constant-offset
SSBO load, not in actual rendering time.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14999 >
2022-04-06 00:04:14 +00:00
Emma Anholt
181f25aff4
gallivm/nir: Add a short circuit uniform-offset mode for load_global.
...
If we know the offset is constant, we don't have ask LLVM to loop over the
elements pulling the same value out over and over.
This doesn't seem to have produced a win in the testcase I was looking at,
but it was an easier entrypoint to figuring out how to do scalar memory
access than load_memory, and will probably affect some workload.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14999 >
2022-04-06 00:04:14 +00:00
Emma Anholt
d74606d440
gallivm/nir: Refactor out some repeated code to generate 0 values.
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14999 >
2022-04-06 00:04:14 +00:00
Emma Anholt
4fad4c1d79
gallivm/nir: Refactor out some repeated logic for SSBO/shared access.
...
I needed to be able to get these pointers/limits from another location,
and missing some of the repeated steps was giving me bugs.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14999 >
2022-04-06 00:04:14 +00:00
Emma Anholt
21b3db7d17
gallivm/nir: Pull some repeated exec_mask computation out of loops.
...
If the exec mask hasn't changed, don't hassle LLVM to set it up
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14999 >
2022-04-06 00:04:14 +00:00
Emma Anholt
9ab4ecb1ae
gallivm/nir: Don't do uniform-and-broadcast access on inactive invocations.
...
In a fragment shader or inside of control flow, invocation 0 might be
inactive, and so our use-first-invocation-and-broadcast optimizations
would be invalid, and the loop logic of an emit_read_invocation would
defeat the point of these optimized paths.
For load_kernel_input, I didn't guard the uniform path with the check
because some CL tests that are currently passing are doing the
load_kernel_input under (presumably) uniform control flow. Instead, I
dropped in a once warning for the next person to be debugging CL.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14999 >
2022-04-06 00:04:14 +00:00
Emma Anholt
04cdd41fdc
util/log: Add support for logging once.
...
These are not data-race safe (like many other once patterns in Mesa), so
they might not log exactly once, but it should be good enough for not
spamming the console.
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14999 >
2022-04-06 00:04:14 +00:00
Emma Anholt
ad0fcaf1ee
ci/lava: Simplify passthrough of the request to upload results/ to minio.
...
We already have a way to pass env vars around, just use that instead of
packing/unpacking it on the kernel command line.
Cleans up HW runner job log output some more.
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15332 >
2022-04-05 21:37:46 +00:00
Emma Anholt
34278e8f2e
ci/deqp: Move the set +e just before the deqp-runner invocation.
...
You don't want to proceed to running deqp-runner if you failed at the
vtest or runner options environment setup.
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15332 >
2022-04-05 21:37:46 +00:00
Emma Anholt
82cd8614e6
ci/deqp: Add gitlab-ci sections to deqp-runner.sh.
...
This should help highlight the actual test results, as opposed to the setup
and teardown.
Also tuned the "set -x"es a little bit so we get less surrounding noise in
the echo process.
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15332 >
2022-04-05 21:37:46 +00:00
Emma Anholt
03549f3bf3
spirv: Silence "Decoration not allowed on struct members: SpvDecorationRestrict"
...
VK-GL-CTS causes tons of these due to a bug in glslang, to the point where
it's hard to find actual issues in test logs. Disable the warning for
now, with a link to the issue we're waiting on being resolved.
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15332 >
2022-04-05 21:37:46 +00:00
Emma Anholt
0ee0d54985
util/log: Don't print an extra \n if the format string had one.
...
You're not supposed to include a '\n' in mesa_log*() messages because
android logging will log what you provide on its own line anyway, so each
mesa_log() should be the body of a log line. But also, getting everyone
to consistently not do that is hopeless because we're all so trained by
printf(). So, just detect an existing \n and don't add a new one.
Cleans up deqp-vk debug output a bunch from turnip.
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15332 >
2022-04-05 21:37:46 +00:00
Mike Blumenkrantz
e0b431da33
docs: update features for VK_EXT_image_2d_view_of_3d
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15757 >
2022-04-05 17:08:02 -04:00
Mike Blumenkrantz
6fd344ff98
anv: expose VK_EXT_image_2d_view_of_3d
...
sampling only available on gen9+
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15754 >
2022-04-05 20:30:31 +00:00
Mike Blumenkrantz
8b5c9e7c81
lavapipe: expose VK_EXT_image_2d_view_of_3d
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15754 >
2022-04-05 20:30:31 +00:00
Mike Blumenkrantz
9a6ea51388
vulkan: check 3D image type for VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15754 >
2022-04-05 20:30:31 +00:00
Connor Abbott
b91b90c256
tu: Expose VK_KHR_maintenance4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15488 >
2022-04-05 17:46:35 +00:00
Connor Abbott
5eb63d825f
tu: Remove tu_pipeline::layout
...
This makes it more obvious that the layout is never used after creating
the pipeline, which is required by VK_KHR_maintenance4.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15488 >
2022-04-05 17:46:35 +00:00
Connor Abbott
7455a7a44c
tu: Fill out maxBufferSize
...
It seems this is really a workaround for silly issues in
GetBufferMemoryRequirements when you ask for a really large buffer. Just
expose the maximum possible size ATM.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15488 >
2022-04-05 17:46:35 +00:00
Connor Abbott
d1762b7df0
tu: Implement GetDevice*MemoryRequirements()
...
Based mostly on anv, which is a bit more optimized than radv - we at
allocate the image on the stack.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15488 >
2022-04-05 17:46:35 +00:00
Erik Faye-Lund
c42da6dd60
ci: do not specify c_std and cpp_std for windows-build
...
When parts of the tree needs later c and c++ versions, they should ask
for it in the build-system itself, not expect the user to ask for it on
the command-line instead. So let's not paper over things by specifying
them here.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15706 >
2022-04-05 16:58:56 +00:00
Erik Faye-Lund
f607db2689
dozen: require c++20 for designated initializers
...
We do require C++20 still, because designated initializers is part of
that standard. This is almost a revert, but conditionally selecting
between c++latest or c++20 when available, as that's what we really want.
Fixes: 55ca1c8db3 ("vulkan/microsoft: Remove `override_options: ['cpp_std=c++latest']` option for visual studio")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15706 >
2022-04-05 16:58:56 +00:00
Erik Faye-Lund
ed399a179e
nir/tests: do not use designated initializers in c++ code
...
Designated initializers require C++20, which is a bit easier said than
done to support well across meson versions. Let's avoid using them
for now instead.
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15706 >
2022-04-05 16:58:56 +00:00
Erik Faye-Lund
28dbabec8e
aco: do not use designated initializers
...
Designated initializers are a C++20 feature, but we don't use C++20. In
fact, enabling C++20 for ACO triggers new compiler errors due to some
equality semantics details.
So let's instead stop using designated initializers here.
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15706 >
2022-04-05 16:58:56 +00:00
Thong Thai
dcd81d2d80
frontends/va: fix decode issues introduced by efc change
...
Fixes: 9602526568 ("frontends/va: add encoder format conversion (EFC) support")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6153
Signed-off-by: Thong Thai <thong.thai@amd.com >
Tested-by: Andrew Falcon <bluestang2006@gmail.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15717 >
2022-04-05 16:40:08 +00:00
Konstantin Seurer
dacd78fd5a
radv: Remove radv_util.c
...
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15725 >
2022-04-05 15:53:46 +00:00
Mike Blumenkrantz
b591409b6c
vulkan: spec update to 1.3.211
...
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15752 >
2022-04-05 12:55:21 +00:00
Roman Stratiienko
61f94fff0d
panfrost: Don't crash on panfrost_bo_create() with size==0 invocation
...
1. Clamp bucket_index from both ends to avoid returning negative index.
2. Return NULL in case BO allocation/fetching failure to prevent invalid
bo mapping.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6247
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15748 >
2022-04-05 13:08:51 +03:00
Samuel Pitoiset
576833507b
radv: only declare dynamic states that are used by internal operations
...
Initialize some default static PSO states instead.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15729 >
2022-04-05 07:54:52 +00:00
Samuel Pitoiset
edc09beccc
radv: use radv_dynamic_state for saving/restoring meta operations
...
Instead of duplicating every fields.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15729 >
2022-04-05 07:54:52 +00:00
Samuel Pitoiset
3fa3d81172
radv: save/restore more dynamic states during internal driver operations
...
This doesn't fix anything known but it could happen in theory.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15729 >
2022-04-05 07:54:52 +00:00
Samuel Pitoiset
ebf4f66c6a
radv/ci: update CI lists against CTS 1.3.1.1
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15745 >
2022-04-05 09:13:41 +02:00
Igor Torrente
cc8e271813
venus: add VK_EXT_{conditional_rendering,index_type_uint8} extensions
...
Implements all the necessary code in the device initialization
and extensions functions.
Signed-off-by: Igor Torrente <igor.torrente@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15652 >
2022-04-05 05:10:26 +00:00
Igor Torrente
bfab83ab4b
venus: Update venus-protocol to add two new extensions
...
These are the changes automatically generated from the venus-protocol
repository.
Update the file to add `VK_EXT_index_type_uint8` and
`VK_EXT_conditional_rendering`
Signed-off-by: Igor Torrente <igor.torrente@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15652 >
2022-04-05 05:10:26 +00:00
Yiwei Zhang
801cdd83f1
venus: workaround an ANGLE assumption on FORMAT_IMPLEMENTATION_DEFINED
...
ANGLE expects VK_FORMAT_UNDEFINED to be returned for such AHB prop
query.
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15721 >
2022-04-05 05:03:39 +00:00
Omar Akkila
4208895175
ci: bump VK-GL-CTS to 1.3.1.1
...
Signed-off-by: Omar Akkila <omar.akkila@collabora.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15668 >
2022-04-04 23:04:33 +00:00
Jason Ekstrand
94ce812497
anv: Advertise two more formats
...
These both require swizzling so border colors won't work. However,
they're conveniently in the list of formats for which custom border
colors require you to specify a format in the sampler. That list
constists of:
- VK_FORMAT_B4G4R4A4_UNORM_PACK16
- VK_FORMAT_B5G6R5_UNORM_PACK16
- VK_FORMAT_B5G5R5A1_UNORM_PACK16
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6226
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15624 >
2022-04-04 21:42:23 +00:00
Jason Ekstrand
e32b9e5c3f
anv: Generalize border color swizzles
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15624 >
2022-04-04 21:42:23 +00:00
Jason Ekstrand
54509d27d9
anv: Disallow blending on swizzled formats
...
Fixes: c20f78dc5d ("anv: Support swizzled formats.")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15624 >
2022-04-04 21:42:23 +00:00
Jason Ekstrand
257a20f40d
intel/isl: Add a helper for swizzling color values
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15624 >
2022-04-04 21:42:23 +00:00