Philip Rebohle
6a4fe06ac6
[dxvk] Fix incorrect flags for null fs pipeline layout
2023-01-09 18:31:18 +01:00
Joshua Ashton
5206d97710
[dxgi] Workaround UE4 DX11 + HDR crashes
...
Unreal Engine 4 titles use AGS/NVAPI to try and enable
HDR globally.
They can key this off IDXGIOutput::GetDesc1's ColorSpace
being HDR10.
Many of these UE4 games statically link against AGS.
This is a problem as when UE4 tries to enable HDR via AGS,
it does not check if AGSContext, and the display info etc
are nullptr unlike the rest of the code using AGS.
So we need to special-case UE4 titles to disable reporting a HDR
when they are in DX11 mode.
The simplest way to do this is to key off the fact that all
UE4 titles have an executable ending with "-Win64-Shipping".
We check if d3d12.dll is present, to determine what path in
UE4 we are on, as there are some games that ship both and support HDR.
(eg. The Dark Pictures: House of Ashes, 1281590)
Luckily for us, they only load d3d12.dll on the D3D12 render path
so we can key off that to force disable HDR only in D3D11.
2023-01-09 12:54:28 +00:00
Blisto91
3ed0a4fd43
[util] Set Secret World Legends launcher to SM 2
2023-01-08 10:47:04 +01:00
Beyley Thomas
c11a63f5e5
[wsi] Add GLFW backend
2023-01-08 10:36:25 +01:00
Hunter Kvalevog
3491895960
[dxvk] Remove SDL dummy window
...
SDL >= 2.0.9 permits passing a nullptr window to
SDL_Vulkan_GetInstanceExtensions, so there's no
point in going though the work of creating a
window just to call this function.
2023-01-07 22:43:32 +00:00
Philip Rebohle
196fefec4c
[dxvk] Enable dynamic multisample state if supported by the device
...
Eliminates stutter in situations where sample rate shading is used with MSAA.
2023-01-06 23:48:31 +01:00
Philip Rebohle
f269cde749
[dxvk] Enable device features for dynamic multisample state
2023-01-06 23:48:31 +01:00
Philip Rebohle
4612113227
[meta] Update hopelessly outdated README entry
2023-01-06 23:48:14 +01:00
Philip Rebohle
389634f9b9
[d3d11] Fix D3D11Texture2D reference counting
2023-01-06 22:52:29 +01:00
Philip Rebohle
5115d80d51
[dxbc] Handle dead code in shader binaries
...
We should not emit any code when not inside a function.
Fixes #3154 .
2023-01-06 20:49:13 +01:00
Joshua Ashton
c10b53ed3e
[dxgi] Add dxgi.enableHDR option
2023-01-06 17:27:38 +01:00
Joshua Ashton
3375cdf1fa
[dxgi] Initialize DxgiOptions before DxgiMonitorInfo
...
Needed to we can access DxgiOptions inside of DxgiMonitorInfo for the dxgi.enableHDR property coming up in a future commit.
2023-01-06 17:27:38 +01:00
Joshua Ashton
f25475d05e
[dxgi] Normalize display metadata to something rational
...
Sometimes we can't get an EDID if things aren't plumbed fully, or some displays just have broken EDIDs.
This accounts for both of those cases by using some dummy data if we are missing information.
Fixes value reporting to match Windows on common displays such as LG OLEDs.
2023-01-06 17:27:38 +01:00
Joshua Ashton
f453d6ee2a
[dxgi] Implement DXGIOutput::GetDesc1's ColorSpace
...
Adds the ability to punt the global colorspace into HDR from SetColorSpace1.
We have no way of checking the actual Windows colorspace as the
only public method for this *is* DXGI which we are re-implementing.
So we just pick our color space based on the DXVK_HDR env var
and the punting from SetColorSpace1.
We might expand on this in future, but this is good enough for an
initial implementation.
2023-01-06 17:27:38 +01:00
Blisto91
dd660585c0
[meta] Remove current year from copyright notice
2023-01-06 16:48:04 +01:00
Joshua Ashton
4d2e90ceba
[build] Bump libdisplay-info fork again 🐸
...
Bruh moment with MAX_PATH define between MinGW and Windows headers going on. Should have just PRed it from the start to avoid the churn :(
2023-01-06 11:29:50 +00:00
Joshua Ashton
421ac48007
[build] Bump libdisplay-info fork subproject to fix MSVC builds
2023-01-06 10:38:17 +00:00
Joshua Ashton
fd34dba070
[build] Bump libdisplay-info fork
...
Should fix issues running under Windows with MinGW builds.
2023-01-06 10:08:52 +00:00
Robin Kertels
f94b42f23f
[d3d9] Dont use GenerateDrawInfo in DrawPrimitiveUp
...
This is confusing because it looks like a race condition
at first glance.
2022-12-30 19:29:34 +00:00
Philip Rebohle
12901b52f1
[dxvk] Split barriers with very large VkDependencyInfo structures
...
Works around an AMD driver bug. Fixes #3138 .
2022-12-20 03:10:44 +01:00
Philip Rebohle
f4f4f3647f
[d3d11] Do not create storage image views with swizzle
...
This happens when a game uses A8_UNORM UAVs. Vulkan doesn't allow this,
and it's not meaningful for stores anyway, we'd need shader emulation.
2022-12-20 02:20:11 +01:00
Joshua Ashton
c7be18cb26
[d3d11] Implement SetHDRMetadata
2022-12-19 22:15:18 +01:00
Joshua Ashton
e5418a956a
[vulkan] Add setHdrMetadata method to Presenter
2022-12-19 22:15:18 +01:00
Joshua Ashton
731bf84edd
[dxvk] Enable VK_EXT_hdr_metadata
2022-12-19 22:15:18 +01:00
Joshua Ashton
4335eccae9
[dxvk] Enable VK_EXT_swapchain_colorspace
2022-12-19 22:15:18 +01:00
Joshua Ashton
33acf58ac7
[d3d11] Implement CheckColorSpaceSupport and SetColorSpace
2022-12-19 22:15:18 +01:00
Joshua Ashton
50054d4675
[vulkan] Add supportsColorSpace method to Presenter
2022-12-19 22:15:18 +01:00
Joshua Ashton
fd661d587e
[vulkan] Simplify args to Presenter GetSupported* methods
2022-12-19 22:15:18 +01:00
Robin Kertels
18b0ef697c
[dxvk] Rework SetEventOnCompletion
...
* Create the waiter thread on demand
* Don't wake up the waiter thread every 10ms
when no events are queued
* Wait on caller thread when hEvent = null
2022-12-16 17:37:19 +01:00
Philip Rebohle
6d4161cd6e
[meta] Fix issues with build scripts if there are spaces in the path
2022-12-16 17:15:50 +01:00
Philip Rebohle
c55c09368b
[d3d11] Only store low 8 bits of stencil reference
...
Seems to match behaviour of the D3D11 runtime, in that OMGetDepthStencilState
will not retain the high bits.
Found by CME. Should fix #1784 .
2022-12-11 19:51:57 +01:00
Blisto91
7b2024888e
[util] disable unmapping for Final Fantasy XIV d3d9
2022-12-11 14:01:27 +01:00
Joshua Ashton
c0d843c578
[wsi] Fix overwriting colorimetry info to NULL
2022-12-08 06:48:30 +00:00
bno1
858452a0bd
[build] Fix submodule url for libdisplay-info
2022-12-06 22:53:49 +01:00
Philip Rebohle
b838b65516
[d3d9] Correctly mask alpha reference push constant
...
We accidentally lost this during the rework, since the initial
implementation scaled the alpha ref value on the CPU.
Fixes #3123 .
2022-12-06 21:25:55 +00:00
Blisto91
4a4d880130
[util] Set TRAHA Global to Intel vendor id
2022-12-04 23:06:59 +01:00
Robin Kertels
522909b165
[d3d9] Don't set NeedsReadback when dirtying mip maps
...
It's impossible to lock non 0 mips anyway.
2022-12-03 15:18:40 +00:00
Philip Rebohle
573be24269
[wsi] Fix crash when parsing EDID fails
...
If info is null then we shouldn't pass it around.
Also improve formatting a bit.
2022-12-02 00:23:38 +00:00
Philip Rebohle
9f70666777
[build] Allow standalone DXGI builds
2022-11-28 13:48:05 +01:00
Hans-Kristian Arntzen
42332f7fb8
[dxgi] Fix IDXGISwapchain::CheckColorSpaceSuport
2022-11-28 12:45:34 +01:00
wael
7644776f7a
README: fix wine dll path
2022-11-26 13:05:15 +01:00
Philip Rebohle
57176e77ea
[meta] Don't try to package setup script in a release tarball
2022-11-25 14:51:52 +01:00
Philip Rebohle
64cb1ad208
[meta] Remove setup script
2022-11-25 14:50:31 +01:00
Philip Rebohle
4f90d7bf5f
[dxbc,d3d11] Don't access shex chunk if it is not defined
2022-11-25 12:45:32 +01:00
Joshua Ashton
d01c9cb6d4
[wsi] Free edid info after parsing
2022-11-25 08:44:39 +00:00
Philip Rebohle
ebd29007d4
[dxgi] Actually unlock monitor info
...
Fixes some deadlocks.
2022-11-21 20:24:15 +01:00
Philip Rebohle
c6611dffa7
Revert "[dxbc] Move shex check to constructor"
...
Breaks stuff for unknown reasons.
2022-11-21 19:35:21 +01:00
Joshua Ashton
f0a0e1b964
[dxgi] Report display metadata in IDXGIOutput6::GetDesc1
2022-11-21 17:26:53 +01:00
Joshua Ashton
aa71e7e323
[dxgi] Cache display metadata + colorimetry in DXGI_VK_MONITOR_DATA
2022-11-21 17:26:53 +01:00
Joshua Ashton
fabe4a85e3
[wsi] Add parseColorimetryInfo helper
2022-11-21 17:26:53 +01:00