platform/upstream/mesa.git
11 months agozink: turn off threaded cpu access if not visible.
Dave Airlie [Mon, 7 Aug 2023 22:32:54 +0000 (08:32 +1000)]
zink: turn off threaded cpu access if not visible.

This turns off the threaded cpu access it the resource isn't visible.

Fixes a bunch of crashes with current nvk.

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

11 months agonvk: Remove plane sources from tex instructions
Faith Ekstrand [Mon, 7 Aug 2023 15:46:26 +0000 (10:46 -0500)]
nvk: Remove plane sources from tex instructions

The plane source is entirely handled by lower_tex() so there's no need
to keep it around.  Codegen currently just ignores these but NAK will
assert if it sees an unknown source type.

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

11 months agonir/linking_helpers: force type matching in does_varying_match
Mike Blumenkrantz [Wed, 2 Aug 2023 17:39:38 +0000 (13:39 -0400)]
nir/linking_helpers: force type matching in does_varying_match

this otherwise breaks when i/o is scalarized in the producer but not
the consumer

cc: mesa-stable

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

11 months agonir/lower_io_to_scalar: fix 64bit io splitting
Mike Blumenkrantz [Wed, 2 Aug 2023 17:34:36 +0000 (13:34 -0400)]
nir/lower_io_to_scalar: fix 64bit io splitting

this was creating broken 64bit loads/stores using 32bit component
size

cc: mesa-stable

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

11 months agoanv/video: copy from correct H264 scaling lists
Benjamin Cheng [Thu, 3 Aug 2023 14:27:34 +0000 (10:27 -0400)]
anv/video: copy from correct H264 scaling lists

Vulkan defines the scaling lists according to the H264 ITU spec, which
only defines ScalingList8x8[0] and ScalingList8x8[1] for
non-444 formats.

Reviewed-by: Lynne <dev@lynne.ee>
Reviewed-by: Hyunjun Ko <zzoon@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24474>

11 months agoradv/video: copy from correct H264 scaling lists
Benjamin Cheng [Mon, 31 Jul 2023 22:46:22 +0000 (18:46 -0400)]
radv/video: copy from correct H264 scaling lists

Vulkan defines the scaling lists according to the H264 ITU spec, which
only defines ScalingList8x8[0] and ScalingList8x8[1] for
non-444 formats. Since RADV only supports 420, just directly use those.

Reviewed-by: Lynne <dev@lynne.ee>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24413>

11 months agonvk: align sampler allocation counts with nvidia.
Dave Airlie [Mon, 7 Aug 2023 05:56:06 +0000 (15:56 +1000)]
nvk: align sampler allocation counts with nvidia.

Fill out the missing property as well.

found running some zink piglit runs.

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

11 months agonir/gl: Move glsl_type::sampler_target() into a helper in its one caller
Faith Ekstrand [Fri, 4 Aug 2023 11:16:00 +0000 (06:16 -0500)]
nir/gl: Move glsl_type::sampler_target() into a helper in its one caller

The new version also doesn't need to worry about arrays of textures
because the caller already takes care of that.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24503>

11 months agotu: Add virtgpu support
Rob Clark [Wed, 3 May 2023 18:02:06 +0000 (11:02 -0700)]
tu: Add virtgpu support

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

11 months agotu/drm: Split out helper for iova alloc
Rob Clark [Wed, 28 Jun 2023 22:58:21 +0000 (15:58 -0700)]
tu/drm: Split out helper for iova alloc

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

11 months agotu/drm: Add missing error path cleanup
Rob Clark [Wed, 21 Jun 2023 21:46:46 +0000 (14:46 -0700)]
tu/drm: Add missing error path cleanup

Fixes: bea6290ca090 ("turnip: device global bo list")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23533>

11 months agotu/drm: Factor out shared helpers
Rob Clark [Wed, 21 Jun 2023 20:39:56 +0000 (13:39 -0700)]
tu/drm: Factor out shared helpers

Factor out a few things that we can re-use between virtio and msm
backends.

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

11 months agotu: close submitqueues before device_finish()
Rob Clark [Thu, 8 Jun 2023 19:59:48 +0000 (12:59 -0700)]
tu: close submitqueues before device_finish()

Otherwise we would have already closed the device.

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

