1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-12-14 18:23:52 +01:00
Commit Graph

4585 Commits

Author SHA1 Message Date
Clément Guérin
f88a1d5dce [dxvk] fix missing renderPassEnd calls
vkCmdBlitImage and vkCmdResolveImage need to be called outside a render
pass. flatten logic.

this fixes mipmap generation with Trackmania.
2018-01-20 19:50:49 -08:00
Philip Rebohle
952ac5d5f9
Merge pull request #20 from Guy1524/shaderReadFix
Check if shader in READ_PATH exists before using it
2018-01-21 03:24:22 +01:00
Guy1524
5c4e290d72
Check if shader in READ_PATH exists before using it
Make sure that the replacement shader in the DXVK_SHADER_READ_PATH exists, if not use the generated shader.
2018-01-20 21:20:45 -05:00
Philip Rebohle
70b639784b
Revert "[d3d11] Temporary fix for Presenter <-> CS thread sync issue"
This reverts commit 3118012ada.
2018-01-21 02:57:36 +01:00
Philip Rebohle
3118012ada
[d3d11] Temporary fix for Presenter <-> CS thread sync issue 2018-01-21 02:48:36 +01:00
Philip Rebohle
51e89f00be
[d3d11] Fixed flush order 2018-01-21 02:21:38 +01:00
Philip Rebohle
b923a2004f
[d3d11] Fixed image copy operation 2018-01-21 01:57:12 +01:00
Philip Rebohle
b7a00e32ec
[dxvk] Limit size of the CS command queue
Prevents memory leaks and fixes stuttering in Heaven.
2018-01-21 00:49:07 +01:00
Philip Rebohle
aaffc8e26f
[dxvk] Fixed incorrect image packing behaviour 2018-01-21 00:04:17 +01:00
Philip Rebohle
6ab7897127
[d3d11] Enabled command stream thread 2018-01-20 23:12:03 +01:00
Philip Rebohle
7d7cc1ceda
[d3d11] Record commands into a CS chunk 2018-01-20 22:52:18 +01:00
Philip Rebohle
aaf7b05625
[d3d11] Use EmitCs for buffer mapping 2018-01-20 22:28:15 +01:00
Philip Rebohle
f25b3c8b32
[d3d11] Use EmitCs for resource updates 2018-01-20 21:42:11 +01:00
Philip Rebohle
a84e45bdd2
[dxvk] Added convenience functions to work with compressed image sizes 2018-01-20 20:31:47 +01:00
Philip Rebohle
496acd71b1
[d3d11] Use EmitCs for some Copy/Clear operations 2018-01-20 19:30:31 +01:00
Philip Rebohle
9441974497
[d3d11] Use EmitCs for state object updates 2018-01-20 19:11:42 +01:00
Philip Rebohle
cbbfefbbb7
[d3d11] Use EmitCs for shader and resource binding methods 2018-01-20 18:54:37 +01:00
Philip Rebohle
7fad731096
[d3d11] Use EmitCs for Input Assembly methods 2018-01-20 18:34:25 +01:00
Philip Rebohle
e951a5ea0c
[d3d11] Use EmitCs for draw and dispatch calls 2018-01-20 18:26:17 +01:00
Philip Rebohle
4d17b1752f
[d3d11] Use EmitCs for general setup and synchronization methods 2018-01-20 18:01:43 +01:00
Philip Rebohle
2dd24a14d2
[dxvk] Refactored blend constants
This will make things a little less painful when capturing
blend constants in a lambda function, as required for CSMT.
2018-01-20 15:41:06 +01:00
Philip Rebohle
62a43cbdbe
[d3d11] Add EmitCs method to D3D11DeviceContext
Subsequently, all calls into the DXVK context will be
replaced by calls to the EmitCs method with a lambda.
2018-01-20 15:29:10 +01:00
Philip Rebohle
0789c5f10d
[dxvk] Remove command dispatch methods from CS thread
This was bad design. The user of this API should record commands
into a chunk manually and decude what to do with it once it's full.
2018-01-20 14:59:50 +01:00
Philip Rebohle
0b426a0942
[d3d11] Added new D3D11ImmediateContext class
Initial prep work for both CSMT and Deferred Contexts.
2018-01-20 13:22:44 +01:00
Philip Rebohle
d522e19bab
[dxbc] Implemented SampleB instruction 2018-01-20 10:21:27 +01:00
Philip Rebohle
f88adc4e82
[d3d11] Implemented mipmap generation 2018-01-20 09:46:54 +01:00
Philip Rebohle
a644eebfd7
[d3d11] Fixed initialization of compressed images 2018-01-19 18:11:20 +01:00
Philip Rebohle
2a364c557b
[d3d11] Implemented image mapping for reads 2018-01-19 18:09:49 +01:00
Philip Rebohle
0bb98eb03e
[general] Updated README 2018-01-19 13:10:35 +01:00
Philip Rebohle
af9dbe3999
[general] Mention binary releases in README 2018-01-19 10:15:54 +01:00
Philip Rebohle
aa02612b9e
[dxbc] Do not set ImageOperandsLodMask for multisample loads
This should fix invalid SPIR-V being generated in The Witness.
2018-01-19 09:09:38 +01:00
Philip Rebohle
3bb7b45c33
[dxvk] Use strict rasterization order when depth test is disabled 2018-01-19 09:01:28 +01:00
Philip Rebohle
7d721797fe
[dxvk] To not attempt to clear compressed image
The current code violates the rules for vkCmdClearImage if
the destination image is compressed.
2018-01-19 01:36:22 +01:00
Philip Rebohle
1f070ec26c
[d3d11] Downgraded input layout message to debug
Specifying a vertex attribute that is not actually consumed by
the shader is perfectly legal and may improve performance if
the number of state changes can be reduced.
2018-01-19 01:25:19 +01:00
Philip Rebohle
0b867566f1
Merge pull request #9 from notaz/gcc6_build
Fix build on gcc6
2018-01-19 00:28:07 +01:00
Philip Rebohle
a0acbeec72
[dxvk] Optimized buffer renaming
Helps applications which frequently update buffers
through either Map()/Unmap() or UpdateSubresource.
2018-01-19 00:20:05 +01:00
Grazvydas Ignotas
d1ae152f60 Fix build on gcc6
Fixes build with mingw from ubuntu 17.10.
Missing C++17 features I guess.
2018-01-19 00:59:40 +02:00
Philip Rebohle
ec0ff35b96
[dxvk] Fixed offset in buffer to image copy 2018-01-18 19:09:21 +01:00
Philip Rebohle
82ffa88efd
[dxvk] Fixed DxvkPhysicalBufferSlice initialization 2018-01-18 18:53:33 +01:00
Philip Rebohle
9334873188
[dxvk] Cleaned up DxvkBufferSlice and added documentation 2018-01-18 18:50:44 +01:00
Philip Rebohle
6e6c290e01
[d3d11] Use DxvkPhysicalBufferSlice for resource copies and buffer views 2018-01-18 18:33:13 +01:00
Philip Rebohle
3212fc7444
[dxvk] Use DxvkPhysicalBufferSlice for indirect draws and buffer binding 2018-01-18 18:01:47 +01:00
Philip Rebohle
f41a7c7c87
[dxvk] Use DxvkPhysicalBufferSlice for buffer memory barriers 2018-01-18 17:32:34 +01:00
Philip Rebohle
a87ae8aba4
[dxvk] Added DxvkPhysicalBuffer to back virtual buffers
This is the first step to optimizing buffer updates for applications
that frequently invalidate buffers. The goal is to reduce the number
of buffer allocations per frame and reduce the cost of invalidation.
2018-01-18 15:52:57 +01:00
Philip Rebohle
9acc4a1a82
[d3d11] Map default constant buffers to host memory
Improves performance in applications that use UpdateSubresources
to frequently update constant buffers, such as Unigine Heaven,
Unigine Valley and Homefront.
2018-01-18 11:55:27 +01:00
Philip Rebohle
601aa54139
[dxvk] End render pass before a staged image upload
Fixes Heaven. Also removes an unnecessary error check
2018-01-18 08:50:14 +01:00
Philip Rebohle
af6bc1e7e2
[d3d11] Enable dual-source blending feature
Required for Unigine Heaven.
2018-01-18 08:42:57 +01:00
Philip Rebohle
3ac25d5e2a
[d3d11] Updated D3D11CreateDevice
Since D3D11Device and D3D11DeviceContext share the same reference
counter, we can actually create a device if the device pointer is
missing. Fixes Homefront.
2018-01-18 01:18:22 +01:00
Philip Rebohle
ade9cd0587
[d3d11] Removed some uninteresting log messages
Reduces log spamming in Homefront.
2018-01-17 23:49:26 +01:00
Philip Rebohle
8b27dee0e5
[dxbc] Implemented swapc 2018-01-17 21:47:18 +01:00