Philip Rebohle
ec8559f40a
[dxvk] Remove unneeded atomic that holds base pipeline handles
...
No longer needed because the full pipeline object gets locked anyway.
2018-10-29 12:11:33 +01:00
Philip Rebohle
b49876528a
[dxvk] Enable state cache for compute pipelines
...
Also cleans up some code to get the design more in line
with how graphics pipelines are handled.
2018-09-23 14:42:03 +02:00
Philip Rebohle
83447975ac
[dxvk] Refactor pipeline stat counters
...
The stat counter struct no longer has to be passed to
the pipeline compiler function.
The new implementation uses atomic counters of the pipeline manager
rather than per-command list counters, which removes the need to
pass the counter structure to the compiler function.
2018-09-22 12:02:20 +02:00
Philip Rebohle
5410680401
[dxvk] Refactor pipeline object constructors
...
This way we don't need to pass everything to the pipeline objects.
2018-09-22 11:59:25 +02:00
Philip Rebohle
f42f708f72
[dxvk] Rename DxvkBindingState -> DxvkBindingMask
...
Preparation for some more binding-related work.
2018-09-17 10:45:28 +02:00
Philip Rebohle
db7a7fa4bc
[dxvk] Use dynamic offsets for both graphics and compute pipelines
2018-06-22 00:33:47 +02:00
Philip Rebohle
d201a1f7c6
[dxvk] Made pipe manager and pipeline classes thread-safe
2018-05-01 16:45:28 +02:00
Philip Rebohle
9ef4168867
[dxvk] Added support for pipeline-related stat counters
2018-04-03 15:52:39 +02:00
Philip Rebohle
05e0f3d52d
[dxvk] Remove mutex from Dxvk(Graphics|Compute)Pipeline
...
Not needed anymore because the pipe manager itself won't be
accessed by multiple threads any longer.
2018-03-29 16:36:31 +02:00
Philip Rebohle
c931b4ba87
[dxvk] Implement proper compute pipeline lookup
...
Fixes correctness issues and potential GPU lockups in case
a compute shader resource is not bound at dispatch time.
2018-03-16 01:25:18 +01:00
Philip Rebohle
0c2058e8c4
[dxvk] Introduced DxvkComputePipelineStateInfo
...
Will be used to re-compile compute pipelines against the current
state, just like graphics pipelines. May fix GPU lockups etc.
2018-02-14 17:54:35 +01:00
Philip Rebohle
a1a7bb9092
[dxvk] DxvkBindingLayout -> DxvkPipelineLayout
2018-01-23 17:40:36 +01:00
Philip Rebohle
d3f84688cc
[dxvk] Make use of VK_AMD_rasterization_order
...
May slightly improve GPU performance in some scenarios.
2018-01-16 15:00:19 +01:00
Philip Rebohle
c1f16d36bd
[dxvk] Implemented local pipeline cache
2018-01-13 22:18:32 +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
a9a03fec69
[dxvk] DxvkShader creates a VkShaderModule again
2017-11-20 14:03:00 +01:00
Philip Rebohle
2c3674190a
[dxvk] Implemented proper resource binding
2017-10-15 19:23:10 +02:00
Philip Rebohle
e9eefbb3e7
[dxvk] Added graphics pipeline stub
2017-10-15 13:02:59 +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
764220db98
[dxvk] Added shader stub, improved state tracking code
2017-10-13 03:19:23 +02:00