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
Philip Rebohle
a4848201f8
[dxvk] Update buffer views in commitGraphicsBarriers
...
Otherwise we might end up accessing stale buffer slices, since this
happens before descriptor updates. This is not needed for compute.
Also fix weird indentation while we're at it.
2022-08-11 13:13:02 +02:00
Philip Rebohle
9bd0040a90
[d3d9] Request high-priority shader compiles as necessary
2022-08-11 12:39:28 +02:00
Philip Rebohle
d3ab905621
[d3d11] Request high-priority shader compiles as necessary
...
This can reduce stutter in case shaders are needed immediately while
background threads are still busy compiling a different set of shaders.
2022-08-11 12:39:28 +02:00
Philip Rebohle
c3a53127d7
[dxvk] Add high-priority queue for shader compiles
...
As well as an API to queue shaders as high priority.
2022-08-11 12:39:28 +02:00