Joshua Ashton
201d508626
[dxso] Handle writemask in TexKill op
...
Turns out this actually applies to what is tested, despite docs saying otherwise and never ever seeing this before!
Fixes some broken ENB shaders which I assume have some manual hand edits because I can't get FXC to generate this code at all.
2020-01-29 17:22:38 +00:00
Philip Rebohle
3ab675c233
Revert "[util] Disable float emulation for Hat in Time"
...
Turns out this breaks some levels (e.g. Chapter 1 Act 3).
Performance impact seems minimal on RADV+ACO.
This reverts commit 6f93d3bf22
.
2020-01-28 17:46:33 +00:00
Philip Rebohle
c560ec44b5
[d3d11] Re-introduce client API HUD item
2020-01-28 16:32:58 +00:00
Philip Rebohle
be16da37d7
[d3d11] Introduce COM interface to set and get API version
...
Allows us to identify DirectX 10 applications correctly.
2020-01-28 16:32:58 +00:00
Philip Rebohle
1e6ad0b372
[d3d9] Re-introduce client API HUD item
2020-01-28 16:32:58 +00:00
Philip Rebohle
38ad868214
[hud] Add parameter to allow placing HUD items
2020-01-28 16:32:58 +00:00
Philip Rebohle
588beb5b2f
[hud] Don't initialize client API HUD item by default
...
Removes the client API property from the DXVK device as well.
Instead, client APIs should create the HUD item manually.
2020-01-28 16:32:58 +00:00
Philip Rebohle
ca4c03284f
[dxvk] Don't oversubscribe memory heaps on UMA devices
...
Otherwise, we seem to suffer a major performance penalty
on setups with insufficient dedicated system memory.
2020-01-28 16:31:34 +00:00
Philip Rebohle
3beca254e2
[dxvk] Move UMA check to backend
2020-01-28 16:31:34 +00:00
Joshua Ashton
b1edf227f8
[d3d9] Enable depth bounds feature, if supported
...
Only expose it in format checks if the adapter supports the feature also
2020-01-28 01:51:04 +00:00
Joshua Ashton
6f93d3bf22
[util] Disable float emulation for Hat in Time
...
Squeezes out some extra performance in this title
2020-01-27 14:21:21 +01:00
Joshua Ashton
720cdf383e
[d3d9] Use spec constants for bool constants
2020-01-27 14:21:21 +01:00
Joshua Ashton
a43223256e
[d3d9] Fix GetTextureStageState using unmapped types
...
Closes #1378
2020-01-27 01:07:11 +00:00
Joshua Ashton
65f4437417
[dxso] Initialize vPos value at the start of the shader
...
Otherwise we can end up initializing it in a branch and that's no good.
Closes https://github.com/doitsujin/dxvk/issues/1294
2020-01-26 18:40:32 +00:00
Joshua Ashton
b4666ac044
[dxso] Count max constants after we pull out pre-defines
2020-01-26 18:13:45 +00:00
Philip Rebohle
c77a9e3bfe
[util] Unify Risen 1/2/3 app profiles
2020-01-25 12:10:05 +01:00
Philip Rebohle
fdb2b972e9
[util] Add more exe names to Gothic 3 app profile
...
Fixes #1372 .
2020-01-25 12:10:05 +01:00
Joshua Ashton
9b486515fa
[d3d9] Allow StretchRect BC -> BC format without stretch
2020-01-25 00:31:45 +00:00
Joshua Ashton
c07f7e2ea0
[test] Add test for StretchRect DXT1 -> DXT1
2020-01-25 00:31:45 +00:00
Philip Rebohle
e242d7f312
[meta] Release 1.5.2
2020-01-25 00:32:25 +01:00
Philip Rebohle
5d2215e898
[d3d9] Don't try to blit to compressed images
...
Fixes Vulkan validation errors and potential driver crashes in
Dragon Age Origins.
2020-01-24 22:59:26 +00:00
Joshua Ashton
13792df4c5
[d3d9] Don't mark D3DUSAGE_AUTOGENMIPMAP as renderable
...
We can't access those mips via locking in D3D9 so it's a-okay! :)
2020-01-24 15:54:15 +00:00
Joshua Ashton
2004fba22c
[util] Disable d3d9.allowDoNotWait for RTHDRIBL
...
This app goes into an infinite loop if it gets D3DERR_WASSTILLDRAWING and the perf penalty of blocking on GetRenderTargetData in other apps is too high!
2020-01-24 15:54:15 +00:00
Joshua Ashton
f804c6364d
[d3d9] Implement d3d9.allowDoNotWait
2020-01-24 15:54:15 +00:00
Joshua Ashton
764cb5634f
[d3d9] Unmark resources as dirty if they get discarded
2020-01-24 15:54:15 +00:00
Joshua Ashton
6fa28bf937
[d3d9] Don't block on GetRenderTargetData
...
Fixes perf in #1363
2020-01-24 15:54:15 +00:00
Philip Rebohle
7469f5d4a0
[util] Disable supportDFFormats for Gothic 3
...
See #1367 .
2020-01-24 14:21:28 +01:00
Philip Rebohle
38a0d2c552
[d3d9] Don't check for sRGB formats when retrieving back buffer view
...
Turns out this is always false anyway.
2020-01-24 01:47:52 +01:00
Philip Rebohle
582b06a706
[d3d9] Rotate swap chain back buffers
...
Restores functionality removed in 81c3daa3d0
.
2020-01-24 00:27:09 +00:00
Philip Rebohle
6a6af16195
[d3d9] Retrieve back buffer view from the D3D9Surface
2020-01-24 00:27:09 +00:00
Philip Rebohle
81c3daa3d0
[dxvk] Remove image renaming
...
Broken by design, has to be implemented by client APIs instead.
2020-01-23 22:21:45 +01:00
Florian Will
0b3f9718c9
[d3d9] Fix some off-by-one TSS types enum values
...
They are 0-based instead of 1-based, and therefore supposed to be
off-by-one compared to D3DTEXTURESTAGESTATETYPE, but three values in the
enum are actually off-by-two.
For me, this fixes some odd rail rendering in ZUSI 3.
Fixes: 7d0ddc4b
2020-01-23 17:26:51 +00:00
Joshua Ashton
792c74e1d9
[d3d9] Fix texture stage index in stateblocks
...
Fixes minimap transparency in FHX https://github.com/Joshua-Ashton/d9vk/issues/306
2020-01-23 02:19:43 +00:00
Joshua Ashton
9919ffe5ca
[util] Add simple [] operator to our bitset
2020-01-23 02:05:09 +00:00
Joshua Ashton
7d0ddc4b3b
[d3d9] Remap texture stage state types onto our own enum
...
Fits us nicely into a dword for captures while not exclusing D3DTSS_CONSTANT
2020-01-23 02:05:09 +00:00
Joshua Ashton
a1cad25a51
[d3d9] Remove unnecessary loops for some stateblocks applications
2020-01-23 02:05:09 +00:00
Philip Rebohle
21330497e0
[util] Add app profile for Entropia Universe
...
Fixes #1364 (again).
2020-01-23 01:31:57 +01:00
Philip Rebohle
9721938e57
[d3d11] Introduce d3d11.invariantPosition option
...
Apparently it's better to make app profiles than risk tanking
performance for all applications. Invariance rules in D3D11 are
undocumented so it's not clear what the correct solution is.
2020-01-23 01:28:19 +01:00
Philip Rebohle
11f08c7dea
[dxbc] Declare vertex positions as invariant
...
Otherwise, games relying on different vertex shaders to produce
the same numerical results may suffer from Z-fighting issues.
Fixes #1364 .
2020-01-22 23:59:51 +01:00
Joshua Ashton
ff2c6a076f
[d3d9] Fix opSelect condition vector size
...
Fixes invalid fixed function shaders
2020-01-22 22:54:27 +00:00
Joshua Ashton
7de15fe837
[util] Spoof AMD for Skyrim (nvapi)
2020-01-22 16:20:42 +00:00
Philip Rebohle
a57dc75247
[d3d11] Implicitly begin scoped queries in End if necessary
...
Matches (undocumented) D3D11 behaviour. Warriors Orochi 4 runs into
this because it does not begin some of its timestamp disjoint queries
before ending them and retrieving data.
2020-01-22 04:17:13 +01:00
Joshua Ashton
35a9934cde
[d3d9] Make unbound textures return (0, 0, 0, 1) (fixed func)
...
Fixes sky in Ferentus Herrcot Xiones
https://github.com/Joshua-Ashton/d9vk/issues/306
2020-01-18 03:10:47 +00:00
Joshua Ashton
4810a5dc72
[dxso] Make unbound textures return (0, 0, 0, 1)
...
Matches native behaviour
2020-01-18 03:10:47 +00:00
Philip Rebohle
eed57ed6c4
[util] Enable d3d9.deferSurfaceCreation for a ton of weeb games
2020-01-17 18:29:15 +01:00
Philip Rebohle
caae5d18ed
[d3d9] Remove unused variable
...
Fixes a compiler warning.
2020-01-17 18:04:09 +01:00
Philip Rebohle
609856db35
[d3d9] Create front buffer
2020-01-17 18:04:09 +01:00
Philip Rebohle
f20a3c07fb
[d3d9] Don't create sRGB views for non-sRGB compatible textures
...
Otherwise we end up creating views with VK_IMAGE_FORMAT_UNDEFINED.
2020-01-17 17:47:08 +01:00
Philip Rebohle
296aacb23e
[d3d9] Return specific image view from GetSampleView
...
Lets us have pick the sRGB-ness of the view in one place. Needed
for the next patch.
2020-01-17 17:47:08 +01:00
Philip Rebohle
905d69e77b
[d3d9] Don't pass format mapping to D3D9CommonTexture
...
Instead, infer it from the format. This is basically being done
already, however the mapping we pass in is not correct if the
image format is Unknown.
2020-01-17 17:47:08 +01:00