... but keep the SingleUse option as-is anyway because games do not release
their command lists after submission and end up wasting massive amounts of
memory.
Reduces ref counting overhead again and matches previous behaviour.
We should probably do something about the possible case of deferred context
execution with MAP_WRITE_DISCARD followed by MAP_WRITE_NO_OVERWRITE on the
immediate context, but we haven't seen a game rely on this yet.
The vulkan wayland wsi returns suboptimal when the window is
fullscreened and not directly scanned out, and there are modifiers
available that would allow the window to be directly scanned out.
Recreate the swapchain if we receive suboptimal result.
This allows us recreate the swapchain to use a modifier that allows
direct scan-out under winewayland on wayland compositors.
It ensures that for the same D3D commands the output VK commands
don't change between runs.
Useful for comparative benchmarking, can negatively affect performance.
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
This allows dependent projects to query the version and location of DXVK
via the pkg-config interface.
The include directories aren't yet set, because the headers aren't
installed; that will follow in a subsequent commit.
The naming of these pkg-config files is based on proposed Fedora packages
for DXVK 2.0, and is not compatible with older Fedora packages for DXVK
1.x (which used the naming convention dxvk-native-d3d9 and so on).
Packagers can create symlinks such as dxvk-native-d3d9.pc -> dxvk-d3d9.pc
if they want to retain compatibility with older names.
Signed-off-by: Simon McVittie <smcv@collabora.com>
This is necessary for compatibility with Meson's pkg module, which
generates pkg-config metadata containing "-lNAME" where NAME is the
first argument to shared_library(). Changing the name_prefix parameter
would break that.
Conversely, including .dll or .so in the first parameter would also
break that, so remove the `+dll_ext` part (in practice this is not a
functional change, because `dll_ext` is always set to an empty string).
Signed-off-by: Simon McVittie <smcv@collabora.com>
Unlike linear filtering this guarantees that we never read outside the source
region, and this also lets us perform color space conversion prior to filtering.