11 months agofreedreno/drm/virtio: Use global_faults
Rob Clark [Mon, 22 May 2023 19:43:37 +0000 (12:43 -0700)]
freedreno/drm/virtio: Use global_faults

Rather than doing a synchronous round trip to the host to query fault
count, use the shmem->global_faults field if available.  The kernel is
already only reporting faults associated with the same drm_file (which
in this case maps 1:1 to guest process), so the only thing we really
miss is, if the app is using multiple contexts, _which_ context the
fault was in.  But vulkan doesn't even use that, which sounds like a
good enough argument that per-submitqueue granularity isn't really
needed.

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

11 months agofreedreno: Update virtgpu proto
Rob Clark [Mon, 22 May 2023 18:50:13 +0000 (11:50 -0700)]
freedreno: Update virtgpu proto

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

11 months agodrm-uapi: Update virtgpu header
Rob Clark [Fri, 19 May 2023 20:33:11 +0000 (13:33 -0700)]
drm-uapi: Update virtgpu header

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

11 months agotu/knl: Remove some random const'ness
Rob Clark [Mon, 22 May 2023 19:47:06 +0000 (12:47 -0700)]
tu/knl: Remove some random const'ness

This gets in the way with virtio_gpu backend.

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

11 months agotu/msm: staticify a couple things
Rob Clark [Fri, 12 May 2023 20:55:51 +0000 (13:55 -0700)]
tu/msm: staticify a couple things

Stop leaking some private implementation details as global symbols.

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

11 months agofreedreno/drm/virtio: Remove unused header
Rob Clark [Fri, 19 May 2023 20:16:38 +0000 (13:16 -0700)]
freedreno/drm/virtio: Remove unused header

A remnant from a very early version, prior to refactoring out
fd_ringbuffer_sp to share more code btwn msm and virtgpu backends.
Somehow this never got removed.

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

11 months agofreedreno: move virtgpu msm_proto.h to common
Rob Clark [Fri, 12 May 2023 20:32:41 +0000 (13:32 -0700)]
freedreno: move virtgpu msm_proto.h to common

src/freedreno/virtgpu seems a bit overkill for a single header.. but
maybe there are some other bits we could share?

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

11 months agor600/sfn: take number of dest values into account
Gert Wollny [Mon, 7 Aug 2023 06:51:23 +0000 (08:51 +0200)]
r600/sfn: take number of dest values into account

With the write mask removed we have to run the loop correctly.

Fixes: b870988b77f70acd69feb1d4e52343b7c3d4e328
    r600/sfn: Stop referencing legacy functionality

Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9490
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24533>

11 months agoForce vk vendor for spider-man remastered
Kevron Rees [Mon, 7 Aug 2023 16:15:19 +0000 (09:15 -0700)]
Force vk vendor for spider-man remastered

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24194>

11 months agozink: unset line stipple ds3 state flags when stipple not available
Mike Blumenkrantz [Thu, 3 Aug 2023 11:36:56 +0000 (07:36 -0400)]
zink: unset line stipple ds3 state flags when stipple not available

Fixes: 7b4c1b3a426 ("zink: track and apply ds3 states only on change")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24478>

11 months agozink: use VK_WHOLE_SIZE when binding null db buffer descriptors
Mike Blumenkrantz [Thu, 3 Aug 2023 11:36:00 +0000 (07:36 -0400)]
zink: use VK_WHOLE_SIZE when binding null db buffer descriptors

using range=0 is illegal

cc: mesa-stable

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

11 months agoci: bump VVL to 1.3.261
Mike Blumenkrantz [Thu, 3 Aug 2023 15:44:10 +0000 (11:44 -0400)]
ci: bump VVL to 1.3.261

Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24478>

11 months agointel: Sync xe_drm.h and rename engine to exec_queue
José Roberto de Souza [Thu, 3 Aug 2023 14:19:48 +0000 (07:19 -0700)]
intel: Sync xe_drm.h and rename engine to exec_queue

Sync with commit f16c04291100 ("drm/xe: Rename engine to exec_queue").
With that Iris and ANV had some major renames that were done manually
as there is to many "engine" in non-related code.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24476>

11 months agoegl: fixup _eglFilterConfigArray() params and drop _eglFallbackMatch() wrapper
Eric Engestrom [Sat, 22 Jul 2023 09:57:22 +0000 (10:57 +0100)]
egl: fixup _eglFilterConfigArray() params and drop _eglFallbackMatch() wrapper

Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24292>

