1
0
mirror of https://github.com/EduApps-CDG/OpenDX synced 2024-12-30 09:45:37 +01:00

133 Commits

Author SHA1 Message Date
Philip Rebohle
43dbc9f1d6
[dxvk] Support depth-to-color image copies and vice versa
Fixes validation errors and depth of field effect in Neptunia VII
and potentially other games which do not use all depth images for
rendering.
2018-02-20 13:08:50 +01:00
Philip Rebohle
e89c7e9276 [d3d11] Added test case for occlusion queries and small improvements 2018-02-19 11:27:14 +01:00
Philip Rebohle
5fea615ed7 [dxvk] Implement backend part for event queries 2018-02-18 22:57:45 +01:00
Philip Rebohle
7ddd2500d1 [dxvk] Added query tracker 2018-02-18 20:11:05 +01:00
Philip Rebohle
43200010c1 [dxvk] Implemented query allocation 2018-02-18 17:14:02 +01:00
Philip Rebohle
dd237d866d
[dxvk] Make query pools more usable as query allocators 2018-02-15 13: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
ba707f95b7
[dxvk] Do not commit compute barriers for unbound resources
Fixes a crash in Neptunia VII.
2018-02-14 16:18:18 +01:00
Philip Rebohle
7bbb6ea93b
[dxvk] More query stuff 2018-02-14 03:16:39 +01:00
Philip Rebohle
54cfdbdc51
[dxvk] Implemented more query and query pool methods 2018-02-13 13:43:27 +01:00
Philip Rebohle
5beae25bdf
[dxvk] Implemented virtual query class and query pool stub 2018-02-12 16:36:42 +01:00
Philip Rebohle
b31ebbb690
[d3d11] Add support for DSV read-only flags
Games need this in order to use the depth buffer as both
a framebuffer attachment and a shader resource.
2018-02-06 17:31:23 +01:00
Philip Rebohle
f69d2481a0
[dxvk] Unbind incompatible resources 2018-02-05 08:58:15 +01:00
Philip Rebohle
6f1ed72b78
[dxvk] Reduced resource binding overhead a bit 2018-02-04 23:59:34 +01:00
Philip Rebohle
201cb88d27
[dxbc] Remove push constant block for now
This needs some more work.
2018-02-03 10:36:17 +01:00
Philip Rebohle
14d5054893
[dxvk] Initial work on instance data fetch rates
Adds a pipeline flag to indicate that instanced
draw calls need to be emulated.
2018-02-01 20:15:25 +01:00
Philip Rebohle
c66492a90f
[dxvk] Initialize dummy resources to zero
Read access to unbound images and buffers usually yields
a result vector that contains zeroes in all components.
2018-02-01 14:26:38 +01:00
Philip Rebohle
d4a0581f8f
[dxvk] Bind dummy resource for unbound vertex and index buffers
Allows GTA V to run, although heavy rendering artifacts remain.
2018-02-01 13:29:57 +01:00
Philip Rebohle
4e1f9364e1
[dxvk] Fixed incorrect barriers for depth-stencil images
Certain clear and copy operations would emit invalid barriers
when operating on only one aspect of a depth-stencil image.
2018-01-30 15:44:18 +01:00
Philip Rebohle
9fbddf57df
[dxvk] Emit dynamic state after binding a graphics pipeline
Fixes issues with stencil references becoming undefined under
certain circumstances. This issue was encountered in Heroes
of the Storm.
2018-01-29 20:01:49 +01:00
Philip Rebohle
52e8918b57
[d3d11] Added support for tessellation patch primitives 2018-01-29 11:31:00 +01:00
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
c6f4cf7330
[general] Make use of C++ zero initialization 2018-01-28 19:37:22 +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
d3fe3622cc
[dxvk] Do not dispatch compute shaders if no pipeline is bound
Fixes crashes in Tomb Raider 2013.
2018-01-25 12:57:43 +01:00
Philip Rebohle
f53ada57f9
[dxvk] Fixed potentially problematic image barriers 2018-01-23 19:00:48 +01:00
Philip Rebohle
a1a7bb9092
[dxvk] DxvkBindingLayout -> DxvkPipelineLayout 2018-01-23 17:40:36 +01:00
Philip Rebohle
0900dfd0e3
[dxvk] Removed explicit image barriers for render passes
Instead, the color format and layout will now be set in
the render pass description. This slows down render pass
lookups but may improve efficiency and work around driver
bugs.
2018-01-22 19:21:46 +01:00
Philip Rebohle
847d50d812
Merge branch 'csmt' 2018-01-21 18:06:13 +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
f25b3c8b32
[d3d11] Use EmitCs for resource updates 2018-01-20 21:42:11 +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
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
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
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
ec0ff35b96
[dxvk] Fixed offset in buffer to image copy 2018-01-18 19:09:21 +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
601aa54139
[dxvk] End render pass before a staged image upload
Fixes Heaven. Also removes an unnecessary error check
2018-01-18 08:50:14 +01:00
Philip Rebohle
e05c961b9e [dxvk] Limit vkCmdUpdateBuffer size to 4kB
This should help prevent issues with command buffers becoming
too big. Larger uploads will use a staging buffer instead.
2018-01-13 23:41:36 +01:00
Philip Rebohle
38fa9ce9c9 [dxvk] Removed unused resource warning 2018-01-12 14:49:08 +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
1164ed30c3 [dxvk] Minor fixes 2018-01-12 12:51:39 +01:00
Philip Rebohle
d1d5f10520 [dxvk] Added debug messages for unbound resources 2018-01-11 21:40:04 +01:00
Philip Rebohle
a875e045c5 [dxvk] Moved descriptor set updates into DxvkContext 2018-01-11 20:31:18 +01:00
Philip Rebohle
3ab75c8538 [dxvk] Fixed potential bugs in vertex buffer binding code 2018-01-10 21:53:13 +01:00