platform/upstream/mesa.git
13 months agonir/zink: use sysvals in `nir_create_passthrough_gs`
antonino [Mon, 24 Apr 2023 11:46:52 +0000 (13:46 +0200)]
nir/zink: use sysvals in `nir_create_passthrough_gs`

Previously the passthrough gs shader loaded some values with uniform
loads using sevaral hardcoded values.

This was not flexible for other drivers and started becoming too
unflexible for zink itself.

Use system values instead and use a lowering pass in zink.

Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22667>

13 months agopvr: Add PVR_DW_TO_BYTES()
Karmjit Mahil [Tue, 14 Feb 2023 13:04:39 +0000 (13:04 +0000)]
pvr: Add PVR_DW_TO_BYTES()

We use dwords (32 bit) quite a bit around the code base. Previously
we used '* 4', '<< 2', or '* sizeof(uint32_t)' to go from dwords to
bytes. The conversion isn't always clear when other operations
happen in the same line, which can leave one wondering where the
multiplication came from.
PVR_DW_TO_BYTES() should make the code more obvious as well as
making the conversion more consistent.

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/22658>

13 months agoanv: implement state cache invalidate for Wa_16013063087
Tapani Pälli [Mon, 24 Apr 2023 10:11:48 +0000 (13:11 +0300)]
anv: implement state cache invalidate for Wa_16013063087

Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22651>

13 months agoanv: cleanup bitmask construction for PIPELINE_SELECT
Tapani Pälli [Mon, 24 Apr 2023 10:10:31 +0000 (13:10 +0300)]
anv: cleanup bitmask construction for PIPELINE_SELECT

Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22651>

13 months agoiris: implement state cache invalidate for Wa_16013063087
Tapani Pälli [Mon, 24 Apr 2023 05:52:28 +0000 (08:52 +0300)]
iris: implement state cache invalidate for Wa_16013063087

Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22651>

13 months agobroadcom/compiler: return early for SFU op latency calculation
Iago Toral Quiroga [Tue, 25 Apr 2023 07:32:27 +0000 (09:32 +0200)]
broadcom/compiler: return early for SFU op latency calculation

Since we are returning a fixed latency for these check for them
earlier and return early if they match.

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

13 months agobroadcom/compiler: fix incorrect ALU checks
Iago Toral Quiroga [Tue, 25 Apr 2023 07:04:25 +0000 (09:04 +0200)]
broadcom/compiler: fix incorrect ALU checks

We had a bunch of cases where we would check ALU parameters without
first checking if the ALU op was valid.

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

13 months agoradeonsi: implement fw based mcbp
Pierre-Eric Pelloux-Prayer [Fri, 17 Mar 2023 13:44:42 +0000 (14:44 +0100)]
radeonsi: implement fw based mcbp

Some chips support firmware based mcbp. If supported this means
radeonsi needs to allocate 3 buffers and pass them to the firmware.

From there, the firmware will handle mcbp and register shadowing
on its own so we don't need to insert LOAD packet in the preamble.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21986>

13 months agoamd: determine info->has_fw_based_shadowing
Pierre-Eric Pelloux-Prayer [Fri, 17 Mar 2023 13:43:47 +0000 (14:43 +0100)]
amd: determine info->has_fw_based_shadowing

The shadow_size value will be 0 if unsupported.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21986>

13 months agoamd: update amdgpu_drm.h
Pierre-Eric Pelloux-Prayer [Fri, 17 Mar 2023 13:42:19 +0000 (14:42 +0100)]
amd: update amdgpu_drm.h

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21986>

13 months agovenus: fix the RHEL8 build by using syscall for gettid
Marek Olšák [Thu, 13 Apr 2023 19:38:03 +0000 (15:38 -0400)]
venus: fix the RHEL8 build by using syscall for gettid

src/virtio/vulkan/vn_common.c: In function ‘vn_ring_monitor_acquire’:
src/virtio/vulkan/vn_common.c:129:16: error: implicit declaration of function ‘gettid’; did you mean ‘getgid’? [-Werror=implicit-function-declaration]
  129 |    pid_t tid = gettid();

Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22489>

13 months agoci/valve: Add a workaround for finding libdrm on navi21s.
Emma Anholt [Mon, 24 Apr 2023 16:39:09 +0000 (09:39 -0700)]
ci/valve: Add a workaround for finding libdrm on navi21s.

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

13 months agoci/zink: Drop anv/lvp validation exceptions that should be fixed in the CTS.
Emma Anholt [Thu, 13 Apr 2023 23:34:11 +0000 (16:34 -0700)]
ci/zink: Drop anv/lvp validation exceptions that should be fixed in the CTS.

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

