platform/upstream/mesa.git
14 months agonvk: some boilerplate for descriptor sets
Dave Airlie [Mon, 30 May 2022 05:32:43 +0000 (15:32 +1000)]
nvk: some boilerplate for descriptor sets

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

14 months agonvk: add initial descriptor pool framework.
Dave Airlie [Sat, 28 May 2022 01:55:30 +0000 (11:55 +1000)]
nvk: add initial descriptor pool framework.

destruct has internal impl for create to call on errors later.

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

14 months agonvk: reindent descriptor sets to mesa std.
Dave Airlie [Mon, 6 Jun 2022 03:12:09 +0000 (13:12 +1000)]
nvk: reindent descriptor sets to mesa std.

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

14 months agonvk: Implement vkUpdateDescriptorSets
Faith Ekstrand [Tue, 31 Jan 2023 02:11:47 +0000 (20:11 -0600)]
nvk: Implement vkUpdateDescriptorSets

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

14 months agonvk: Add initial descriptor set lowering
Faith Ekstrand [Tue, 31 Jan 2023 02:11:47 +0000 (20:11 -0600)]
nvk: Add initial descriptor set lowering

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

14 months agonvk: Implement VkPipelineLayout
Faith Ekstrand [Tue, 31 Jan 2023 02:11:47 +0000 (20:11 -0600)]
nvk: Implement VkPipelineLayout

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

14 months agonvk: Implement VkDescriptorSetLayout
Faith Ekstrand [Tue, 31 Jan 2023 02:11:47 +0000 (20:11 -0600)]
nvk: Implement VkDescriptorSetLayout

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

14 months agonvk: Reset pushbufs on command buffer reset
Dave Airlie [Thu, 2 Jun 2022 06:36:08 +0000 (16:36 +1000)]
nvk: Reset pushbufs on command buffer reset

Karol: also reset on VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>

14 months agonouveau/ws: fix setting push bo domains
Karol Herbst [Fri, 3 Jun 2022 02:12:06 +0000 (04:12 +0200)]
nouveau/ws: fix setting push bo domains

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

14 months agonvk: impl nvk_CmdCopyBuffer
Karol Herbst [Wed, 1 Jun 2022 11:12:29 +0000 (13:12 +0200)]
nvk: impl nvk_CmdCopyBuffer

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

14 months agonvk: add nvk_CmdPipelineBarrier2 stub
Karol Herbst [Tue, 31 May 2022 23:09:44 +0000 (01:09 +0200)]
nvk: add nvk_CmdPipelineBarrier2 stub

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

14 months agonvk: add nvk_bo_sync
Karol Herbst [Tue, 31 May 2022 23:04:42 +0000 (01:04 +0200)]
nvk: add nvk_bo_sync

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

14 months agonvk: add cmd buffer framework
Dave Airlie [Tue, 31 May 2022 00:35:42 +0000 (10:35 +1000)]
nvk: add cmd buffer framework

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

14 months agonvk: allocate a GPU context for each VkDevice
Karol Herbst [Wed, 1 Jun 2022 20:14:41 +0000 (22:14 +0200)]
nvk: allocate a GPU context for each VkDevice

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

14 months agonvk: Add initial queue
Dave Airlie [Mon, 30 May 2022 23:36:42 +0000 (09:36 +1000)]
nvk: Add initial queue

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

14 months agonovueau/bo: add nouveau_ws_bo_wait
Karol Herbst [Tue, 31 May 2022 23:04:08 +0000 (01:04 +0200)]
novueau/bo: add nouveau_ws_bo_wait

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

14 months agonovueau/bo: refcount it
Karol Herbst [Tue, 31 May 2022 23:03:57 +0000 (01:03 +0200)]
novueau/bo: refcount it

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

14 months agonouveau/ws: add a cmd buffer
Karol Herbst [Wed, 1 Jun 2022 09:32:44 +0000 (11:32 +0200)]
nouveau/ws: add a cmd buffer

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

14 months agonouveau/ws: add context support
Karol Herbst [Wed, 1 Jun 2022 20:16:56 +0000 (22:16 +0200)]
nouveau/ws: add context support

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

