Commit graph

177262 commits

Author SHA1 Message Date
Dave Airlie
fa8bbfaa55 nouveau/winsys: add support for the vma bind interfaces
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Dave Airlie
c815ff1661 nvk: always sync internal cmd bufs for vma lifetimes.
We always sync on the internal push buf submissions for zero vram
and ctx setup, these shouldn't be bottlenecks.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
9d7d76cddc nouveau/shim: Use the imported nouveau_drm.h headers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
5fd1b8e086 nvk: Use the imported nouveau_drm.h headers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
300df8e177 nouveau/winsys: Use the imported nouveau_drm.h headers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
fc1fb3a516 drm-uapi: Import nouveau_drm.h
From https://cgit.freedesktop.org/drm-misc/

    commit e02238990b1ab2dfc8abb4c28369f1da6e863f81
    Author: Danilo Krummrich <dakr@redhat.com>
    Date:   Fri Aug 4 20:23:43 2023 +0200

        drm/nouveau: new VM_BIND uAPI interfaces

Signed-off-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
ae37fbba12 nouveau: Move shader topology info to nv_device_info
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
d8b7b1d784 nvk: Decorate CmdBegin/EndRendering entrypoints
These decorations are necessary for proper building on Android and
Windows.  You don't notice them in regular Linux builds, though.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
40ab58035e nvk: Implement GetRenderingAreaGranularityKHR
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
8636597c4a nvk: Implement CmdBindIndexBuffer2KHR
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
c4b7754e7c nvk: Use VkBufferUsageFlags2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
98a3bc699b nvk: Implement the maintenance5 image layout queries
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
af72961ff1 nvk: Rework memory requirements to handle aspects correctly
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
733d20277c nvk: Misc. style nits
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Dave Airlie
50e5ee586c nvk: enable EXT_depth_clip_enable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Dave Airlie
15d12bb615 nvk: enable EXT_depth_clip_control
This is already handled in the dynamic state.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
57c38a5669 nvk: Implement CopyQueryPoolResults with a compute shader
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
4a049f0d2c nvk: Separate the MME query copy code out a bit
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
f090efa8dc nvk: Enable the SPIR-V DeviceGroup capability
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
dadf9d59e6 nvk: Add support for variable pointers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
0241ed6025 nvk: Add a root_desc_addr to the root descriptor table
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
2e709a9278 nvk: Use nvk_root_descriptor_offset for drawInfoBase
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
0afc57afad nvk: Rework multi-plane format features a bit
We need to avoid returning certain feature flags such as rendering or
storage from vkGetPhysicalDeviceFormatFeatures*() but still allow those
for single-plane views of the image which means allowing them in
vkGetPhysicalDeviceImageFormatProperties*().

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
b883031b91 nvk: Improve image format properties and limits
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Mohamed Ahmed
2b85ccacf0 nouveau/nvk: Enable VK_KHR_sampler_ycbcr
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Mohamed Ahmed
e311b24b79 nouveau/nvk: Add multiple sampler planes for CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Mohamed Ahmed
67a2d78477 nouveau/nvk: Create helper function for sampler creation
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Mohamed Ahmed
41b2034460 nouveau/nvk: Support multi-plane descriptors in nvk_nir_lower_descriptors.c
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Mohamed Ahmed
a863ddcf9e nouveau/nvk: Add YCbCr sampler NIR lowering pass
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
fd03f4cd1a nvk: Use the new NIL helper for image level extents for copies
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
866fc8b3f4 nil: Add a nil_image_level_extent_px() helper
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Dave Airlie
113d3447bb nvk: enable rgb32 texel buffer support
This is needed for zink.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Emma Anholt
758973fb62 nvk: Disable shaderStorageImageReadWithoutFormat pre-Maxwell.
On Kepler and earlier, image loads must get lowered based on the declared
format, since we don't have a SULDP op.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
Faith Ekstrand
1bbfdccc9f nouveau: Drop GART size from nv_device_info
The kernel always returns something rediculously high, like 40 bits or
something.  There's really no point in us tracking it.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:07 +00:00
George Ouzounoudis
b2fa2ed04e nouveau/codegen: Do not keep redundant info for tessellation domain
Just add an assert instead.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:06 +00:00
George Ouzounoudis
94e5eb68f4 nvk: Do not keep redundant info for tessellation domain
This is not needed after merge_tess_info that or's the info of both the
tesc and tese shaders.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:06 +00:00
Dave Airlie
2d670169ce nvk: fix independent color write masks.
This fixes:
dEQP-VK.renderpass.suballocation.attachment_write_mask.attachment_count_*

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:06 +00:00
Faith Ekstrand
b844b6b66a docs/relnotes: Stick something about NVK in new_features.txt
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:06 +00:00
Faith Ekstrand
34ea8dfbdd docs: Add NVK to features.txt
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:06 +00:00
Faith Ekstrand
71f7cf8acf docs: Add a docs page for NVK
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:06 +00:00
Faith Ekstrand
d0192cec1e nvk: Don't skip zero-size bindings in GetDescriptorSetLayoutSupport
We still need to handle them in the case of variable descriptor counts.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:06 +00:00
Dave Airlie
89bab0012a nvk: align geometry clip setting with nvc0
This fixes
dEQP-VK.clipping.clip_volume.depth_clamp.point_list,Fail
dEQP-VK.clipping.clip_volume.depth_clip.point_list,Fail

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:06 +00:00
Faith Ekstrand
d6e347c82d nvk: Flush more state on VI_BINDINGS_VALID dirty
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:06 +00:00
Faith Ekstrand
9345b95346 nvk: Bind 3D depth/stencil images as 2D arrays
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:06 +00:00
Dave Airlie
f0e8749e13 nvk/tess: don't emit patch control points in pipeline
Let the dynamic state thing emit these.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:06 +00:00
Faith Ekstrand
afd6219055 vulkan/meta: Use vk_meta_get_pipeline_layout in blit/resolve
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:06 +00:00
Faith Ekstrand
574d6362ca vulkan/meta: Add a get_pipeline_layout helper
This helper handles the cache lookup and constructs a pipeline layout
and a descriptor set layout, as needed, all in one go.  This saves a bit
of boilerplate in the various meta functions.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:06 +00:00
Faith Ekstrand
f65fdfcca8 Revert "vulkan: Allow scissors or viewports to be set without counts"
This reverts commit b551f26a0caad52de620222e2df8416e80332943.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:06 +00:00
Faith Ekstrand
9b2e7aab52 nvk: Use the new core vk_sampler struct
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:06 +00:00
Karol Herbst
1524906f73 nvk: enable fp helper invocations loads on more gens
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
2023-08-04 21:32:06 +00:00