Philip Rebohle
a27448bc76
[dxvk] Bind consecutive descriptor sets in one go
...
Most of the time we'll be able to bind all sets in one iteration. Binding
sets is expected to be cheap in the driver, but we should avoid unnecessary
function call overhead for this frequently called function.
2022-06-28 14:35:58 +02:00
Philip Rebohle
e2b7522034
[dxvk] Use persistent descriptor pool for regular descriptor sets
2022-06-28 14:35:57 +02:00
Philip Rebohle
f4e9b76515
[dxvk] Add descriptor pool tracking to command list
2022-06-28 14:35:57 +02:00
Philip Rebohle
9b0b1edf74
[dxvk] Introduce persistent descriptor pool
2022-06-28 14:35:57 +02:00
Philip Rebohle
7e42939a4a
[d3d11] Call endFrame at the end of each frame
2022-06-28 14:35:57 +02:00
Philip Rebohle
acf70501d2
[d3d9] Call endFrame at the end of each frame
2022-06-28 14:35:57 +02:00
Philip Rebohle
5610b3a742
[dxvk] Introduce endFrame method
2022-06-28 14:35:57 +02:00
Philip Rebohle
ab0c15ea54
[dxvk] Introduce DxvkContextType
2022-06-28 14:35:57 +02:00
Philip Rebohle
8dde72da06
[dxvk] Do not allocate descriptor set space for dynamic UBOs
2022-06-28 14:35:57 +02:00
Philip Rebohle
f34d1c886a
[dxvk] Only use descriptor update templates in 32-bit builds
2022-06-28 14:35:57 +02:00
Philip Rebohle
15cf130369
[dxvk] Optimize descriptor set binding further
2022-06-28 14:35:57 +02:00
Philip Rebohle
f9e6d8e23a
[dxvk] Remove old resource update code
2022-06-28 14:35:57 +02:00
Philip Rebohle
219853aa9f
[dxvk] Rework dirty descriptor state tracking
2022-06-28 14:35:57 +02:00
Philip Rebohle
db85de8c91
[dxvk] Add method to query shader stages that can access a buffer
2022-06-28 14:35:45 +02:00
Philip Rebohle
893183a7cc
[dxvk] Remove old pipeline layout from pipeline objects
2022-06-28 14:34:09 +02:00
Philip Rebohle
9be454fd3e
[dxvk] Use new pipeline layout for barrier tracking and other things
2022-06-28 14:34:07 +02:00
Philip Rebohle
d5e53d3271
[dxvk] Add resource binding code using new pipeline layouts
2022-06-28 14:32:31 +02:00
Philip Rebohle
ef55a7c2a0
[dxvk] Add method to create shader module using new binding layout
2022-06-28 14:32:31 +02:00
Philip Rebohle
d65ceb82cf
[dxvk] Rework binding ID patching
2022-06-28 14:32:31 +02:00
Philip Rebohle
955e0cca62
[dxvk] Use native integer size for DxvkBindingSet
...
May make things a tad faster in 64-bit applications.
2022-06-28 14:32:31 +02:00
Philip Rebohle
16eba45987
[dxvk] Implement 64-bit tzcnt
2022-06-28 14:32:31 +02:00
Philip Rebohle
038ee0416d
[dxvk] Add setRange method to DxvkBindingSet
2022-06-28 14:32:31 +02:00
Philip Rebohle
ec5ea71174
[dxvk] Store and create pipeline layout objects in pipeline manager
...
This should help avoid a lot of duplication.
2022-06-28 14:32:31 +02:00
Philip Rebohle
79ecd4e94a
[dxbc] Pass new binding info struct to shaders
2022-06-28 14:32:31 +02:00
Philip Rebohle
cb57c2f7fb
[d3d11] Pass new binding info struct to video processor shader
2022-06-28 14:32:31 +02:00
Philip Rebohle
e795f3f33a
[dxso] Pass new binding info struct to shaders
2022-06-28 14:32:31 +02:00
Philip Rebohle
ecbada30f5
[d3d9] Pass new binding info struct to fixed-function shaders
2022-06-28 14:32:31 +02:00
Philip Rebohle
5edd8e92a8
[d3d9] Pass new binding info struct to various helper shaders
2022-06-28 14:32:31 +02:00
Philip Rebohle
7b8b50bca6
[hud] Pass new shader binding info struct to HUD shaders
2022-06-28 14:32:31 +02:00
Philip Rebohle
89dadc8453
[dxvk] Pass new shader binding info struct to swapchain blit shaders
2022-06-28 14:32:31 +02:00
Philip Rebohle
70a95d9085
[dxvk] Add DxvkBindingLayout to DxvkShader class
...
Supposed to replace the old descriptor model eventually.
2022-06-28 14:32:31 +02:00
Philip Rebohle
53519e2bd5
[dxvk] Remove old resource binding methods
2022-06-28 14:32:30 +02:00
Philip Rebohle
4cc559d690
[d3d9] Pass shader stage when binding shader resources
2022-06-28 14:32:30 +02:00
Philip Rebohle
0fb1227792
[d3d9] Pass shader stage when binding format conversion resources
2022-06-28 14:32:30 +02:00
Philip Rebohle
d05864cbcb
[d3d11] Pass shader stage for binding video processor resources
2022-06-28 14:32:30 +02:00
Philip Rebohle
a1bbc77c04
[d3d11] Pass shader stage for binding resources in context methods
2022-06-28 14:32:30 +02:00
Philip Rebohle
ce0a2f08f0
[hud] Pass shader stage when binding HUD shader resources
2022-06-28 14:32:30 +02:00
Philip Rebohle
fe03327ecd
[dxvk] Pass shader stage when binding HUD resources
2022-06-28 14:32:30 +02:00
Philip Rebohle
10eabb34da
[dxvk] Add shader stage parameter to binding methods
2022-06-28 14:32:30 +02:00
Philip Rebohle
3751edbe0c
[dxvk] Introduce DxvkBindingLayout and related classes
...
This is intended to replace the legacy DxvkPipelineLayout, and can support
multiple descriptor sets.
2022-06-28 14:32:30 +02:00
Philip Rebohle
67d03aabd0
[dxvk] Make recycler a ring buffer
...
Ensures that recycled objects actually get reused soon. Somewhat
important for memory efficiency in descriptor pools.
2022-06-28 14:32:30 +02:00
Philip Rebohle
384a665700
[dxvk] Optimize util::pipelineStages
2022-06-28 14:31:52 +02:00
Justin Kim
972de7c9fb
converting flags from VkShaderStageFlags to VkPipelineStageFlags in commitGraphicsBarriers ( #2696 )
2022-06-28 13:09:14 +02:00
Federico Dossena
dee36be20d
Added config for A Way Out ( #2694 )
2022-06-25 11:17:42 +02:00
pchome
27163a6a29
[util] Fix built-in config options loging
2022-06-22 18:21:31 +02:00
Blisto91
661f8b5b56
[util] Add Forged Alliance Forever to Supreme Commander
2022-06-20 11:59:40 +01:00
Robin Kertels
bd29fbd95d
[util] Enable sampler type spec constants for SWTOR
...
Co-authored-by: Blisto91 <47954800+Blisto91@users.noreply.github.com>
2022-06-13 21:34:28 +01:00
Blisto91
968f0cdbc3
[util] Strict float emulation for Supreme Commander
2022-06-12 20:16:56 +01:00
Robin Kertels
4f56e72d56
[util] Enable strict float emulation for Sonic Adventure 2
2022-06-11 01:31:48 +02:00
Georg Lehmann
2e4caa4c14
[util] Stop using deprecated std::iterator.
2022-06-09 22:07:52 +02:00