Commit Graph

760 Commits

Author SHA1 Message Date
Philip Rebohle 495f58370c
[d3d11] Implemented CopySubresourceRegion for buffers
Also fixed a typo where ResolveSubresource would do the
wrong thing.
2018-02-03 21:14:55 +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 a567f6a5a5
[dxbc] Do not emit depth type for non-sampled resources
Fixes a crash in the Nvidia driver. These type
declarations were never used in the first place.
2018-02-02 21:42:04 +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 0154d0856d
[dxbc] Added push constant definition block
This will be used to fake a draw's instance ID when
per-instance data fetch rates other than 1 are used.
2018-02-01 18:07:24 +01:00
Philip Rebohle b860915aed
[dxvk] Set dummy vertex buffer size to the maximum binding stride 2018-02-01 14:31:10 +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 0791c8ca4c
Merge pull request #46 from libcg/query_event
[d3d11] mock D3D11_QUERY_EVENT
2018-02-01 08:09:49 +01:00
Clément Guérin 4050e8297f [d3d11] mock D3D11_QUERY_EVENT
in addition to fix low framerate with vsync ON on Trackmania, this lets
GTA V show the loading screen.
2018-01-31 22:00:40 -08:00
Philip Rebohle 78c46f444a
[d3d11] Added missing CS thread sync for non-discard Map() 2018-01-31 16:39:47 +01:00
Philip Rebohle fb4663fcc8
[dxbc] Remove duplicate image type declaration 2018-01-31 11:25:49 +01:00
Philip Rebohle f3ae248f39
[d3d11] Include <algorithm>
This apparently causes builds to fail on some platforms. Fixes #42.
2018-01-31 01:57:43 +01:00
Philip Rebohle e47c244ac3
[dxvk] Use logger instead of exception when compiling pipelines
The exception is never caught because it is called from DXVK code,
not D3D code.
2018-01-31 00:48:39 +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 c22dc143d1
[d3d119 Implemented DXVK_FEATURE_LEVEL to restrict D3D feature levels 2018-01-30 12:19:53 +01:00
Philip Rebohle 727aa4d97e
[dxgi] Use VK_PRESENT_MODE_FIFO instead of MAILBOX 2018-01-30 08:53:00 +01:00
Philip Rebohle c0cd51764d
[dxgi] Remove SyncInterval implementation
Poorly tested, may cause trouble
2018-01-30 08:45:50 +01:00
Philip Rebohle 08436ad1e1
[d3d11] Get rid of duplicate code in ResolveSubresource 2018-01-30 02:20:28 +01:00
Philip Rebohle 6c6b108cdd
[d3d11] Handle non-multisampled source images in ResolveSubresource 2018-01-30 01:18:43 +01:00
Philip Rebohle fb641a3dc8
[dxvk] Create dummy sampler 2018-01-29 20:54:09 +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 4aaa351225
[d3d11] Fixed query-related logging
Log messages in GetData did not take into account that
writing back data is actually optional.
2018-01-29 17:04:07 +01:00
Philip Rebohle ca53eaf878
[general] Minor COM pointer improvements 2018-01-29 16:31:25 +01:00
Philip Rebohle 173e46e2bd
[dxbc] Added Hull/Domain shader specific structures 2018-01-29 14:37:06 +01:00
Raffarti f5782cd6cd Add an option to set up dxvk through overrides (#40)
* use winepath to convert unix path

* Add overrides option to setup script

* Fix missing arch switch in setup script
2018-01-29 13:22:19 +01:00
Philip Rebohle 08a916487d
[d3d11] Implemented CreateHullShader and CreateDomainShader 2018-01-29 11:53:57 +01:00
Philip Rebohle cea86472bf
[dxvk] Fixed incorrect buffer create info 2018-01-29 11:44:02 +01:00
Philip Rebohle 52e8918b57
[d3d11] Added support for tessellation patch primitives 2018-01-29 11:31:00 +01:00
Philip Rebohle 8c4d94b570
[dxbc] Implemented OutputCoverageMask 2018-01-29 10:54:36 +01:00
Philip Rebohle 4ac38af8a7
[dxbc] Declare SV variables on first use 2018-01-29 10:41:41 +01:00
Philip Rebohle 8f554a210b
[d3d11] Silence unnecessary SOSetTargets errors 2018-01-29 01:15:51 +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 7e5a511fa0
[dxvk] Minor CS improvement 2018-01-29 00:00:19 +01:00
Philip Rebohle 6d75178870
[d3d11] Remove default sampler
This is handled in the backend now.
2018-01-28 22:05:08 +01:00
Philip Rebohle b8e49f1eb8
[d3d11] Fixed incorrect aspect mask for depth-stencil clear ops
Application may specify a clear flag that the image format does
not support, in which case it should just be ignored. Fixes
validation errors in Microsoft's MultiThreadedRendering demo.
2018-01-28 21:13:37 +01:00
Philip Rebohle c6f4cf7330
[general] Make use of C++ zero initialization 2018-01-28 19:37:22 +01:00
Philip Rebohle b63346b052
[d3d11] Implmented ResolveSubresource for typed resources
Enables MSAA support in Nier:Automata and potentially other games.
2018-01-28 18:06:41 +01:00
Philip Rebohle 3144a57ade
[dxgi] Added typeless format flag 2018-01-28 18:06:08 +01:00
Philip Rebohle 8a3dcf7c99
[dxbc] Added support for SV_SampleIndex 2018-01-28 15:32:35 +01:00
Philip Rebohle 0c62ca027f
[d3d11] Implemented normalization for UAV descriptions 2018-01-28 11:30:15 +01:00
Philip Rebohle 1eb0fc8846
[d3d11] Implemented GetUnorderedAccessViewDescFromResource 2018-01-28 10:57:16 +01:00
Philip Rebohle 6f51c136d2
[dxbc] Remove obsolete error message when resinfo is used with UAVs 2018-01-27 22:15:53 +01:00
Philip Rebohle 2e1e8d56a5
[dxbc] Removed branches around texture sample/gather ops
Not needed anymore thanks to dummy resources serving the same purpose.
2018-01-27 19:31:08 +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 4e780f4f60
[dxvk] Fixed incorrect framebuffer attachment formats 2018-01-27 12:26:31 +01:00
Philip Rebohle 59a4e80c5f
Merge pull request #34 from Raffarti/script_space_fix
fixed dlls_dir variable in the setup script
2018-01-26 11:45:50 +01:00
raffarti 50551b102e fixed dlls_dir variable in the setup script 2018-01-26 11:02:01 +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 e4d49aeb66
[dxvk] Fixed reported size of staging buffers
Fixes staging slice allocation in Tomb Raider (2013),
and potentially other games which allocate large staging
buffers.
2018-01-24 15:44:40 +01:00