14 months agonouveau/headers: add host classes
Karol Herbst [Wed, 1 Jun 2022 11:09:09 +0000 (13:09 +0200)]
nouveau/headers: add host classes

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

14 months agonouveau/headers: typedef Nv void types
Karol Herbst [Wed, 1 Jun 2022 11:15:30 +0000 (13:15 +0200)]
nouveau/headers: typedef Nv void types

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

14 months agonouveau/headers: add nvtypes.h
Karol Herbst [Tue, 31 May 2022 16:55:03 +0000 (18:55 +0200)]
nouveau/headers: add nvtypes.h

Nvidia does provide an nvtypes.h file within their open-gpu-kernel-modules,
but that one is painful to port over to userspace.

Just provide the defines we will need instead.

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

14 months agonvk: add bind buffer memory
Dave Airlie [Sat, 28 May 2022 22:14:51 +0000 (08:14 +1000)]
nvk: add bind buffer memory

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

14 months agonvk: fix header guards to be less generic.
Dave Airlie [Fri, 27 May 2022 23:15:48 +0000 (09:15 +1000)]
nvk: fix header guards to be less generic.

You could imagine want to use these defines for something
that isn't header guards, so just make the headers guards
more explicit.

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

14 months agonvk: add some initial wsi framework.
Dave Airlie [Fri, 27 May 2022 22:56:54 +0000 (08:56 +1000)]
nvk: add some initial wsi framework.

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

14 months agonvk: add missing finish calls
Dave Airlie [Fri, 27 May 2022 22:50:37 +0000 (08:50 +1000)]
nvk: add missing finish calls

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

14 months agonvk: add basic device memory support
Karol Herbst [Fri, 20 May 2022 13:27:09 +0000 (15:27 +0200)]
nvk: add basic device memory support

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

14 months agonouveau/ws: add bo API
Karol Herbst [Fri, 20 May 2022 13:26:47 +0000 (15:26 +0200)]
nouveau/ws: add bo API

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

14 months agonvk: set nonCoherentAtomSize as the CTS divides with this value
Karol Herbst [Fri, 20 May 2022 13:25:21 +0000 (15:25 +0200)]
nvk: set nonCoherentAtomSize as the CTS divides with this value

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

14 months agonouveau/ws: add a field for the SM version
Karol Herbst [Fri, 20 May 2022 13:23:47 +0000 (15:23 +0200)]
nouveau/ws: add a field for the SM version

This is very useful when looking up capabitilites in Nvidia CUDA docs

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

14 months agonouveau/ws: dup the fd
Karol Herbst [Fri, 20 May 2022 13:22:58 +0000 (15:22 +0200)]
nouveau/ws: dup the fd

We do the same in gallium

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

14 months agonouveau/ws: reorganize a little
Karol Herbst [Fri, 20 May 2022 13:20:55 +0000 (15:20 +0200)]
nouveau/ws: reorganize a little

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

14 months agonvk: advertize memory heaps and types
Karol Herbst [Thu, 19 May 2022 18:29:27 +0000 (20:29 +0200)]
nvk: advertize memory heaps and types

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

14 months agonvk: implement GetPhysicalDeviceQueueFamilyProperties2 to make the CTS happy
Karol Herbst [Thu, 19 May 2022 15:43:29 +0000 (17:43 +0200)]
nvk: implement GetPhysicalDeviceQueueFamilyProperties2 to make the CTS happy

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

14 months agonouveau/headers: initial sync of headers
Karol Herbst [Thu, 19 May 2022 12:43:56 +0000 (14:43 +0200)]
nouveau/headers: initial sync of headers

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

14 months agonouveau/headers: add script to sync in-tree headers with open-gpu-doc
Karol Herbst [Thu, 19 May 2022 12:33:40 +0000 (14:33 +0200)]
nouveau/headers: add script to sync in-tree headers with open-gpu-doc

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

14 months agonvk: fix nvk_buffer include guards
Karol Herbst [Thu, 19 May 2022 20:18:40 +0000 (22:18 +0200)]
nvk: fix nvk_buffer include guards

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

14 months agonvk: Add a stub implementation of VkBuffer
Faith Ekstrand [Tue, 31 Jan 2023 02:11:46 +0000 (20:11 -0600)]
nvk: Add a stub implementation of VkBuffer

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