13 months agoci/deqp: Update to 1.3.5.1 and pull in additional bugfixes from main.
Emma Anholt [Tue, 14 Mar 2023 18:46:11 +0000 (11:46 -0700)]
ci/deqp: Update to 1.3.5.1 and pull in additional bugfixes from main.

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

13 months agoci: Move some timeout xfails to skips.
Emma Anholt [Fri, 14 Apr 2023 00:12:19 +0000 (17:12 -0700)]
ci: Move some timeout xfails to skips.

We generally don't want to wait around for a minute for things to fail.
Note that some of these were already in their skips.

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

13 months agorusticl/device: allow enablement of fp64 via RUSTICL_FEATURES
Karol Herbst [Mon, 24 Apr 2023 11:08:07 +0000 (13:08 +0200)]
rusticl/device: allow enablement of fp64 via RUSTICL_FEATURES

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22649>

13 months agorusticl/platform: add RUSTICL_FEATURES boilerplate
Karol Herbst [Mon, 24 Apr 2023 11:07:38 +0000 (13:07 +0200)]
rusticl/platform: add RUSTICL_FEATURES boilerplate

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22649>

13 months agorusticl/platform: extract env variable parsing from Platform::init
Karol Herbst [Mon, 24 Apr 2023 11:06:01 +0000 (13:06 +0200)]
rusticl/platform: extract env variable parsing from Platform::init

In our platform initialization code we might want to access the parsed env
variables already. So do this in separate steps.

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22649>

13 months agorusticl/platform: make the initialization more explicit
Karol Herbst [Mon, 24 Apr 2023 11:01:42 +0000 (13:01 +0200)]
rusticl/platform: make the initialization more explicit

It's not a lazy loaded type so doing the Once::call_once in every
Platform::get gives us a pointless atomic, which might be slow on some
platforms.

Every application has to call clGetPlatformIDs so we only need to do it
there.

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22649>

13 months agorusticl/device: improve advertisement of fp64 support
Karol Herbst [Mon, 24 Apr 2023 10:54:59 +0000 (12:54 +0200)]
rusticl/device: improve advertisement of fp64 support

Enabling fp64 support makes rarely sense, but in case we do claim it, we
should also tell if it's a pure software implementation.

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22649>

13 months agogallium: Add pipe_shader_state_from_nir
M Henning [Sat, 22 Apr 2023 04:47:28 +0000 (00:47 -0400)]
gallium: Add pipe_shader_state_from_nir

and use it in nouveau

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22537>

13 months agonv50,nvc0: Use ttn for tgsi shaders by default
M Henning [Tue, 4 Apr 2023 05:54:40 +0000 (01:54 -0400)]
nv50,nvc0: Use ttn for tgsi shaders by default

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22537>

13 months agonv50,nvc0: Stop advertising TGSI by default
M Henning [Sun, 2 Apr 2023 05:08:12 +0000 (01:08 -0400)]
nv50,nvc0: Stop advertising TGSI by default

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22537>

13 months agonv50,nvc0: Use nir in nv50_blitter_make_fp
M Henning [Wed, 12 Apr 2023 05:20:08 +0000 (01:20 -0400)]
nv50,nvc0: Use nir in nv50_blitter_make_fp

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22537>

13 months agonvc0: Use nir in nvc0_blitter_make_vp
M Henning [Sun, 9 Apr 2023 01:00:33 +0000 (21:00 -0400)]
nvc0: Use nir in nvc0_blitter_make_vp

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22537>

13 months agonvc0: Use nir in nvc0_program_init_tcp_empty
M Henning [Sun, 2 Apr 2023 05:26:31 +0000 (01:26 -0400)]
nvc0: Use nir in nvc0_program_init_tcp_empty

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22537>

13 months agolavapipe: asst. clean-ups in lvp_execute.c
Brian Paul [Fri, 7 Apr 2023 17:56:57 +0000 (11:56 -0600)]
lavapipe: asst. clean-ups in lvp_execute.c

Move loop var decls into loops.
Use designated initializers.
Replace some questionable memcpy/memset() calls with assignments.
Line-wrap, whitespace fixes.

Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22467>

13 months agolavapipe: clean-ups in lvp_physical_device_get_format_properties()
Brian Paul [Fri, 7 Apr 2023 17:26:04 +0000 (11:26 -0600)]
lavapipe: clean-ups in lvp_physical_device_get_format_properties()

Use new pscreen local var to shorten the code.
Line-wrap and align code for easier reading.
Consolidate |= assignments.

Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22467>

13 months agolavapipe: clean-ups in lvp_GetQueryPoolResults()
Brian Paul [Wed, 5 Apr 2023 15:42:33 +0000 (09:42 -0600)]
lavapipe: clean-ups in lvp_GetQueryPoolResults()

Simplify the code which puts query results into the destination
buffer:
* Use a uint64 or uint32 pointer instead of uint8 to write the results
  to the buffer for less casting and simplifient pointer incrementing.
