platform/upstream/mesa.git
2 years agolavapipe: Switch to the common sync framework
Jason Ekstrand [Tue, 29 Mar 2022 19:07:18 +0000 (14:07 -0500)]
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>

2 years agovulkan: Use timespec_add_nsec in vk_sync_timeline
Jason Ekstrand [Tue, 29 Mar 2022 18:14:27 +0000 (13:14 -0500)]
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>

2 years agoutil/timespec: Return overflow from timespec_add_[mn]sec()
Jason Ekstrand [Thu, 31 Mar 2022 15:44:56 +0000 (10:44 -0500)]
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>

2 years agogallivm/nir: Add a short circuit uniform-offset mode for load_ssbo/load_shared.
Emma Anholt [Thu, 10 Feb 2022 23:05:19 +0000 (15:05 -0800)]
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>

2 years agogallivm/nir: Add a short circuit uniform-offset mode for load_global.
Emma Anholt [Thu, 10 Feb 2022 22:29:13 +0000 (14:29 -0800)]
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>

2 years agogallivm/nir: Refactor out some repeated code to generate 0 values.
Emma Anholt [Thu, 10 Feb 2022 22:47:42 +0000 (14:47 -0800)]
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>

2 years agogallivm/nir: Refactor out some repeated logic for SSBO/shared access.
Emma Anholt [Thu, 10 Feb 2022 22:15:01 +0000 (14:15 -0800)]
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>

2 years agogallivm/nir: Pull some repeated exec_mask computation out of loops.
Emma Anholt [Thu, 10 Feb 2022 19:27:31 +0000 (11:27 -0800)]
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>

2 years agogallivm/nir: Don't do uniform-and-broadcast access on inactive invocations.
Emma Anholt [Fri, 11 Feb 2022 17:12:10 +0000 (09:12 -0800)]
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>

2 years agoutil/log: Add support for logging once.
Emma Anholt [Fri, 18 Feb 2022 18:49:24 +0000 (10:49 -0800)]
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>

2 years agoci/lava: Simplify passthrough of the request to upload results/ to minio.
Emma Anholt [Thu, 10 Mar 2022 22:21:53 +0000 (14:21 -0800)]
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>

2 years agoci/deqp: Move the set +e just before the deqp-runner invocation.
Emma Anholt [Thu, 10 Mar 2022 20:56:17 +0000 (12:56 -0800)]
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>

2 years agoci/deqp: Add gitlab-ci sections to deqp-runner.sh.
Emma Anholt [Thu, 10 Mar 2022 20:53:22 +0000 (12:53 -0800)]
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>

2 years agospirv: Silence "Decoration not allowed on struct members: SpvDecorationRestrict"
Emma Anholt [Thu, 10 Mar 2022 20:39:24 +0000 (12:39 -0800)]
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>

2 years agoutil/log: Don't print an extra \n if the format string had one.
Emma Anholt [Thu, 10 Mar 2022 20:30:16 +0000 (12:30 -0800)]
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>

2 years agodocs: update features for VK_EXT_image_2d_view_of_3d
Mike Blumenkrantz [Tue, 5 Apr 2022 21:08:02 +0000 (17:08 -0400)]
docs: update features for VK_EXT_image_2d_view_of_3d

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

2 years agoanv: expose VK_EXT_image_2d_view_of_3d
Mike Blumenkrantz [Tue, 5 Apr 2022 12:40:34 +0000 (08:40 -0400)]
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>

2 years agolavapipe: expose VK_EXT_image_2d_view_of_3d
Mike Blumenkrantz [Tue, 5 Apr 2022 12:39:59 +0000 (08:39 -0400)]
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>

2 years agovulkan: check 3D image type for VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT
Mike Blumenkrantz [Tue, 5 Apr 2022 12:39:34 +0000 (08:39 -0400)]
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>