14 months agonvk: Add stub implementation of VkSampler
Faith Ekstrand [Tue, 31 Jan 2023 02:11:46 +0000 (20:11 -0600)]
nvk: Add stub implementation of VkSampler

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

14 months agonvk: Add stub implementations of VkImage and VkImageView
Faith Ekstrand [Tue, 31 Jan 2023 02:11:46 +0000 (20:11 -0600)]
nvk: Add stub implementations of VkImage and VkImageView

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

14 months agonvk: Implement EnumerateInstanceVersion
Faith Ekstrand [Tue, 31 Jan 2023 02:11:46 +0000 (20:11 -0600)]
nvk: Implement EnumerateInstanceVersion

This is required for future Vulkan versions.  The common code also calls
it for validating Vulkan versions.  May as well implement it now.

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

14 months agonvk: use winsys lib
Karol Herbst [Thu, 19 May 2022 00:48:16 +0000 (02:48 +0200)]
nvk: use winsys lib

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

14 months agonouveau/winsys: add the new winsys implementation
Karol Herbst [Tue, 17 May 2022 22:01:47 +0000 (00:01 +0200)]
nouveau/winsys: add the new winsys implementation

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

14 months agonvk: add vulkan skeleton
Karol Herbst [Mon, 16 May 2022 20:39:44 +0000 (22:39 +0200)]
nvk: add vulkan skeleton

This is enough to run vulkaninfo without crashing.

Jason:
* Drop a redundant nvk_device_entrypoints
* Add some VKAPI_ATTR and VKAPI_CALL
* nvk: Move EnumerateInstanceExtensionProperties to the top
  This way things are more-or-less in initialization order.  First the
  version then extensions then create the instance.

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

14 months agor600/sfn: Use clause local registers in RA
Gert Wollny [Fri, 4 Aug 2023 07:23:35 +0000 (09:23 +0200)]
r600/sfn: Use clause local registers in RA

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

14 months agor600/sfn: Track whether a register is ALU clause local
Gert Wollny [Mon, 10 Oct 2022 15:44:08 +0000 (17:44 +0200)]
r600/sfn: Track whether a register is ALU clause local

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

14 months agor600/sfn: Renumber shader blocks in scheduler
Gert Wollny [Thu, 27 Jul 2023 12:43:44 +0000 (14:43 +0200)]
r600/sfn: Renumber shader blocks in scheduler

Consistent block numbering is required for identifying registers
that are used clause-locally.

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

14 months agoradv/ci: skip some mesh shader tests on GFX1100
Rhys Perry [Fri, 4 Aug 2023 11:33:15 +0000 (12:33 +0100)]
radv/ci: skip some mesh shader tests on GFX1100

This lets me do a GFX11 CTS run without RADV_DEBUG=nocompute.

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

14 months agozink/ci: set the default timeout for zink jobs to 30min instead of 1h
Eric Engestrom [Fri, 4 Aug 2023 14:48:40 +0000 (15:48 +0100)]
zink/ci: set the default timeout for zink jobs to 30min instead of 1h

Except zink-anv-tgl which takes a lot more, and keeps the 1h timeout
(for now, future changes might improve this).

Suggested-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Signed-off-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24500>

14 months agoegl/dri2: Add a couple of missing mutex release in error path
Sylvain Munaut [Thu, 3 Aug 2023 20:18:36 +0000 (22:18 +0200)]
egl/dri2: Add a couple of missing mutex release in error path

This is causing a hang in the intel compute runtime when
trying to cl/gl share an unsupported texture format.

Fixes: f1efe037dfd82d95b025 ("egl/dri2: Add display lock")

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24487>

14 months agoclang-format: Set ColumnLimit to 78
Faith Ekstrand [Tue, 1 Aug 2023 15:24:24 +0000 (10:24 -0500)]
clang-format: Set ColumnLimit to 78

This matches the tree-wide .editorconfig.

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

14 months agoci: use mold to build deqp
Eric Engestrom [Thu, 3 Aug 2023 09:52:29 +0000 (10:52 +0100)]
ci: use mold to build deqp

