Philip Rebohle
d7b16dd90a
[dxgi] Add option to change the back buffer count
2018-09-09 19:12:07 +02:00
Philip Rebohle
b7d8be25f1
[dxgi] Use DXGI back buffer count for the Vulkan swap chain
2018-09-09 19:07:41 +02:00
Philip Rebohle
5f42950650
[dxgi] Don't use FIFO present mode if IMMEDIATE is not available
...
Might fix potential performance issues on Nvidia when VSYNC is disabled.
Based on RPCS3/rpcs3@25ec3789fe
2018-08-26 23:39:53 +02:00
Philip Rebohle
0704b044a9
[dxgi] Fix format parameter in CheckImageFormatSupport
2018-08-26 12:37:12 +02:00
Philip Rebohle
2bdd614d07
[dxgi] Log display mode changes
2018-08-26 12:37:12 +02:00
Philip Rebohle
57db0b60fb
[dxgi] Add option to limit reported device memory size
2018-08-25 01:22:19 +02:00
Philip Rebohle
7fa6dddc9e
[dxgi] Remove dxgi.fakeDx10Support option
...
No longer needed because we have actual Dx10 support now.
2018-08-17 12:33:53 +02:00
Philip Rebohle
257ac9ad6c
[dxgi] Report ID3D10Device and ID3D10Device1 as supported
2018-08-13 17:22:03 +02:00
Andrew Eikum
262797f9d5
[dxgi] SetFullscreenState succeeds if not changing state
...
This fixes an error dialog on exiting Unreal Engine 4 games.
2018-08-13 17:06:55 +02:00
Jacek Caban
a12b3cc5a0
[dxgi] Don't use std::mbstowcs.
...
This will not work in winelib build.
2018-08-13 15:13:22 +02:00
Philip Rebohle
031964b038
[dxgi] Fix BGRA view format compatibility
2018-08-11 03:23:52 +02:00
Philip Rebohle
50dfab2797
[dxgi] Re-enable SRGB-to-UNORM compatibility
...
D3D11 is highly inconsistent here and seems to allow UNORM
render target views for SRGB images, but not UAVs.
2018-08-10 19:04:38 +02:00
Philip Rebohle
24dd173d12
[dxgi] Fix resolve image usage flags
...
When meta-resolve is used for the back buffer, it will
be used as a color attachment, and we need to set up
the usage and stage/access flags accordingly.
2018-08-07 19:26:59 +02:00
Philip Rebohle
f08add9c34
[dxgi] Add custom device/vendor IDs to DxgiOptions
2018-08-07 17:33:19 +02:00
Philip Rebohle
524ff9e233
[dxgi] Use global user config for DXGI options
2018-08-07 14:59:09 +02:00
Philip Rebohle
62e4c867ec
[dxgi] Relax IDXGISwapChain thread safety
...
Fixes a deadlock in Dragon Age: Inquisition.
2018-08-04 10:16:40 +02:00
Philip Rebohle
0ba00b3f59
[dxvk] Add extended device feature structure
...
This allows the client API to query and enable extended
features in the future, should it become necessary, much
like the extende feature queries.
2018-07-31 16:58:25 +02:00
Mikhail Paulyshka
f38ee85a39
[build] Fix compilation on MSVC ( #505 )
...
* [build] do not use shared_library/objects property with MSVC
* [util] use ./com/com_include.h instead of windef.h
It is required for Windows 10 SDK.
* [util] store thread procedure lambda in std::function
* [dxgi] fix annoying MSVC warning
warning C4099: 'IDXGIVkInteropDevice': type name first seen using 'class' now seen using 'struct'
2018-07-21 12:43:33 +02:00
Philip Rebohle
c5a010a48c
[dxgi] Do not use MUTABLE_FORMAT_BIT for SRGB images
...
Creation of non-SRGB views for SRGB images fails on Windows.
2018-07-21 11:41:45 +02:00
Philip Rebohle
5fe4c4f610
[dxvk] Use VkImageViewUsageCreateInfoKHR when creating image views
...
Must be used when view formats are used that do not support all
usage bits of the underlying image. Refs #504 .
2018-07-21 10:58:06 +02:00
Philip Rebohle
b601a94750
[dxgi] Make faking Dx10 support a per-app option
...
Also whitelist World of Warcraft, which requires this hack for now.
2018-07-20 13:49:40 +02:00
Philip Rebohle
adcc7a4573
[dxgi] Synchronize presentation to enforce maximum frame latency
...
Some games may rely on the maximum number of frames in flight.
Might fix a related issue in Hard Reset (#503 ) and Okami HD (#283 ).
2018-07-20 11:40:37 +02:00
Philip Rebohle
fd55520301
[dxgi] Implement IDXGIDevice::SetMaximumFrameLatency
...
We'll be doing the CPU synchronization with DXVK events during
presentation.
2018-07-20 11:39:51 +02:00
Jacek Caban
06511aa72c
[build] Use .spec files instead of .def files in winelib build
2018-07-19 08:55:34 +02:00
Jacek Caban
635a43fefe
[build] Explicitly specify .dll and .exe extensions in winelib build
...
meson can't handle that itself.
2018-07-19 08:55:34 +02:00
Philip Rebohle
6848b45c7a
Revert "[dxgi] Support multiple outputs per adapter"
...
This reverts commit 1c86ed8c93
.
Causes build issues on 32-bit platforms.
2018-07-16 19:07:41 +02:00
Philip Rebohle
1c86ed8c93
[dxgi] Support multiple outputs per adapter
2018-07-16 17:03:55 +02:00
Philip Rebohle
a728884742
[dxgi] Fixed nonsense compiler warning with some GCC versions
2018-07-14 12:15:15 +02:00
Philip Rebohle
9de3a619c2
[dxgi] Use back buffer size to determine fullscreen resolution
...
This is the correct behaviour on Windows and may fix some issues.
2018-07-12 16:00:33 +02:00
Philip Rebohle
63af141383
[d3d11] Set proper view format list for typed UAVs
...
Typed UAVs are mutable, but we only need them to be compatible to
their typed format and the bit-compatible integer format used for
clears.
2018-07-03 13:31:22 +02:00
Philip Rebohle
9f00e14ca6
[dxgi] Add method to query the family of a given format
2018-07-03 12:42:17 +02:00
Philip Rebohle
4d267a57a7
[dxgi] Added format family list
...
Render target views and shader resource views can only be created
with a format that is within the same format family as the image
format. For UAVs, the restrictions are relaxed.
2018-07-03 12:41:10 +02:00
Philip Rebohle
4052cad3ff
[dxgi] Fix 'auto' declaration in FindClosestMatchingMode
...
Hopefully fixes an incorrect GCC warning for some people.
2018-07-02 09:19:27 +02:00
Philip Rebohle
832b3a9dba
[hud] Render HUD directly to swap chain image
...
Saves a fullscreen render target, render pass, and a queue submission.
2018-06-28 01:00:07 +02:00
Philip Rebohle
9cae049b53
[dxvk] Move adapter list to the DXVK instance
2018-06-26 12:33:26 +02:00
Philip Rebohle
4f28d57352
[dxvk] Remove unused rasterizer discard state flag
2018-06-25 16:56:52 +02:00
Philip Rebohle
7fa26f1c87
[d3d11] Implement render pass spilling for UAV rendering
...
Spilling the render pass should make shader storage buffer/image writes
visible due to how external subpass dependencies are defined. For UAV
rendering, we need to do this when changing the UAVs, even if the render
targets themselves do not change.
2018-06-15 20:49:24 +02:00
Philip Rebohle
7a22fa22a7
[dxgi] FindClosestMatchingMode: Handle Width/Height = 0 case
...
When an applicationn calls this method with the width or height
set to 0, we are allowed to pick any resolution, so we'll try to
find one close to the *current* display mode which usually returns
the current display mode itself.
2018-06-14 11:34:17 +02:00
Philip Rebohle
fc3ff78083
[dxgi] Map typeless formats to their UNORM variants by default
...
Works around some annoyances with RenderDoc.
2018-06-12 22:35:02 +02:00
Philip Rebohle
e8ac81fe8a
[dxvk] Removed support for depth bounds test
...
This feature is not used in D3D11, so we don't need backend support.
2018-06-06 13:11:09 +02:00
Philip Rebohle
e615fc19a9
[dxgi] Support SyncInterval values > 1
...
Required for Eve Online and the Unity Blacksmith demo.
2018-05-28 21:06:35 +02:00
Philip Rebohle
23ba3e228a
[dxgi] Add option for deferred surface creation
...
Deferred surface creation is required for Frostpunk due to conflicts
with the D3D9 swap chain created by the game before it presents the
first frame to the DXGI swap chain, but breaks NieR:Automata due to
threading issues.
2018-05-24 12:31:21 +02:00
Philip Rebohle
66db3e8714
[dxgi] Add app-specific DXGI options
2018-05-24 12:31:04 +02:00
Philip Rebohle
61049c33fb
[dxgi] Reduce reported VRAM on 32-bit platforms
...
This is closer to what Windows does, and some applications may have
trouble with more than 3GB VRAM.
2018-05-24 10:48:06 +02:00
Philip Rebohle
38c5e57025
[dxgi] Refactor Vulkan swap chain and surface creation
...
Creating the Vulkan surface at the latest possible moment fixes
an issue with Frostpunk, which renders to a D3D9 swap chain
before presenting to the GXGI swap chain.
2018-05-23 13:03:12 +02:00
Philip Rebohle
531732fe91
[dxgi] Add IDXGIFactory2 to supported interfaces
2018-05-23 01:32:52 +02:00
Philip Rebohle
d1b705bf0d
[dxgi] Implemented IDXGISwapChain1
2018-05-23 01:06:34 +02:00
Philip Rebohle
58fa815926
[dxgi] Fixed error message formatting in DxgiDevice
2018-05-22 23:52:12 +02:00
Philip Rebohle
56e7389495
[dxgi] Stubbed out IDXGIFactory2
2018-05-22 23:52:03 +02:00
Philip Rebohle
5a61d81135
[dxgi] Stubbed out IDXGISwapChain1
2018-05-22 23:50:28 +02:00