11 months agoegl: make _eglFilterConfigArray static
Eric Engestrom [Sat, 22 Jul 2023 10:04:19 +0000 (11:04 +0100)]
egl: make _eglFilterConfigArray static

Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24292>

11 months agopanfrost: add PAN_MESA_DEBUG=yuv for debugging yuv sampler
Italo Nicola [Wed, 28 Jun 2023 22:25:26 +0000 (22:25 +0000)]
panfrost: add PAN_MESA_DEBUG=yuv for debugging yuv sampler

Signed-off-by: Italo Nicola <italonicola@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21109>

11 months agopanfrost: mandate proper alignment requirement depending format and arch
Italo Nicola [Wed, 1 Feb 2023 19:21:26 +0000 (19:21 +0000)]
panfrost: mandate proper alignment requirement depending format and arch

v7+ mandates row_stride alignment to be equal to surface alignment.
AFBC surface alignment is always 16-bytes.
NV12/NV21 formats on v7+ have 16-byte surface alignment.

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

11 months agopanfrost: advertise support for YUYV and variants
Italo Nicola [Thu, 22 Jun 2023 11:55:01 +0000 (11:55 +0000)]
panfrost: advertise support for YUYV and variants

Signed-off-by: Italo Nicola <italonicola@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21109>

11 months agopanfrost: prepare the driver to support YUYV and variants
Italo Nicola [Tue, 24 Jan 2023 20:59:55 +0000 (20:59 +0000)]
panfrost: prepare the driver to support YUYV and variants

Signed-off-by: Italo Nicola <italonicola@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21109>

11 months agopanfrost: prepare pan_image_view for multiplanar formats
Italo Nicola [Thu, 20 Jul 2023 23:11:14 +0000 (23:11 +0000)]
panfrost: prepare pan_image_view for multiplanar formats

Signed-off-by: Italo Nicola <italonicola@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21109>

11 months agopan/decode: decode Multiplanar Surface descriptors
Italo Nicola [Thu, 13 Jul 2023 15:05:09 +0000 (15:05 +0000)]
pan/decode: decode Multiplanar Surface descriptors

Signed-off-by: Italo Nicola <italonicola@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21109>

11 months agopanfrost: refactor (un)packing of surface descriptors
Italo Nicola [Thu, 13 Jul 2023 14:45:36 +0000 (14:45 +0000)]
panfrost: refactor (un)packing of surface descriptors

Use the genxml helpers to pack/unpack midgard and bifrost surface
descriptors. Also changed how we describe midgard's descriptors, to make
it more straightforward. We currently only use SURFACE_WITH_STRIDE for
midgard, but pandecode should still be able to decode other surface
descriptor types.

This commit shouldn't change panfrost/pandecode behavior.

Consequenctly, this refactor also prepares pandecode to handle the
SURFACE_YUV descriptor for bifrost in the following patch.

Signed-off-by: Italo Nicola <italonicola@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21109>

11 months agopanfrost/genxml: add Multiplanar Surface descriptor
Italo Nicola [Fri, 3 Feb 2023 21:20:31 +0000 (21:20 +0000)]
panfrost/genxml: add Multiplanar Surface descriptor

Signed-off-by: Italo Nicola <italonicola@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21109>

11 months agopanfrost/genxml: fix Surface With Stride descriptor alignment
Italo Nicola [Thu, 22 Jun 2023 10:43:39 +0000 (10:43 +0000)]
panfrost/genxml: fix Surface With Stride descriptor alignment

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

11 months agopvr: do not claim support for ASTC texture compression
Luigi Santivetti [Wed, 2 Aug 2023 13:32:12 +0000 (14:32 +0100)]
pvr: do not claim support for ASTC texture compression

We don't support any ASTC formats yet, but the textureCompressionASTC_LDR
feature was incorrectly set to true. Fix this by setting it to false and
don't advertise ASTC support for texture compression.

Fixes dEQP-VK.api.info.format_properties.compressed_formats

Fixes: 8991e646 ("pvr: Add a Vulkan driver for Imagination Technologies PowerVR Rogue GPUs")
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24448>

