Joshua Ashton
ff9d451a4e
[util] Force saner SWVP limits for TrackMania Forever
...
Closes : #1910
2021-02-06 08:28:03 +00:00
Joshua Ashton
bba3f9f3db
[util] Defer surface creation for Nioh 2
...
Fixes black screen on startup.
2021-02-06 07:48:52 +00:00
Joshua Ashton
9bee3e1cb9
[util] Add config for Dark Messiah of Might & Magic
...
Same problem as other early Source titles, infinitely makes resources at startup to measute VRAM.
2021-01-30 04:36:26 +00:00
Philip Rebohle
01a511aa99
[dxvk,dxgi,d3d9] Fix shader spec constant IDs
...
These changed after changing the render target output swizzle stuff.
2021-01-29 16:46:01 +01:00
Philip Rebohle
2d670ec3db
[dxbc] Enable capabilities for float control modes
...
Fixes some validation errors (but seriously, why does everything
have to be a capability in SPIR-V?)
2021-01-29 16:29:39 +01:00
Philip Rebohle
c1073455bf
[spirv] Add hasCapability method
2021-01-29 16:29:26 +01:00
Philip Rebohle
3a993d0c5c
[dxvk] Use only one spec constant for fragment shader output component mapping
...
Let's trust the driver to be able to constant-fold bitfieldExtract operations.
2021-01-29 16:17:07 +01:00
Philip Rebohle
307f43ff1e
[d3d11] Introduce option to disable float controls
...
And disable for SotTR since it introduces rendering issues.
2021-01-28 20:32:38 +01:00
Philip Rebohle
8de9dc9378
[d3d11] Enable d3d11.invariantPosition by default
2021-01-28 20:09:47 +01:00
Philip Rebohle
1478011822
[dxbc] Enable NaN fixup by default on older RADV versions
...
And get rid of a whole bunch of game-specific workarounds.
2021-01-28 19:37:10 +01:00
Philip Rebohle
f5fa7a9099
[dxbc] Set float control bits as necessary
2021-01-28 19:37:10 +01:00
Philip Rebohle
849fb329ec
[dxvk] Enable VK_KHR_shader_float_controls if supported
2021-01-28 19:37:10 +01:00
dom
7d7c057d46
[util] Enable dxgi.customVendorId for Hitman 3
2021-01-28 14:07:52 +01:00
Philip Rebohle
a17ec95f21
[utils] Enable d3d9.deferSurfaceCreation for Atelier Ryza 2
2021-01-26 12:06:20 +01:00
Philip Rebohle
b8bc36559d
[d3d11] Optimize index buffer binding with offset
...
Do not rebind the buffer if only the offset changes. Instead,
adjust StartIndexLocation in indexed draw calls. For indirect
draws, this will be disabled on the fly.
This may save a whole bunch of work in the backend, and reduces
the number of commands being sent to the CS thread in the first
place, which is why this optimization is not being done in the
backend itself but rather on the client API side.
2021-01-24 15:18:38 +01:00
Philip Rebohle
f869881f55
[util] Enable TGSM barrier workaround for more F1 games
...
F1 2020 is reportedly broken as well.
2021-01-16 15:28:30 +01:00
Joshua Ashton
742b52bbb5
[d3d11] Fix device child refs properly
2021-01-15 23:47:48 +01:00
Philip Rebohle
499f15011f
[util] Enable TGSM barrier workaround for F1 2018
...
Game has the same bug as F1 2019. Fixes #1897 .
2021-01-15 13:15:01 +01:00
Philip Rebohle
3caf5269f2
[dxvk] Add regular barrier after graphics queue depth image upload
...
We still need a barrier for the layout transition.
2021-01-12 13:25:00 +01:00
Philip Rebohle
b19293430a
[dxvk] Execute depth/stencil image upload on graphics queue
...
Silences a validation error.
2021-01-12 12:14:53 +01:00
Joshua Ashton
0eec95843f
[d3d9] Fix warnings with query caching
2021-01-08 13:49:38 +00:00
Gabriel Ivăncescu
83f6400a07
d3d9: Send necessary messages for full-screen windows during WM_ACTIVATEAPP.
2021-01-08 13:40:34 +00:00
Joshie
dde28a967f
[d3d11] Fix forward declaration of ID3D11Texture2D
...
This should be struct not class.
Silences warnings in MSVC.
2021-01-08 13:06:02 +01:00
Joshua Ashton
838a6ef0f1
[d3d11] Disallow mismatching shader bytecode and type
...
Fixes a wine test which lead to a "refcounting bug" down the line.
2021-01-08 11:59:16 +01:00
Andrew Eikum
2405e474e5
[dxvk] Use wineopenxr to apply required OpenXR extensions
2021-01-07 23:54:02 +01:00
Andrew Eikum
a3065fca8e
[d3d11] Extend interop interfaces for OpenXR support
2021-01-07 23:54:02 +01:00
Robin Kertels
60a2aeb6ef
[d3d9] End query before the stall heuristic flush
2021-01-07 21:19:28 +00:00
Robin Kertels
0f933fee8b
[d3d9] Extend query stall tracking to other query types
2021-01-07 21:19:28 +00:00
Robin Kertels
6554ca8f9e
[d3d9] Cache query data
2021-01-07 21:19:28 +00:00
gofman
5852e318e5
[d3d11] Fix device ref counting from queries. ( #1887 )
...
Fixes AO Tennis 2 crash on exit.
Co-authored-by: Paul Gofman <pgofman@codeweavers.com>
2021-01-06 20:10:44 +01:00
oltolm
f337ad3c05
fix d3d11 header for MinGW 9 ( #1883 )
2021-01-04 00:52:43 +01:00
PendingChaos
f39472a9ba
[util] Set invariantPosition for Devil May Cry 5 ( #1863 )
...
Fixes some missing/shifting geometry on GFX10.3 and RADV/ACO.
Tested using dxvk.conf and DXVK 1.7.3.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
2021-01-02 10:42:33 +01:00
Jason Bagavatsingham
05f4b1bb3c
[util] Set enableRtOutputNaNFixup for Empire of Sin ( #1858 )
...
Co-authored-by: Jason Bagavatsingham <jason.bagavtsingham@gmail.com>
2021-01-02 10:42:26 +01:00
Samuel Pitoiset
d0d1d99537
[util] set enableRtOutputNanFixup for VRChat ( #1872 )
...
Fixes rendering issues with RADV.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
2021-01-01 23:07:11 +01:00
Robin Kertels
ea13a68678
[util] Enable apitrace mode for Everquest
2020-12-26 17:37:07 +00:00
Robin Kertels
56399e49d1
[util] Enable apitraceMode for Tomb Raider Legend
2020-12-14 16:51:19 +00:00
Robin Kertels
6a54d86f25
[d3d9] Implement apitraceMode option
2020-12-14 16:51:19 +00:00
Robin Kertels
4b6632764f
Revert "[d3d9] Only use DEVICE_LOCAL memory for small dynamic buffers"
...
This reverts commit f3a82a0bcc
.
Apparently this makes other games slower. We need a different solution for TR: Legend.
2020-12-14 16:51:19 +00:00
Joshua Ashton
65635b23c1
[d3d9] Always slightly bias viewport, regardless of size
...
Since we got TRUNC_COORD on RADV, we always need to bias this now.
Closes : #1854
2020-12-14 03:51:49 +00:00
PendingChaos
495b2a098e
[util] Set invariantPosition for Monster Hunter World ( #1850 )
...
Fixes flickering on GFX10.3 with RADV/ACO.
2020-12-11 18:51:10 +01:00
Philip Rebohle
03f11baf57
[hud] Fix up nonsensical scaling factors
2020-12-06 01:03:01 +01:00
Philip Rebohle
74abb5bb80
[hud] Initialize scale to 1
...
See #1843 .
2020-12-06 00:48:48 +01:00
Philip Rebohle
854ae7b862
[dxvk] Add transform feedback buffer usage to dummy buffer
...
Silences some Vulkan validation errors.
2020-12-06 00:35:29 +01:00
Philip Rebohle
0b4e167fc9
[hud] Fix typo
2020-12-02 17:13:41 +01:00
Philip Rebohle
b67639bdf0
[meta] Release 1.7.3
2020-12-02 16:14:56 +01:00
Philip Rebohle
6814ad45d4
[hud] Fix positioning of compiler item when scaled
2020-12-02 16:14:56 +01:00
Philip Rebohle
a23be756d7
[hud] Implement HUD scaling
...
Can be set like DXVK_HUD=fps,scale=1.5.
2020-12-01 03:31:22 +01:00
Philip Rebohle
8fe3effb40
[hud] Draw lines as triangle strip
2020-12-01 03:31:22 +01:00
Philip Rebohle
0ce5dd8b03
[dxvk] Remove conditional rendering from backend
...
Was disabled anyway due to being broken on various drivers,
so let's get rid of it.
2020-11-30 19:18:26 +01:00
Philip Rebohle
34e730fe41
[d3d11] Remove predication-related code
2020-11-30 19:18:26 +01:00
Philip Rebohle
e79e8b9062
[dxvk] Increase queued command buffer limit to 18
...
May help when games upload a large number of resources
at once, at the cost of increased memory usage.
2020-11-27 12:22:08 +01:00
Philip Rebohle
c547039bef
[dxvk] Decide memory priority based on access flags rather than usage
...
Buffers used as shader resources are storage buffers as well,
and should not take priority over other read-only resources.
2020-11-27 12:20:55 +01:00
Joshua Ashton
5d8539672d
[util] Fix config for EverQuest2
2020-11-27 06:27:01 +00:00
Joshua Ashton
bbfd6d0690
[util] Enable alpha test wiggle room for EverQuest 2
...
Fixes clothing being alpha tested incorrectly due to wonky interpolation on NVIDIA.
Game uses oC0 == 1.0f
My testing on NV shows the alpha test has a precision of 1/256 for all A8 and below formats, and around 1 / 2048 for A32F formats and 1 / 4096 for A16F formats (It makes no sense to me too) so anyway, we're just going to round this to a precision of 1 / 4096 and hopefully this should make things happy everywhere.
Closes : #1832
2020-11-26 12:16:33 +00:00
Joshua Ashton
09043ddd16
[dxso] Implement option for alpha test wiggle room
2020-11-26 12:15:03 +00:00
Philip Rebohle
538b55921e
[dxbc] Conditionally return zeroes for unbound textures in shader
...
May allow the driver to optimize away texture operations.
2020-11-24 18:39:20 +01:00
Philip Rebohle
45461ee54e
[dxbc] Use opSelect for unbound texel fetch instructions
...
Generates less annoying code compared to control flow instructions,
and drivers should be able to optimize away the texture instruction
anyway since the bound state is a specialization constant.
2020-11-24 18:36:40 +01:00
Philip Rebohle
5e5937baf4
[dxvk] Pass size of 0 for dummy vertex buffer
...
Silences some validation errors in case null descriptors are disabled.
2020-11-24 17:50:14 +01:00
Joshua Ashton
6a63f4af56
[d3d9] Enable null descriptors for D3D9
2020-11-24 16:17:36 +00:00
Philip Rebohle
3cf7d65789
[hud] Use textureLod in fragment shader
...
Should silence some validation errors.
2020-11-24 17:07:22 +01:00
Joshua Ashton
c282ec7976
[dxso] Handle extraneous writemasks in matrix ops
2020-11-24 15:58:21 +00:00
Philip Rebohle
f74071ac0a
[d3d11] Support different strides for merged indirect draws
...
Trine 4 uses a stride of 32 bytes. Detecting the stride dynamically
allows us to merge a couple of draws in this game, and others which
do not tightly pack their draw parameter buffers.
2020-11-21 05:39:05 +01:00
Philip Rebohle
bf4465f5a2
[dxvk] Increase query pool sizes
...
Some games create hundreds of timestamp queries, we want to reduce
the number of pools in that case.
2020-11-21 03:35:41 +01:00
Philip Rebohle
d256175981
[dxvk] Eliminate back-to-back clears when no render pass is active
...
Trine 4 hits this with a multisampled depth buffer multiple times
per frame. Previously, we'd only eliminate redudant clears if the
render target to clear was active in the current render pass.
2020-11-21 03:03:15 +01:00
Philip Rebohle
61a07fc9b9
[dxbc] Fix up incorrect infinity returned by f32tof16
...
Completely insane fix for #1826 .
2020-11-21 01:25:03 +01:00
Philip Rebohle
d0cdd79dd2
[dxgi] Allow creating R16_SFLOAT views for D16_UNORM images
...
Just use R16_UNORM. For some reason, D3D11 actually allows this, and
Trine 4 wants the corresponding calls to succeed, although we're going
to interpret the data as UNORM rather than FLOAT.
2020-11-20 17:14:41 +01:00
Shawn M. Chapla
7ef6132cf0
[util] Use nvapiHack by default for Far Cry Primal ( #1821 )
...
Remove nvapiHack=False default override for Far Cry Primal as the game
is unplayable without an nvapi implementation and appears to now perform
fine with nvapiHack.
Co-authored-by: Shawn M. Chapla <schapla@codeweavers.com>
2020-11-18 10:12:40 +01:00
Joshie
6a10c81d4b
[d3d11] Define ordinals for exports ( #1812 )
2020-11-11 16:54:36 +01:00
Philip Rebohle
13052d4949
[dxgi] Actually expose new DXGI interfaces
...
Derp.
2020-10-24 17:41:55 +02:00
Philip Rebohle
54a4e91dad
[dxgi] Implment IDXGIFactory7
2020-10-23 12:21:02 +02:00
Philip Rebohle
a7de355646
[dxgi] Implement IDXGIFactory6
2020-10-23 12:15:48 +02:00
Philip Rebohle
f81395c742
[dxbc] Fix operand modifiers on 64-bit types
2020-10-22 12:43:04 +02:00
Philip Rebohle
7b9644f355
[meta] Release 1.7.2
2020-10-07 17:41:54 +02:00
Philip Rebohle
1863c6e81c
[dxvk] Catch exceptions of type DxvkError on CS thread
2020-10-07 16:33:48 +02:00
Philip Rebohle
0b011ea361
[dxvk] Throw error in case a pipeline layout uses too many bindings
2020-10-07 16:33:48 +02:00
Philip Rebohle
d153d5c19a
[dxvk] Bump state cache version to v9
...
Needed because the binding bit mask increased in size.
2020-10-07 16:33:48 +02:00
Philip Rebohle
e98493fc24
[dxvk] Increase maximum active binding count to 384
...
Fixes a stack overflow in Baldur's Gate 3, caused by a compute shader
that uses 131 resources.
2020-10-07 16:33:48 +02:00
Rhys Perry
4251b7a59c
[util]: Set enableRtOutputNaNFixup for Art of Rally
...
Fixes the (Windows) Art of Rally demo.
See https://gitlab.freedesktop.org/mesa/mesa/-/issues/3562
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
2020-10-06 15:57:07 +02:00
Samuel Pitoiset
ccb782219c
[util] Set enableRtOutputNanFixup for some Chilla's Art games
...
See ValveSoftware/Proton#4167
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
2020-09-26 16:45:49 +02:00
Samuel Pitoiset
3487685a79
[util] Set enableRtOutputNaNFixup for The Dungeon of Naheulbeuk
...
Fixes rendering issues with RADV and AMDVLK (haven't tried -pro).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
2020-09-26 15:06:29 +02:00
Joshua Ashton
c3fdc768cf
[d3d9] Only define the push constants we use
...
Fixes #1742
2020-09-26 06:39:52 +01:00
Joshua Ashton
753fcd5649
[d3d9] Only read point scale push constant in fixed function
...
Otherwise it doesn't exist and we're reading garbage/non-existant data.
Even though this gets spec-constanted away via an opSelect, some drivers don't like this
2020-09-26 06:39:52 +01:00
Joshua Ashton
e4bca7a42f
[d3d9] Handle specular fog factor for fixed function
...
Also handle POSITION_T shenanigans
Closes #1771
2020-09-26 06:06:06 +01:00
Joshua Ashton
dc392f7cfa
[d3d9] Fix typo declaring fixed func fog inputs
2020-09-26 04:03:11 +01:00
Philip Rebohle
ab04f45ea0
[d3d11] Handle null pointers in CopySubresourceRegion1.
...
Because of course Marvel's Avengers tries to do this..
2020-09-17 13:36:09 +02:00
Robin Kertels
b21a673a8d
[d3d11] Don't use clamped constant buffer range for bounds checking
2020-09-14 22:43:18 +02:00
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
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