deqp is probably the biggest thing that we're building (definitely in
size of binary linked), so it's also the one that benefits the most from
using mold for linking.

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

14 months agoci: include mold in x86_64_test-base & rootfs images
Eric Engestrom [Thu, 3 Aug 2023 17:23:50 +0000 (18:23 +0100)]
ci: include mold in x86_64_test-base & rootfs images

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

14 months agovulkan: Use VkBufferUsageFlags2 in vk_buffer
Faith Ekstrand [Fri, 4 Aug 2023 15:39:28 +0000 (10:39 -0500)]
vulkan: Use VkBufferUsageFlags2 in vk_buffer

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

14 months agon50/compute: submit initial compute state in nv50_screen_create
Karol Herbst [Fri, 4 Aug 2023 14:56:23 +0000 (16:56 +0200)]
n50/compute: submit initial compute state in nv50_screen_create

This fixes some CACHE_ERROR caused by proper multi-threading support. The
bug is a bit older though, just never triggered because there was only one
push buffer to begin with.

Without this change the compute initialization stayed unpushed in the
screen push buffer causing random issues.

Fixes: ff72440b402 ("nv50: implement a basic compute support")
Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: M Henning <drawoc@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24496>

14 months agovulkan/format: add VK_FORMAT_{A8_UNORM,A1B5G5R5_UNORM_PACK16}_KHR
Samuel Pitoiset [Tue, 2 May 2023 16:26:09 +0000 (18:26 +0200)]
vulkan/format: add VK_FORMAT_{A8_UNORM,A1B5G5R5_UNORM_PACK16}_KHR

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24365>

14 months agovulkan/runtime: add common implementation for GetImageSubresourceLayout()
Samuel Pitoiset [Tue, 2 May 2023 11:34:44 +0000 (13:34 +0200)]
vulkan/runtime: add common implementation for GetImageSubresourceLayout()

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24365>

14 months agovulkan/runtime: add a layered implementation of vkCmdBindIndexBuffer
Lionel Landwerlin [Wed, 8 Mar 2023 10:34:30 +0000 (12:34 +0200)]
vulkan/runtime: add a layered implementation of vkCmdBindIndexBuffer

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24365>

14 months agovulkan: bump header register to 1.3.261
Samuel Pitoiset [Fri, 28 Jul 2023 11:45:02 +0000 (13:45 +0200)]
vulkan: bump header register to 1.3.261

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

14 months agovulkan: skip non required extension structures
Lionel Landwerlin [Sun, 30 Jul 2023 09:15:25 +0000 (12:15 +0300)]
vulkan: skip non required extension structures

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24365>

14 months agoRevert "compiler: Combine duplicated implementation of is_gl_identifier into glsl_typ...
Faith Ekstrand [Fri, 4 Aug 2023 11:28:19 +0000 (06:28 -0500)]
Revert "compiler: Combine duplicated implementation of is_gl_identifier into glsl_types.h"

This reverts commit f9860a84b3cf1735ece78bc5907b2be4e2878f8e.  It's a
bit annoying having this scattered around but it's 100% a GLSL thing and
there's no reason why it should go in glsl_types.h.  The fact that
glsl_print_type() even uses it is a bit sketchy.

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

14 months agoRevert "mesa, compiler: Move gl_texture_index to glsl_types.h"
Faith Ekstrand [Fri, 4 Aug 2023 11:02:57 +0000 (06:02 -0500)]
Revert "mesa, compiler: Move gl_texture_index to glsl_types.h"

This reverts commit 1b836a52ea2dcc0b77a48a2a3d1f9052321cf325.  This
patch, while claiming to decouple things, actually increases coupling
because it leaks two OpenGL state tracker limits and an OpenGL state
tracker fixed binding enum into the entire compiler.  Nothing wants to
know these outside the OpenGL state tracker and the GL-specific compiler
passes.  Put them back where they were.

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

14 months agorusticl/kernel: mark can_remove_var as unsafe and document it
Karol Herbst [Thu, 3 Aug 2023 13:17:41 +0000 (15:17 +0200)]
rusticl/kernel: mark can_remove_var as unsafe and document it

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