11 months agofreedreno: add ci flake
antonino [Mon, 7 Aug 2023 12:53:50 +0000 (14:53 +0200)]
freedreno: add ci flake

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

11 months agovirgl: add ci flake
antonino [Mon, 7 Aug 2023 12:04:14 +0000 (14:04 +0200)]
virgl: add ci flake

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

11 months agopanfrost/vk: Use correct sampler dimensions for MSAA
Daniel Stone [Fri, 4 Aug 2023 11:39:40 +0000 (12:39 +0100)]
panfrost/vk: Use correct sampler dimensions for MSAA

2D-MS samplers are SAMPLER_DIM_MS, not SAMPLER_DIM_2D. There is no MSAA
for non-2D textures.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Closes: mesa/mesa#9474
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24494>

11 months agoanv: enable INTEL_DEBUG=nofc
Lionel Landwerlin [Sat, 5 Aug 2023 09:31:58 +0000 (12:31 +0300)]
anv: enable INTEL_DEBUG=nofc

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24510>

11 months agov3dv: drop cpu path for buffer to image copies
Iago Toral Quiroga [Thu, 3 Aug 2023 06:37:58 +0000 (08:37 +0200)]
v3dv: drop cpu path for buffer to image copies

We really want to avoid cpu jobs as much as possible. Also,
the texel buffer path we have for this should be able to
handle most cases.

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

11 months agoradv: initialize result when pipeline cache creation fails
Chris Spencer [Sun, 6 Aug 2023 20:54:38 +0000 (21:54 +0100)]
radv: initialize result when pipeline cache creation fails

Signed-off-by: Chris Spencer <spencercw@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24521>

11 months agozink: use fprintf instead of printf to align the requirements warnings
Dave Airlie [Mon, 7 Aug 2023 01:01:27 +0000 (11:01 +1000)]
zink: use fprintf instead of printf to align the requirements warnings

This just seems to have been overlooked and nvk triggers it right now.

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

11 months agozink: force image barriers after dmabuf import
Mike Blumenkrantz [Thu, 3 Aug 2023 17:11:57 +0000 (13:11 -0400)]
zink: force image barriers after dmabuf import

if the image will be used, then it has to be on the right queue

cc: mesa-stable

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

11 months agozink: better handle separate shader dsl creation when no bindings exist
Mike Blumenkrantz [Fri, 4 Aug 2023 16:17:20 +0000 (12:17 -0400)]
zink: better handle separate shader dsl creation when no bindings exist

this otherwise underflows the array and provides a (probably huge) garbage
value for the binding id, which then causes the driver to massively overallocate
both the layout and set/pool/buffer

the main result of this is that on radv any simple test that should be near-instant
takes 2-3 seconds to execute, which somehow nobody noticed

Fixes: e3b746e3a31 ("zink: use GPL to handle (simple) separate shader objects")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24501>

11 months agodocs: add two nvk exts to features.txt
Dave Airlie [Sun, 6 Aug 2023 21:53:50 +0000 (07:53 +1000)]
docs: add two nvk exts to features.txt

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

11 months agointel/decoder: Make intel_spec_load_filename() have separate dir and name strings
Jordan Justen [Wed, 28 Dec 2022 21:48:53 +0000 (13:48 -0800)]
intel/decoder: Make intel_spec_load_filename() have separate dir and name strings

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20889>

11 months agointel/decoder: Add intel_spec_load_common()
Jordan Justen [Wed, 28 Dec 2022 21:26:34 +0000 (13:26 -0800)]
intel/decoder: Add intel_spec_load_common()

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20889>

11 months agointel/decoder: Fix xml filename when verx10 % 10 is not 0
Jordan Justen [Wed, 28 Dec 2022 18:20:20 +0000 (10:20 -0800)]
intel/decoder: Fix xml filename when verx10 % 10 is not 0

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20889>

11 months agor600/sfn: Take source uses into account when switching channels
Gert Wollny [Sun, 6 Aug 2023 18:42:07 +0000 (20:42 +0200)]
r600/sfn: Take source uses into account when switching channels

When we switch the channels by re-creating vec4 values we have to
take into account that the source values may be used in an ALU op,
and with that we have to take read-port limitations into account.

Fixes: 18a8d148d862d4a0f5b83f4385f00cf8a4a71b6d
    r600/sfn: Cleanup copy-prop into vec4 source values

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

