platform/upstream/mesa.git
14 months agonvk: link in codegen without gallium bits.
Dave Airlie [Fri, 10 Jun 2022 20:17:31 +0000 (06:17 +1000)]
nvk: link in codegen without gallium bits.

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

14 months agonvk: advertise VK_KHR_copy_commands2
Karol Herbst [Fri, 10 Jun 2022 18:11:44 +0000 (20:11 +0200)]
nvk: advertise VK_KHR_copy_commands2

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

14 months agonvk: implement CmdCopyBuffer2
Karol Herbst [Fri, 10 Jun 2022 18:11:13 +0000 (20:11 +0200)]
nvk: implement CmdCopyBuffer2

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

14 months agonvk: implement CmdUpdateBuffer
Karol Herbst [Thu, 9 Jun 2022 20:52:52 +0000 (22:52 +0200)]
nvk: implement CmdUpdateBuffer

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

14 months agonvk: implement CmdFillBuffer
Karol Herbst [Thu, 9 Jun 2022 20:52:39 +0000 (22:52 +0200)]
nvk: implement CmdFillBuffer

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

14 months agonvk: optimize blit command buffer gen
Karol Herbst [Fri, 10 Jun 2022 14:03:52 +0000 (16:03 +0200)]
nvk: optimize blit command buffer gen

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

14 months agonouveau/ws: drop the old push generators.
Dave Airlie [Fri, 10 Jun 2022 03:42:25 +0000 (13:42 +1000)]
nouveau/ws: drop the old push generators.

leave drf.h as it's need for the compute qmd stuff.

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

14 months agonvk: port the blit and copy code to new command submission.
Dave Airlie [Fri, 10 Jun 2022 03:39:49 +0000 (13:39 +1000)]
nvk: port the blit and copy code to new command submission.

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

14 months agonvk: move to new command stream generator.
Dave Airlie [Thu, 9 Jun 2022 20:51:16 +0000 (06:51 +1000)]
nvk: move to new command stream generator.

This auto generates macros/inlines/structs from the nvidia
class headers using a python for noobs script

v2: use argparse.

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

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

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

14 months agonvk/image: Add image address helpers
Faith Ekstrand [Tue, 31 Jan 2023 02:11:47 +0000 (20:11 -0600)]
nvk/image: Add image address helpers

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

14 months agonvk/copy: Use nvk_buffer_address in CmdCopyBuffer
Faith Ekstrand [Tue, 31 Jan 2023 02:11:47 +0000 (20:11 -0600)]
nvk/copy: Use nvk_buffer_address in CmdCopyBuffer

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

14 months agonvk/buffer: Add a push_buffer_ref helper
Faith Ekstrand [Tue, 31 Jan 2023 02:11:47 +0000 (20:11 -0600)]
nvk/buffer: Add a push_buffer_ref helper

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

14 months agonvk/buffer: Take an offset in nvk_buffer_address
Faith Ekstrand [Tue, 31 Jan 2023 02:11:47 +0000 (20:11 -0600)]
nvk/buffer: Take an offset in nvk_buffer_address

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

14 months agonvk: report maxMipLevels as 1
Karol Herbst [Thu, 9 Jun 2022 18:18:44 +0000 (20:18 +0200)]
nvk: report maxMipLevels as 1

the CTS uses that value in some places

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

14 months agonvk: add support for blits
Karol Herbst [Wed, 8 Jun 2022 02:26:48 +0000 (04:26 +0200)]
nvk: add support for blits

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

14 months agonvk: simple format table
Karol Herbst [Tue, 7 Jun 2022 17:11:00 +0000 (19:11 +0200)]
nvk: simple format table

this is enough to run the image copy and blit tests on a couple of formats

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

14 months agonvk: add basic support for images
Karol Herbst [Mon, 6 Jun 2022 01:26:54 +0000 (03:26 +0200)]
nvk: add basic support for images

enough to get basic operations working

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

14 months agonvk: use fermi class definitions
Karol Herbst [Mon, 6 Jun 2022 16:25:02 +0000 (18:25 +0200)]
nvk: use fermi class definitions

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

14 months agonouveau/ws: bind 2D class
Karol Herbst [Tue, 7 Jun 2022 17:53:58 +0000 (19:53 +0200)]
nouveau/ws: bind 2D class

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

14 months agonouveau/ws: set GPU object class
Karol Herbst [Tue, 7 Jun 2022 00:41:16 +0000 (02:41 +0200)]
nouveau/ws: set GPU object class

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

14 months agonouveau/ws: PUSH_IMMD only works with 16 bit values
Karol Herbst [Tue, 7 Jun 2022 00:54:20 +0000 (02:54 +0200)]
nouveau/ws: PUSH_IMMD only works with 16 bit values

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

14 months agonvk: Re-format descriptor sets some more
Faith Ekstrand [Tue, 31 Jan 2023 02:11:47 +0000 (20:11 -0600)]
nvk: Re-format descriptor sets some more

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

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

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

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

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

14 months agonvk: descriptor set freeing fix
Dave Airlie [Mon, 6 Jun 2022 05:11:30 +0000 (15:11 +1000)]
nvk: descriptor set freeing fix

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

14 months agonvk: implement buffer address.
Dave Airlie [Thu, 2 Jun 2022 05:29:14 +0000 (15:29 +1000)]
nvk: implement buffer address.

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

14 months agonvk: add descriptor set bo allocation.
Dave Airlie [Mon, 6 Jun 2022 03:27:21 +0000 (13:27 +1000)]
nvk: add descriptor set bo allocation.

This allocates the backing bo for the pool, and allocates the
sets from it.

This is mostly ported from radv.

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

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

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

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>