14 months agorusticl/kernel: get rid of initial function_temp type lowering
Karol Herbst [Thu, 3 Aug 2023 12:13:27 +0000 (14:13 +0200)]
rusticl/kernel: get rid of initial function_temp type lowering

It's not needed and causes some issues with generic memory.

Fixes: 01cb01a7ee9 ("rusticl/kernel: only handle function_temp memory before lowering printf")
Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24470>

14 months agorusticl/kernel: move things around in lower_and_optimize_nir
Karol Herbst [Thu, 3 Aug 2023 12:09:37 +0000 (14:09 +0200)]
rusticl/kernel: move things around in lower_and_optimize_nir

Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24470>

14 months agorusticl/kernel: merge lower_and_optimize_nir_pre_inputs and lower_and_optimize_nir_late
Karol Herbst [Thu, 3 Aug 2023 10:59:06 +0000 (12:59 +0200)]
rusticl/kernel: merge lower_and_optimize_nir_pre_inputs and lower_and_optimize_nir_late

Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24470>

14 months agorusticl/kernel: rename res to internal_args inside lower_and_optimize_nir_late
Karol Herbst [Thu, 3 Aug 2023 10:18:10 +0000 (12:18 +0200)]
rusticl/kernel: rename res to internal_args inside lower_and_optimize_nir_late

Signed-off-by: Karol Herbst <git@karolherbst.de>
Reviewed-by: @LingMan <18294-LingMan@users.noreply.gitlab.freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24470>

14 months agoradv: track if vertex binding stride is dynamic from the cmdbuf state
Samuel Pitoiset [Thu, 3 Aug 2023 13:10:08 +0000 (15:10 +0200)]
radv: track if vertex binding stride is dynamic from the cmdbuf state

This allows us to remove one more pipeline occurence during cmdbuf
recording. Note that shader object always uses dynamic vertex input.

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

14 months agoradv: re-emit binning state if the framebuffer is dirty
Samuel Pitoiset [Thu, 3 Aug 2023 13:09:47 +0000 (15:09 +0200)]
radv: re-emit binning state if the framebuffer is dirty

This used to depend on the graphics pipeline, but now that everything
is dynamic it should be fine to trigger it on fb changes.

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

14 months agoradv: track if patch control points is dynamic from the cmdbuf state
Samuel Pitoiset [Thu, 3 Aug 2023 13:09:25 +0000 (15:09 +0200)]
radv: track if patch control points is dynamic from the cmdbuf state

This allows us to remove one more pipeline occurence during cmdbuf
recording. Note that patch control points is always dynamic with
shader object.

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

14 months agoradv: remove redundant check in radv_cmd_buffer_after_draw()
Samuel Pitoiset [Thu, 3 Aug 2023 13:09:05 +0000 (15:09 +0200)]
radv: remove redundant check in radv_cmd_buffer_after_draw()

RADV_CMD_FLAG_PS_PARTIAL_FLUSH is only used for draws with
RADV_DEBUG=syncshaders, which implies a valid graphics pipeline.

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

14 months agoradv: don't set vertex_attribute_strides on GFX8+
Rhys Perry [Tue, 11 Jul 2023 19:29:12 +0000 (20:29 +0100)]
radv: don't set vertex_attribute_strides on GFX8+

Bounds checking no longer compares against the stride.

fossil-db (navi21):
Totals from 5 (0.00% of 133461) affected shaders:
Instrs: 1532 -> 1520 (-0.78%)
CodeSize: 8144 -> 8084 (-0.74%)
Latency: 5104 -> 5102 (-0.04%)
InvThroughput: 686 -> 680 (-0.87%)
VClause: 19 -> 17 (-10.53%)
PreVGPRs: 118 -> 116 (-1.69%)

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

14 months agovirgl: Only PIPE_BUFFER with VIRGL_BIND_CUSTOM flag is considered busy during creation
Feng Jiang [Wed, 17 Aug 2022 01:54:09 +0000 (09:54 +0800)]
virgl: Only PIPE_BUFFER with VIRGL_BIND_CUSTOM flag is considered busy during creation