11 months agonvk: Call nir_lower_int64
Faith Ekstrand [Sun, 6 Aug 2023 16:35:26 +0000 (11:35 -0500)]
nvk: Call nir_lower_int64

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

11 months agonvk: Use more consistent device variable names
Faith Ekstrand [Sun, 6 Aug 2023 16:55:43 +0000 (11:55 -0500)]
nvk: Use more consistent device variable names

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

11 months agoci/freedreno: document another flakes on Adreno 530
David Heidelberg [Sat, 5 Aug 2023 07:54:43 +0000 (10:54 +0300)]
ci/freedreno: document another flakes on Adreno 530

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

11 months agonv50/ir: convert system values to gl_system_value
Karol Herbst [Wed, 2 Aug 2023 13:34:29 +0000 (15:34 +0200)]
nv50/ir: convert system values to gl_system_value

Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24447>

11 months agonv50/ir: use own info struct for sys vals
Karol Herbst [Wed, 2 Aug 2023 13:32:37 +0000 (15:32 +0200)]
nv50/ir: use own info struct for sys vals

This makes it more obvious what's actually needed by the driver and allows
us to drop some code in the nir to nvir step.

Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24447>

11 months agonvk: Enable the new UAPI
Faith Ekstrand [Thu, 3 Aug 2023 23:32:45 +0000 (18:32 -0500)]
nvk: Enable the new UAPI

We also add a meson option to disable it and re-enable the legacy API.
This code probably won't last long but it gives developers the option.

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

11 months agonvk: Print an error message if VM_BIND support is missing
Faith Ekstrand [Fri, 4 Aug 2023 17:03:16 +0000 (12:03 -0500)]
nvk: Print an error message if VM_BIND support is missing

This should prevent a lot of bug reports.

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

11 months agonouveau/winsys: Allow nouveau_ws_device_new() without VM_BIND
Faith Ekstrand [Fri, 4 Aug 2023 16:59:21 +0000 (11:59 -0500)]
nouveau/winsys: Allow nouveau_ws_device_new() without VM_BIND

Silently fall back to non-VM_BIND.  The client can check for the
has_vm_bind flag in the device to detect whether VM_BIND is actually
available or not.

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

11 months agonvk: add new internal bo allocation flag.
Dave Airlie [Sun, 23 Jul 2023 23:38:44 +0000 (09:38 +1000)]
nvk: add new internal bo allocation flag.

This is to allow the kernel to use a single resv object, this might
need more work.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>

11 months agonvk: Use an empty EXEC for the empty submit case
Faith Ekstrand [Fri, 21 Jul 2023 20:03:25 +0000 (15:03 -0500)]
nvk: Use an empty EXEC for the empty submit case

The new UAPI allows for an EXEC with zero pushes just fine so we no
longer need the no-op push just for synchronization.  This lets us drop
the whole empty push we allocate per-queue as well.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>

11 months agonvk: enable sparse residency buffer on maxwell+
Dave Airlie [Thu, 20 Jul 2023 04:52:00 +0000 (14:52 +1000)]
nvk: enable sparse residency buffer on maxwell+

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>

11 months agonvk: enable a bunch of external fence/semaphore bits
Dave Airlie [Wed, 19 Jul 2023 01:27:33 +0000 (11:27 +1000)]
nvk: enable a bunch of external fence/semaphore bits

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>

11 months agonvk: enable sparse features
Dave Airlie [Tue, 10 Jan 2023 22:20:10 +0000 (08:20 +1000)]
nvk: enable sparse features

There is a bug on my turing with
dEQP-VK.sparse_resources.buffer.ssbo.sparse_residency.buffer_size_2_24
but none of the others and we aren't seeing it on some other devices.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>

11 months agonvk: Handle pre-turing indirect buffers with sparse
Dave Airlie [Wed, 22 Mar 2023 03:14:37 +0000 (13:14 +1000)]
nvk: Handle pre-turing indirect buffers with sparse

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>

11 months agonvk/queue: add support for syncobjs and sparse binds
Dave Airlie [Tue, 10 Jan 2023 22:19:41 +0000 (08:19 +1000)]
nvk/queue: add support for syncobjs and sparse binds

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>

11 months agonvk: Add support for sparse images
Dave Airlie [Tue, 10 Jan 2023 22:18:44 +0000 (08:18 +1000)]
nvk: Add support for sparse images

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>

