Dave Airlie
d4e71940c2
nvk: implement buffer address.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Dave Airlie
56a5ed2b70
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 >
2023-08-04 21:31:53 +00:00
Faith Ekstrand
79c9223864
nvk: Expose nvk_descriptor_stride_align_for_type
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Dave Airlie
3033681f93
nvk: some boilerplate for descriptor sets
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Dave Airlie
50ca748b6a
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 >
2023-08-04 21:31:53 +00:00
Dave Airlie
0930936a6e
nvk: reindent descriptor sets to mesa std.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Faith Ekstrand
b8a6a4cb7d
nvk: Implement vkUpdateDescriptorSets
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Faith Ekstrand
1b2656b674
nvk: Add initial descriptor set lowering
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Faith Ekstrand
04e52c25ac
nvk: Implement VkPipelineLayout
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Faith Ekstrand
3137f9df6e
nvk: Implement VkDescriptorSetLayout
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Dave Airlie
fc6f9a45e9
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 >
2023-08-04 21:31:53 +00:00
Karol Herbst
464534995f
nouveau/ws: fix setting push bo domains
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Karol Herbst
927de5918f
nvk: impl nvk_CmdCopyBuffer
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Karol Herbst
bc4f7b4bf1
nvk: add nvk_CmdPipelineBarrier2 stub
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Karol Herbst
47b95416ae
nvk: add nvk_bo_sync
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Dave Airlie
6e0089307e
nvk: add cmd buffer framework
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Karol Herbst
decb8c6fd4
nvk: allocate a GPU context for each VkDevice
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Dave Airlie
f190398049
nvk: Add initial queue
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Karol Herbst
cd46cf852b
novueau/bo: add nouveau_ws_bo_wait
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Karol Herbst
d71a4d73b8
novueau/bo: refcount it
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Karol Herbst
f9cd1d6941
nouveau/ws: add a cmd buffer
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Karol Herbst
bede03cbd8
nouveau/ws: add context support
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Karol Herbst
81e680edc9
nouveau/headers: add host classes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Karol Herbst
e47b0c42cc
nouveau/headers: typedef Nv void types
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Karol Herbst
2810d4cf6d
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 >
2023-08-04 21:31:53 +00:00
Dave Airlie
787fbe85b9
nvk: add bind buffer memory
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Dave Airlie
12e8ea2630
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 >
2023-08-04 21:31:53 +00:00
Dave Airlie
ab4452b9af
nvk: add some initial wsi framework.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Dave Airlie
6725804efb
nvk: add missing finish calls
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Karol Herbst
24641ecce4
nvk: add basic device memory support
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Karol Herbst
b193729645
nouveau/ws: add bo API
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Karol Herbst
d270ad422c
nvk: set nonCoherentAtomSize as the CTS divides with this value
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Karol Herbst
63a1d52e62
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 >
2023-08-04 21:31:52 +00:00
Karol Herbst
0e9fda6efb
nouveau/ws: dup the fd
...
We do the same in gallium
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:52 +00:00
Karol Herbst
ba7d2ba45e
nouveau/ws: reorganize a little
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:52 +00:00
Karol Herbst
cd4e67c536
nvk: advertize memory heaps and types
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:52 +00:00
Karol Herbst
b2b13b1944
nvk: implement GetPhysicalDeviceQueueFamilyProperties2 to make the CTS happy
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:52 +00:00
Karol Herbst
179f996c04
nouveau/headers: initial sync of headers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:52 +00:00
Karol Herbst
b081325fc7
nouveau/headers: add script to sync in-tree headers with open-gpu-doc
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:52 +00:00
Karol Herbst
a07b069417
nvk: fix nvk_buffer include guards
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:52 +00:00
Faith Ekstrand
89d7ce0fda
nvk: Add a stub implementation of VkBuffer
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:52 +00:00
Faith Ekstrand
bbe7f42e2a
nvk: Add stub implementation of VkSampler
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:52 +00:00
Faith Ekstrand
32b7d178fd
nvk: Add stub implementations of VkImage and VkImageView
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:52 +00:00
Faith Ekstrand
c5775c7ed6
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 >
2023-08-04 21:31:52 +00:00
Karol Herbst
a0d521d268
nvk: use winsys lib
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:52 +00:00
Karol Herbst
0749492760
nouveau/winsys: add the new winsys implementation
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:52 +00:00
Karol Herbst
83786bf1c9
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 >
2023-08-04 21:31:52 +00:00
Gert Wollny
cfbd1fd413
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 >
2023-08-04 21:01:59 +00:00
Gert Wollny
ebf45153d8
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 >
2023-08-04 21:01:59 +00:00
Gert Wollny
f03b466fb5
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 >
2023-08-04 21:01:59 +00:00