Dave Airlie
6df4eda000
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 >
2023-08-04 21:31:53 +00:00
Dave Airlie
af823ae71a
nvk: port the blit and copy code to new command submission.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Dave Airlie
4cd3d74136
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 >
2023-08-04 21:31:53 +00:00
Faith Ekstrand
b5010e630a
nvk/copy: Use nvk_image_base_address()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Faith Ekstrand
13dca99623
nvk/image: Add image address helpers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Faith Ekstrand
1f42ab6f30
nvk/copy: Use nvk_buffer_address in CmdCopyBuffer
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Faith Ekstrand
1a906072db
nvk/buffer: Add a push_buffer_ref helper
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Faith Ekstrand
d59c6dc4a7
nvk/buffer: Take an offset in nvk_buffer_address
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Karol Herbst
b783809270
nvk: report maxMipLevels as 1
...
the CTS uses that value in some places
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Karol Herbst
242c5ddb67
nvk: add support for blits
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Karol Herbst
aa0ac90ed3
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 >
2023-08-04 21:31:53 +00:00
Karol Herbst
d98540c645
nvk: add basic support for images
...
enough to get basic operations working
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Karol Herbst
7e2f7e38bf
nvk: use fermi class definitions
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Karol Herbst
36e5573ef0
nouveau/ws: bind 2D class
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Karol Herbst
acbd4523a4
nouveau/ws: set GPU object class
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Karol Herbst
8e382f197d
nouveau/ws: PUSH_IMMD only works with 16 bit values
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Faith Ekstrand
78a94be05a
nvk: Re-format descriptor sets some more
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Faith Ekstrand
f57a3ef7f3
nvk: Re-format pipeline layouts
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Faith Ekstrand
e9fbac9002
nvk: Re-format descriptor set layouts
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
Dave Airlie
0b675ef7a3
nvk: descriptor set freeing fix
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:53 +00:00
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