* Use MIN2() macro to be more concise.
And fix some indentation.

Signed-off-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22467>

13 months agoci/mold: bump to 1.11.0
David Heidelberg [Sun, 23 Apr 2023 09:21:16 +0000 (11:21 +0200)]
ci/mold: bump to 1.11.0

Fixes LTO issue.

Release notes: https://github.com/rui314/mold/releases/tag/v1.11.0

Acked-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22642>

13 months agollvmpipe: do late init for llvm builder
Mike Blumenkrantz [Thu, 20 Apr 2023 14:33:27 +0000 (10:33 -0400)]
llvmpipe: do late init for llvm builder

this avoids doing any llvm work during lavapipe enumeration which
might otherwise explode if lavapipe is not the actual driver that
gets used

cc: mesa-stable

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22600>

13 months agogallivm: break out native vector width calc for reuse
Mike Blumenkrantz [Fri, 21 Apr 2023 14:56:44 +0000 (10:56 -0400)]
gallivm: break out native vector width calc for reuse

breaks dependency on lp_build_init()

cc: mesa-stable

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22600>

13 months agov3d/ci: enable glsl 1.30 and 1.40 piglit tests
Juan A. Suarez Romero [Sat, 22 Apr 2023 22:12:13 +0000 (00:12 +0200)]
v3d/ci: enable glsl 1.30 and 1.40 piglit tests

Now that we are exposing OpenGL 3.1, let's enable the proper supported
GLSL versions.

Acked-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22660>

13 months agofreedreno: Add more tracepoint fields
Rob Clark [Fri, 21 Apr 2023 18:51:04 +0000 (11:51 -0700)]
freedreno: Add more tracepoint fields

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646>

13 months agofreedreno/a6xx: Pass ring to __ONE_REG()
Rob Clark [Sat, 15 Apr 2023 18:32:09 +0000 (11:32 -0700)]
freedreno/a6xx: Pass ring to __ONE_REG()

This happened to work before because the arg to OUT_REG() was also
called 'ring' (or there was a suitable local var in scope!!)

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646>

13 months agofreedreno: Add dirty state logging
Rob Clark [Sat, 15 Apr 2023 16:51:21 +0000 (09:51 -0700)]
freedreno: Add dirty state logging

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646>

13 months agofreedreno/perfetto: Add shader_id for compute stages
Rob Clark [Sun, 2 Apr 2023 15:11:32 +0000 (08:11 -0700)]
freedreno/perfetto: Add shader_id for compute stages

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646>

13 months agomesa/nir: Add some perfetto traces
Rob Clark [Thu, 16 Mar 2023 18:30:21 +0000 (11:30 -0700)]
mesa/nir: Add some perfetto traces

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646>

13 months agofreedreno/ir3: More perfetto tracing
Rob Clark [Thu, 16 Mar 2023 18:04:13 +0000 (11:04 -0700)]
freedreno/ir3: More perfetto tracing

Some useful trace points that I had laying around.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646>

13 months agoutil/log: Add missing "const"
Rob Clark [Sat, 15 Apr 2023 16:47:19 +0000 (09:47 -0700)]
util/log: Add missing "const"

Fixes warning:

  warning: ISO C++11 does not allow conversion from string literal to 'char *' [-Wwritable-strings]

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646>

13 months agofreedreno/registers: C++ struct casting
Rob Clark [Sun, 23 Apr 2023 14:55:55 +0000 (07:55 -0700)]
freedreno/registers: C++ struct casting

Using C style `(struct foo){ ..args..}` at least confuses eclipse, so
for C++ code use `{ ..args.. }` instead.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646>

13 months agofreedreno: Extra casting to make C++ happy
Rob Clark [Sun, 23 Apr 2023 14:54:54 +0000 (07:54 -0700)]
freedreno: Extra casting to make C++ happy

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22646>

13 months agoutil/log: Fix log messages over 1024 characters.
Emma Anholt [Thu, 20 Apr 2023 23:12:57 +0000 (16:12 -0700)]
util/log: Fix log messages over 1024 characters.

The first attempt at the sprintf would have consumed part of va, so if
we're going to recurse on overflow to try again in a new allocation then
we have to do our work on a copy.

This was a common failure mode for MESA_GLSL=source, where it would just print:

  Mesa: info: GLSL source for fragment shader 1:
  Mesa: info: (null)

Fixes: 7a18a1712a0a ("util/log: improve logger_file newline handling")
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22618>

13 months agoanv: support fast color clears on vkCmdClearAttachments
Iván Briano [Tue, 6 Dec 2022 00:16:49 +0000 (16:16 -0800)]
anv: support fast color clears on vkCmdClearAttachments

As long as some conditions are met.

Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175>