11 months agonvk: Add support for sparse buffers
Dave Airlie [Wed, 19 Jul 2023 21:45:27 +0000 (16:45 -0500)]
nvk: Add support for sparse buffers

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>

11 months agonouveau/mme: Support the new UAPI
Faith Ekstrand [Mon, 24 Jul 2023 19:26:09 +0000 (14:26 -0500)]
nouveau/mme: Support the new UAPI

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>

11 months agonouveau/winsys: add support for the vma bind interfaces
Dave Airlie [Tue, 10 Jan 2023 22:12:22 +0000 (08:12 +1000)]
nouveau/winsys: add support for the vma bind interfaces

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>

11 months agonvk: always sync internal cmd bufs for vma lifetimes.
Dave Airlie [Wed, 2 Nov 2022 06:54:33 +0000 (16:54 +1000)]
nvk: always sync internal cmd bufs for vma lifetimes.

We always sync on the internal push buf submissions for zero vram
and ctx setup, these shouldn't be bottlenecks.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>

11 months agonouveau/shim: Use the imported nouveau_drm.h headers
Faith Ekstrand [Mon, 31 Jul 2023 13:42:46 +0000 (08:42 -0500)]
nouveau/shim: Use the imported nouveau_drm.h headers

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

11 months agonvk: Use the imported nouveau_drm.h headers
Faith Ekstrand [Mon, 31 Jul 2023 13:42:14 +0000 (08:42 -0500)]
nvk: Use the imported nouveau_drm.h headers

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

11 months agonouveau/winsys: Use the imported nouveau_drm.h headers
Faith Ekstrand [Mon, 31 Jul 2023 13:30:57 +0000 (08:30 -0500)]
nouveau/winsys: Use the imported nouveau_drm.h headers

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

11 months agodrm-uapi: Import nouveau_drm.h
Faith Ekstrand [Mon, 31 Jul 2023 13:22:50 +0000 (08:22 -0500)]
drm-uapi: Import nouveau_drm.h

From https://cgit.freedesktop.org/drm-misc/

    commit e02238990b1ab2dfc8abb4c28369f1da6e863f81
    Author: Danilo Krummrich <dakr@redhat.com>
    Date:   Fri Aug 4 20:23:43 2023 +0200

        drm/nouveau: new VM_BIND uAPI interfaces

Signed-off-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>

11 months agonouveau: Move shader topology info to nv_device_info
Faith Ekstrand [Fri, 4 Aug 2023 16:17:14 +0000 (11:17 -0500)]
nouveau: Move shader topology info to nv_device_info

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

11 months agonvk: Decorate CmdBegin/EndRendering entrypoints
Faith Ekstrand [Fri, 4 Aug 2023 15:46:05 +0000 (10:46 -0500)]
nvk: Decorate CmdBegin/EndRendering entrypoints

These decorations are necessary for proper building on Android and
Windows.  You don't notice them in regular Linux builds, though.

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

11 months agonvk: Implement GetRenderingAreaGranularityKHR
Faith Ekstrand [Fri, 4 Aug 2023 15:45:25 +0000 (10:45 -0500)]
nvk: Implement GetRenderingAreaGranularityKHR

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

11 months agonvk: Implement CmdBindIndexBuffer2KHR
Faith Ekstrand [Fri, 4 Aug 2023 15:43:15 +0000 (10:43 -0500)]
nvk: Implement CmdBindIndexBuffer2KHR

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

11 months agonvk: Use VkBufferUsageFlags2
Faith Ekstrand [Fri, 4 Aug 2023 15:41:23 +0000 (10:41 -0500)]
nvk: Use VkBufferUsageFlags2

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

11 months agonvk: Implement the maintenance5 image layout queries
Faith Ekstrand [Fri, 4 Aug 2023 15:35:24 +0000 (10:35 -0500)]
nvk: Implement the maintenance5 image layout queries

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

11 months agonvk: Rework memory requirements to handle aspects correctly
Faith Ekstrand [Wed, 2 Aug 2023 16:36:41 +0000 (11:36 -0500)]
nvk: Rework memory requirements to handle aspects correctly

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

11 months agonvk: Misc. style nits
Faith Ekstrand [Fri, 4 Aug 2023 00:54:35 +0000 (19:54 -0500)]
nvk: Misc. style nits

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

