Ellie Hermaszewska
b81536458f
include: Implement some small utilities in native headers ( #3361 )
...
* Add QueryInterface template to IUnknown
As described here https://learn.microsoft.com/en-us/windows/win32/api/unknwn/nf-unknwn-iunknown-queryinterface\(q\)\?source\=recommendations
* Implement DEFINE_ENUM_FLAG_OPERATORS
* Add REFCLSID to windows_base.h
This is used by the latest d3d12 headers for D3D12GetInterface
2023-05-03 12:39:51 +01:00
Robin Kertels
9ce1c4df0d
[dxvk] Update tracked rtLayouts when changing image layout
2023-05-03 13:23:47 +02:00
Robin Kertels
860237e775
[d3d9] Skip 0x0 clears
2023-05-03 13:23:47 +02:00
Robin Kertels
ceb3a7f8c6
[dxvk] Do direct FB resolve if resolve format is UNDEFINED
...
If the format is undefined, we use the format of each image
which is obviously also view compatible with the imge.
2023-05-03 13:23:47 +02:00
Robin Kertels
a42643b235
[d3d9] Fall back to GDI blit for partial presents
2023-05-03 12:18:11 +01:00
Philip Rebohle
5c8ed491ab
[dxvk] Rewrite thread wrapper
...
Addresses some issues raised in #3378 .
2023-04-26 10:48:47 +02:00
Joshua Ashton
b44c5bbd18
[dxgi] Fallback to P3 color primaries for HDR displays without chroma info in edid
2023-04-21 04:21:16 +01:00
mbriar
16d2a6045c
[util] Switch Nioh deferSurfaceCreation from dxgi to d3d9
...
This game seems to behave similar to all the Tecmo Koei Atelier games
and not deferring surface creation for d3d9 prevents VRR from working on
X11.
2023-04-19 16:42:42 +02:00
mbriar
1971a5d187
[util] Also add d3d9.deferSurfaceCreation for Atelier Ryza 3
...
Reported to help with VRR, see https://github.com/ValveSoftware/Proton/issues/6648#issuecomment-1514394149
2023-04-19 16:42:42 +02:00
Philip Rebohle
e074d83d0b
[dxvk] Introduce GetContext method to retrieve immediate context.
...
Bypasses vtable hooks when retrieving the immediate context internally.
Remaining uses of GetImmediateContext are fine since those only interact
with public methods.
2023-04-18 12:42:24 +02:00
Robin Kertels
990a720525
[d3d9] Handle a bunch of texture converter edge cases
2023-04-16 09:18:30 +01:00
Rémi Bernon
0cf563d5df
[dxgi] Leave current fullscreen mode when SetFullscreenState changes monitors
...
This fixes RiME not moving its window when output display is
changed in the game settings.
2023-04-14 00:41:18 +02:00
Florian Will
01dc9ddc7d
[util] Add new "Zusi 3" exe filename
...
In addition to the legacy "ZusiSim.exe" executable, the recent 3.5
release added a 64-bit "ZusiSim.64.exe" executable. This is now the
default executable when launching the game in Steam. The game is
unplayable without this option, so update the regex for Zusi 3.
Fixes #3250 .
2023-04-13 13:37:07 +02:00
oltolm
6b779206d9
remove unneeded definitions
2023-04-11 18:30:46 +02:00
Blisto91
8508633ba3
[util] Disable allowDirectBufferMapping for Dark Romance: Vampire in Love
2023-04-11 08:37:50 +01:00
Robin Kertels
af0009c5de
[d3d9] Use DxvkFormatInfo for video formats
...
And fix UYUY and YUY2 in the process.
2023-04-08 03:15:44 +01:00
Robin Kertels
31af522cbc
[dxvk] Add VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM
2023-04-08 03:15:44 +01:00
Philip Rebohle
d9a6b40ae3
[dxvk] Create and copy temporary image for resolves as necessary
...
Fixes #3337 .
2023-04-06 21:04:56 +02:00
Tatsuyuki Ishi
6d14fffdbd
[spirv] Declare defaulted copy and move constructor for SpirvCodeBuffer.
...
If a type has a destructor it will not get an implicit move constructor.
But if we declare a defaulted move constructor then we will get the copy
constructor deleted. So declare both to be defaulted.
Cuts 8.8% off shader translation time during loading in Overwatch 2.
2023-04-06 10:23:11 +02:00
Blisto91
3ce3209e3e
[util] Set syncInterval to 1 for Crash Bandicoot N sane trilogy
2023-04-05 16:25:05 +01:00
Philip Rebohle
f212cc8f7d
[dxvk] Only enable dynamic MSAA state if sample shading is enabled
...
Otherwise, create a more specialized fragment output library on demand.
May help RADV since dynamic alpha-to-coverage triggers a less efficient
code path.
2023-04-04 17:34:07 +02:00
Philip Rebohle
306919047b
[dxvk] Log driver name in addition to version
...
Fixes #3313 .
2023-03-27 15:44:19 +02:00
Philip Rebohle
977669c613
[util] Enable cached dynamic vertex/index buffers in GTA V
...
Fixes #3311 .
2023-03-25 22:40:43 +01:00
Zhiyi Zhang
631171cf45
[util] Disable nvapiHack for Tom Clancy's Ghost Recon Breakpoint.
...
Otherwise, it shows a DirectX error dialog and exits when using an NVIDIA GPU.
2023-03-25 22:38:07 +01:00
František Zatloukal
1a5afc77b1
[util] Include cstdint to fix compilation with GCC 13
2023-03-23 23:37:10 +01:00
Robin Kertels
d11878e793
[d3d9] Only apply viewport zBias if minZ is below 0.5
...
Fixes Space Marine shadows.
Tests show that Windows D3D9 (Nvidia) works like that.
2023-03-23 03:52:08 +00:00
Philip Rebohle
4b74d1a97b
[meta] Clarify file paths for install instructions
...
We got half a dozen issues about this in the past couple of weeks, and
it's quite frankly getting annoying, so just explain it in such a way
that everyone should understand it.
2023-03-23 02:05:42 +01:00
Blisto91
b0ed97e070
[util] Disable nvapiHack for Diablo 4
2023-03-22 17:10:18 +01:00
Philip Rebohle
3d5becaf6a
[d3d11] Implement Acquire/ReleaseWrappedResource
2023-03-18 00:50:42 +01:00
Philip Rebohle
5595844f75
[dxvk] Add explicit buffer/image memory barrier methods
...
Useful for interop.
2023-03-18 00:50:42 +01:00
Philip Rebohle
9bdad71dc6
[d3d11] Implement CreateWrappedResource for D3D12 textures
2023-03-18 00:50:42 +01:00
Philip Rebohle
3c99314332
[d3d11] Implement CreateWrappedResource for D3D12 buffers
2023-03-18 00:50:42 +01:00
Philip Rebohle
fa8cf50263
[dxvk] Implement functionality to import foreign buffers
2023-03-18 00:50:42 +01:00
Philip Rebohle
3f9d2269f6
[d3d11] Synchronize queue submissions for 11on12 devices as necessary
...
When the app explicitly calls Flush, Signal or Wait, we need to wait
for the submission to actually take place so that subsequent D3D12
submissions execute in the correct order.
2023-03-18 00:50:42 +01:00
Philip Rebohle
6432787ac3
[d3d11] Implement D3D11on12 device creation
2023-03-18 00:50:42 +01:00
Philip Rebohle
da32453b42
[dxvk] Add submission feedback to command submissions
2023-03-16 20:59:43 +01:00
Philip Rebohle
27f3648a44
[dxvk] Check instance extensions for feature enablement as necessary
2023-03-16 20:59:43 +01:00
Philip Rebohle
35895ba05b
[dxvk] Add callback to lock submission queue
...
Can be used to perform additional synchronization as necessary.
2023-03-16 20:59:43 +01:00
Philip Rebohle
56a8fa2e6f
[dxvk] Implement functionality to import existing Vulkan device
2023-03-16 20:59:43 +01:00
Philip Rebohle
d8f3a1c83d
[dxvk] Rework device queue initialization
2023-03-16 20:59:43 +01:00
Philip Rebohle
ef9d5048f3
[dxvk] Rework instance creation
...
Allows importing foreign Vulkan instances.
2023-03-16 20:59:43 +01:00
Philip Rebohle
f50f5bc9bc
[vulkan] Allow importing existing Vulkan dispatch tables
2023-03-16 20:59:43 +01:00
Philip Rebohle
b06e82591e
[include] Add definitions for D3D12 header
2023-03-16 20:59:43 +01:00
Philip Rebohle
687d32cac5
[dxvk] Fix memory reporting derp
2023-03-15 02:14:54 +01:00
WinterSnowfall
243c2f3cf5
[d3d9] remove support for the A1/X1R5G5B5 formats
2023-03-14 13:17:13 +00:00
Philip Rebohle
af811656bb
[meta] Update issue template
2023-03-13 17:54:34 +01:00
Philip Rebohle
05fb634f91
[util] Use __wine_dbg_output if available
2023-03-13 16:32:32 +01:00
Blisto91
3a123222e5
[util] Enable cached vertex buffers for SpellForce 3
2023-03-13 13:22:39 +01:00
Philip Rebohle
4faa598e09
[dxvk] Report memory used rather than allocated for heap properties
...
We can do this at least for DXVK's own memory allocations.
2023-03-12 13:59:47 +01:00
Philip Rebohle
6783123654
[dxgi] Use heap size to determine reservable memory
...
Budgets can change dynamically, so this should be more robust.
2023-03-12 13:59:17 +01:00