When the virglrenderer performs the attach action for the PIPE_BUFFER
with the VIRGL_BIND_CUSTOM flag, it will synchronize the data from
res->ptr to res->iov, at this time we need to treat it as busy,
otherwise it will cause some race conditions.

This optimizes commit:
fe9333f7b5e ("virgl: Set res->maybe_busy to true when creating resources")

Signed-off-by: Feng Jiang <jiangfeng@kylinos.cn>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18098>

14 months agointel/compiler: Fix sparse cube map array coordinate lowering
Kenneth Graunke [Thu, 3 Aug 2023 22:24:53 +0000 (15:24 -0700)]
intel/compiler: Fix sparse cube map array coordinate lowering

Brown paper bag fix for my untested review feedback comments.

Cube array images use a coordinate of the form <X, Y, 6*Slice+Face>,
while cube array textures use a <X, Y, Slice, Face> style coordinate.

This code tried to convert one to the other, but instead of writing
Z / 6 and Z % 6, we tried to reuse our original division result.  What
we wanted was Z - (Z/6) * 6, but instead we botched it and wrote Z-Z*6
which produced...totally invalid cube faces.

Fixes: fe81d40bff26 ("intel/nir: add lower for sparse images & textures")
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Tested-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24481>

14 months agoradv/video: Match function definitions to declarations
Biswapriyo Nath [Thu, 3 Aug 2023 06:14:09 +0000 (11:44 +0530)]
radv/video: Match function definitions to declarations

This adds the same function attributes from definitions to declarations
and fixes the following compiler errors for 32 bit Windows OS.

../src/amd/vulkan/radv_video.c:270:1: error: conflicting types for 'radv_CreateVideoSessionKHR'
src/amd/vulkan/radv_entrypoints.h:3963:34: note: previous declaration of 'radv_CreateVideoSessionKHR'
../src/amd/vulkan/radv_video.c:319:1: error: conflicting types for 'radv_DestroyVideoSessionKHR'
src/amd/vulkan/radv_entrypoints.h:3971:30: note: previous declaration of 'radv_DestroyVideoSessionKHR'

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

14 months agobin/pick-ui: use venv wrapper
Eric Engestrom [Tue, 20 Jun 2023 13:42:01 +0000 (14:42 +0100)]
bin/pick-ui: use venv wrapper

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

14 months agobin/ci/update_traces_checksum: use venv wrapper
Eric Engestrom [Fri, 28 Jul 2023 12:47:06 +0000 (13:47 +0100)]
bin/ci/update_traces_checksum: use venv wrapper

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

14 months agobin/ci/gitlab_gql: use venv wrapper
Eric Engestrom [Fri, 28 Jul 2023 12:45:40 +0000 (13:45 +0100)]
bin/ci/gitlab_gql: use venv wrapper

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

14 months agobin/ci/ci_run_n_monitor: use venv wrapper
Eric Engestrom [Wed, 3 May 2023 16:52:57 +0000 (17:52 +0100)]
bin/ci/ci_run_n_monitor: use venv wrapper

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

14 months agobin: add wrapper to run scripts in a python venv
Eric Engestrom [Wed, 3 May 2023 16:52:57 +0000 (17:52 +0100)]
bin: add wrapper to run scripts in a python venv

This isolates the script environment from the rest of the machine,
avoiding missing/incompatible dependencies and avoiding polluting the
rest of the machine with python packages.

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

15 months agonir: Simplify alu_instr_is_copy
Alyssa Rosenzweig [Wed, 2 Aug 2023 15:35:54 +0000 (11:35 -0400)]
nir: Simplify alu_instr_is_copy

mov is considered vec.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24432>

15 months agonir: Drop no-op all_srcs_are_ssa
Alyssa Rosenzweig [Wed, 2 Aug 2023 14:19:33 +0000 (10:19 -0400)]
nir: Drop no-op all_srcs_are_ssa

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24432>

15 months agonir: Remove no-op remove_def_cb
Alyssa Rosenzweig [Wed, 2 Aug 2023 14:15:21 +0000 (10:15 -0400)]
nir: Remove no-op remove_def_cb

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24432>

15 months agolima: Clean up after deleting asserts
Alyssa Rosenzweig [Wed, 2 Aug 2023 14:14:33 +0000 (10:14 -0400)]
lima: Clean up after deleting asserts

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

