Philip Rebohle
d74be35e8c
[dxvk] Refactored physical buffer
...
Class is now much more generic, which should make things
easier for the upcomping deferred context implementation
2018-01-29 00:01:00 +01:00
Philip Rebohle
d1f76b96af
[dxvk] Added dummy resources for descriptors
...
This should finally shut up validation layers and also allows
the branches in texture sample operations to be removed.
2018-01-27 19:25:41 +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
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
27573e9b25
[dxvk] Added app and device specific options
2018-01-16 13:58:57 +01:00
Philip Rebohle
bc5dfc1cad
[dxvk] Refactored device extension handling
...
Support for extensions can now be queried from the device
object in an efficient way. This will allow the backend to
use optional extensions for the purpose of optimization.
2018-01-16 13:24:36 +01:00
Philip Rebohle
c1f16d36bd
[dxvk] Implemented local pipeline cache
2018-01-13 22:18:32 +01:00
Philip Rebohle
5dd9fea011
[dxvk] Implemented input layout validation
...
Checks whether all input slots consumed by the vertex shader
are provided by the input layout, and disables rendering in
case the state validation fails. This should hopefully fix
GPU lockups in Nier:Automata.
2018-01-12 14:25:26 +01:00
Philip Rebohle
30eb43a284
[dxvk] Minor memory management tweaks
2018-01-11 19:06:58 +01:00
Philip Rebohle
ee796b966d
[dxvk] Reduced staging buffer size
...
Allocating as much memory as we did was wasteful. The new limit may
still be too generous for most applications, but this will require
more testing.
2018-01-10 10:22:33 +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
d3b2174180
[dxvk] Implemented buffer renaming
2017-12-16 13:21:11 +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
68ca71d8a4
[dxvk] Implemented recycling of command buffers and staging buffers
2017-12-11 19:17:08 +01:00
Philip Rebohle
52f1c4fa00
[dxvk] Implemented staging buffers for large data transfers
2017-12-10 15:57:51 +01:00
Philip Rebohle
19851c8432
[dxvk] Re-implemented pipeline creation within the backend
2017-12-07 09:38:31 +01:00
Philip Rebohle
b5d068366d
[dxvk] Implemented shader resource binding
2017-12-03 20:23:26 +01:00
Philip Rebohle
a6bf7659b0
[dxvk] Refactored shader binding, client APIs must now create pipelines and pipeline layouts
2017-12-03 00:40:58 +01:00
Philip Rebohle
ac2d16599c
[d3d11] Implemented proper feature tests
2017-12-02 16:47:06 +01:00
Philip Rebohle
ad9f71fa02
[dxgi] Implemented DxgiSwapChain::GetBuffer and more of Present
2017-11-29 07:55:44 +01:00
Philip Rebohle
47bdf9408b
[dxvk] Added buffer view class
2017-11-21 19:50:57 +01:00
Philip Rebohle
a47ebd6ed5
[dxvk] Proper blend state and viewport state setup
2017-11-20 15:35:29 +01:00
Philip Rebohle
77f38c33c4
[dxvk] Removed DxvkDevice::createShader method
2017-10-16 20:42:32 +02:00
Philip Rebohle
e433c01ad4
[dxvk] Some more work on shader resources and resource bindings
2017-10-15 17:56:06 +02:00
Philip Rebohle
44d9bd9000
[dxvk] Added buffer creation
2017-10-15 14:36:41 +02:00
Philip Rebohle
883ae9f39d
[dxvk] Added pipeline manager stub
2017-10-14 23:52:47 +02:00
Philip Rebohle
b67d952e63
[dxvk] Added compute pipeline stub
2017-10-14 13:45:00 +02:00
Philip Rebohle
94af8140d2
[dxvk] DxvkContext now supports clears and actual state tracking
2017-10-11 23:29:05 +02:00
Philip Rebohle
9b09184c9a
[dxvk] Adapter can now be retrieved from the device
2017-10-11 15:32:05 +02:00
Philip Rebohle
00e63d71a9
Initial commit
2017-10-10 23:32:13 +02:00