13 months agoanv: expose some helper functions
Iván Briano [Mon, 5 Dec 2022 23:52:09 +0000 (15:52 -0800)]
anv: expose some helper functions

v2: (Rohan Garg)
- Make set_fast_clear_state take an image and format instead of an iview

Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175>

13 months agoanv: factor out code for ccs_op and mcs_op
Iván Briano [Mon, 5 Dec 2022 23:42:33 +0000 (15:42 -0800)]
anv: factor out code for ccs_op and mcs_op

Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175>

13 months agoanv: make anv_can_fast_clear_color_view more generally available
Iván Briano [Tue, 25 Oct 2022 16:31:37 +0000 (09:31 -0700)]
anv: make anv_can_fast_clear_color_view more generally available

Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175>

13 months agoanv: Remove dead parameters from copy_fast_clear_dwords
Iván Briano [Tue, 15 Nov 2022 23:20:51 +0000 (15:20 -0800)]
anv: Remove dead parameters from copy_fast_clear_dwords

There's only one caller of this function and always passes false.

v2: (Nanley Chery)
- Also remove the aspect parameter

v3: (Nanley Chery)
- Rename the function so it's more clear in which direction it works

Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175>

13 months agoanv: Fast clear depth/stencil surface in vkCmdClearAttachments
Sagar Ghuge [Tue, 22 Sep 2020 00:56:08 +0000 (17:56 -0700)]
anv: Fast clear depth/stencil surface in vkCmdClearAttachments

Instead of doing a slow depth clear, we can do depth fast clear in
vkClearAttachments.

Sascha Willems occlusionquery demo shows more than 2% perf boost with
this series.

On Felix's Tigerlake with the GPU at fixed frequency, this patch
improves performance of RoTR by +0.5%.

v2: (Nanley Chery)
- Clear stencil surface along with depth.
- Check for multilayer resources.
- Lookout for state.attachments.
- Fallback on slow clear for BDW and CHV if conditional rendering
  enabled.
- Keep flush in same function.

v3: (Nanley Chery)
- Return immediately after fast clearing.
- Remove unnecessary comment.

v4: (Nanley Chery)
- Add assertion for BLORP_BATCH_NO_EMIT_DEPTH_STENCIL.
- Remove unnecessary local variable.
- Add 3DSTATE_WM_HZ_OP comment.

v5: (Nanley Chery)
- Fix comments.
- Don't take fast depth clear path if BLORP_BATCH_PREDICATE_ENABLE set.
- Refactor code in can_hiz_clear_att.

Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175>

13 months agoanv: Move and make anv_can_hiz_clear_ds_view non-static
Sagar Ghuge [Thu, 10 Sep 2020 21:40:08 +0000 (14:40 -0700)]
anv: Move and make anv_can_hiz_clear_ds_view non-static

v2:
- Pass const image view param. (Nanley)

Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175>

13 months agoanv: Factor out code from anv_image_hiz_clear
Sagar Ghuge [Tue, 22 Sep 2020 00:40:39 +0000 (17:40 -0700)]
anv: Factor out code from anv_image_hiz_clear

Refactoring code from anv_image_hiz_clear which helps in future patches
to support fast depth clear in vkCmdClearAttachments.

Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20175>

13 months agoblob: Don't valgrind assert for defined memory if we aren't writing.
Emma Anholt [Thu, 20 Apr 2023 21:57:41 +0000 (14:57 -0700)]
blob: Don't valgrind assert for defined memory if we aren't writing.

The VK pipeline cache passes a NULL bytes with a nonzero size to a
NULL-data blob to set up the size of the blob.  In this case, we don't
actually execute the memcpy, so the non-existent "bytes" doesn't need to
have defined contents.  Avoids a valgrind warning:

==972858== Unaddressable byte(s) found during client check request
==972858==    at 0x147F4166: blob_write_bytes (blob.c:165)
==972858==    by 0x147F4166: blob_write_bytes (blob.c:158)
==972858==    by 0x14695FFF: vk_pipeline_cache_object_serialize (vk_pipeline_cache.c:240)
[...]
==972858==  Address 0x0 is not stack'd, malloc'd or (recently) free'd

Fixes: 591da9877900 ("vulkan: Add a common VkPipelineCache implementation")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22617>

13 months agoci/zink: Enable the validation layer on the TGL GL46 run.
Emma Anholt [Wed, 5 Apr 2023 19:34:16 +0000 (12:34 -0700)]
ci/zink: Enable the validation layer on the TGL GL46 run.

We recently had an issue where an anv merge failed due to a bug in zink,
which validation would have caught.  Get some coverage by default on the
main branch.

This increases runtime from 9:30 to 12:10.  I don't feel good about this,
but I've got https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/4398 in
flight to try to knock the time back down.

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