15 months agonir: Remove nir_foreach_def
Alyssa Rosenzweig [Tue, 1 Aug 2023 18:49:58 +0000 (14:49 -0400)]
nir: Remove nir_foreach_def

Leftover.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24432>

15 months agonir: Remove nir_alu_dest::write_mask
Alyssa Rosenzweig [Wed, 2 Aug 2023 17:01:09 +0000 (13:01 -0400)]
nir: Remove nir_alu_dest::write_mask

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24432>

15 months agontt: Evaluate write_mask check
Alyssa Rosenzweig [Wed, 2 Aug 2023 14:24:59 +0000 (10:24 -0400)]
ntt: Evaluate write_mask check

In light of the input necessarily being SSA.

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

15 months agointel/vec4: Don't use legacy write mask
Alyssa Rosenzweig [Tue, 1 Aug 2023 18:40:38 +0000 (14:40 -0400)]
intel/vec4: Don't use legacy write mask

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

15 months agoetnaviv: What if we just didn't have a compiler?
Alyssa Rosenzweig [Wed, 2 Aug 2023 19:30:56 +0000 (15:30 -0400)]
etnaviv: What if we just didn't have a compiler?

alyssa: please no.

etnaviv: ok but we'll just not run nir_validate so it's fine.

alyssa: please no.

etnaviv: ok but we have ci now so you have to keep it working.

alyssa: please no.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24432>

15 months agoetnaviv: Don't use alu->dest.write_mask
Alyssa Rosenzweig [Tue, 1 Aug 2023 18:38:57 +0000 (14:38 -0400)]
etnaviv: Don't use alu->dest.write_mask

Just plug n chug tbh all of this code is bad.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24432>

15 months agorogue: Stop reading write masks
Alyssa Rosenzweig [Tue, 1 Aug 2023 18:25:24 +0000 (14:25 -0400)]
rogue: Stop reading write masks

Scalar SSA.

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

15 months agoir3: Drop write_mask handling
Alyssa Rosenzweig [Tue, 1 Aug 2023 18:22:08 +0000 (14:22 -0400)]
ir3: Drop write_mask handling

It's all scalar SSA.

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

15 months agonir/from_ssa: Remove pointless union
Alyssa Rosenzweig [Tue, 1 Aug 2023 17:47:00 +0000 (13:47 -0400)]
nir/from_ssa: Remove pointless union

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Suggested-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24432>

15 months agonir: Drop nir_register
Alyssa Rosenzweig [Tue, 1 Aug 2023 16:50:24 +0000 (12:50 -0400)]
nir: Drop nir_register

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24432>

15 months agonir: Remove nir_{src,dest}::is_ssa
Alyssa Rosenzweig [Thu, 3 Aug 2023 19:11:26 +0000 (15:11 -0400)]
nir: Remove nir_{src,dest}::is_ssa

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24432>

15 months agonir: Collapse more SSA checks
Alyssa Rosenzweig [Tue, 1 Aug 2023 16:45:29 +0000 (12:45 -0400)]
nir: Collapse more SSA checks

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24432>

15 months agonir: Initialize source as a NULL SSA def
Alyssa Rosenzweig [Thu, 3 Aug 2023 19:15:49 +0000 (15:15 -0400)]
nir: Initialize source as a NULL SSA def

This keeps src_is_valid working without depending on registers.

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

15 months agonir: Do not init dests
Alyssa Rosenzweig [Tue, 1 Aug 2023 16:43:05 +0000 (12:43 -0400)]
nir: Do not init dests

There is no sensible way to do this. It is a hard requirement that the dest is
initialized with nir_ssa_dest_init immediately after creating the instruction.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24432>

15 months agonir: Remove def_is_register
Alyssa Rosenzweig [Tue, 1 Aug 2023 16:38:26 +0000 (12:38 -0400)]
nir: Remove def_is_register

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24432>

15 months agonir: Collapse more SSA checks
Alyssa Rosenzweig [Tue, 1 Aug 2023 16:33:53 +0000 (12:33 -0400)]
nir: Collapse more SSA checks

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24432>