Commit Graph

1401 Commits

Author SHA1 Message Date
Philip Rebohle 6e74db4c6f
[util] Update default per-app quirks 2018-08-10 12:50:31 +02:00
Philip Rebohle 7a28f01eca
[d3d11] Enable drawIndirectFirstInstance for FL11_0 and higher 2018-08-10 04:34:54 +02:00
Philip Rebohle e1479f41c1
[dxbc] Fix case labels when case blocks are terminated with ret
Fixes incorrect shader in Monster Hunter World, which caused
RADV to crash.
2018-08-10 03:31:35 +02:00
Philip Rebohle 82c891b1fb
[d3d11] Fix structured buffer view validation 2018-08-10 02:39:35 +02:00
Philip Rebohle 40050e4e3f
[d3d11] Report bind flags instead of usage when view creation fails 2018-08-10 02:39:14 +02:00
Philip Rebohle cc5219f8c0
[d3d11] Add meaningful error messages when view creation fails 2018-08-10 02:15:51 +02:00
Philip Rebohle 5276a90195
[d3d11] Add format and resource type to D3D11_COMMON_RESOURCE_DESC 2018-08-10 02:15:30 +02:00
Philip Rebohle f9e096e954
[d3d11] Validate buffer view format compatibility
Prevents the app from creating illegal buffer views.
2018-08-09 23:37:41 +02:00
Philip Rebohle 9373bab3e3
[d3d11] Validate image view format compatibility correctly
Prevents the application from creating illegal image views.
2018-08-09 23:34:03 +02:00
Philip Rebohle 7e0a2a9165
[d3d11] Added GetBufferFormatFeatures and GetImageFormatFeatures helpers 2018-08-09 23:33:36 +02:00
Philip Rebohle f586970c59
[d3d11] Validate buffer view bind flags 2018-08-09 22:04:03 +02:00
Philip Rebohle b06eb4fe2a
[d3d11] Validate image view bind flags
Since the bind flags of the texture may not always match the
image usage flags of the underlying Vulkan image, we should
use the latter to check whether a view can be created.
2018-08-09 21:58:58 +02:00
Philip Rebohle cdc85a1238
[d3d11] Add GetImageUsageFlags and GetBufferUsageFlags helpers 2018-08-09 21:49:31 +02:00
Philip Rebohle 1a4b17d607
[d3d11] Use user config to determine the maximum feature level 2018-08-09 21:08:03 +02:00
Philip Rebohle 73c91138db
[d3d11] Allow creation of SRGB textures with D3D11_BIND_UNORDERED_ACCESS
Should fix a crash in Call of Duty: Advanced Warfare.
2018-08-09 17:13:35 +02:00
Philip Rebohle 24dd173d12
[dxgi] Fix resolve image usage flags
When meta-resolve is used for the back buffer, it will
be used as a color attachment, and we need to set up
the usage and stage/access flags accordingly.
2018-08-07 19:26:59 +02:00
Philip Rebohle f08add9c34
[dxgi] Add custom device/vendor IDs to DxgiOptions 2018-08-07 17:33:19 +02:00
Philip Rebohle fb9b520f60
[util] Move getAppConfig and getUserConfig to Config class
Fixes linker errors with winelib builds.
2018-08-07 16:59:49 +02:00
Philip Rebohle 54be0a4984
[meta] Update README 2018-08-07 16:59:49 +02:00
Philip Rebohle b2c4855490
[dxvk] Use global user config for backend options 2018-08-07 16:59:49 +02:00
Philip Rebohle 10f7e4d91b
[meta] Update README 2018-08-07 15:35:43 +02:00
Philip Rebohle dc31be7118
[d3d11] Use global user config for D3D11 options 2018-08-07 14:59:09 +02:00
Philip Rebohle 524ff9e233
[dxgi] Use global user config for DXGI options 2018-08-07 14:59:09 +02:00
Philip Rebohle c0398caa2b
[dxvk] Load user config as well as per-app options in DxvkInstance 2018-08-07 14:59:09 +02:00
Philip Rebohle 5e58083c01
[util] Add classes and functions to support configuration files 2018-08-07 14:59:03 +02:00
Philip Rebohle 3359b89166
[d3d11] Do not hold strong references to the ID3D11Resource in views
Emulates Windows behaviour more closely. Fixes refcount-related
error messages in Unreal Engine 4 (see #302), as well as a crash
in Yakuza 0 (see #533).
2018-08-05 21:31:13 +02:00
Philip Rebohle ffc87faed0
[d3d11] Add private ref count helpers for ID3D11Resource 2018-08-05 21:31:13 +02:00
Philip Rebohle c223e35608
[d3d11] Do not keep a strong reference to the swap chain back buffer
Fixes crash in Yakuza 0 with fullscreen mode enabled. SEGA, please,
stop being lazy and learn to use reference counting correctly.
2018-08-05 21:31:13 +02:00
Philip Rebohle cdf6ffb9bc
[util] Add private reference count to COM object
This can be used in case DXVK needs to keep a strong reference
to an object but may not expose that reference to the application.
2018-08-05 21:31:09 +02:00
Philip Rebohle 871c96b130
[d3d11] Refactor Unordered Access View Creation
Part 4 / 4 of the refactor.
2018-08-05 19:28:39 +02:00
Philip Rebohle 55203eb458
[d3d11] Refactor Shader Resource View Creation
Part 3 / 4 of the refactor.
2018-08-05 19:20:12 +02:00
Philip Rebohle 1038bf2ef5
[d3d11] Refactor Render Target View Creation
Part 2 / 4 of the refactor.
2018-08-05 19:07:53 +02:00
Philip Rebohle 0598982f35
[d3d11] Refactor Depth-Stencil View Creation
Part 1 of 4 of a much needed refactor. Instead of translating
the structures in the D3D11Device class, we'll move the code
to the respective view classes in order to clean up.
2018-08-05 19:02:45 +02:00
Philip Rebohle 16315a39a0
[d3d11] Use new resource helper functions during view creation
This simplifies things when both buffers and textures are allowed.
2018-08-05 18:56:42 +02:00
Philip Rebohle b87f3f5155
[d3d11] Add common resource helper functions 2018-08-05 18:45:24 +02:00
Philip Rebohle 66e178756e
[d3d11] Introduce GetCommonBuffer helper
Also update GetCommonTexture documentation.
2018-08-05 18:29:29 +02:00
Philip Rebohle ace8e42213
[d3d11] Move BufferInfo struct into D3D11Buffer 2018-08-05 18:24:01 +02:00
Philip Rebohle 31140373eb
[tests] Restore old d3d11-triangle behaviour 2018-08-05 15:19:15 +02:00
Philip Rebohle 62e4c867ec
[dxgi] Relax IDXGISwapChain thread safety
Fixes a deadlock in Dragon Age: Inquisition.
2018-08-04 10:16:40 +02:00
Philip Rebohle 96176e3952
[meta] Release v0.64 2018-08-03 15:18:30 +02:00
Philip Rebohle 9293acfeb5
[dxbc] Work around OpControlBarrier issue on radv 18.2-git 2018-08-03 15:15:18 +02:00
Philip Rebohle fe66e668e5
[dxvk] Implement native discardBuffer function in the backend
This may be more efficient because it avoids renaming the buffer
in case it can be used without inserting additional barriers.
2018-08-03 11:28:00 +02:00
Philip Rebohle fb88070888
[d3d11] Implement copy flags for CopySubresourceRegion1 / UpdateSubresource1 2018-08-03 11:22:26 +02:00
Philip Rebohle 3fee20dfec
[d3d11] Implement DiscardResource for buffers
We don't suppor this for images, and we don't support DiscardView yet.
Buffers can be invalidated, which may in some cases be beneficial in
order to avoid synchronization on the GPU.
2018-08-03 11:10:40 +02:00
Philip Rebohle 8044ce6c7e
[d3d11] Refactor UAV counter buffer allocator
- Fixes violation of the minStorageBufferOffsetAlignment limit
- Allows allocation of multiple counter buffers if necessary
2018-08-03 10:17:02 +02:00
Philip Rebohle 212bd56b93
[d3d11] Fix border color mapping for opaque white 2018-08-02 17:04:09 +02:00
Philip Rebohle 1da6617a73
[dxbc] Fix sample location order for 2xMSAA case
The sample locations were apparently incorrectly documented
in the Vulkan spec and have changed with the 1.1.82 update.
2018-08-01 11:38:59 +02:00
Philip Rebohle ffede83d9e
[dxvk] Remove unnecessary barrier recording before compute dispatch
This call is not needed any longer because we have compute init barriers.
Might allow for parallel compute shader dispatch in some situations.
2018-08-01 09:14:39 +02:00
Philip Rebohle 0ba00b3f59
[dxvk] Add extended device feature structure
This allows the client API to query and enable extended
features in the future, should it become necessary, much
like the extende feature queries.
2018-07-31 16:58:25 +02:00
Philip Rebohle ebb7902b2c
[dxvk] Add extended device info structure
This uses VK_KHR_get_physical_device_properties2
to query extension-specific device properties.
Queries info for VK_EXT_vertex_attribute_divisor.
2018-07-31 16:03:44 +02:00