13 months agoci: Move zink's validation layer setup to deqp-runner.sh.
Emma Anholt [Wed, 5 Apr 2023 19:31:51 +0000 (12:31 -0700)]
ci: Move zink's validation layer setup to deqp-runner.sh.

I want the path to be always set in case someone wants some
ZINK_DEBUG=validation, rather than having to do it per test job.

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

13 months agoci/zink: Re-enable traces now that !20319 has landed.
Emma Anholt [Wed, 29 Mar 2023 20:37:24 +0000 (13:37 -0700)]
ci/zink: Re-enable traces now that !20319 has landed.

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

13 months agoci: Add the Vulkan validation layer to amd64 rootfs builds.
Emma Anholt [Wed, 5 Apr 2023 19:49:50 +0000 (12:49 -0700)]
ci: Add the Vulkan validation layer to amd64 rootfs builds.

We're going to want this for zink testing on actual HW drivers.  I haven't
sorted out the arm64 build yet, so no tu coverage.

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

13 months agoci: Make a variable for the repeated rootfs directory name.
Emma Anholt [Wed, 5 Apr 2023 19:45:39 +0000 (12:45 -0700)]
ci: Make a variable for the repeated rootfs directory name.

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

13 months agofrontends/va: return matching drm format for yuyv pipe format
Sathishkumar S [Thu, 13 Apr 2023 06:48:54 +0000 (12:18 +0530)]
frontends/va: return matching drm format for yuyv pipe format

return the matching drm format for YUYV pipe format in pipe_format_to_drm_format(), else
vlVaExportSurfaceHandle() fails to export a surface handle for YUYV surface.

Signed-off-by: Sathishkumar S <sathishkumar.sundararaju@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22497>

13 months agozink: fix array copying in pv lowering
Mike Blumenkrantz [Mon, 24 Apr 2023 15:40:16 +0000 (11:40 -0400)]
zink: fix array copying in pv lowering

Fixes: 5a4083349f3 ("zink: add provoking vertex mode lowering")

Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22669>

13 months agonir/gs: fix array type copying for passthrough gs
Mike Blumenkrantz [Mon, 24 Apr 2023 15:19:57 +0000 (11:19 -0400)]
nir/gs: fix array type copying for passthrough gs

same mechanics as in zink passes

Fixes: d0342e28b32 ("nir: Add helper to create passthrough GS shader")

Reviewed-by: Antonino Maniscalco <antonino.maniscalco@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22669>

13 months agodzn: Align-up heap sizes when allocating memory
Jesse Natalie [Mon, 24 Apr 2023 14:19:24 +0000 (07:19 -0700)]
dzn: Align-up heap sizes when allocating memory

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8895
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22666>

13 months agoradv: do not overallocate the CS array during submissions
Samuel Pitoiset [Fri, 21 Apr 2023 09:51:29 +0000 (11:51 +0200)]
radv: do not overallocate the CS array during submissions

Preambles/postambles are no longer added to the CS array.

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

13 months agoradv: Search for guilty contexts at radv_check_status
André Almeida [Sun, 23 Apr 2023 20:43:11 +0000 (17:43 -0300)]
radv: Search for guilty contexts at radv_check_status

When a GPU hung happens, all contexts are notified. They will receive
INNOCENT_CONTEXT if they are not the context that triggered the reset,
or GUILTY_CONTEXT otherwise.

At radv_check_status(), we return on the first context that was notified
as [GUILTY, INNOCENT]_CONTEXT, without further checks. This can make an
app think that it's innocent if the guilty context is not the first one
on the list of hw_ctx to be checked.

Check every context for a guilty one before returning CONTEXT_INNOCENT.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: André Almeida <andrealmeid@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22648>

13 months agofreedreno: Enable A506
Luca Weiss [Sun, 23 Apr 2023 18:09:22 +0000 (20:09 +0200)]
freedreno: Enable A506

Enable the Adreno 506 that is found in SoCs such as Snapdragon 450,
Snapdragon 625 or Snapdragon 632 (msm8953 family).

Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22647>

13 months agozink: add a driver workaround to disable background compiles
Mike Blumenkrantz [Thu, 20 Apr 2023 19:49:00 +0000 (15:49 -0400)]
zink: add a driver workaround to disable background compiles

it's stupid to do optimized background compiles if the driver is going
to create the exact same pipeline, so add a workaround to disable
this behavior

should improve ci runtimes on lavapipe by some amount

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

13 months agov3d: add support for ARB_texture_cube_map_array
Juan A. Suarez Romero [Thu, 13 Apr 2023 16:57:39 +0000 (18:57 +0200)]
v3d: add support for ARB_texture_cube_map_array

This implements support for texture cubemap arrays.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22482>

