Joshua Ashton
a554a6d60d
[d3d11] Include win32 compat headers where applicable
2022-08-21 21:40:55 +02:00
Joshua Ashton
4a113c39d3
[d3d11] Remove compat definitions for older MinGW
...
These conflict with native builds, and have existed for a long time now.
2022-08-21 21:35:24 +02:00
Joshua Ashton
0a203095d6
[d3d11] Use topath helper in shader code
2022-08-21 21:28:04 +02:00
Joshua Ashton
9f9c93dcbd
[d3d11] Use new wsi interface
2022-08-20 20:27:07 +02:00
Philip Rebohle
ea4e0bc470
[d3d9,d3d11] Require shaderDemoteToHelperInvocation feature
2022-08-19 13:36:54 +00:00
Philip Rebohle
658d824ddd
[d3d11] Silence log spam for invalid image operations
2022-08-18 14:48:29 +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
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
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
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
3edb0ef114
[d3d11] Ensure that all required inputs are defined by input layout
2022-08-10 14:12:39 +02:00
Derek Lesho
57dcf73a54
d3d11: Fix shared textures that export both NT and KMT handles.
...
We should always create the DxvkImage with the KMT handle type, so that the call later to openKmtHandle succeeds. Also, don't free sharedHandle when exporting an NT handle.
2022-08-08 23:31:01 +02:00
Philip Rebohle
0adf64f085
[dxvk] Add flat shading parameter to rasterizer state
2022-08-08 13:34:59 +02:00
Philip Rebohle
a74f8da7b7
[d3d11] Use bindVertexBufferRange whenever possible
2022-08-07 19:03:51 +02:00
Philip Rebohle
97f0d1dfb8
[d3d11] Use bindIndexBufferRange whenever possible
2022-08-07 19:03:51 +02:00
Philip Rebohle
35dde3e1b9
[d3d11] Change how resourece binding treats null resources
2022-08-07 19:03:51 +02:00
Philip Rebohle
897e7816f0
[d3d11] Don't return undefined slices from GetBufferSlice
...
Instead, return a slice with length zero.
2022-08-07 19:03:51 +02:00
Philip Rebohle
d314bee86d
[d3d11] Fix bad signature of various BindToContext methods
2022-08-07 18:44:47 +02:00
Philip Rebohle
45a1587b88
[d3d11] Fix some possible constant buffer binding bugs
2022-08-07 18:44:47 +02:00
Philip Rebohle
2e6a2f1be3
[dxvk] Make shader stage parameter in bindShader a template parameter
2022-08-07 18:44:44 +02:00
Philip Rebohle
29a2cb9a5e
[d3d9,d3d11] Make GetShaderStage functions constexpr
2022-08-07 18:44:44 +02:00
Philip Rebohle
28ecf8268d
[d3d11] Use new resource view binding methods
2022-08-07 17:59:20 +02:00
Philip Rebohle
6bcb0a0d61
[d3d11] Compute vertex extent in CreateInputLayout
2022-08-07 17:58:19 +02:00
Joshua Ashton
31d17efb48
[dxvk] Add feedback loop aspect flags to bindRenderTargets
2022-08-06 01:33:30 +01:00
Philip Rebohle
7e237b33b7
[d3d11] Track highest bound unordered access view
2022-08-05 14:13:25 +02:00
Philip Rebohle
934caa3fd7
[d3d11] Track highest bound vertex buffer
2022-08-05 14:13:25 +02:00
Philip Rebohle
3dbd9d8659
[d3d11] Track highest bound sampler
2022-08-05 14:13:25 +02:00
Philip Rebohle
6c372e40f6
[d3d11] Track highest bound shader resource
2022-08-05 14:13:24 +02:00
Philip Rebohle
5dd2b20940
[d3d11] Track highest bound constant buffer
2022-08-05 14:13:24 +02:00
Philip Rebohle
18c4ca8e92
[d3d11] Introduce D3D11MaxUsedBindings
...
And use it in ResetCommandListState, in order to avoid redundant state changes.
2022-08-05 14:13:24 +02:00
Philip Rebohle
ebbb77518a
[d3d11] Clean up after performing video blit
...
Otherwise, with the upcoming clear/restore optimizations,
we'd possibly leave some resources bound.
2022-08-05 14:13:24 +02:00
Philip Rebohle
9f07bc6532
[d3d11] Refactor shader state
2022-08-05 14:13:24 +02:00
Philip Rebohle
95ab1465ab
[d3d11] Add reset method to more context state
2022-08-05 14:13:24 +02:00
Philip Rebohle
4e1f6e5efd
[d3d11] Refactor unordered access view and output merger state
2022-08-05 14:13:24 +02:00
Philip Rebohle
8383423fbe
[d3d11] Refactor sampler state
2022-08-05 14:13:24 +02:00
Philip Rebohle
1b4cb66dc3
[d3d11] Refactor shader resource state
2022-08-05 14:13:24 +02:00
Philip Rebohle
33e169e85f
[d3d11] Refactor constant buffer state
2022-08-05 14:13:24 +02:00
Philip Rebohle
7685a86494
[d3d11] Change state restoring behaviour in SwapDeviceContextState
2022-08-05 14:13:24 +02:00
Philip Rebohle
c7d9201303
[d3d11] Change state clearing behaviour around deferred contexts
...
Resetting command list state at the end of each D3D11 command list,
as well as before ExecuteCommandList, will allow us to track which
state needs to be reset, which may save us a significant amount of
CPU work.
2022-08-05 14:13:24 +02:00
Philip Rebohle
91fc0a8688
[d3d11] Rename and factor out some state clearing methods
2022-08-05 14:13:21 +02:00
Philip Rebohle
0f94971193
[d3d11,d3d9] Lock context/device in EndFrame
...
Fixes #2787 .
2022-08-05 12:10:03 +02:00
Philip Rebohle
37a2b02558
[d3d11] Fix compiler error on GCC 10.3
2022-08-04 18:42:13 +02:00
Philip Rebohle
9d967f2fed
[d3d11] Use new binding methods in video context
2022-08-04 13:43:36 +02:00
Philip Rebohle
e49524fcb0
[d3d11] Move GetType and GetContextFlags to D3D11CommonContext
2022-08-04 13:43:36 +02:00
Philip Rebohle
1d2d712dfb
[d3d11] Move d3d11_context_common.* -> d3d11_context.*
2022-08-04 13:43:36 +02:00
Philip Rebohle
30b1cac0ae
[d3d11] Remove old D3D11DeviceContext class
2022-08-04 13:43:36 +02:00
Philip Rebohle
20df9fc899
[d3d11] Move all remaining context code to D3D11CommonContext
2022-08-04 13:43:36 +02:00