1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-12-02 10:24:12 +01:00
Commit Graph

1615 Commits

Author SHA1 Message Date
Philip Rebohle
57e5b05f32
[d3d11] Fix layer count for 3D RTVs with non-zero base mip level
We have to take the mip level into account as well, or otherwise
we may create a view with more layers than the selected mip level has.
2018-09-04 07:39:46 +02:00
Philip Rebohle
2533b9f4ed
[dxvk] Fix layer count for 2D views into 3D images 2018-09-04 07:38:47 +02:00
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
ae62499e3a
[meta] Release v0.71 2018-09-02 11:40:38 +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
Jacek Caban
95e04de3ad [build] Use d3dcompiler as lib name when linking to d3dcompiler_47 in winelib build.
As of 169c033bda Wine provides an importlib d3dcompiler that links to d3dcompiler_47, just like MSVC does.
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
715d25716b [build] Don't run wine during winelib build process 2018-08-28 14:13:44 +02:00
pchome
6e2e04cf05 [build] Don't run wine during winelib build process 2018-08-28 14:13:44 +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
674aefcd17 [meta] Update README
- Add info about the device filter
2018-08-27 14:28:55 +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
Philip Rebohle
4c8bf44738
[meta] Copy verb even when using --no-package 2018-08-18 07:47:42 +02:00
Jacek Caban
f6c50b0896
[build] Provide build-wine32.txt file. 2018-08-17 20:12:08 +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
747264213c
[meta] Allow setup script to run from other working directories
Fixes #573.
2018-08-17 16:59:46 +02:00
Philip Rebohle
0aa427d5d8
[meta] Release 0.70 2018-08-17 12:44:54 +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
e6a12dc4e7
[meta] Update README 2018-08-17 11:50:36 +02:00
Philip Rebohle
48a2b63247
[meta] Add custom winetricks verb to set up DXVK
Sets up both 32-bit and 64-bit DXVK for a wine prefix at the same time.
Will be shipped with release binaries. Based on #569.
2018-08-17 11:50:36 +02:00
Philip Rebohle
11e9ebdf81
[meta] wine_utils -> utils 2018-08-17 11:50:36 +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
pchome
9220835171 [build] Mute dllexport GCC warnings for winelib
GCC produces a lot of warnings about ignored dllimport/dllexport attributes.
Detecting real problems from build output will be easier with this warnings turned off.
 
`man winegcc`
> The dllimport/dllexport attributes are not supported at the moment,
> due to lack of support for these features in the ELF version of gcc.

`man gcc`
> -Wno-attributes
> Do not warn if an unexpected "__attribute__" is used,
> such as unrecognized attributes, function attributes applied to variables, etc.
> This does not stop errors for incorrect use of supported attributes.
2018-08-16 12:39:16 +02:00
Philip Rebohle
f75e3ad13f
[d3d11] Fix silly GenerateMips bug 2018-08-16 00:57:16 +02:00