13 months agozink: add z32s8 as mandatory GL3.0 profile attachment format
Mike Blumenkrantz [Thu, 20 Apr 2023 18:03:19 +0000 (14:03 -0400)]
zink: add z32s8 as mandatory GL3.0 profile attachment format

fixes #8616

cc: mesa-stable

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

13 months agozink: don't pin flush queue threads if no threads exist
Mike Blumenkrantz [Thu, 20 Apr 2023 17:21:28 +0000 (13:21 -0400)]
zink: don't pin flush queue threads if no threads exist

Fixes: 270f9c0b063 ("zink: add ZINK_DEBUG=flushsync")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22611>

13 months agorusticl: don't set size_t-is-usize for >=bindgen-0.65
Karol Herbst [Thu, 13 Apr 2023 19:14:33 +0000 (21:14 +0200)]
rusticl: don't set size_t-is-usize for >=bindgen-0.65

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8827
Fixes: 20c90fed5a0 ("rusticl: added")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22484>

13 months agozink/ci: mark 77 multisample-related tests as fixed
Martin Roukala (né Peres) [Mon, 24 Apr 2023 05:51:31 +0000 (08:51 +0300)]
zink/ci: mark 77 multisample-related tests as fixed

Reference: #6302
Fixes: a004825266fd ("zink: don't render with multisampling when it is disabled")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22650>

13 months agoac/llvm: support shifts on 16 bit vec2
Karol Herbst [Thu, 20 Apr 2023 10:58:19 +0000 (12:58 +0200)]
ac/llvm: support shifts on 16 bit vec2

In OpenCL we can actually end up with those.

Fixes `basic astype` and those `integer_ops` OpenCL CTS tests:
integer_hadd
integer_rhadd
integer_upsample
quick_short_shift
quick_ushort_shift

Cc: mesa-stable
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22597>

13 months agoradeonsi: lower mul_high
Karol Herbst [Tue, 15 Nov 2022 23:34:29 +0000 (00:34 +0100)]
radeonsi: lower mul_high

Fixes `integer_mad_hi` and `integer_mul_hi` `integer_ops` tests

Cc: mesa-stable
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22597>

13 months agoRevert "ci: disable Collabora's LAVA lab for maintance"
Sergi Blanch Torne [Wed, 29 Mar 2023 07:21:50 +0000 (09:21 +0200)]
Revert "ci: disable Collabora's LAVA lab for maintance"

This reverts commit https://gitlab.freedesktop.org/mesa/mesa/-/commit/def1d097c9e1637923f5315820586b06de2f28d0

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22182>

13 months agov3d: document that `V3D_DEBUG=shaderdb` is *not* for shader-db
Eric Engestrom [Mon, 24 Apr 2023 09:23:36 +0000 (10:23 +0100)]
v3d: document that `V3D_DEBUG=shaderdb` is *not* for shader-db

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/22659>

13 months agobroadcom/compiler: fix incorrect check for SFU op
Iago Toral Quiroga [Thu, 20 Apr 2023 10:49:22 +0000 (12:49 +0200)]
broadcom/compiler: fix incorrect check for SFU op

Before testing the waddr for SFU we should first validate this
is indeed a valid (not NOP) magic write. Use the helper we have for
this which gets this right.

total instructions in shared programs: 12898957 -> 12850958 (-0.37%)
instructions in affected programs: 4328937 -> 4280938 (-1.11%)
helped: 19974
HURT: 439
Instructions are helped.

total max-temps in shared programs: 2211503 -> 2210893 (-0.03%)
max-temps in affected programs: 12924 -> 12314 (-4.72%)
helped: 509
HURT: 20
Max-temps are helped.

total sfu-stalls in shared programs: 22233 -> 21975 (-1.16%)
sfu-stalls in affected programs: 722 -> 464 (-35.73%)
helped: 297
HURT: 54
Sfu-stalls are helped.

total inst-and-stalls in shared programs: 12921190 -> 12872933 (-0.37%)
inst-and-stalls in affected programs: 4337977 -> 4289720 (-1.11%)
helped: 20015
HURT: 404
Inst-and-stalls are helped.

total nops in shared programs: 333743 -> 305911 (-8.34%)
nops in affected programs: 86902 -> 59070 (-32.03%)
helped: 14545
HURT: 76
Nops are helped.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
cc: mesa-stable

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

13 months agobroadcom/compiler: add a v3d_qpu_instr_is_legacy_sfu helper
Iago Toral Quiroga [Mon, 24 Apr 2023 06:51:47 +0000 (08:51 +0200)]
broadcom/compiler: add a v3d_qpu_instr_is_legacy_sfu helper

This checks for the deprecated, old-style SFU instructions triggered by
magic writes.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
cc: mesa-stable

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