2 years agotu: Expose VK_KHR_maintenance4
Connor Abbott [Fri, 18 Mar 2022 14:51:40 +0000 (15:51 +0100)]
tu: Expose VK_KHR_maintenance4

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

2 years agotu: Remove tu_pipeline::layout
Connor Abbott [Fri, 18 Mar 2022 13:46:43 +0000 (14:46 +0100)]
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>

2 years agotu: Fill out maxBufferSize
Connor Abbott [Fri, 18 Mar 2022 13:36:11 +0000 (14:36 +0100)]
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>

2 years agotu: Implement GetDevice*MemoryRequirements()
Connor Abbott [Fri, 18 Mar 2022 13:13:47 +0000 (14:13 +0100)]
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>

2 years agoci: do not specify c_std and cpp_std for windows-build
Erik Faye-Lund [Fri, 1 Apr 2022 07:13:36 +0000 (09:13 +0200)]
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>

2 years agodozen: require c++20 for designated initializers
Erik Faye-Lund [Fri, 1 Apr 2022 07:07:40 +0000 (09:07 +0200)]
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: 55ca1c8db37 ("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>

2 years agonir/tests: do not use designated initializers in c++ code
Erik Faye-Lund [Fri, 1 Apr 2022 08:34:11 +0000 (10:34 +0200)]
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>

2 years agoaco: do not use designated initializers
Erik Faye-Lund [Mon, 4 Apr 2022 08:54:07 +0000 (10:54 +0200)]
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>

2 years agofrontends/va: fix decode issues introduced by efc change
Thong Thai [Fri, 25 Mar 2022 00:21:19 +0000 (20:21 -0400)]
frontends/va: fix decode issues introduced by efc change

Fixes: 96025265689 ("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>

2 years agoradv: Remove radv_util.c
Konstantin Seurer [Sun, 3 Apr 2022 11:25:44 +0000 (13:25 +0200)]
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>

2 years agovulkan: spec update to 1.3.211
Mike Blumenkrantz [Tue, 5 Apr 2022 12:36:26 +0000 (08:36 -0400)]
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>

2 years agopanfrost: Don't crash on panfrost_bo_create() with size==0 invocation
Roman Stratiienko [Mon, 4 Apr 2022 17:52:59 +0000 (20:52 +0300)]
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>

2 years agoradv: only declare dynamic states that are used by internal operations
Samuel Pitoiset [Fri, 1 Apr 2022 09:44:26 +0000 (11:44 +0200)]
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>

2 years agoradv: use radv_dynamic_state for saving/restoring meta operations
Samuel Pitoiset [Mon, 4 Apr 2022 06:11:40 +0000 (08:11 +0200)]
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>

2 years agoradv: save/restore more dynamic states during internal driver operations
Samuel Pitoiset [Mon, 4 Apr 2022 06:09:56 +0000 (08:09 +0200)]
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>

2 years agoradv/ci: update CI lists against CTS 1.3.1.1
Samuel Pitoiset [Tue, 5 Apr 2022 06:37:27 +0000 (08:37 +0200)]
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>

2 years agovenus: add VK_EXT_{conditional_rendering,index_type_uint8} extensions
Igor Torrente [Tue, 29 Mar 2022 14:59:49 +0000 (11:59 -0300)]
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>

2 years agovenus: Update venus-protocol to add two new extensions
Igor Torrente [Tue, 29 Mar 2022 13:39:25 +0000 (10:39 -0300)]
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>

2 years agovenus: workaround an ANGLE assumption on FORMAT_IMPLEMENTATION_DEFINED
Yiwei Zhang [Sat, 2 Apr 2022 06:10:14 +0000 (06:10 +0000)]
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>

2 years agoci: bump VK-GL-CTS to 1.3.1.1
Omar Akkila [Tue, 29 Mar 2022 16:44:17 +0000 (12:44 -0400)]
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>

2 years agoanv: Advertise two more formats
Jason Ekstrand [Mon, 28 Mar 2022 23:36:39 +0000 (18:36 -0500)]
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>

2 years agoanv: Generalize border color swizzles
Jason Ekstrand [Tue, 29 Mar 2022 15:55:00 +0000 (10:55 -0500)]
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>

2 years agoanv: Disallow blending on swizzled formats
Jason Ekstrand [Tue, 29 Mar 2022 21:35:49 +0000 (16:35 -0500)]
anv: Disallow blending on swizzled formats

Fixes: c20f78dc5d7e ("anv: Support swizzled formats.")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15624>

2 years agointel/isl: Add a helper for swizzling color values
Jason Ekstrand [Tue, 29 Mar 2022 15:42:08 +0000 (10:42 -0500)]
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>

2 years agovulkan/queue: Destroy wait temps if they are skipped
Benjamin Cheng [Sun, 3 Apr 2022 23:03:56 +0000 (19:03 -0400)]
vulkan/queue: Destroy wait temps if they are skipped

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6223
Fixes: 8a11d2a31bf9 ("vulkan: Add a dummy sync type")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Tested-by: Jakob Bornecrantz <jakob@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15727>

2 years agoaco: don't use v_mad_mix on GFX9 if 16-bit denormals must be preserved
Rhys Perry [Fri, 1 Apr 2022 18:51:55 +0000 (19:51 +0100)]
aco: don't use v_mad_mix on GFX9 if 16-bit denormals must be preserved

This probably effectively disables the v_mad_mix optimization on GFX9.

fossil-db (Vega):
Totals from 11545 (7.15% of 161366) affected shaders:
MaxWaves: 43025 -> 42780 (-0.57%); split: +0.06%, -0.63%
Instrs: 18571635 -> 18734201 (+0.88%); split: -0.00%, +0.88%
CodeSize: 96483568 -> 96611012 (+0.13%); split: -0.11%, +0.24%
SGPRs: 1079056 -> 1077616 (-0.13%); split: -0.14%, +0.01%
VGPRs: 819248 -> 821868 (+0.32%); split: -0.04%, +0.36%
SpillSGPRs: 13313 -> 12464 (-6.38%)
Latency: 293804093 -> 295046122 (+0.42%); split: -0.09%, +0.51%
InvThroughput: 110002239 -> 110994978 (+0.90%); split: -0.03%, +0.93%
VClause: 342458 -> 342596 (+0.04%); split: -0.12%, +0.16%
SClause: 648566 -> 648046 (-0.08%); split: -0.12%, +0.04%
Copies: 1728225 -> 1726679 (-0.09%); split: -0.66%, +0.57%
Branches: 552973 -> 552963 (-0.00%); split: -0.02%, +0.02%
PreSGPRs: 862360 -> 856820 (-0.64%); split: -0.69%, +0.05%
PreVGPRs: 773689 -> 776818 (+0.40%); split: -0.02%, +0.42%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6178
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15718>

2 years agoiris: Replace unconditional QBO flush with iris_dirty_for_history().
Francisco Jerez [Fri, 7 Feb 2020 04:58:40 +0000 (20:58 -0800)]
iris: Replace unconditional QBO flush with iris_dirty_for_history().

We can now use the same cache tracking mechanism for synchronizing QBO
writes instead of the unconditional PIPE_CONTROL performed currently,
which is unable to invalidate any incoherent caches which may contain
stale data for the buffer object.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15738>

2 years agoiris: Remove remaining history flushes.
Francisco Jerez [Thu, 6 Feb 2020 02:26:39 +0000 (18:26 -0800)]
iris: Remove remaining history flushes.

This removes a couple of remaining history flushes which were
open-coded instead of using the iris_flush_and_dirty_for_history()
helper.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15738>

2 years agoiris: Demote all callers of iris_flush_and_dirty_for_history() to iris_dirty_for_hist...
Francisco Jerez [Thu, 30 Apr 2020 22:11:19 +0000 (15:11 -0700)]
iris: Demote all callers of iris_flush_and_dirty_for_history() to iris_dirty_for_history().

The unconditional flushing performed by
iris_flush_and_dirty_for_history() is now redundant with the memory
barriers introduced previously in this series, which should be in a
better position to determine from which domain the buffer will
actually be used in the future, and whether an additional flush or
invalidation is required or redundant with other PIPE_CONTROL commands
emitted elsewhere.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15738>

2 years agoaux/trace: dump format in set_shader_images
Mike Blumenkrantz [Wed, 9 Mar 2022 19:36:55 +0000 (14:36 -0500)]
aux/trace: dump format in set_shader_images

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

2 years agoci/freedreno: Reduce concurrency when replaying traces on a630
Tomeu Vizoso [Thu, 31 Mar 2022 03:54:18 +0000 (05:54 +0200)]
ci/freedreno: Reduce concurrency when replaying traces on a630

We are running out of memory when replaying traces sometimes, reduce the
number of concurrent retrace processes.

   Mesa: User error: GL_OUT_OF_MEMORY in glReadPixels
   warning: GL_OUT_OF_MEMORY while getting snapshot
   1074335: warning: failed to get snapshot

https://gitlab.freedesktop.org/mesa/mesa/-/jobs/20519522

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15682>

2 years agov3d: fix some leaks in cache
Juan A. Suarez Romero [Mon, 4 Apr 2022 08:21:21 +0000 (10:21 +0200)]
v3d: fix some leaks in cache

Fix a couple of leaks introduced when adding support for on-disk shader
cache.

Fixes: 4468db20f7f ("v3d: add support for on-disk shader cache")
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15733>

2 years agov3dv: fix limits for inline uniform blocks
Iago Toral Quiroga [Mon, 4 Apr 2022 08:51:50 +0000 (10:51 +0200)]
v3dv: fix limits for inline uniform blocks

We don't support 'Update After Bind', however, the limits for this
model also include the ones without it. See the with or without remark
in the spec below:

"maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks is similar to
 maxPerStageDescriptorInlineUniformBlocks but counts descriptor bindings
 from descriptor sets created with or without the
 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set."

Fixes:
dEQP-VK.api.info.vulkan1p2_limits_validation.ext_inline_uniform_block

Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15732>

2 years agoRevert "ci/panfrost: Disable some jobs due to a lab failure"
Tomeu Vizoso [Mon, 4 Apr 2022 06:59:16 +0000 (08:59 +0200)]
Revert "ci/panfrost: Disable some jobs due to a lab failure"

Machines are back.

This reverts commit b5fd1fddd9cf24e9250b659130057289d5080746.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15730>

2 years agoradv: save/restore the stencil reference during internal driver operations
Samuel Pitoiset [Thu, 31 Mar 2022 18:20:35 +0000 (20:20 +0200)]
radv: save/restore the stencil reference during internal driver operations

I think I should improve this to be more robust.

Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6243
Cc: mesa-stable
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/15700>

2 years agoradv: fix cleaning the image view for CmdCopyImageToBuffer()
Samuel Pitoiset [Thu, 31 Mar 2022 16:23:31 +0000 (18:23 +0200)]
radv: fix cleaning the image view for CmdCopyImageToBuffer()

Fixes: f07e67272e8 ("radv: fix vk_object_base_init/finish for internal image views")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15707>

2 years agopvr: Add stricter type checking in pvr_csb_pack().
Karmjit Mahil [Mon, 14 Mar 2022 11:46:54 +0000 (11:46 +0000)]
pvr: Add stricter type checking in pvr_csb_pack().

Since the packing functions generated by csbgen use a void pointer
for the buffer in which to pack, it's possible to easily write out
of bounds. This commits attempts to reduce the chances by
having the pack macro check that the pointer passed points to an
element sized equally to the state word being packed. Catching
these errors earlier.

As can be seen in this commit, there already was a case of this:
"pds_ctrl". The word size is meant to be 64 bits but the pointer
was pointing to a 32 bit field.

Although it's fine for the word size to be smaller than the
storage pointed to by the pointer, this is not allowed just to
be extra careful.

Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15687>

2 years agoradv: Replace magic constants with enum values
Konstantin Seurer [Sun, 3 Apr 2022 09:24:29 +0000 (11:24 +0200)]
radv: Replace magic constants with enum values

Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15722>

2 years agoradv: Advertise ray primitive culling
Konstantin Seurer [Sat, 2 Apr 2022 20:17:15 +0000 (22:17 +0200)]
radv: Advertise ray primitive culling

Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15722>

2 years agoradv: Fully implement ray primitive culling
Konstantin Seurer [Sat, 2 Apr 2022 20:16:16 +0000 (22:16 +0200)]
radv: Fully implement ray primitive culling

Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15722>

2 years agoturnip: Allow image access on swapped formats.
Emma Anholt [Fri, 4 Mar 2022 19:57:32 +0000 (11:57 -0800)]
turnip: Allow image access on swapped formats.

This is apparently something that gamescope would like to have, and the
CTS's test coverage is happy with it.

Fixes: #6011 (we hope)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15293>

2 years agoturnip: Disable tiling on 1D images.
Emma Anholt [Wed, 9 Mar 2022 01:17:00 +0000 (17:17 -0800)]
turnip: Disable tiling on 1D images.

If we know the height is 1, then it would be a waste to align each
miplevel to tile height.  For non-mipmapped textures, it doesn't save us
memory (since you still align to 4 on the last miplevel), but it should be
better cache locality by not loading those unused lines.

Incidentally, this gets us some more coverage of swap != WZYX cases in CTS
tests, which often use optimal tiling without also testing linear.

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

2 years agofreedreno/a6xx: Set the color_swap field for storage descriptors.
Emma Anholt [Wed, 9 Mar 2022 18:00:34 +0000 (10:00 -0800)]
freedreno/a6xx: Set the color_swap field for storage descriptors.

This field does appear to work as expected: with 1D/1DArray turnip storage
images switched to be always linear, it fixes the dEQP-VK.image.*store*
tests using a color swapped format (once we allow color swap).

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

2 years agoturnip: Add support for VK_KHR_format_feature_flags2.
Emma Anholt [Fri, 4 Mar 2022 20:29:52 +0000 (12:29 -0800)]
turnip: Add support for VK_KHR_format_feature_flags2.

This reports all of our storage formats as supporting read/write without
format, since we don't have any in-shader format conversions.  Similarly,
shadow comparisons were already supported on all the depth formats.

This extension is required for VK 1.3.

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

2 years agonir_to_tgsi: Add support for nir_intrinsic_image_samples.
Emma Anholt [Fri, 11 Feb 2022 21:38:28 +0000 (13:38 -0800)]
nir_to_tgsi: Add support for nir_intrinsic_image_samples.

Found in 1 piglit test on r600.

Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15627>

2 years agolima/ci: enable piglit in lima CI
Erico Nunes [Sun, 5 Dec 2021 22:33:50 +0000 (23:33 +0100)]
lima/ci: enable piglit in lima CI

There are spare boards for it and the results appear stable.
Dividing the load in 2 parallel runs results in a run time
of around 10 minutes each.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15598>

2 years agolima/ci: enable CI again
Erico Nunes [Thu, 2 Dec 2021 20:12:00 +0000 (21:12 +0100)]
lima/ci: enable CI again

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15598>

2 years agolima/ci: update deqp results
Erico Nunes [Fri, 11 Mar 2022 13:21:24 +0000 (14:21 +0100)]
lima/ci: update deqp results

Unfortunately some regressions sneaked in while CI was down.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15598>

2 years agoturnip: Use correct type for OUTARRAY in FormatProperties2
Danylo Piliaiev [Thu, 31 Mar 2022 13:26:55 +0000 (16:26 +0300)]
turnip: Use correct type for OUTARRAY in FormatProperties2

Fixes: 799a9db24c334713c0ba5995f59b7db5f782e85e
("turnip: Stop using VK_OUTARRAY_MAKE()")

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15694>

2 years agofreedreno/registers: update dsi registers to support dsc
Vinod Koul [Fri, 1 Apr 2022 11:23:04 +0000 (16:53 +0530)]
freedreno/registers: update dsi registers to support dsc

Display Stream compression (DSC) compresses the display stream in
host which is later decoded by panel. This requires addition of 3 new
DSI registers to support DSC over DSI.

Signed-off-by: Vinod Koul <vkoul@kernel.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14967>

2 years agor300: don't assume position is always OUT[0] in rc_copy_output
Pavel Ondračka [Thu, 31 Mar 2022 14:33:50 +0000 (16:33 +0200)]
r300: don't assume position is always OUT[0] in rc_copy_output

Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15677>

2 years agor300: set PVS_XYZW_VALID_INST properly to last position write
Pavel Ondračka [Fri, 4 Mar 2022 09:27:54 +0000 (10:27 +0100)]
r300: set PVS_XYZW_VALID_INST properly to last position write

This is a potential performance optimization, from the docs:
The PVS Instruction which updates the clip coordinatea position for
the last time. This value is used to lower the processing priority
while trivial clip and back-face culling decisions are made. This
field must be set to valid instruction.

Right now it is set at the last instruction. However, there is no
measurable performance effect in either Unigine Sanctuary, Lightsmark
or GLmark.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6045
Signed-off-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Filip Gawin <filip.gawin@zoho.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15677>

2 years agoradv: Add more BVH vertex formats.
Bas Nieuwenhuizen [Sat, 19 Mar 2022 20:07:49 +0000 (21:07 +0100)]
radv: Add more BVH vertex formats.

AFAIU this is needed for DXR 1.1 with vkd3d-proton.

Reviewed-by: Samuel Pitoiset<samuel.pitoiset@gmail.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15475>

2 years agonir_to_tgsi: Handle blocks defined as arrays of arrays
Corentin Noël [Fri, 1 Apr 2022 14:34:13 +0000 (16:34 +0200)]
nir_to_tgsi: Handle blocks defined as arrays of arrays

Make sure to take all the array sizes into account when generating the TGSI.

Makes the `piglit.spec@arb_arrays_of_arrays@execution@ubo@fs-const-explicit-binding`
test pass

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15713>

2 years agoci/panfrost: Disable some jobs due to a lab failure
Tomeu Vizoso [Fri, 1 Apr 2022 13:44:36 +0000 (15:44 +0200)]
ci/panfrost: Disable some jobs due to a lab failure

A dispatcher has had a hard disk failure and these devices are offline
now.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15711>

2 years agoaco/optimizer: check recursively if we can eliminate s_and exec
Daniel Schürmann [Wed, 30 Mar 2022 16:01:45 +0000 (18:01 +0200)]
aco/optimizer: check recursively if we can eliminate s_and exec

Totals from 2860 (2.12% of 134913) affected shaders: (GFX10.3)
CodeSize: 5990728 -> 5979164 (-0.19%); split: -0.20%, +0.01%
Instrs: 1094562 -> 1091653 (-0.27%); split: -0.28%, +0.01%
Latency: 8689841 -> 8684523 (-0.06%); split: -0.07%, +0.00%
InvThroughput: 1840533 -> 1840527 (-0.00%); split: -0.00%, +0.00%
SClause: 51437 -> 51439 (+0.00%)
Copies: 82461 -> 82472 (+0.01%)
PreSGPRs: 83136 -> 83172 (+0.04%)

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15675>

2 years agovirgl: Don't support QUADS natively
Gert Wollny [Thu, 31 Mar 2022 07:23:36 +0000 (09:23 +0200)]
virgl: Don't support QUADS natively

Using quads leads to a rather expensive buffer readback when quads
are stored in display lists, so avoid them altogether.

Closes: #5825

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Italo Nicola <italonicola@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15683>

2 years agobroadcom/compiler: always enable per-quad on spill operations
Iago Toral Quiroga [Fri, 1 Apr 2022 06:37:34 +0000 (08:37 +0200)]
broadcom/compiler: always enable per-quad on spill operations

This ensures that any channels used for helper invocations are
also spilled/filled correctly.

Alternatively, we could recursively track all temps that get
involved in computing values that are then used in explicit
(dfdx,dfdy) or implicit (texture coordinates for mipmap or
anisotropic filtering, etc) derivatives, and only enable
per-quad on these (or disable spilling of any of these
values).

Fixes:
dEQP-VK.graphicsfuzz.cov-dfdx-dfdy-after-nested-loops

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15705>

2 years agoradv: enable VK_EXT_separate_stencil_usage
Samuel Pitoiset [Wed, 30 Mar 2022 11:24:47 +0000 (13:24 +0200)]
radv: enable VK_EXT_separate_stencil_usage

This extension has been promoted to Vulkan 1.2 which means it has been
silently enabled when we implemented Vulkan 1.2.

Enable it explicitely to make mesamatrix happy and also for consistency.
This extension was designed for potential performance improvements of
MSAA depth/stencil images but it's currently a no-op in RADV.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15665>

2 years agoradv: use the common vk_framebuffer
Samuel Pitoiset [Mon, 28 Mar 2022 13:54:12 +0000 (15:54 +0200)]
radv: use the common vk_framebuffer

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15612>

2 years agoradv: remove now unused radv_cmd_buffer_{begin,end}_render_pass()
Samuel Pitoiset [Thu, 17 Mar 2022 12:03:07 +0000 (13:03 +0100)]
radv: remove now unused radv_cmd_buffer_{begin,end}_render_pass()

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15612>

2 years agoradv: convert the meta clear path to dynamic rendering
Samuel Pitoiset [Wed, 16 Mar 2022 16:52:35 +0000 (17:52 +0100)]
radv: convert the meta clear path to dynamic rendering

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15612>

2 years agoradv: convert the meta blit path to dynamic rendering
Samuel Pitoiset [Thu, 17 Mar 2022 09:28:55 +0000 (10:28 +0100)]
radv: convert the meta blit path to dynamic rendering

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15612>

2 years agoradv: convert the meta resolve HW path to dynamic rendering
Samuel Pitoiset [Thu, 17 Mar 2022 08:51:07 +0000 (09:51 +0100)]
radv: convert the meta resolve HW path to dynamic rendering

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15612>

2 years agoradv: convert the meta resolve depth/stencil FS path to dynamic rendering
Samuel Pitoiset [Thu, 17 Mar 2022 10:47:35 +0000 (11:47 +0100)]
radv: convert the meta resolve depth/stencil FS path to dynamic rendering

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15612>

2 years agoradv: convert the meta resolve color FS path to dynamic rendering
Samuel Pitoiset [Mon, 29 Nov 2021 10:48:40 +0000 (11:48 +0100)]
radv: convert the meta resolve color FS path to dynamic rendering

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15612>

2 years agoradv: convert the meta blit 2d path to dynamic rendering
Samuel Pitoiset [Wed, 16 Mar 2022 16:38:27 +0000 (17:38 +0100)]
radv: convert the meta blit 2d path to dynamic rendering

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15612>

2 years agoradv: convert the meta fast clear flush path to dynamic rendering
Samuel Pitoiset [Wed, 24 Nov 2021 09:52:07 +0000 (10:52 +0100)]
radv: convert the meta fast clear flush path to dynamic rendering

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15612>

2 years agoradv: convert the meta depth decompression path to dynamic rendering
Samuel Pitoiset [Wed, 16 Mar 2022 15:07:58 +0000 (16:07 +0100)]
radv: convert the meta depth decompression path to dynamic rendering

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15612>

2 years agoradv: rework the workaround that disables DCC for incompatible copies
Samuel Pitoiset [Mon, 28 Mar 2022 12:00:43 +0000 (14:00 +0200)]
radv: rework the workaround that disables DCC for incompatible copies

Rely on the image view to avoid using an extra structure for the
render pass. This will allow to convert the meta operations to
dynamic rendering.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15612>

2 years agoutil: Getting u_debug.h not depends on pipe/*
Yonggang Luo [Tue, 29 Mar 2022 22:10:25 +0000 (06:10 +0800)]
util: Getting u_debug.h not depends on pipe/*

Move pipe_debug_type into u_debug.h
Move pipe_debug_callback into u_debug.h

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15657>

2 years agoutil: Rename PIPE_DEBUG_TYPE to UTIL_DEBUG_TYPE
Yonggang Luo [Wed, 30 Mar 2022 20:23:56 +0000 (04:23 +0800)]
util: Rename PIPE_DEBUG_TYPE to UTIL_DEBUG_TYPE

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15657>

2 years agoutil: Rename pipe_debug_type to util_debug_type
Yonggang Luo [Wed, 30 Mar 2022 20:23:16 +0000 (04:23 +0800)]
util: Rename pipe_debug_type  to util_debug_type

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15657>

2 years agopipe: place `struct util_debug_callback` at the proper place in p_context.h
Yonggang Luo [Wed, 30 Mar 2022 22:58:36 +0000 (06:58 +0800)]
pipe: place `struct util_debug_callback` at the proper place in p_context.h

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15657>

2 years agoutil: Rename pipe_debug_callback to util_debug_callback
Yonggang Luo [Wed, 30 Mar 2022 20:22:26 +0000 (04:22 +0800)]
util: Rename pipe_debug_callback to util_debug_callback

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15657>

2 years agoutil: Rename pipe_debug_message to util_debug_message
Yonggang Luo [Wed, 30 Mar 2022 20:21:45 +0000 (04:21 +0800)]
util: Rename pipe_debug_message to util_debug_message

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15657>

2 years agolavapipe: set LVP_POISON_MEMORY for ci
Mike Blumenkrantz [Mon, 28 Mar 2022 21:41:12 +0000 (17:41 -0400)]
lavapipe: set LVP_POISON_MEMORY for ci

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15620>

2 years agozink: set LVP_POISON_MEMORY for ci
Mike Blumenkrantz [Mon, 28 Mar 2022 21:41:05 +0000 (17:41 -0400)]
zink: set LVP_POISON_MEMORY for ci

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15620>

2 years agolavapipe: add an env var to enable poisoning memory allocations
Mike Blumenkrantz [Mon, 28 Mar 2022 21:39:08 +0000 (17:39 -0400)]
lavapipe: add an env var to enable poisoning memory allocations

it's not random, but it's definitely not zero or any other expected
value, which means it's going to break anything that was passing due to lucky
uninitialized values

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15620>

2 years agollvmpipe: fix nr_sampler_view in key creation.
Dave Airlie [Sun, 27 Mar 2022 23:20:27 +0000 (09:20 +1000)]
llvmpipe: fix nr_sampler_view in key creation.

This was doing MAX2() but nr_sampler_views hasn't been initialised
yet.

Fixes: 690cc3bb803a ("llvmpipe: overhaul fs/cs variant keys to be simpler.")

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15603>

2 years agozink/query: rewrite the query handling code to pass validation.
Dave Airlie [Mon, 28 Mar 2022 06:08:21 +0000 (16:08 +1000)]
zink/query: rewrite the query handling code to pass validation.

The current code was allowing multiple query pools of the same type to be
active on the same commmand buffer which creates validation warnings.

Restructure the query handling, so the query pools are allocated on the
context on first use, then have queries allocate query_id from those pools.

This approach creates a new start dynamic array that contains each time a
vulkan query is started for a gallium query, and holds the flags for it rather
than storing them in a massive array.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15702>