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

3402 Commits

Author SHA1 Message Date
Rhys Perry
73cb711f32 [dxbc] Bounds-check temporary array stores
Fixes flickering terrain in Just Cause 3 on RADV and possibly ANV.
2020-09-14 16:56:06 +02:00
Philip Rebohle
4801fbe098
[d3d11] Clamp and validate bound constant buffer range
SetConstantBuffers will only bind the first 65536 bytes of any
buffer passed to it if it is larger. This can be seen even when
querying the bound range via GetConstantBuffers1.

SetConstantBuffers1 does not have any effect if the bound range
is invalid.
2020-09-14 16:50:16 +02:00
Joshua Ashton
81632b91bb [dxso] Allocate shader compiler on the heap
In some apps that call us with limited stack space, this can stack overflow
2020-09-11 21:49:14 +01:00
Joshua Ashton
3e65c2bb87 [d3d9] Reduce copying around of shader metadata at Create time 2020-09-11 21:49:14 +01:00
Joshua Ashton
1274b7a8e7 [dxvk] Add helper to retrieve SHA1 hash from shader key 2020-09-11 21:49:14 +01:00
ishitatsuyuki
bb85a4caa8 Handle non-ASCII characters properly in paths 2020-09-10 15:56:38 +02:00
Philip Rebohle
7bf02a1925
[d3d11] Fix incorrect layer count for some non-PoT 3D RTVs
Otherwise, we may end up with zero layers. Fixes #1756.
2020-09-04 23:04:06 +02:00
Philip Rebohle
41a49a9c14
[dxgi] Add B8G8A8X8 formats to GetMonitorFormatBpp
Doesn't really fix anything, just silences some warnings
in Horizon Zero Dawn.
2020-09-04 17:54:01 +02:00
Philip Rebohle
9433d0cbf3 [meta] Update README 2020-08-24 10:10:20 +02:00
Philip Rebohle
645c8f8177 [util] Add option to disable log files entirely
But still log to stderr. Fixes #1743.
2020-08-24 09:09:18 +02:00
Philip Rebohle
16a51f3c03 [dxvk] Only use half of the DEVICE_LOCAL | HOST_VISIBLE heap on Nvidia
Seems to help with random crashes in FFXIV and potentially
other games on 450 series drivers.
2020-08-22 11:51:56 +02:00
Philip Rebohle
e435e071e0 [dxvk] Introduce memory heap budget
Allows more fine-grained control of memory allocations for specific
heaps. For now, target 80% for device-local heaps on UMA devices.
2020-08-22 11:50:37 +02:00
Joshua Ashton
743f309253 [d3d9] Implement YV12 video format
Needed for #1726 otherwise it will upload dump that upload garbage in a YUV2 texture.
2020-08-17 22:32:30 +01:00
Robin Kertels
89d36e1d7f [d3d9] Handle edge cases around implicit discard 2020-08-15 05:45:01 +01:00
Philip Rebohle
ea53923406
[meta] Release 1.7.1 2020-08-13 19:10:20 +02:00
Philip Rebohle
2a0f10e611
[util] Enable apitrace mode for Monster Hunter World 2020-08-13 18:52:45 +02:00
Philip Rebohle
48777c8fcf
[dxvk] Remove optional memory property flags one by one
We don't always want to remove HOST_CACHED if no DEVICE_LOCAL
type exists, so iterate over the bits one by one.
2020-08-13 18:47:52 +02:00
Philip Rebohle
346197c8c1
[util] Enable apitrace mode for Darksiders Warmastered Edition
Fixes #1719.
2020-08-12 23:39:53 +02:00
Philip Rebohle
d4f6ccb8a8
[dxvk] Add new 4444 formats to format list
Derp.
2020-08-12 23:12:18 +02:00
Joshua Ashton
d92660923a
[d3d9] Use VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT 2020-08-10 09:45:49 +02:00
Philip Rebohle
cb7f1dc966
[dxgi] Use VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT if available 2020-08-10 09:45:45 +02:00
Philip Rebohle
397daa0432
[dxvk] Enable VK_EXT_4444_formats if available 2020-08-10 09:45:45 +02:00
Philip Rebohle
a714cd94bd
[include] Update Vulkan headers 2020-08-10 09:45:41 +02:00
Robin Kertels
b28a7353bb [d3d9] Do implicit discard when locking system memory resources 2020-08-10 00:09:29 +01:00
Joshua Ashton
98c7da805b [d3d9] Rename BT.703 to BT.709
Don't know how this typo got introduced.