13 months agobroadcom/compiler: fix v3d_qpu_uses_sfu
Iago Toral Quiroga [Mon, 24 Apr 2023 06:48:39 +0000 (08:48 +0200)]
broadcom/compiler: fix v3d_qpu_uses_sfu

We should check that the alu op is valid before testing the
write address.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
cc: mesa-stable

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

13 months agozink: fix line strip offsets in pv mode emulation
antonino [Tue, 4 Apr 2023 16:55:52 +0000 (18:55 +0200)]
zink: fix line strip offsets in pv mode emulation

Offsets for line strips don't need to alternate like they do for
triangle strips.

Fixes: 5a4083349f3 ("zink: add provoking vertex mode lowering")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22599>

13 months agozink: fix exit condition on pv emulation loop
antonino [Tue, 4 Apr 2023 15:00:53 +0000 (17:00 +0200)]
zink: fix exit condition on pv emulation loop

The exit condition was not correct causing the pv emulation lowering
pass to emit garbage for incomplete primitives.

Fixes: 5a4083349f3 ("zink: add provoking vertex mode lowering")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22599>

13 months agozink: use ring buffer to preserve last element
antonino [Tue, 4 Apr 2023 14:49:57 +0000 (16:49 +0200)]
zink: use ring buffer to preserve last element

Previously, whenever a vertex was emitted immediately after emitting a
primitive, that vertex would not use the attributes that where assigned
last because the position variable got set.

Now the temporary attributes array is treated as a ring buffer and
whenever the position is set to 0 it's previous value is used as an
offset when accessing it. This way when a new primitive is created the
attributes at index 0 correspond to the last attributes written.

Fixes: 5a4083349f3 ("zink: add provoking vertex mode lowering")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22599>

13 months agozink: fix pv mode lowring index calculation
antonino [Tue, 4 Apr 2023 10:20:37 +0000 (12:20 +0200)]
zink: fix pv mode lowring index calculation

The provoking vertex mode pass was calculating an offset and then using
it directly instead of adding it to the base index.

Fixes: 5a4083349f3 ("zink: add provoking vertex mode lowering")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22599>

13 months agoanv: move nir_shader_gather_info to anv_pipeline_nir_preprocess
Marcin Ślusarz [Fri, 21 Apr 2023 10:51:47 +0000 (12:51 +0200)]
anv: move nir_shader_gather_info to anv_pipeline_nir_preprocess

Fixes dEQP-VK.mesh_shader.ext.misc.custom_attributes*.

Fixes: 16c7c377186 ("anv: move preprocessing of NIR right before compilation")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22629>

13 months agozink: refcount the correct query pool
SoroushIMG [Wed, 19 Apr 2023 21:10:15 +0000 (22:10 +0100)]
zink: refcount the correct query pool

otherwise the pool is freed before the query and zink will
give the vulkan driver NULL query pool which can make it crash.

this was seen when running the following cases with
primitivesGeneratedQueryWithRasterizerDiscard and color write
features disabled:
dEQP-GL45.functional.tessellation.invariance.outer_triangle_set.triangles_fractional_odd_spacing
dEQP-GL45.functional.tessellation.invariance.outer_triangle_set.triangles_fractional_even_spacing
dEQP-GL45.functional.tessellation.invariance.outer_triangle_set.quads_equal_spacing
dEQP-GL45.functional.tessellation.invariance.outer_triangle_set.quads_fractional_odd_spacing
dEQP-GL45.functional.tessellation.invariance.outer_triangle_set.quads_fractional_even_spacing
dEQP-GL45.functional.tessellation.invariance.tess_coord_component_range.triangles_equal_spacing_ccw
dEQP-GL45.functional.tessellation.invariance.tess_coord_component_range.triangles_equal_spacing_ccw_point_mode
dEQP-GL45.functional.tessellation.invariance.tess_coord_component_range.triangles_equal_spacing_cw
dEQP-GL45.functional.tessellation.invariance.tess_coord_component_range.triangles_equal_spacing_cw_point_mode
dEQP-GL45.functional.tessellation.invariance.tess_coord_component_range.triangles_fractional_odd_spacing_ccw
dEQP-GL45.functional.tessellation.invariance.tess_coord_component_range.triangles_fractional_odd_spacing_ccw_point_mode
dEQP-GL45.functional.tessellation.invariance.tess_coord_component_range.triangles_fractional_odd_spacing_cw
dEQP-GL45.functional.tessellation.invariance.tess_coord_component_range.triangles_fractional_odd_spacing_cw_point_mode
dEQP-GL45.functional.tessellation.invariance.tess_coord_component_range.triangles_fractional_even_spacing_ccw
dEQP-GL45.functional.tessellation.invariance.tess_coord_component_range.triangles_fractional_even_spacing_ccw_point_mode

Fixes: e5d517f3622 ("zink: rework query pool overflow")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22575>

