Kassin Dornelles
f80347d9a9
[util] Remove RE:REV2 and RE5 workarounds
...
There's no real impact, it doesn't fix stuttering (for non-GPL drivers) and since GPL got merged this is not needed anymore
2022-08-21 01:52:39 +02:00
Joshua Ashton
16ff9b48cd
[dxgi] Enumerate interlaced modes if requested
2022-08-20 20:27:07 +02:00
Joshua Ashton
af802fbff8
[util] Delete util_monitor
...
No longer used, replaced by new wsi interface
2022-08-20 20:27:07 +02:00
Joshua Ashton
f3992658a4
[d3d9] Remove unused util_monitor include
2022-08-20 20:27:07 +02:00
Joshua Ashton
69eba93764
[d3d9] Make window proc code use new wsi interface
2022-08-20 20:27:07 +02:00
Joshua Ashton
9690b2a9e4
[d3d9] Make adapter code use new wsi abstraction
2022-08-20 20:27:07 +02:00
Joshua Ashton
dac7e38f4b
[d3d9] Make swapchain use new wsi abstraction
2022-08-20 20:27:07 +02:00
Joshua Ashton
654b517057
[d3d9] Add helpers for new WSI interface
2022-08-20 20:27:07 +02:00
Joshua Ashton
bc8e75fdfa
[dxgi] Make adapter code use new wsi interface
2022-08-20 20:27:07 +02:00
Joshua Ashton
59b943cf12
[dxgi] Remove unused util_monitor include
2022-08-20 20:27:07 +02:00
Joshua Ashton
21744198e0
[dxgi] Make swapchain use new wsi interface
2022-08-20 20:27:07 +02:00
Joshua Ashton
e13a9f9cf6
[dxgi] Make output code use new wsi interface
2022-08-20 20:27:07 +02:00
Joshua Ashton
71a630801e
[dxgi] Add helpers for new wsi interface
2022-08-20 20:27:07 +02:00
Joshua Ashton
9f9c93dcbd
[d3d11] Use new wsi interface
2022-08-20 20:27:07 +02:00
Joshua Ashton
4f80ffd830
[vulkan] Use surface creation from wsi interface
2022-08-20 20:27:07 +02:00
Joshua Ashton
86b603b8f9
[dxvk] Link against new wsi lib
2022-08-20 20:27:07 +02:00
Joshua Ashton
4b0f13d351
[build] Set dxvk_wsi and defines for Windows
2022-08-20 20:27:07 +02:00
Joshua Ashton
b875d49c85
[wsi] Move DxvkWindowState to wsi platform header
2022-08-20 20:27:07 +02:00
Joshua Ashton
efa6523e3e
[wsi] Implement wsi interface for Windows
2022-08-20 20:27:07 +02:00
Joshua Ashton
050e5b327c
[wsi] Define wsi interface
2022-08-20 20:27:07 +02:00
Philip Rebohle
76ee76d6da
[d3d9,dxso] Use DemoteToHelperInvocation for alpha test
...
May enable additional compiler optimizations.
2022-08-19 14:49:18 +00:00
Philip Rebohle
2d92679cd1
[dxso] Remove fallback path for discards
2022-08-19 13:36:54 +00:00
Philip Rebohle
165648017e
[dxbc] Remove fallback path for discards
2022-08-19 13:36:54 +00:00
Philip Rebohle
ea4e0bc470
[d3d9,d3d11] Require shaderDemoteToHelperInvocation feature
2022-08-19 13:36:54 +00:00
Georg Lehmann
155944c2b4
[dxso] normalize 0 to 0 with strict float emulation
2022-08-19 13:36:14 +00:00
Philip Rebohle
85cc87e42a
[d3d9] Fix invalid shader in fixed-function alpha test
2022-08-18 17:08:59 +02:00
Philip Rebohle
658d824ddd
[d3d11] Silence log spam for invalid image operations
2022-08-18 14:48:29 +02:00
Philip Rebohle
4869b0defa
[dxvk] Fix race condition requestCompileShader
2022-08-18 02:57:45 +02:00
Philip Rebohle
a695644fea
[d3d9] Remove alphaTestWiggleRoom option
2022-08-18 00:10:39 +02:00
Philip Rebohle
5a3cb5ad3e
[d3d9] Adjust alpha test precision based on render target format
...
More or less matches what Nvidia's D3D9 driver does on Turing.
2022-08-18 00:10:39 +02:00
Philip Rebohle
47fa3824dc
[d3d9] Re-implement alpha test to support configurable accuracy
...
The current implementation always uses 12 bits of accuracy.
2022-08-18 00:10:39 +02:00
Philip Rebohle
2c713a34c9
[d3d9,dxso] Factor out common alpha test code
2022-08-18 00:10:39 +02:00
Philip Rebohle
3806bd44d8
[dxvk] Change descriptor info to take only one shader stage
...
And fix the binding index -> descriptor mapping.
This affects D3D9 since the spec constant change.
2022-08-17 22:40:58 +02:00
Philip Rebohle
3c2fc41e4c
[d3d9] Re-bind framebuffer if RT hazards change
...
Otherwise we never set the feedback loop bits in the backend.
2022-08-17 18:36:30 +00:00
Philip Rebohle
7ddfcfeb20
[tests] Also log D3D11_FEATURE_FORMAT_SUPPORT2 in format tester
2022-08-17 15:56:02 +02:00
Philip Rebohle
52314ba4fd
[dxvk] Do not log storage image features that we no longer enable
2022-08-17 15:39:03 +02:00
Philip Rebohle
5e394b5554
[dxvk] Remove old format support queries
2022-08-17 15:39:03 +02:00
Philip Rebohle
80fc1d8b25
[d3d9] Use new format support queries
2022-08-17 15:39:03 +02:00
Philip Rebohle
13152088d4
[dxgi] Use new format support queries to initialize format table
2022-08-17 15:39:03 +02:00
Philip Rebohle
4aeb397ba3
[d3d11] Use new format support queries to check D3D11 format support
2022-08-17 15:39:03 +02:00
Philip Rebohle
099c70c2bd
[d3d11] Use new format support queries in resource creation
2022-08-17 15:26:03 +02:00
Philip Rebohle
3717922381
[d3d11,dxbc] Rework check for TypedUAVLoadAdditionalFormats
2022-08-17 15:26:03 +02:00
Philip Rebohle
653a98f01b
[dxvk] Use new format support queries
2022-08-17 15:26:03 +02:00
Philip Rebohle
cc8010fb7c
[dxvk] Add format feature queries to DxvkDevice
2022-08-17 15:20:13 +02:00
Philip Rebohle
61025c0079
[dxvk] Don't disable frame rate limiter if vsync is enabled
...
This only works if we know the actual refresh rate of the display.
However, in a wine virtual desktop or with proton's fshack, this
is often not the case, so we'd see a 60 Hz mode on a high-refresh
rate display and never actually enable the limiter.
2022-08-17 01:53:24 +02:00
Riesi
04bc1bac73
[util] Limit Beyond Good and Evil FPS to 60
...
UI breaks on higher FPS
2022-08-16 19:11:41 +02:00
Philip Rebohle
e0af668f6c
[dxvk] Use DxvkBindingLayoutObjects for set lookup directly
...
Avoids pointer dereferencing on a really hot code path. This is also
safe since there's a 1:1 mapping between the VkPipelineLayout and the
given ovbject type.
2022-08-16 15:35:57 +02:00
Philip Rebohle
9f9324c421
[dxvk] Use existing bit mask iterator for descriptor set allocation
2022-08-16 15:24:39 +02:00
Joshua Ashton
084969135b
[d3d9] Only set feedback loop usage on textures, not plain surfaces
2022-08-16 12:33:17 +00:00
Joshua Ashton
cf9e217e7b
[util] Support for fps limiter on non-Windows platforms
...
Defaults to a sleep granularity of 0.5ms, which is slightly on the cautious side.
Calls through to std::this_thread::sleep_for directly, which calls through to nanosleep.
2022-08-16 14:32:07 +02:00