Commit Graph

690 Commits

Author SHA1 Message Date
Philip Rebohle 0c12d3082e
Create issue_template.md 2018-01-21 14:39:29 +01:00
Philip Rebohle 7c3a9beb22
[dxvk] Recycle CS chunks 2018-01-21 12:59:43 +01:00
Philip Rebohle 650170b167
[general] Rename libraries
This allows the setup script to work without creating
symbolic links or moving the files around.
2018-01-21 11:38:19 +01:00
Raffarti 16eef61a7a Added script to setup dlls in wine (#19)
* Added script to setup dlls in wine

* Fix no WINEPREFIX confirmation

* move wine_utils outside src
2018-01-21 11:17:15 +01:00
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