Philip Rebohle
9520c9b1b8
[dxbc] Apply Modulo 31 to bit counts and offsets (shr/shl/bfe/bfi)
...
Assassin's Creed Syndicate relies on correct behaviour.
2018-09-03 01:01:44 +02:00
Philip Rebohle
09948a3495
[d3d11] Synchronize CS thread after flush when waiting for resource
...
In some rare cases, the flush operation itself may add new references
which we need to see while spinning on the resource's usage counter.
2018-09-01 21:25:39 +02:00
Philip Rebohle
2b3d9aaf5c
[dxvk] Remap spec constant ranges
...
Keeping the numbers low will make debugging shaders easier.
glslang seems to have an upper limit on spec constant IDs
in place.
2018-09-01 20:41:25 +02:00
Philip Rebohle
825200b2a2
[dxvk] Don't change spec constant IDs that are no valid resource slots
...
Fixes pipeline state-related specialization constants.
2018-09-01 20:27:36 +02:00
Philip Rebohle
ffc2130ee6
[d3d11] Pass format swizzle to render target views
...
Fixes missing caterpillars in World of Tanks (#410 ).
2018-09-01 18:15:31 +02:00
Philip Rebohle
05e505a844
[dxbc] Implement pixel shader output component mapping
2018-09-01 18:15:27 +02:00
Philip Rebohle
70786aeee8
[spirv] Support OpVectorExtractDynamic instruction
2018-09-01 17:59:50 +02:00
Philip Rebohle
cb274e040d
[dxvk] Add spec constants for pixel shader output mapping
2018-09-01 17:59:50 +02:00
Philip Rebohle
37a8743dbc
[dxvk] Add output component mask state to graphics pipelines
...
This is required in order to implement swizzled render target views.
We currently use this to remap color write masks as needed.
2018-09-01 17:59:50 +02:00
Philip Rebohle
7c97e276f2
[dxvk] Fix up component swizzle for render target views
...
Vulkan does not support non-identity swizzles for image views that are
used for rendering, but we have to keep the information around in order
to support rendering to swizzled image formats.
2018-09-01 15:51:56 +02:00
Philip Rebohle
f74661daa4
Revert "[util] Limit device memory size to 4095 MB for Life is Feudal MMO"
...
This reverts commit 73cbf5b352
.
The workaround is no longer necessary due t a game update.
Closes #614 .
2018-08-31 22:54:16 +02:00
Philip Rebohle
2f90213c0f
[dxvk] Enable pipeline statistics queries around compute shaders
...
Fixes potential issues caused by csInvocations being 0.
2018-08-31 16:24:03 +02:00
Philip Rebohle
657093c14e
[dxvk] Refactor query management
...
Moved all query-related state tracking and management into a
separate class. This allows for new query types to be added
in the future, and makes less dodgy assumptions about the
current state when beginning or ending a query.
2018-08-31 15:38:09 +02:00
Jacek Caban
9fd30cf5bf
[util] Handle WCHAR strings in str::format.
2018-08-31 05:37:34 +02:00
Philip Rebohle
66d1bed083
[d3d11] Remove old UAV counter buffer implementation
2018-08-30 15:32:46 +02:00
Philip Rebohle
5c45a50daf
[d3d11] Use D3D11CounterBuffer for UAV counters
2018-08-30 15:24:47 +02:00
Philip Rebohle
9992ba1a79
[d3d11] Add more general counter buffer allocator
...
We're going to need it for more than just UAV counters soon.
2018-08-30 15:24:38 +02:00
pchome
ff604d5a53
[d3d10] Fix d3d11 dependecy for winelib build
2018-08-28 12:52:45 +02:00
Philip Rebohle
f1b075c0f3
[dxvk] Add CS chunk pool
...
Reduces the number of dynamic memory allocations for CS chunks by
recycling them once they are no longer needed. Also fixes a potential
issue with chunks that are dispatched multiple times.
2018-08-27 16:07:38 +02:00
Philip Rebohle
b75b7d0999
[dxvk] Simplify discardBuffer access flags
...
Specifying both read and write access is unnecessary, as the dirty
check will always return true for writes when it would also return
true for reads.
2018-08-27 14:50:47 +02:00
Philip Rebohle
01cc49555a
[dxbc] End functions correctly even if last instruction is not 'ret'
...
Some DXBC shaders don't end in a return instruction, but rather implicitly
end when all branches end in a return instruction. Fixes an illegal shader
generated in Crysis 1.
2018-08-27 14:29:40 +02:00
Philip Rebohle
34152a01a5
[dxvk] Add device filter
...
When setting DXVK_FILTER_DEVICE_NAME, only devices with a
matching device name will be reported to the application.
2018-08-27 14:22:14 +02:00
Philip Rebohle
5f42950650
[dxgi] Don't use FIFO present mode if IMMEDIATE is not available
...
Might fix potential performance issues on Nvidia when VSYNC is disabled.
Based on RPCS3/rpcs3@25ec3789fe
2018-08-26 23:39:53 +02:00
Philip Rebohle
08a9963734
[dxvk] Fix clear compute shaders for 2D array views
...
The Z component is not part of the image extent. Fixes #598 .
2018-08-26 20:08:16 +02:00
Philip Rebohle
0704b044a9
[dxgi] Fix format parameter in CheckImageFormatSupport
2018-08-26 12:37:12 +02:00
Philip Rebohle
2bdd614d07
[dxgi] Log display mode changes
2018-08-26 12:37:12 +02:00
Nikolay Sivov
d464d11fbd
[d3d10] Fix resource type for buffers.
2018-08-26 12:16:09 +02:00
Philip Rebohle
73cbf5b352
[util] Limit device memory size to 4095 MB for Life is Feudal MMO
...
Reporting 4GB or more VRAM causes an integer overflow in this game.
Fixes #591 .
2018-08-25 01:23:22 +02:00
Philip Rebohle
57db0b60fb
[dxgi] Add option to limit reported device memory size
2018-08-25 01:22:19 +02:00
Joshua Ashton
48697346c0
[d3d10] Implement Get/SetTextFilterSize using the behaviour D3D10 exhibits ( #587 )
2018-08-22 01:32:59 +02:00
jacekcw
2ff614b241
[build] Use native Vulkan ABI for winelib builds ( #520 )
...
Allows 32-bit winelib builds to run.
2018-08-17 19:55:37 +02:00
Philip Rebohle
55632c6b61
[util] Add log message when loading a configuration file
2018-08-17 19:42:32 +02:00
Philip Rebohle
7fa6dddc9e
[dxgi] Remove dxgi.fakeDx10Support option
...
No longer needed because we have actual Dx10 support now.
2018-08-17 12:33:53 +02:00
Philip Rebohle
b51361eaa9
Revert "[dxbc] Work around OpControlBarrier issue on radv 18.2-git"
...
This reverts commit 9293acfeb5
.
This issue is caused by an LLVM bug, which now has a workaround in RADV:
https://cgit.freedesktop.org/mesa/mesa/commit/?id=71d5b2fbf83061a1319141d26942771e8c75ff2b
2018-08-17 11:50:36 +02:00
Philip Rebohle
f75e3ad13f
[d3d11] Fix silly GenerateMips bug
2018-08-16 00:57:16 +02:00
Philip Rebohle
c3c7a4172d
[d3d11] Fix interface query for ID3D11Predicate
2018-08-16 00:13:40 +02:00
Mikhail Paulyshka
2a96d717d3
[d3d11] fixed compilation with MinGW-headers 6.0.0 or greater
2018-08-15 22:02:39 +02:00
Mikhail Paulyshka
9cce41394b
[build] partially revert previous d3dcompiler related change
2018-08-15 21:59:44 +02:00
Philip Rebohle
e271bc490e
[d3d11] Enable ExtendedDoublesShaderInstructions
2018-08-15 20:12:41 +02:00
Philip Rebohle
e113392bb9
[dxbc] Implement DtoI, DtoU, ItoD and UtoD
2018-08-15 20:11:40 +02:00
Philip Rebohle
86fbba06be
[dxbc] Implement DDiv, DFma and DRcp
2018-08-15 20:11:40 +02:00
Philip Rebohle
fabcdbc3ae
[dxbc] Add definitions for extended double instructions
2018-08-15 20:11:34 +02:00
Philip Rebohle
0b1b898be4
[d3d11] Implement ID3D11DeviceContext1::ClearView
...
Required for Feature Level 11_1.
2018-08-15 19:03:26 +02:00
Philip Rebohle
f4b2c52816
[dxvk] Support render target views in ClearImageView
...
This way, we'll have two separate code paths, one for
storage images and one for render targets. We'll need
this for the implementation of ClearView.
2018-08-15 19:03:26 +02:00
Philip Rebohle
beedd39f7d
[dxvk] Accept VkClearValue in DxvkContext::clearImageView
2018-08-15 19:03:26 +02:00
Philip Rebohle
da21a6db7f
[d3d11] Silence warning about GenerateMips being called on buffers
2018-08-15 19:03:26 +02:00
Mikhail Paulyshka
3df708d500
[build] reduce the number of d3dcompiler versions
2018-08-15 13:17:16 +02:00
Philip Rebohle
e5eb155968
[d3d10] Add some range checks to resource binding functions
2018-08-14 19:37:23 +02:00
Mikhail Paulyshka
5e81b9c88b
[d3d10] added missing __stdcall
2018-08-14 18:48:55 +02:00
Philip Rebohle
dad015bd67
[d3d10] Fix crash in CreateDepthStencilView when pDesc is null
...
This is legal and we should just pass the null pointer to D3D11.
Should fix a crash in Stalker: Call of Pripyat.
2018-08-14 00:12:53 +02:00