Mike Blumenkrantz
7c8a5f6e37
vulkan/wsi: switch to using an options struct for last param
...
this makes adding values easier since the drivers won't need to be updated
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21447 >
2023-02-27 13:21:21 +00:00
Eric Engestrom
fbd644c59d
meson: replace vk_wsi_args with dependencies to let meson take care of transitivity
...
Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19497 >
2023-02-23 09:42:46 +00:00
Erik Faye-Lund
29ffc79410
meson: don't pass vk wsi args where they don't belong
...
Only code that cares about Vulkan WSI should get the corresponding
arguments passed. Otherwise, the Vulkan headers might end up including
other headers that we don't have the correct dependencies passed for.
So let's give those a dedicated variable, and only pass that where it's
actually needed.
Fixes: b39958a3a1 ("anv,nir: Move the ANV YCbCr lowering pass to common code")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8193
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21185 >
2023-02-15 18:35:14 +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
Giancarlo Devich
11bec22647
d3d12: Don't clear d3d12_shader_key
...
The shader key structure is quite large and memsetting it to zero to be
able to create or often simply find an existing shader is responsible
for a large portion of CPU usage during benchmarks.
This change is more surgical about what, when, and how things get
cleared.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21247 >
2023-02-13 22:57:03 +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
08fc7315c5
dzn: Delete unused extensions table
...
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
536ab16bc1
spirv2dxil: Move shader model into runtime conf struct
...
We'll want to use it to control the shape of the nir that we generate
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
c0122b81a4
dzn: Consider linked shaders when computing DXIL hash
...
Fixes 3DMark Wild Lands. Otherwise, we'd end up loading a DXIL shader
that had invalid linkage with another shader in the pipeline. We can
only load a DXIL shader if it's being linked against the same before
and after as a previous compilation.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20962 >
2023-01-27 20:56:01 +00:00
Erik Faye-Lund
b6a344f4ba
meson: do not reconstruct ICD paths
...
Meson will already construct these paths for us, so let's reuse them
instead of throwing away the result and recontstructing them.
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20907 >
2023-01-27 11:35:50 +00:00
Jesse Natalie
2010b91547
dzn: Report as a software device for non-Windows
...
Fixes: 5f1b8b3e6c ("dzn: Use DXGI swapchains")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20939 >
2023-01-26 19:00:31 +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
9d89b7e4a8
dzn: Ensure we don't mix DSV+simultaneous-access
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20919 >
2023-01-26 03:16:50 +00:00
Jesse Natalie
4daeac01c5
dzn: Enhanced barriers fixes/workarounds
...
Fix: Acquire/release should have one valid access/sync and one set
to none.
Workaround: D3D doesn't like simultaneous access resources leaving
COMMON layout, nor does it like setting UAV/RTV access bits for the
COMMON layout.
Use UNDEFINED -> UNDEFINED layout transitions, where the access bits
just aren't validated.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20919 >
2023-01-26 03:16:50 +00:00
Jesse Natalie
c413c3dffc
dzn: Always do clears with copies on non-graphics queues
...
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
789acc2ffb
dzn: Fix dynamic rendering clear load op for non-multiview
...
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
Pedro J. Estébanez
e07e9a08cb
spirv_to_dxil: Unify spirv_to_nir_options
...
Beyond the pure refactoring, this fixes spirv2dxil, which was using outdated values.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20884 >
2023-01-24 18:07:18 +00: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
3f0bbb19de
dzn: Fix independent blend check
...
Memcmp returns 0 on equal, so !memcmp means equal.
Fixes: c92729c3 ("dzn: Enable independent blending")
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
ad7157c1e8
dzn: A single sampler descriptor set needs to support 1024 samplers
...
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
c0d8838c30
dzn: Usage image view usage instead of image usage
...
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
ceb287a509
dzn: When rendering to 3D, don't treat layers as subresources for barriers
...
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
c8b9f70fca
dzn: Respect suspending/resuming flags to omit clears/resolves
...
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
0bae7a307c
dzn: Support vkCmdDispatchBase
...
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
8872d5d1dc
spirv2dxil: Use 32-bit shared offsets
...
nir_build_deref_var assumes that you're going to do so, and
there's no reason to use 64-bit types for Vulkan compute.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20777 >
2023-01-20 18:50:57 +00:00
Jesse Natalie
e8c8a94c2e
dzn: Rework meta blit VS
...
Some D3D12 drivers, like my PC's AMD driver, don't like using a
dynamic index to load from a constant buffer that's bound via
root constants. Instead, just go ahead and load the full set of
vertex data and just bcsel which one to use.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20778 >
2023-01-20 00:35:59 +00:00
Jesse Natalie
8de0c23ac9
dzn: Delete an unnecessary assert
...
As far as I can tell, having multiple levels in the view for a
color target just means to target the first one.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20778 >
2023-01-20 00:35:59 +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
Dylan Baker
7aca37fc28
meson: use [] instead of 'lib for !windows name_prefix
...
This is a poorly documented value that uses the default value, but
doesn't emit a warning. In the future Meson will fix this.
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20752 >
2023-01-19 23:06:07 +00:00
Dylan Baker
c31629ee78
meson: remove version checks for < 0.59
...
Which is now required, so these are useless
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20752 >
2023-01-19 23:06:07 +00:00