Philip Rebohle
45108a8724
Merge pull request #21 from libcg/stadium2
...
[dxvk] fix missing renderPassEnd calls
2018-01-21 09:03:50 +01:00
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