11 months agonvk: enable EXT_depth_clip_enable
Dave Airlie [Wed, 26 Jul 2023 07:37:37 +0000 (17:37 +1000)]
nvk: enable EXT_depth_clip_enable

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

11 months agonvk: enable EXT_depth_clip_control
Dave Airlie [Wed, 26 Jul 2023 07:27:43 +0000 (17:27 +1000)]
nvk: enable EXT_depth_clip_control

This is already handled in the dynamic state.

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

11 months agonvk: Implement CopyQueryPoolResults with a compute shader
Faith Ekstrand [Wed, 2 Aug 2023 16:48:22 +0000 (11:48 -0500)]
nvk: Implement CopyQueryPoolResults with a compute shader

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

11 months agonvk: Separate the MME query copy code out a bit
Faith Ekstrand [Wed, 2 Aug 2023 16:47:26 +0000 (11:47 -0500)]
nvk: Separate the MME query copy code out a bit

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

11 months agonvk: Enable the SPIR-V DeviceGroup capability
Faith Ekstrand [Wed, 2 Aug 2023 15:48:23 +0000 (10:48 -0500)]
nvk: Enable the SPIR-V DeviceGroup capability

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

11 months agonvk: Add support for variable pointers
Faith Ekstrand [Wed, 2 Aug 2023 12:26:10 +0000 (07:26 -0500)]
nvk: Add support for variable pointers

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

11 months agonvk: Add a root_desc_addr to the root descriptor table
Faith Ekstrand [Wed, 2 Aug 2023 11:27:44 +0000 (06:27 -0500)]
nvk: Add a root_desc_addr to the root descriptor table

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

11 months agonvk: Use nvk_root_descriptor_offset for drawInfoBase
Faith Ekstrand [Wed, 2 Aug 2023 14:54:47 +0000 (09:54 -0500)]
nvk: Use nvk_root_descriptor_offset for drawInfoBase

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

11 months agonvk: Rework multi-plane format features a bit
Faith Ekstrand [Wed, 2 Aug 2023 09:34:10 +0000 (04:34 -0500)]
nvk: Rework multi-plane format features a bit

We need to avoid returning certain feature flags such as rendering or
storage from vkGetPhysicalDeviceFormatFeatures*() but still allow those
for single-plane views of the image which means allowing them in
vkGetPhysicalDeviceImageFormatProperties*().

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

11 months agonvk: Improve image format properties and limits
Faith Ekstrand [Wed, 2 Aug 2023 04:49:24 +0000 (23:49 -0500)]
nvk: Improve image format properties and limits

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

11 months agonouveau/nvk: Enable VK_KHR_sampler_ycbcr
Mohamed Ahmed [Tue, 4 Jul 2023 22:46:06 +0000 (01:46 +0300)]
nouveau/nvk: Enable VK_KHR_sampler_ycbcr

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

11 months agonouveau/nvk: Add multiple sampler planes for CONVERSION_SEPARATE_RECONSTRUCTION_FILTE...
Mohamed Ahmed [Tue, 25 Jul 2023 11:51:46 +0000 (14:51 +0300)]
nouveau/nvk: Add multiple sampler planes for CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT

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

11 months agonouveau/nvk: Create helper function for sampler creation
Mohamed Ahmed [Sat, 29 Jul 2023 20:55:51 +0000 (23:55 +0300)]
nouveau/nvk: Create helper function for sampler creation

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

11 months agonouveau/nvk: Support multi-plane descriptors in nvk_nir_lower_descriptors.c
Mohamed Ahmed [Thu, 27 Jul 2023 09:46:22 +0000 (12:46 +0300)]
nouveau/nvk: Support multi-plane descriptors in nvk_nir_lower_descriptors.c

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

11 months agonouveau/nvk: Add YCbCr sampler NIR lowering pass
Mohamed Ahmed [Tue, 25 Jul 2023 22:17:45 +0000 (01:17 +0300)]
nouveau/nvk: Add YCbCr sampler NIR lowering pass

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

11 months agonvk: Use the new NIL helper for image level extents for copies
Faith Ekstrand [Tue, 1 Aug 2023 23:26:43 +0000 (18:26 -0500)]
nvk: Use the new NIL helper for image level extents for copies

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