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
Faith Ekstrand
9846c4e13e
nouveau: Put PCI info in a pci substruct in nv_device_info
...
We separate out device_id because even non-PCI devices have one.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00
Faith Ekstrand
b232e42532
nvk: Only advertise EXT_pci_bus_info on discrete GPUs
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00
Faith Ekstrand
e722d0ff0b
nvk: Drop nvk_physical_device::instance
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00
Faith Ekstrand
221e024386
nvk: Use canonical variable names in nvk_sampler.c
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00
Faith Ekstrand
75fc6260e8
nvk: Use canonical variable names in nvk_bo_sync.c
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00
Faith Ekstrand
2be4acce25
nvk: Use canonical variable names in nvk_shader.c
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00
Faith Ekstrand
6170e1c8d9
nvk: Use canonical variable names in nvk_physical_device.c
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00
Dave Airlie
0d9155c9f8
nvk: handle alignments in device memory
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00
Faith Ekstrand
f0a165799c
nvk: Add an addr field to nvk_image_plane
...
Nothing actually needs the pointer to the memory object so it's better
to not even include it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326 >
2023-08-04 21:32:06 +00:00