13 months agozink: fix incorrect line mode check for bresenham
SoroushIMG [Thu, 16 Feb 2023 09:43:40 +0000 (09:43 +0000)]
zink: fix incorrect line mode check for bresenham

the line requirement check logic was assuming mode index 0
is bresenhamLines, but it is actually rectangularLines.

cc: mesa-stable

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

13 months agozink: take location_frac into account in lower_line_smooth_gs
SoroushIMG [Mon, 17 Apr 2023 17:44:50 +0000 (18:44 +0100)]
zink: take location_frac into account in lower_line_smooth_gs

blender-demo-cube_diorama trace in traces-db hits this.

cc: mesa-stable

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

13 months agozink: do not emit line stipple dynamic state when emulating
SoroushIMG [Mon, 3 Apr 2023 13:29:01 +0000 (14:29 +0100)]
zink: do not emit line stipple dynamic state when emulating

cc: mesa-stable

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

13 months agoradv: add the perf counters BO to the preambles BO list
Samuel Pitoiset [Fri, 21 Apr 2023 13:44:56 +0000 (15:44 +0200)]
radv: add the perf counters BO to the preambles BO list

If the submission isn't chained for any reasons, we might end by
submitting the performance counter preambles without a command
buffer that added this BO to its list.

Found by inspection.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22627>

13 months agoci: disable Collabora's LAVA lab for maintance
Sergi Blanch Torne [Wed, 29 Mar 2023 07:18:53 +0000 (09:18 +0200)]
ci: disable Collabora's LAVA lab for maintance

This is to inform you of some planned downtime in the LAVA lab as follows:

    Start: 2023-04-24 08:00 GMT
    End: 2023-04-24 12:00 GMT

Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22181>

13 months agozink: add validation exceptions for shader object extension enable
Mike Blumenkrantz [Thu, 20 Apr 2023 20:35:36 +0000 (16:35 -0400)]
zink: add validation exceptions for shader object extension enable

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

13 months agozink: use EXT_shader_object to (re)implement separate shaders
Mike Blumenkrantz [Fri, 31 Mar 2023 20:40:43 +0000 (16:40 -0400)]
zink: use EXT_shader_object to (re)implement separate shaders

this reimplements the same functionality that exists already, but
using shader object instead of GPL

it must be disabled by default, as this extension is not (currently)
compatible with feedback loops

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

13 months agozink: remove redundant compute program batch ref
Mike Blumenkrantz [Mon, 10 Apr 2023 22:18:16 +0000 (18:18 -0400)]
zink: remove redundant compute program batch ref

this is already handled in the function above

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

13 months agozink: run bo lowering passes for separate shader compile with uniform inlining
Mike Blumenkrantz [Fri, 7 Apr 2023 16:18:19 +0000 (12:18 -0400)]
zink: run bo lowering passes for separate shader compile with uniform inlining

this is otherwise unable to pass ntv

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

13 months agozink: add a 'separate' flag to shader module compile to indicate separate shaders
Mike Blumenkrantz [Fri, 31 Mar 2023 22:17:07 +0000 (18:17 -0400)]
zink: add a 'separate' flag to shader module compile to indicate separate shaders

not used yet

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

13 months agozink: move separate shader dsl creation to compiler function
Mike Blumenkrantz [Fri, 31 Mar 2023 20:04:31 +0000 (16:04 -0400)]
zink: move separate shader dsl creation to compiler function

no functional changes, just reordering

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

13 months agozink: minor whitespace cleanup
Mike Blumenkrantz [Fri, 31 Mar 2023 20:04:17 +0000 (16:04 -0400)]
zink: minor whitespace cleanup

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

13 months agozink: use zink_shader_object for precompiled separate shaders
Mike Blumenkrantz [Fri, 31 Mar 2023 19:52:46 +0000 (15:52 -0400)]
zink: use zink_shader_object for precompiled separate shaders

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

13 months agozink: more zink_shader_object conversion
Mike Blumenkrantz [Fri, 31 Mar 2023 19:48:40 +0000 (15:48 -0400)]
zink: more zink_shader_object conversion

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

13 months agozink: make zink_shader_spirv_compile static
Mike Blumenkrantz [Fri, 31 Mar 2023 19:39:45 +0000 (15:39 -0400)]
zink: make zink_shader_spirv_compile static

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

13 months agozink: wrap return of compile_module()
Mike Blumenkrantz [Fri, 31 Mar 2023 19:00:24 +0000 (15:00 -0400)]
zink: wrap return of compile_module()

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

13 months agozink: wrap zink_shader_compile_separate() return
Mike Blumenkrantz [Fri, 31 Mar 2023 18:56:11 +0000 (14:56 -0400)]
zink: wrap zink_shader_compile_separate() return

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