Faith Ekstrand
cb4eff26e7
nvk: Teture pool sizes are maximums not sizes
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:55 +00:00
Faith Ekstrand
e13a64d286
nil: Fix image array layer alignments
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:55 +00:00
Faith Ekstrand
f3ef6f2ee1
nil: Refactor TIC image extent setup
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:55 +00:00
Faith Ekstrand
6a6cf64a78
nil: Don't minify image dimensions when setting up TIC
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:55 +00:00
Faith Ekstrand
a67cfe2590
nil: Drop miptail support for now
...
We don't have any idea how they work or even which TIC bits have to do
with them. Better off just leave them alone for now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:55 +00:00
Dave Airlie
974212a581
nouveau/classes: add 906f header support.
...
This needed some tweaks to the generator script
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:55 +00:00
Faith Ekstrand
7a86192d3a
nvk: Drop vk_sync BO refs after push_submit
...
Otherwise, all syncs are cumulative and, if the same command buffer is
submitted multiple times, it will sync on the union of all syncs it's
ever seen.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:55 +00:00
Dave Airlie
4c485b0b6f
nouveau/ws: add a push reset just for references.
...
This is to be used with the empty submission pushbuf.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:55 +00:00
Dave Airlie
e2565c2fc2
nvk: fix empty cmd submission.
...
The sync obj stuff does a second queue submit with just signals
and no command buffers. Make sure things get sent to the kernel
so sync works.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:55 +00:00
Faith Ekstrand
bf01f4d66a
nvk: Support compressed images in copy commands
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:55 +00:00
Faith Ekstrand
20d8d1e239
nvk: Add a more competent GetPhysicalDeviceImageFormatProperties
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:55 +00:00
Faith Ekstrand
fc19173014
nvk: Rework format features queries
...
Split the buffer and image portions into vk_buffer_view.c and vk_image.c
respectively. This way they're a lot closer to each other. Put the
main combined helper in nvk_format.c since it's a format thing. Also,
restructure things a bit based on ANV to make the code look nicer.
Also, implement VK_KHR_format_feature_flags2 while we're here.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:55 +00:00
Faith Ekstrand
76253dbf94
nvk: Reset and properly clean up command buffer upload areas
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:55 +00:00
Faith Ekstrand
2a914028f1
nvk: Implement VkGetImageSubresourceLyout
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:55 +00:00
Faith Ekstrand
23e6689b38
nvk: Re-indent image entrypoints
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:55 +00:00
Faith Ekstrand
04d2bf2ee7
nvk: Convert to using NIL for image layout
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:55 +00:00
Faith Ekstrand
eefb60b832
nvk: Manually offset for array layers in copy/blit
...
The more I start at the hardware the more convinced I become that arrays
and 3D are not the same thing. I'm sure they're similar enough in
certain circumstances but they don't appear to be in the way they're
treated in the 2D hardware, especially when miplevels are involved.
Instead of trying to use the 2D engine's depth/slice logic, offset
manually. We have to emit a copy command for each slice anyway so
making the GPU do those calculations doesn't really gain us anything.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
d673111bc8
Revert "nvk: Stop returning VK_ERROR_FORMAT_NOT_SUPPORTED for non-blitable"
...
This reverts commit 74ad75f2624c50f732db35946a127eb11edee3e5.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
3e706a974e
nvk: Move Fill/UpdateBuffer to nvk_cmd_copy
...
Even if they technically use blit-like HW commands, they're much more a
copy operation than a blit since there's no scaling going on.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
3beb4daa2b
nvk: Align arguments consistently in copy/blit code
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
b647527476
nvk: Use helpers for push_ref
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
3516136d7a
nvk: Add an nvk_get_format helper
...
This makes the array size internal to nvk_format.c so we don't have to
keep it in sync when we add extra elements. Also, there's no reason why
we need to be hand-rolling that loop all the time.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
ec6d56d4ce
nil: Add a nil_view and code to fill out TIC entries
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
c12c94cde3
nil: Add the TIC format table from nouveau
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
69967e3f0d
nil: Create images
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
13abd1dbf2
nouveau: Add stubs for an image layout library called NIL
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Karol Herbst
5623de7345
nouveau/ws: initial debugging options for command submissions
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Karol Herbst
95843dd754
nouveau/headers: Generate parser functions
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Karol Herbst
43444e1a72
nvk/blit: assert that formats are supported
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Karol Herbst
1de656bce3
nouveau/ws: assert on broken channel
...
no point in continuing
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Karol Herbst
008e9768ad
nouveau/ws: make sure we don't submit nonsense
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
ee50fe7d85
nvk: Rework descriptor writes
...
In particular, this makes us only touch the descriptor UBO memory as a
memcpy destination unless we're doing a descriptor copy. This should be
much better for mapped GPU memory than the read-modify-write required by
our previous implementation of image descriptor writes with their 12:20
configuration.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
7d6ea3fcf5
nvk: Reserve a null image descriptor
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
86d367e75b
nvk: GART os host-cache-coherent
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
8213eaa99f
nvk: Make texture descriptors a bit more acceptable to codegen
...
Codegen assumes that it gets a combined descriptor on both the texture
and sampler handle sources and that it's 64-bit. It's not too hard to
just give it that in NIR. We may make codegen a bit more flexible in
future but, for now, this gets things working. While we're here, do a
quick optimization for combined texture+sampler descriptors because it's
easy.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
c9bf974472
nvk: Add a stub implementation of buffer views
...
We don't actually populate the TIC entries yet but we can at least
pretend and stick them in descriptor sets.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
8d3f185a4d
nvk: Re-format nvk_buffer.c a bit
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
da3e5c13c3
nvk: Re-format nvk_image_view.h a bit
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
9cd1753a29
nvk: Unify descriptor loading in lower_descriptors
...
The code we were using for images/textures was broken since it didn't
track with the change to always use root descriptors.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
035a63d8bf
nvk: Set b->cursor when lowering image intrinsics
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
e120a789d3
nvk: Fill out TIC table entries for image views
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
ff84f8aa48
nvk: Add an image descriptor table to the device
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
e0d445c28d
nvk/image_view: Reformat and fix Create/DestroyImageView
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
52565b1e62
nvk: Copy in the nouveau TIC format table
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
108c9dc655
nvk: Add a descriptor table data structure
...
This will be used for image and sampler descriptors
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
2ec2ce44f3
nvk: Mark nvk_push_descriptor_set_ref() inline
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
460a026d72
nvk: Allow R32_UINT
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
ecbc820898
nvk: Stop returning VK_ERROR_FORMAT_NOT_SUPPORTED for non-blitable
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:31:54 +00:00
Faith Ekstrand
6a481d8170
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 >
2023-08-04 21:31:54 +00:00
Dave Airlie
a0d64f2770
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 >
2023-08-04 21:31:54 +00:00