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
Joshua Ashton
d1e2b89282
[util] Use chrono literal for ms in fps limiter
2022-08-16 14:32:07 +02:00
Joshua Ashton
5fcc9a1bd1
[util] Move platform specific sleep to own function in fps limiter
2022-08-16 14:32:07 +02:00
Joshua Ashton
05a5b82f59
[util] Move sleep granularity getting to own function
2022-08-16 14:32:07 +02:00
Joshua Ashton
b885883e06
[util] Rename NtTimerDuration to TimerDuration
2022-08-16 14:32:07 +02:00
Joshua Ashton
a78aab147e
[d3d9] Add feedback loop usage for DS
2022-08-16 10:39:06 +00:00
Joshua Ashton
870dd18f92
[d3d9] Set VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT for render targets
...
Closes : #2825
2022-08-16 08:43:52 +00:00
Joshua Ashton
6baaa3a5f2
[d3d9] New window proc code on multiple platforms
2022-08-14 17:22:58 +00:00
Joshua Ashton
7506f65801
[d3d9] Move window proc handling code to own file
2022-08-14 17:18:10 +00:00
Robin Kertels
de8d2b37bb
[d3d9] FF: Don't change flatShadingMask for outputs
2022-08-13 14:38:57 +01:00
Robin Kertels
46cb05ce45
[d3d9+util] Always ignore D3DLOCK_DONOTWAIT
...
We only ever stall when locking a texture that was
previously used with GetRenderTargetData or
GetFrontBufferData. Games are known to break
if locking those textures doesn't succeed.
2022-08-12 14:18:13 +01:00
Philip Rebohle
67614917c3
[meta] Update README on shader compiler threads
2022-08-11 20:20:59 +02:00
Philip Rebohle
0d33d063ca
[dxvk] Remove device LUID workaround
...
winevulkan properly supports this now.
2022-08-11 16:01:53 +02:00
Philip Rebohle
673797c36a
[dxvk] Fix hang on exit with high priority queue
...
No idea why I'm not seeing hangs on my end, but this is definitely a bug.
2022-08-11 14:00:57 +02:00
Philip Rebohle
715b5119e6
[dxvk] Fix check in DxvkShaderPipelineLibrary::compilePipeline
...
Since we destroy pipelines on 32-bit we should just make sure this
doesn't get executed unnecessarily.
2022-08-11 13:43:38 +02:00