Jesse Natalie
1e11645a30
dzn: Remove driconf for quad ops in vertex stages
...
These actually work now.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22606 >
2023-04-20 21:02:15 +00:00
Jesse Natalie
5672b6cb02
dzn: Remove #if D3D12_SDK_VERSION blocks now that 610 is required
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22504 >
2023-04-14 23:59:33 +00:00
Jesse Natalie
3cbd4fb61b
dzn: Don't enable bindless by default
...
There's bad interactions with dynamic buffers at this point:
* Perf issues due to allocating and freeing the buffer to store indices/offsets
* Large dynamic uniform buffer offsets (above 65K) cause out-of-bounds reads
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22371 >
2023-04-10 18:43:12 +00:00
Jesse Natalie
5aca593262
dzn: Ignore unnormalized sampling flag if driver doesn't support it
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22371 >
2023-04-10 18:43:12 +00:00
Jesse Natalie
e4da9c2dfc
dzn: Support >2K samplers with bindless
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22346 >
2023-04-07 19:11:11 +00:00
Jesse Natalie
16e70708ba
dzn: Don't leave deleted physical devices in the instance pdev list
...
Fixes: cfa260cd ("dzn: Use common physical device list/enumeration helpers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22346 >
2023-04-07 19:11:11 +00:00
Jesse Natalie
71dbb3120a
dzn: Use GetResourceAllocationInfo3 for castable formats
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22346 >
2023-04-07 19:11:11 +00:00
Raun
9d38c9ca2f
dzn: Enable VK_KHR_get_memory_requirements2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22349 >
2023-04-07 15:35:10 +00:00
Raun
a9a0dc3cca
dzn: Enable VK_KHR_bind_memory2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22349 >
2023-04-07 15:35:10 +00:00
Jesse Natalie
04fa6c715b
dzn: Batch command lists together
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22225 >
2023-04-06 22:08:28 +00:00
Jesse Natalie
eaa8c8097c
dzn: Don't use write-combine memory for cache-coherent UMA
...
Cache coherent UMA implies that the GPU is reading data through the
CPU caches. Using write-combined CPU pages for such a system would
be bad, since the GPU would then be reading uncached data. One
example of such a system is WARP. This significantly improves WARP's
performance for some apps (including the CTS).
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22225 >
2023-04-06 22:08:28 +00:00
Jesse Natalie
84c0f40490
dzn: Report some more caps correctly that are supported
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22225 >
2023-04-06 22:08:28 +00:00
Jesse Natalie
fb5abb956d
dzn: Add a driconf option for enabling subgroup ops in VS/GS
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22225 >
2023-04-06 22:08:28 +00:00
Jesse Natalie
89879d8fe2
dzn: Add a driconf entry for enabling 8bit loads and stores
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22225 >
2023-04-06 22:08:28 +00:00
Jesse Natalie
9663546cf4
dzn: Claim fillModeNonSolid
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22277 >
2023-04-04 21:48:19 +00:00
Jesse Natalie
7750e23c7f
dzn: Enable variable size bindings
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:44 +00:00
Jesse Natalie
19818ecc37
dzn: Support descriptor indexing via bindless
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:44 +00:00
Jesse Natalie
c93dda6bee
dzn: Add a debug option for enabling bindless mode
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:44 +00:00
Jesse Natalie
4c4431b674
dzn: Add initial bindless infrastructure
...
When operating in "bindless" mode, the device will own 2 descriptor
heaps, one for views, and one for samplers. Every time a view is
created (image view, buffer view), a slot is allocated for it out
of the device view heap for each usage type (sampled vs storage).
Then, in a future change, descriptor sets will just contain view/
sampler indices instead of actual descriptors. Instead of copying
these to a cmdbuf-owned descriptor heap, we can directly bind the
descriptor set as a buffer. We'll also modify shaders to perform
an indirection and index into the device heap.
Buffers also get views set up on creation. In a perfect world, we
could just put addresses/sizes in the descriptor set, but DXIL
doesn't support loading from addresses, we need descriptors. When
robust buffer access is disabled *or* descriptor set buffer views
reference the remainder of the buffer, we can just re-use a view
from the buffer and use an offset.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:44 +00:00
Jesse Natalie
599abf5b1a
dzn: Remove device pointers from descriptor heaps
...
A future change is going to add descriptor heaps *to* the dzn_device,
and having 3x ID3D12Device pointers in a single object just seems
wrong. All of the callers already had a device, so just pass it
along where needed.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21913 >
2023-03-23 21:48:43 +00:00
Jesse Natalie
3ce2b71193
dzn: Claim the arithmetic subgroup bit
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21996 >
2023-03-18 02:33:42 +00:00
Jesse Natalie
87e83ce58e
dzn: Enable KHR_storage_buffer_storage_class
...
It's required for VK1.1 and Mesa's SPIR-V parser handles it for us.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21261 >
2023-02-14 23:28:29 +00:00
Jesse Natalie
7ead717393
dzn: Enable 16bit types when supported
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21029 >
2023-02-11 06:12:23 +00:00
Jesse Natalie
d7f9e2db59
dzn: Get options4
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21029 >
2023-02-11 06:12:23 +00:00
Jesse Natalie
cc906c0eed
dzn: Enable get_surface_capabilities2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21029 >
2023-02-11 06:12:23 +00:00
Jesse Natalie
237e12c2df
dzn, driconf: Add a driconf entry for NMS to claim wide line support
...
Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20959 >
2023-01-30 21:17:25 +00:00
Jesse Natalie
cdd1588d55
dzn: Don't recursively lock the physical device enum mutex
...
Fixes: cfa260cd27 ("dzn: Use common physical device list/enumeration helpers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20939 >
2023-01-26 19:00:31 +00:00
Jesse Natalie
40a2b50599
dzn: Fix Windows WSI
...
This was a merge conflict from the Win32 WSI DXGI swapchain changes.
I missed moving a new line of code that was added when rearranging
things for using the common helpers.
Fixes: cfa260cd ("dzn: Use common physical device list/enumeration helpers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20944 >
2023-01-26 18:03:50 +00:00
Jesse Natalie
a08d6d8b59
dzn: Support Vulkan 1.2
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20919 >
2023-01-26 03:16:50 +00:00
Jesse Natalie
948ff5b8e2
dzn: Support float control
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20919 >
2023-01-26 03:16:50 +00:00
Jesse Natalie
f391c2db62
dzn: Cache GPUVA for buffers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20919 >
2023-01-26 03:16:50 +00:00
Jesse Natalie
34f372c47c
dzn: Handle separate stencil usage
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20919 >
2023-01-26 03:16:50 +00:00
Jesse Natalie
81b5f6a3fd
dzn: Use core feature matching logic instead of rolling our own
...
This will print nice messages on unsupported features
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20801 >
2023-01-24 11:00:05 -08:00
Jesse Natalie
db083070f0
dzn: Implement subgroup size control extension
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20801 >
2023-01-24 11:00:05 -08:00
Jesse Natalie
a041cd48f4
dzn: Support more subgroup/quad ops
...
See the comment around supported shader stages - to avoid
introducing CTS failures, vertex/geometry support for
subgroups are turned off since they cannot support quads.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20801 >
2023-01-24 11:00:05 -08:00
Jesse Natalie
12a471afac
dzn: Enable Vulkan 1.1
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20823 >
2023-01-24 17:22:25 +00:00
Jesse Natalie
602a54a083
dzn: Don't expose variable pointers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20823 >
2023-01-24 17:22:25 +00:00
Jesse Natalie
884d870929
dzn: Descriptor limits are based on binding tier, not heap tier
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20823 >
2023-01-24 17:22:25 +00:00
Jesse Natalie
9f13a4a10a
dzn: Usage MULTISAMPLE_LOAD support instead of RT/DS support for MSAA
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20823 >
2023-01-24 17:22:25 +00:00
Jesse Natalie
29a0bcdd84
dzn: Support EXTENDED_USAGE bit
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20823 >
2023-01-24 17:22:25 +00:00
Jesse Natalie
1041e0d281
dzn: Use SHADER_LOAD to indicate SAMPLED_IMAGE support
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20823 >
2023-01-24 17:22:25 +00:00
Jesse Natalie
cfc05566ab
dzn: Move patched vertex buffer capability check up a level
...
Some of these patched formats are also needed as (trivial) image
formats, so we can't just report vertex buffer as the only supported
operation.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20823 >
2023-01-24 17:22:25 +00:00
Jesse Natalie
232c598e79
dzn: Set dynamic rendering caps
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20823 >
2023-01-24 17:22:25 +00:00
Jesse Natalie
cfa260cd27
dzn: Use common physical device list/enumeration helpers
...
Implements EnumeratePhysicalDeviceGroups for us for free
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20823 >
2023-01-24 17:22:25 +00:00
Jesse Natalie
bfd891fe66
dzn: Support basic subgroups
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20777 >
2023-01-20 18:50:57 +00:00
Jesse Natalie
c92729c3ce
dzn: Enable independent blending
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20778 >
2023-01-20 00:35:59 +00:00
Jesse Natalie
8c0531cf91
dzn: Enable multiview
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20650 >
2023-01-19 21:14:50 +00:00
Jesse Natalie
ca8c8f2fc1
dzn: Remove cmdbuf query 'wait' list
...
From the Vulkan spec, the WAIT flag on vkCmdCopyQueryPoolResults only
serves to increase the first synchronization scope to include query end
commands, but either way, the synchronization scope only includes
commands that occur earlier in submission order. In other words, we
don't need to enforce queue ordering, a pipeline barrier is all that's
needed.
Fixes deadlocks in the timestamp.misc_tests.two_cmd_buffers_primary test.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20617 >
2023-01-17 20:17:42 +00:00
Jesse Natalie
261102bd9c
dzn: Fix format support checks for storage/uniform texel buffers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20617 >
2023-01-17 20:17:42 +00:00
Jesse Natalie
4565490b71
dzn: Support unnormalized coordinate samplers
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20617 >
2023-01-17 20:17:42 +00:00