platform/upstream/mesa.git
14 months agonvk: Allow R32_UINT
Faith Ekstrand [Tue, 31 Jan 2023 02:11:48 +0000 (20:11 -0600)]
nvk: Allow R32_UINT

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

14 months agonvk: Stop returning VK_ERROR_FORMAT_NOT_SUPPORTED for non-blitable
Faith Ekstrand [Tue, 31 Jan 2023 02:11:48 +0000 (20:11 -0600)]
nvk: Stop returning VK_ERROR_FORMAT_NOT_SUPPORTED for non-blitable

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

14 months agonvk: Drop image_view_init
Faith Ekstrand [Tue, 31 Jan 2023 02:11:48 +0000 (20:11 -0600)]
nvk: Drop image_view_init

It's unused.  Drop for now.  If we want it for meta later, we can add it
then.

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

14 months agonvk: add basic nve4+ compute support.
Dave Airlie [Tue, 14 Jun 2022 00:27:57 +0000 (10:27 +1000)]
nvk: add basic nve4+ compute support.

This can do most basic compute execution, except indirect

computeheadless demo runs, and some CTS tests pass.

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

14 months agonvk: add some compute limits
Dave Airlie [Fri, 10 Jun 2022 04:29:59 +0000 (14:29 +1000)]
nvk: add some compute limits

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

14 months agonvk: add some basic format wrapping framework
Dave Airlie [Fri, 10 Jun 2022 04:29:43 +0000 (14:29 +1000)]
nvk: add some basic format wrapping framework

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

14 months agonouveau/winsys: Add m2mf/compute objects
Dave Airlie [Thu, 2 Jun 2022 04:46:40 +0000 (14:46 +1000)]
nouveau/winsys: Add m2mf/compute objects

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

14 months agonvk: add command stream upload buffer.
Dave Airlie [Mon, 6 Jun 2022 03:53:17 +0000 (13:53 +1000)]
nvk: add command stream upload buffer.

This is an upload buffer that is kept beside the command buffer.

It can be used to allocate any per command buffer gpu state that
doesn't fit in the cmd stream.

compute dispatches will go in here for now.

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

14 months agonvk: add record result to cmd_buffer.
Dave Airlie [Mon, 6 Jun 2022 03:57:59 +0000 (13:57 +1000)]
nvk: add record result to cmd_buffer.

This keeps track of recording errors so end command buffer
 can report them

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

14 months agonvk: add support for preamble and tls allocation.
Dave Airlie [Mon, 13 Jun 2022 23:14:05 +0000 (09:14 +1000)]
nvk: add support for preamble and tls allocation.

This adds support for per-queue allocations that are reallocated
upwards if the submitted cmd needs more space.

This is used to implement the tls allocations for compute.

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

14 months agonvk: retrieve gpc/mp counts from kernel.
Dave Airlie [Mon, 6 Jun 2022 03:39:05 +0000 (13:39 +1000)]
nvk: retrieve gpc/mp counts from kernel.

These are needed to size the tls area.

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

14 months agonouveau/vk: add support for compute classes to generator.
Dave Airlie [Fri, 10 Jun 2022 21:07:32 +0000 (07:07 +1000)]
nouveau/vk: add support for compute classes to generator.

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

14 months agonvk: tiling prep work for VK_EXT_image_2d_view_of_3d
Karol Herbst [Mon, 13 Jun 2022 15:25:18 +0000 (17:25 +0200)]
nvk: tiling prep work for VK_EXT_image_2d_view_of_3d

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

14 months agonvk: support array blits over multiple layers
Karol Herbst [Fri, 10 Jun 2022 23:59:29 +0000 (01:59 +0200)]
nvk: support array blits over multiple layers

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

14 months agonvk: support multiple miplevels
Karol Herbst [Fri, 10 Jun 2022 20:48:45 +0000 (22:48 +0200)]
nvk: support multiple miplevels

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

14 months agonvk: Lower load_global_constant_offset
Faith Ekstrand [Tue, 31 Jan 2023 02:11:48 +0000 (20:11 -0600)]
nvk: Lower load_global_constant_offset

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

14 months agonvk: Re-arrange nir_lower_explicit_io a bit
Faith Ekstrand [Tue, 31 Jan 2023 02:11:48 +0000 (20:11 -0600)]
nvk: Re-arrange nir_lower_explicit_io a bit

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

14 months agonvk: Fetch descriptor set addresses from the root table
Faith Ekstrand [Tue, 31 Jan 2023 02:11:48 +0000 (20:11 -0600)]
nvk: Fetch descriptor set addresses from the root table

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

14 months agonvk: Add a root descriptor table
Faith Ekstrand [Tue, 31 Jan 2023 02:11:48 +0000 (20:11 -0600)]
nvk: Add a root descriptor table

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

14 months agonvk: Basic descriptor binding
Dave Airlie [Fri, 10 Jun 2022 21:13:36 +0000 (16:13 -0500)]
nvk: Basic descriptor binding

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

14 months agonvk: Rework whitespace in nvk_cmd_buffer.c
Faith Ekstrand [Tue, 31 Jan 2023 02:11:48 +0000 (20:11 -0600)]
nvk: Rework whitespace in nvk_cmd_buffer.c

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

14 months agonvk: Move nvk_cmd_pool cast definitions
Faith Ekstrand [Tue, 31 Jan 2023 02:11:48 +0000 (20:11 -0600)]
nvk: Move nvk_cmd_pool cast definitions

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

14 months agonvk: Add a couple descriptor set address helpers
Faith Ekstrand [Tue, 31 Jan 2023 02:11:48 +0000 (20:11 -0600)]
nvk: Add a couple descriptor set address helpers

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

14 months agonvk: Reformat nvk_nir_lower_descriptors
Faith Ekstrand [Tue, 31 Jan 2023 02:11:48 +0000 (20:11 -0600)]
nvk: Reformat nvk_nir_lower_descriptors

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

14 months agonvk: Re-arrange nvk_descriptor_set.h a bit
Faith Ekstrand [Tue, 31 Jan 2023 02:11:48 +0000 (20:11 -0600)]
nvk: Re-arrange nvk_descriptor_set.h a bit

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

14 months agonvk: reduce pitch even further in CmdFillBuffer
Karol Herbst [Sat, 11 Jun 2022 13:07:10 +0000 (15:07 +0200)]
nvk: reduce pitch even further in CmdFillBuffer

otherwise the coords would overflow hw limits.

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

14 months agonouveau/ws: handle 0inc inside nvk_push_val as well
Karol Herbst [Sat, 11 Jun 2022 12:48:45 +0000 (14:48 +0200)]
nouveau/ws: handle 0inc inside nvk_push_val as well

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

14 months agonvk: implicitly reset the command buffer
Karol Herbst [Sat, 11 Jun 2022 12:16:26 +0000 (14:16 +0200)]
nvk: implicitly reset the command buffer

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

14 months agonvk: Add a skeleton for pipelines
Faith Ekstrand [Tue, 31 Jan 2023 02:11:48 +0000 (20:11 -0600)]
nvk: Add a skeleton for pipelines

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

14 months agonvk: Initial wiring in of the compiler
Dave Airlie [Fri, 10 Jun 2022 18:34:15 +0000 (13:34 -0500)]
nvk: Initial wiring in of the compiler

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

14 months agonvk: Add an nvk_device_physical helper
Faith Ekstrand [Tue, 31 Jan 2023 02:11:48 +0000 (20:11 -0600)]
nvk: Add an nvk_device_physical helper

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

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>