Philip Rebohle
305168d2bb
[util] Add method to set thread priority
2018-11-15 12:17:18 +01:00
Philip Rebohle
6adf534589
[dxvk] Add option to set number of pipeline compiler threads
2018-11-15 09:24:11 +01:00
Philip Rebohle
4db5c21ec5
[dxvk] Use ticket lock to synchronize access to query objects
...
Lowers overhead in the uncontested case compared to std::mutex, and
prevents the main rendering thread from blocking updates for too long.
2018-11-13 17:05:37 +01:00
Philip Rebohle
63d42073b8
[util] Add ticket lock implementation
2018-11-13 17:05:06 +01:00
Philip Rebohle
1724d51079
[dxgi] Refactor presenter creation
...
This change is needed to support non-D3D11 presenters in our DXGI code.
2018-11-12 11:39:34 +01:00
Philip Rebohle
8d2f8fca64
[meta] Release v0.92
2018-11-11 16:16:01 +01:00
Philip Rebohle
6f28ce5809
[dxvk] Do not require GL_EXT_samplerless_texture_functions
...
Ubuntu ships a version of the GLSL compiler that does not support
this extension yet, so building DXVK fails on those systems.
Closes #760 .
2018-11-11 15:48:07 +01:00
Philip Rebohle
a971370524
[dxbc] Implement Dmovc instruction
...
Fixes some mandelbrot demo mentioned in #216 .
2018-11-10 23:27:56 +01:00
Philip Rebohle
0cfa5b16d3
[d3d11] Support R11G11B10 format in ClearUnorderedAccessViewUint
...
Silences an error message in Shadow of the Tomb Raider. Does not have
any consequences for this game because it initializes the view to 0.
2018-11-10 18:48:44 +01:00
Philip Rebohle
05856e836b
[d3d11] Don't enable StorageImageReadWithoutFormat feature for FL11_0
...
We don't really need this, although it might be useful in the future.
2018-11-10 11:34:23 +01:00
Philip Rebohle
504de3994b
[dxvk] Inline DxvkBufferView::updateView method
...
Most of the time the condition is false, so we should help
the compiler where we can to optimize for the common case.
2018-11-09 11:40:44 +01:00
Philip Rebohle
bd03225c14
[dxbc] Refactor DxbcOptions
...
A bit mask isn't good enough going forward, and we also don't
need application-specific options for now.
2018-11-09 08:41:02 +01:00
Philip Rebohle
ab3ba776e0
[d3d11] Do not re-upload mapped image if it was mapped for reading
2018-11-08 18:51:53 +01:00
Philip Rebohle
4d103aad5d
[d3d11] Allow mapping depth-stencil images for reading
...
This may be needed for The Surge and Lords of the Fallen.
2018-11-08 18:51:47 +01:00
Philip Rebohle
f483bc9633
[d3d11] Add usage flag for meta-pack operations if necessary
...
- Fix depth-stencil format list
2018-11-08 18:51:43 +01:00
Philip Rebohle
81a5e2fa0c
[d3d11] Add helper to find exact mapping for depth-stencil formats
...
This is necessary in situations when we need to get the Vulkan format
that corresponds to the DXGI format rather than the remapped one.
2018-11-08 18:51:43 +01:00
Philip Rebohle
2b02e692c3
[dxvk] Implement DxvkContext::copyDepthStencilImageToPackedBuffer
2018-11-08 18:10:56 +01:00
Philip Rebohle
d7d1db1b8b
[dxvk] Add convenience method to retrieve image descriptor
2018-11-08 18:10:56 +01:00
Philip Rebohle
fc8f49899a
[dxvk] Create instance of depth-stencil packing objects
2018-11-08 18:10:56 +01:00
Philip Rebohle
119c06e453
[dxvk] Add pipelines needed for depth-stencil packing
...
- Add method to retrieve meta pack pipeline for a given format
- Add descriptor update template
2018-11-08 18:10:49 +01:00
Philip Rebohle
863f2d07fd
[dxvk] Add compute shaders for depth-stencil packing
2018-11-08 18:10:49 +01:00
Philip Rebohle
0dbac29729
[dxvk] Add packed size to depth-stencil formats
2018-11-08 18:10:49 +01:00
Philip Rebohle
1c98b0f6d3
[tests] Add depth-stencil readback test
...
- Add missing unmap call
2018-11-08 18:10:43 +01:00
Philip Rebohle
70b14f9dbf
[dxvk] Report app name to the Vulkan implementation
...
Because why not?
2018-11-07 21:54:00 +01:00
Philip Rebohle
f32aff29fa
[d3d11] Clear compressed images if they do not get initialized
...
This probably makes Quantum Break run even worse, but I don't really
care at this point. Fixes #744 .
2018-11-07 18:41:07 +01:00
Philip Rebohle
7ed9f36769
[dxvk] Add clearCompressedColorImage method
...
Since we can't use regular clears for compressed
formats, we need a new method to zero image memory.
2018-11-07 18:31:01 +01:00
Philip Rebohle
2d8c9c6a26
[vulkan] Add makeSubresourceLayers helper
2018-11-07 18:30:44 +01:00
Philip Rebohle
3d2e5a7cde
[util] Spoof Nvidia card for Elite Dangerous
2018-11-06 17:03:01 +01:00
Philip Rebohle
780780f8d1
[dxbc] Don't enable sample shading for interpolation functions
...
Actually doesn't resolve #456 , and doesn't make any sense either because
interpolation at a given sample index is apparently supposed to work even
without using sample shading.
2018-11-05 18:30:32 +01:00
Philip Rebohle
2ee7ef7689
[dxbc] Enable sample shading when using interpolation functions
...
Fixes artifacts on RADV when enabling MSAA in World of Warcraft (#456 ).
2018-11-05 17:07:11 +01:00
Philip Rebohle
5a1b37b770
[build] Don't use empty dependencies
...
Fixes build error with Meson 0.44.
2018-11-05 07:55:36 +01:00
Philip Rebohle
e0f1510901
[meta] Release 0.91
2018-11-04 17:23:27 +01:00
Sveinar Søpler
c7e73670fb
Fixed for a05c93dd17
( #748 )
2018-11-04 17:15:13 +01:00
dhewg
a05c93dd17
cross build cleanup ( #746 )
...
- Don't turn off warnings for winelib builds, fix them. Using __declspec on winelib builds just doesn't make sense.
- Drop the custom cross property 'winelib'. Detect it instead.
- Move the libdl dependency to the build system
- Don't run wine during mingw build process. Same as for wine builds, see 715d2571
2018-11-04 16:18:32 +01:00
Philip Rebohle
b6ded02a5d
[dxvk] Pull 'if's into commit{Graphics,Compute}State methods
...
Improves performance because GCC generates silly code around those
if blocks, most of which have a false condition anyway. Improves
performance of 100k empty draw calls with no state changes by as
much as 25%.
2018-11-03 00:51:02 +01:00
Philip Rebohle
963bd66fb3
[dxvk] Use new vulkan helpers to create VkImageSubresourceRange structs
2018-11-02 19:42:53 +01:00
Philip Rebohle
a97073adb9
[dxvk] Move vulkan helpers to vulkan module
2018-11-02 19:42:29 +01:00
Philip Rebohle
d5481ac013
[d3d11] Remove redundant D3D11Buffer::GetSize method
2018-11-02 15:43:46 +01:00
Philip Rebohle
851d9fb726
[general] Remove unnecessary include directories from build files
...
These are no longer needed because dxvk includes consistently
use relative file paths now, instead of global includes.
2018-11-02 14:54:39 +01:00
Philip Rebohle
93d88afab9
[general] Fix some old includes
2018-11-02 14:37:59 +01:00
Philip Rebohle
1cd912556e
[dxvk] Move Vulkan loader to separate directory
2018-11-02 14:23:45 +01:00
Philip Rebohle
45a234607a
[dxvk] Track device / instance ownership
...
This allows us to use the Vulkan function loader for a vkd3d device.
2018-11-02 14:13:07 +01:00
Philip Rebohle
175385481e
[dxvk] Insert barrier before CS image view clear only if needed
...
Removes one unnecessary sync point in Claybook.
2018-11-01 21:48:22 +01:00
Philip Rebohle
f5b21d42fc
[dxvk] Open state cache file only when necessary
...
Fixes an issue with Shadow of the Tomb Raider randomly nuking its cache
when it creates not one but *two* D3D11 devices.
2018-11-01 16:35:49 +01:00
Philip Rebohle
8054e4a772
[dxvk] Add DXVK context method to transparently flush the command list
...
This is identical to what the D3D11 function did, but having it in this
place will allow us to potentially implement better flush heuristics
based on work done on the CS thread.
2018-11-01 13:24:42 +01:00
Philip Rebohle
36ccd46ae7
[dxvk] Move sampler border color handling to the backend
2018-10-31 21:51:23 +01:00
Philip Rebohle
e15e693dc4
[dxvk] Spill render pass for pipelines that use vertex stage UAVs
...
We cannot use simple pipeline barriers in this case because of the
extremely strict restrictions surrounding self-dependencies.
2018-10-30 14:43:52 +01:00
Philip Rebohle
76b63efedb
[dxvk] Use self-dependency to synchronize SSBO writes
...
While this doesn't support vertex stages yet, it should be faster
when the pipeline writes to storage resources from the fragment
shader.
We should analyze the vertex stage shaders for SSBO writes in
order to determine whether to spill the render pass.
2018-10-30 14:11:27 +01:00
Philip Rebohle
43ed820be9
[d3d11] Remove state tracking for UAV rendering
...
This scenario is now properly handled by the DXVK state tracker.
2018-10-29 12:12:34 +01:00
Philip Rebohle
fd52022fff
[dxvk] Spill render pass after draws with storage resources
2018-10-29 12:12:34 +01:00