Echo J
8c92ac3ee3
nvk: Add NVK to the Vulkan device name
...
Other Mesa Vulkan drivers do the same thing (this helps to identify
the driver better especially with the recent official name import)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28262 >
2024-03-19 14:12:31 +00:00
Faith Ekstrand
7bd1d4848c
Revert "nvk: Enable VK_KHR_shader_subgroup_uniform_control_flow"
...
This reverts commit ac5d529c65 . We're
failing 4 of the tests:
dEQP-VK.reconvergence.subgroup_uniform_control_flow_ballot.compute.nesting4.1.2
dEQP-VK.reconvergence.subgroup_uniform_control_flow_elect.compute.nesting4.1.2
dEQP-VK.reconvergence.workgroup_uniform_control_flow_ballot.compute.nesting4.1.2
dEQP-VK.reconvergence.workgroup_uniform_control_flow_elect.compute.nesting4.1.2
This is because we aren't guaranteeing re-convergence for loop
continues.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28221 >
2024-03-15 21:46:00 -05:00
Faith Ekstrand
3bed7b22fe
nvk: Always set SET_ATTRIBUTE_POINT_SIZE
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28217 >
2024-03-15 21:08:35 +00:00
Valentine Burley
5bde82b353
nvk: Expose VK_EXT_swapchain_colorspace
...
This extension is basically a no-op exposing some new enums.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28203 >
2024-03-15 17:48:29 +00:00
Valentine Burley
68e93cce5e
nvk: Expose VK_EXT_surface/swapchain_maintenance1
...
Passes dEQP-VK.wsi.*.maintenance1.*.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28203 >
2024-03-15 17:48:29 +00:00
Valentine Burley
547636dc43
nvk: Expose VK_EXT_display_control
...
Use the common implementation.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28203 >
2024-03-15 17:48:29 +00:00
Valentine Burley
3da1c0b6c9
nvk: Fix missing implementation of creating images from swapchains
...
These pNext structs are part of VK_KHR_swapchain which is core Vulkan
1.1 but they were missing. Based on ANV and RADV.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10806
Signed-off-by: Valentine Burley <valentine.burley@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28203 >
2024-03-15 17:48:29 +00:00
Faith Ekstrand
160aa8ba48
nvk: Ignore rasterizationSamples when handling sampleShadingEnable
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28192 >
2024-03-15 01:31:55 +00:00
Faith Ekstrand
7604697ec6
nvk: Implement shaderStorageImageMultisample
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9660
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28159 >
2024-03-13 23:49:12 +00:00
Faith Ekstrand
357720c5a7
nvk: Use different descriptor layouts for storage vs. sampled images
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28159 >
2024-03-13 23:49:12 +00:00
Faith Ekstrand
86a462fb96
nvk: Stop pretending to handle Intel image intrinsics
...
This is probably just a copy+paste from ANV when I wrote the descriptor
code. There's no actual point to pretending to do anything with these.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28159 >
2024-03-13 23:49:12 +00:00
Faith Ekstrand
bd9836a0b8
nvk: Use a HW generation names instead of chipsets
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28159 >
2024-03-13 23:49:12 +00:00
Faith Ekstrand
be1ef1a8d8
nil: Expose nil_pix_extent_sa()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28159 >
2024-03-13 23:49:11 +00:00
Faith Ekstrand
418f8be9ea
nil: Add a helper to view a MSAA image as samples
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28159 >
2024-03-13 23:49:11 +00:00
Faith Ekstrand
ed6fd25a62
nil: Add support for larger textures on Pascal+
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28159 >
2024-03-13 23:49:11 +00:00
Faith Ekstrand
c3177e4fc2
nil: Whitespace fix
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28159 >
2024-03-13 23:49:11 +00:00
Valentine Burley
72e1a57752
nvk: Reorder device features
...
Sort device features by KHR, EXT, vendor and then alphabetically within that.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28094 >
2024-03-13 23:30:46 +00:00
Valentine Burley
94622ae491
nvk: Advertise VK_KHR_vertex_attribute_divisor
...
This is a promotion from the EXT, except the new property
supportsNonZeroFirstInstance which is already supported.
Signed-off-by: Valentine Burley <valentine.burley@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28094 >
2024-03-13 23:30:46 +00:00
Dave Airlie
133c73da85
nvk: enable a mappable bar heap when rebar is disabled.
...
Now that we've resolved the kernel side issues, this should be fine
to expose on non-rebar systems.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28144 >
2024-03-13 23:13:40 +00:00
Valentine Burley
ac5d529c65
nvk: Enable VK_KHR_shader_subgroup_uniform_control_flow
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9622
Signed-off-by: Valentine Burley <valentine.burley@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28033 >
2024-03-13 18:40:17 +00:00
Karol Herbst
821f4c8d99
nouveau: import libdrm_nouveau
...
Most of the code is copied as is, but there are a couple of changes:
- drop pre nvif code
- nouveau_list -> list_head
- pthread_mutex_t -> simple_mtx_t
- nvif_unwrap removed
- no assignments in if statements
- nouveau_object_mthd -> nouveau_device_info
- reworked object allocation UAPI calls
Most of the reworked code was copied from NVK or a previous version of it
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27853 >
2024-03-13 15:21:07 +00:00
Karol Herbst
a62fba6b62
nvk: use c.get_supported_arguments for compiler flags
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27853 >
2024-03-13 15:21:07 +00:00
Mary Guillemard
80eac1337d
nvk: Always copy conditional rendering value before compare
...
The spec requires a compare on 32-bit but the hardware actually compare 64-bit.
As such, we are required to copy the value to a temporary buffer before
the compare.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Fixes: 8c25cd307a ("nvk: EXT_conditional_rendering")
Reviewed-by: M Henning <drawoc@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28106 >
2024-03-12 20:22:27 +00:00
Alyssa Rosenzweig
3f287d100c
nvk: derive ht
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28056 >
2024-03-12 19:41:49 +00:00
Alyssa Rosenzweig
a6123a80da
nir/opt_shrink_vectors: shrink some intrinsics from start
...
If the backend supports it, intrinsics with a component() are straightforward to
shrink from the start. Notably helps vectorized I/O.
v2: add an option for this and enable only on grown up backends, because some
backends ignore the component() parameter.
RADV GFX11:
Totals from 921 (1.16% of 79439) affected shaders:
Instrs: 616558 -> 615529 (-0.17%); split: -0.30%, +0.14%
CodeSize: 3099864 -> 3095632 (-0.14%); split: -0.25%, +0.11%
Latency: 2177075 -> 2160966 (-0.74%); split: -0.79%, +0.05%
InvThroughput: 299997 -> 298664 (-0.44%); split: -0.47%, +0.02%
VClause: 16343 -> 16395 (+0.32%); split: -0.01%, +0.32%
SClause: 10715 -> 10714 (-0.01%)
Copies: 24736 -> 24701 (-0.14%); split: -0.37%, +0.23%
PreVGPRs: 30179 -> 30173 (-0.02%)
VALU: 353472 -> 353439 (-0.01%); split: -0.03%, +0.02%
SALU: 40323 -> 40322 (-0.00%)
VMEM: 25353 -> 25352 (-0.00%)
AGX:
total instructions in shared programs: 2038217 -> 2038049 (<.01%)
instructions in affected programs: 10249 -> 10081 (-1.64%)
total alu in shared programs: 1593094 -> 1592939 (<.01%)
alu in affected programs: 7145 -> 6990 (-2.17%)
total fscib in shared programs: 1589254 -> 1589102 (<.01%)
fscib in affected programs: 7217 -> 7065 (-2.11%)
total bytes in shared programs: 13975666 -> 13974722 (<.01%)
bytes in affected programs: 65942 -> 64998 (-1.43%)
total regs in shared programs: 592758 -> 591187 (-0.27%)
regs in affected programs: 6936 -> 5365 (-22.65%)
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> (v1)
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28004 >
2024-03-12 18:17:17 +00:00
Faith Ekstrand
626502d7c7
nil: Advertise support for PIPE_FORMAT_R5G6B5_UNORM
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28103 >
2024-03-12 01:20:18 +00:00
Faith Ekstrand
edd3379c09
nvk: Manually offset array and Z slices in BeginRendering
...
We can't trust the hardware above about 4095 so we're better off just
offsetting manually now that we have the code to do so.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10655
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28103 >
2024-03-12 01:20:18 +00:00
Faith Ekstrand
81db82bd8c
nvk: Add a nil_image helper variable in BeginRendering
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28103 >
2024-03-12 01:20:18 +00:00
Faith Ekstrand
696e2064bd
nil: Move Z slice offset calculations to a helper
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28103 >
2024-03-12 01:20:18 +00:00
Faith Ekstrand
cda4ca53b8
nvk: Drop nvk_device::pdev
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28105 >
2024-03-11 17:46:15 +00:00
Faith Ekstrand
4b38ba5d70
nvk: Replace more dev->pdev with nvk_device_physical()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28105 >
2024-03-11 17:46:15 +00:00
Faith Ekstrand
9ddaa4ea10
nvk: Add and use more cmd_buffer_*_cls helpers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28105 >
2024-03-11 17:46:15 +00:00
Faith Ekstrand
f55bb91159
nvk: Drop a bunch of dev->pdev and just use pdev
...
In all these cases, we already have a pdev temporary, we're just not
using it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28105 >
2024-03-11 17:46:15 +00:00
Faith Ekstrand
cc74a819e4
nvk: Disable the Out Of Range Address exception
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27927 >
2024-03-10 17:30:48 +00:00
Faith Ekstrand
0ed7bce8e5
nvk: Always wait for the FALCON in set_priv_reg
...
The previous version had an optimization where, instead of actually
waiting on the FALCON to return, it would just do a bunch of nops in
some cases. This seems broken at least on Turing+ and results in
registers not ending up with the right values. It only really shows up
when you set two registers back-to-back in which case the second
SET_PRIV_REG may mess up the first.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27927 >
2024-03-10 17:30:48 +00:00
Faith Ekstrand
df90d80d9d
nvk: Document the register name for the helper load workaround
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27927 >
2024-03-10 17:30:48 +00:00
Faith Ekstrand
cbcef73668
nil: Fix a typo in a comment
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27927 >
2024-03-10 17:30:48 +00:00
Echo J
f8f9bceb17
nak: Rip out a few dead_code statements
...
This is a far less radical solution (but I still removed a decent
amount of them)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27991 >
2024-03-10 16:28:14 +00:00
Mohamed Ahmed
3b05ebaa62
nvk: advertise shader resource residency
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Mohamed Ahmed
410de4bf69
nak: wire up sparse image loads
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Faith Ekstrand
b17f139281
nak: Wire up sparse residency for texture ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Faith Ekstrand
140cf8d616
nak/nir: Add sparse support to shrink_image_load()
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Faith Ekstrand
671c6334bf
nak: Plumb is_sparse through from NIR for texture ops
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Mohamed Ahmed
75390a7aeb
nak: wire up shader resource residency intrinsics
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Faith Ekstrand
09e2917ee8
nak: Rename resident to fault
...
The predicate returns true if the requisite pixels are NOT resident.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Mohamed Ahmed
48803ac53d
nvk: enable sparse residency features
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Faith Ekstrand
db45b29f5f
nvk/queue: Add support for non-opaque sparse binds
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Faith Ekstrand
80b417d557
nvk: Refactor opaque image binds
...
This adds a helper for iterating over the various planes separate from
the actual bind operation.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Faith Ekstrand
97de81af13
nvk/queue: Add a push_bind helper
...
This automatically combines consecutive bind ranges so we potentially
pass a smaller set of binds to the kernel. It also does the assert that
everything is in-bounds.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00
Mohamed Ahmed
bd6940a68d
nvk: add sparse queries
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26719 >
2024-03-09 00:13:23 +00:00