1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-12-15 03:24:03 +01:00
Commit Graph

1494 Commits

Author SHA1 Message Date
Philip Rebohle
ebabc0e578 [dxvk] Implemented proper swap chain synchronization 2017-12-16 21:30:48 +01:00
Philip Rebohle
1fe5b74762 Optimized command submission
Command submission now does not synchronize with the device every single
time. Instead, the command list and the fence that was created for it are
added to a queue. A separate thread will then wait for the execution to
complete and return the command list to the device.
2017-12-16 18:10:55 +01:00
Philip Rebohle
d5a49698b4 [dxvk] Implemented new memory allocator with sub-allocation 2017-12-16 16:48:42 +01:00
Philip Rebohle
85120d2d01 [d3d11] Reverted some design decisions related to buffer renaming 2017-12-16 13:35:11 +01:00
Philip Rebohle
d3b2174180 [dxvk] Implemented buffer renaming 2017-12-16 13:21:11 +01:00
Philip Rebohle
d9f38a7f42 [d3d11] Minor restructuring 2017-12-15 19:11:10 +01:00
Philip Rebohle
c0a963ae5b [dxvk] Renamed DxvkBufferSlice methods for convenience 2017-12-14 19:11:13 +01:00
Philip Rebohle
4502816bb6 [dxvk] Renamed DxvkBufferSlice methods for convenience 2017-12-14 19:09:53 +01:00
Philip Rebohle
9827ace3b0 [d3d11] Fixed buffer bindings with non-zero offsets 2017-12-14 19:07:08 +01:00
Philip Rebohle
6de6421dfd [d3d11] Refactoring resource creation (1/2) - buffers 2017-12-14 15:59:55 +01:00
Philip Rebohle
40241e0b22 [dxvk] DxvkBufferBinding -> DxvkBufferSlice 2017-12-14 15:24:43 +01:00
Philip Rebohle
2ad5f49f3e [dxbc] Shader compiler rewrite (2/2) 2017-12-14 12:53:53 +01:00
Philip Rebohle
bdce9a69fb [d3d11] Map() optimization removed, needs buffer renaming
The naive optimization to use staging buffers rather than actual mapping
turned out to be no more efficient than the previous approach. In order
to achieve good performance, buffer renaming must be implemented instead.
2017-12-14 12:29:41 +01:00
Philip Rebohle
4172b99952 [d3d11] Implemented naive Map() optimization when used with D3D11_MAP_WRITE_DISCARD 2017-12-13 17:49:08 +01:00
Philip Rebohle
a4eb807215 [dxbc] Implemented SinCos, Min and Max instructions 2017-12-13 16:35:01 +01:00
Philip Rebohle
464a3e7d4e [dxbc] Shader compiler rewrite (1/2)
Rewrote most parts of the shader compiler and removed the old one. The next
step is to improve documentation and remove the remaining traces of the old
shader compiler.
2017-12-13 15:32:54 +01:00
Philip Rebohle
a0db9198e3 [d3d11] Removed unnecessary Flush() 2017-12-12 15:39:31 +01:00
Philip Rebohle
3d4304096b [dxvk] Data buffer can now be created uninitialized 2017-12-12 15:39:20 +01:00
Philip Rebohle
1f4d7ae747 [general] Defining c++17 in project file directly, rather than as a compiler argument 2017-12-12 13:06:09 +01:00
Philip Rebohle
0f26d1c627 [dxbc] Removed <optional> dependency 2017-12-12 13:00:37 +01:00
Philip Rebohle
0558955388 [general] Updated README 2017-12-12 12:54:49 +01:00
Philip Rebohle
2a266eaad4 [general] Added 32-bit support 2017-12-12 12:50:52 +01:00
Philip Rebohle
23abc82aa0 [dxvk] Added performance counter class 2017-12-12 10:29:17 +01:00
Philip Rebohle
180667ba65 [d3d11] Fixed depth function 2017-12-12 01:07:27 +01:00
Philip Rebohle
24feb7822d [d3d11] Added class linkage stub, required for FX11 samples 2017-12-12 01:07:07 +01:00
Philip Rebohle
3de427439b [dxvk] Added proper documentation for staging buffers 2017-12-12 00:41:56 +01:00
Philip Rebohle
5f0e94138e [dxvk] Implemented support for multisampled images and render targets 2017-12-12 00:27:49 +01:00
Philip Rebohle
de47fa29e1 [dxvk] Refactored Vulkan device and instance destruction, now more RAII friendly 2017-12-11 19:48:00 +01:00
Philip Rebohle
5f8976fbd4 [d3d11] Fixed triangle strips 2017-12-11 19:38:13 +01:00
Philip Rebohle
68ca71d8a4 [dxvk] Implemented recycling of command buffers and staging buffers 2017-12-11 19:17:08 +01:00
Philip Rebohle
037e9a643d [d3d11] Fixed yet another ref counting bug 2017-12-11 17:01:38 +01:00
Philip Rebohle
c3a29e9de0 [d3d11] Return success value when mapping succeeds instead of an error 2017-12-11 16:29:40 +01:00
Philip Rebohle
22c3cd80a1 [dxbc] Implemented mad instruction 2017-12-11 14:36:35 +01:00
Philip Rebohle
c246e03594 [d3d11] Imlpemented some state queries 2017-12-11 14:21:24 +01:00
Philip Rebohle
50b7293b8f [d3d11] Implemented blend state and depth-stencil state binding 2017-12-11 14:11:18 +01:00
Philip Rebohle
352b46fe80 [d3d11] Refactored state object binding 2017-12-11 13:07:27 +01:00
Philip Rebohle
4144e3229a [d3d11] Implemented blend state creation 2017-12-11 13:03:07 +01:00
Philip Rebohle
9b9840754d [d3d11] Added depth-stencil state objects 2017-12-11 01:43:15 +01:00
Philip Rebohle
2d918df0f0 [d3d11] d3d11_state_rs -> d3d11_rasterizer 2017-12-10 23:27:20 +01:00
Philip Rebohle
93f79742e9 [dxbc] Scalar values can be expanded to multiple vector components during a store operation 2017-12-10 22:35:55 +01:00
Philip Rebohle
d941446ca0 [dxbc] Fixed bug in decoder that would return wrong component masks 2017-12-10 21:13:22 +01:00
Philip Rebohle
5739e2f60f [dxvk] Added component mapping to image view info 2017-12-10 20:06:07 +01:00
Philip Rebohle
9acc9bf3e0 [dxbc] Implemented Rsq instruction 2017-12-10 20:01:38 +01:00
Philip Rebohle
4a3b04f605 [dxgi] Mapping DXGI's RGBX formats fo Vulkan RGBA formats, needs testing 2017-12-10 19:47:38 +01:00
Philip Rebohle
b4f85a2c2f [d3d11] Fixed mip-mapped texture creation 2017-12-10 19:10:17 +01:00
Philip Rebohle
c0f5b46f81 [dxvk] Added proper support for block-compressed image formats 2017-12-10 18:14:28 +01:00
Philip Rebohle
cd4f21a0c3 [d3d11] Implemented buffer mapping 2017-12-10 17:36:32 +01:00
Philip Rebohle
52f1c4fa00 [dxvk] Implemented staging buffers for large data transfers 2017-12-10 15:57:51 +01:00
Philip Rebohle
89ec199c34 [d3d11] Re-implemented shader read 2017-12-10 12:21:33 +01:00
Philip Rebohle
b4493d90d8 [dxbc] Initial support for sample instruction 2017-12-10 12:08:20 +01:00