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
Faith Ekstrand
27eb9af9d8
nvk: Require an environment variable for poorly tested hardware
...
We really only know that Turing and Ampere work right now. Maxwell has
recieved some testing but still can't survive a CTS run. Other hardware
is even less well tested.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00
Karol Herbst
a4367f2e3c
nouveau: fix max_warps_per_mp_for_sm for builds with asserts disabled
...
Fixes: 1b756be2bca ("nvk: properly calculate SLM region by taking per arch limits into account")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00
Karol Herbst
61c0d86831
nvk: properly calculate SLM region by taking per arch limits into account
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00
Karol Herbst
4b66a0a70c
nvk: replace mp with tpc
...
The tls space is calculate per TPC, but nouveau also doesn't report the MP
count to us, but the TPC count instead.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00
Karol Herbst
a5129fb03f
nvk: fix num_gprs for Volta+
...
Fixes OOR_REG errors being thrown
Signed-off-by: Karol Herbst <git@karolherbst.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00
Faith Ekstrand
c6a8851902
nvk: Implement VK_EXT_physical_device_drm
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00
Faith Ekstrand
c68b4e4b3a
nvk: Don't enumerate pre-Kepler GPUs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00
Faith Ekstrand
f52add16fc
nvk: Move the winsys device to nvk_device
...
Vulkan requires that different VkDevices be unable to affect each other.
To correctly provide this invariant, each VkDevice really needs its on
virtual address space. This means opening a new nouveau_device per
nvk_device. This may make device creation a tiny bit less efficient but
we can fix that with some sort of caching if we absolutely need to.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00
Faith Ekstrand
be5d6c7cbe
nvk: Add a ws_dev to nvk_device and use it
...
At the moment, this is just a convenient short-hand but we're about to
permanently move the nouveau_ws_device to nvk_device so it will be the
only way to access it soon.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00
Faith Ekstrand
e2bdbc2151
nvk: Rename nvk_device::ctx to ws_ctx
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00
Faith Ekstrand
088692d954
nvk: Use nv_device_info for class checks
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00
Faith Ekstrand
1756e4601a
nouveau: Move gart_size to nv_device_info
...
This is more complicated than the others since it is a calculated value.
For nv_device_info struct, we want the raw version that raw query from
the chip. We move the calculation into nvk_create_drm_physical_device().
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00
Faith Ekstrand
372c884b4a
nouveau: Move more stuff into nv_device_info
...
The device_id and is_integrated fields in nouveau_device can be dropped
entirely since they're redundant with nv_device_info::device_id and
nv_device_info::type.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00
Faith Ekstrand
8e85ea6f7a
nvk: Set deviceType based on nv_device_info::type
...
The is_integrated bool is based on VRAM size which is a bit clunky and
not really what the Vulkan query means.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00
Faith Ekstrand
56ccada087
nouveau: Stop using hex for SM numbers
...
There's no indication that NVIDIA considers this to be anything other
than a decimal number. Much to the contrary, the number of 5s and 9s in
the SM number table implies they very much are base 10. Given that
Lovelace is SM90, we'll likely be hitting 100 fairly soon at which point
this will stop fitting in a uint8_t. Switch to decimal to compress it
down a bit.
Also, rename the field to SM which beter matches the NVIDIA docs and
ensures that there are no users of this which are likely to be confused.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00