Thanks to Ryao for finding the matrix and pointing this out.
2020-08-07 20:54:45 +01:00
Kevin Schmidt
9f6f6a7979 [util] Enable d3d9.memoryTrackTest for Anarchy Online
Prevents the game from consuming all system memory.

Signed-off-by: Kevin Schmidt <kevin.patrick.schmidt@googlemail.com>
2020-08-07 11:11:05 +01:00
Joshua Ashton
e2a26f2bc5 [d3d9] Optimize NV12 conversion to use a macropixel of [2, 1] 2020-08-07 10:56:26 +01:00
Joshua Ashton
9fe1b9d03f [d3d9] Replace macropixel size with plane count 2020-08-07 10:56:26 +01:00
Joshua Ashton
2bf9f298af [d3d9] Implement NV12 format conversion 2020-08-07 10:56:26 +01:00
Joshua Ashton
32c1a4e2b8 [tests] Implement an NV12 test 2020-08-07 10:56:26 +01:00
Joshua Ashton
2cfd219024 [d3d9] Move some YUV helpers to common and cleanup YUY2 shader 2020-08-07 10:56:26 +01:00
Joshua Ashton
ad6b91d84a [d3d9] Flush and synchronize to cs before format conversion
Fixes a race when DISCARD is used
2020-08-07 10:56:26 +01:00
Joshua Ashton
f1aa80dab9 [d3d9] Don't private reference additional swapchains 2020-08-07 10:56:26 +01:00
Joshua Ashton
e7d9d4739a [util] Fix trace macro for functions with no args 2020-08-07 10:56:26 +01:00
Joshua Ashton
aa01d914f1 [util] Implement METHOD_NAME for _MSC_VER 2020-08-07 10:56:26 +01:00
Jason Bagavatsingham
145d8225f4 [util] Set enableRtOutputNaNFixup for Observation 2020-08-06 14:14:49 +02:00
ryester27
d88b792447 Use d3d9.deferSurfaceCreation for Fairy Tail 2020-08-04 04:29:57 +02:00
Philip Rebohle
3322da4b94
[dxgi] Add DXGIGetDebugInterface1 stub
Required for Metro Exodus. Also exports the DXGI entry points
with their correct ordinals.
2020-07-24 12:25:48 +02:00
Biswapriyo Nath
3b52cad243 fix clang errors
File changes:
    * meson.build: add -Wno-unused-private-field and -Wno-microsoft-exception-spec
                   option to suppress clang compiler warnings
    * d3d9/d3d9_swvp_emu.h: include unordered_map for std::unordered_map
2020-07-21 11:41:28 +02:00
Christopher Egert
76e3bb78c9 [util] Disable DF24 support for Borderlands 2
and The Pre Sequel!
2020-07-20 18:41:40 +01:00
Robin Kertels
f3a82a0bcc [d3d9] Only use DEVICE_LOCAL memory for small dynamic buffers
Tomb Raider Legend writes to multiple 128KB dynamic buffers
and one 512KB one every frame.
2020-07-20 18:36:20 +01:00
Robin Kertels
2714cb952d [d3d9] Extend dirty tracking to render targets
Ensures we copy a dynamic default pool texture to its
mapping buffer after the device renders to it.
2020-07-20 18:36:20 +01:00
Philip Rebohle
66814ea8db
Revert "[d3d11] Move D3D11Shader implementation to its own file"
Useless since it doesn't fix the clang problem.
2020-07-18 00:10:31 +02:00
Philip Rebohle
56fe52ca3c
[d3d11] Move D3D11Shader implementation to its own file
And resolve some include madness. Necessary because D3D11Shader::GetDevice
needs to know the full definition of D3D11Device, but D3D11Device needs
to know the full definition of the other shader-related classes.
2020-07-17 10:16:37 +02:00
Biswapriyo Nath
0b4489a31c meson: use if-else to detect rc compiler
this will help to add/build other architecture
2020-07-15 10:05:50 +02:00
Philip Rebohle
5ab12d9668
[d3d11] Reenable null descriptor feature 2020-07-10 16:59:20 +02:00
Philip Rebohle
23691cd0ff
[dxvk] Enable extended dynamic state feature if available 2020-07-10 16:59:20 +02:00
Philip Rebohle
ce33b60f9c
[dxvk] Remove null descriptor code paths for unbound resources 2020-07-10 16:59:20 +02:00
Philip Rebohle
2c641566ab
[dxvk] Fix inefficient check in bindVertexBuffer 2020-07-10 16:59:20 +02:00
Philip Rebohle
dfc0b740f8
[dxvk] Use vkCmdBindVertexBuffers2 to bind buffer ranges
Potentially fixes problems with OOB access on dynamic vertex buffers.
2020-07-10 16:59:20 +02:00