Joshua Ashton
f140d2de0d
[d3d9] Handle swapchain OOM and other errors more gracefully
...
Supercedes: #2964
2023-05-03 12:59:02 +01:00
Robin Kertels
860237e775
[d3d9] Skip 0x0 clears
2023-05-03 13:23:47 +02:00
Robin Kertels
a42643b235
[d3d9] Fall back to GDI blit for partial presents
2023-05-03 12:18:11 +01:00
Robin Kertels
990a720525
[d3d9] Handle a bunch of texture converter edge cases
2023-04-16 09:18:30 +01:00
oltolm
6b779206d9
remove unneeded definitions
2023-04-11 18:30:46 +02:00
Robin Kertels
af0009c5de
[d3d9] Use DxvkFormatInfo for video formats
...
And fix UYUY and YUY2 in the process.
2023-04-08 03:15:44 +01:00
Robin Kertels
d11878e793
[d3d9] Only apply viewport zBias if minZ is below 0.5
...
Fixes Space Marine shadows.
Tests show that Windows D3D9 (Nvidia) works like that.
2023-03-23 03:52:08 +00:00
Philip Rebohle
9bdad71dc6
[d3d11] Implement CreateWrappedResource for D3D12 textures
2023-03-18 00:50:42 +01:00
Philip Rebohle
da32453b42
[dxvk] Add submission feedback to command submissions
2023-03-16 20:59:43 +01:00
WinterSnowfall
243c2f3cf5
[d3d9] remove support for the A1/X1R5G5B5 formats
2023-03-14 13:17:13 +00:00
Robin Kertels
d14dcf5d47
[d3d9] Fix redundant copy of SWVP VS consts
...
Fixes performance regression caused by state block changes.
2023-03-10 03:24:32 +00:00
Joshua Ashton
996acbe3f2
[d3d9] Refactor state blocks to allocate dynamically.
2023-03-07 23:24:01 +00:00
Robin Kertels
1c6fc7b5b8
[d3d9] Clamp stage and type in [G,S]etTextureStageState
...
This is what happens on the Nvidia D3D9 driver.
Dawn of Magic 2 calls SetTextureStageState with a
stage > 7 and expects that to succeed.
2023-03-02 13:41:32 +00:00
Philip Rebohle
4c78964679
[d3d9] Only log QueryInterface errors once
2023-03-01 13:25:56 +01:00
Philip Rebohle
81440340ac
[d3d9,dxvk,util] Actually use dxvk::mutex
2023-03-01 13:03:43 +01:00
Robin Kertels
0d28be4ab8
[d3d9] Fix capturing lights in state block
2023-02-23 13:15:17 +00:00
Philip Rebohle
61d72eebc1
[dxgi,d3d9] Use global singleton for DXVK instances
...
No reason to have multiple of these around, and instance creation
is fairly expensive.
2023-01-23 17:17:56 +01:00
Philip Rebohle
459758c6ff
[d3d9] Don't set storage buffer usage unless necessary
...
This actually matters now to some degree.
2023-01-15 15:36:05 +01:00
Philip Rebohle
d35bf455d9
[dxvk] Rename bindResourceBuffer to bindUniformBuffer
2023-01-15 15:36:05 +01:00
Philip Rebohle
4a30933359
[dxvk] Add UBO set property to descriptor info
...
Used to explicitly propagate storage buffer bindings
to the respective UBO set.
2023-01-15 15:36:05 +01:00
Robin Kertels
97a91c816f
[d3d9] Disable instancing for non-indexed draws
2023-01-13 21:58:41 +00:00
Philip Rebohle
0342a25e61
[d3d9,dxso] Add d3d9.forceSampleRateShading option
2023-01-09 18:35:02 +01:00
Robin Kertels
f94b42f23f
[d3d9] Dont use GenerateDrawInfo in DrawPrimitiveUp
...
This is confusing because it looks like a race condition
at first glance.
2022-12-30 19:29:34 +00:00
Philip Rebohle
b838b65516
[d3d9] Correctly mask alpha reference push constant
...
We accidentally lost this during the rework, since the initial
implementation scaled the alpha ref value on the CPU.
Fixes #3123 .
2022-12-06 21:25:55 +00:00
Robin Kertels
522909b165
[d3d9] Don't set NeedsReadback when dirtying mip maps
...
It's impossible to lock non 0 mips anyway.
2022-12-03 15:18:40 +00:00
Robin Kertels
4796eb0b0d
[d3d9] Implement capturing lights in state blocks
2022-11-21 16:06:49 +00:00
Robin Kertels
d0a10cc9f8
[d3d9] Handle DS texture uploads
2022-11-21 15:59:25 +00:00
Robin Kertels
3393c5f4ff
[d3d9] Only upload mip 0 of managed automipgen textures
2022-11-19 17:34:02 +00:00
Robin Kertels
8a2e4ef481
[d3d9] Allow locking DEFAULT pool based on texture type
2022-11-10 13:37:52 +01:00
Christopher Egert
e30b783505
d3d9: Use a different rvalue for depth bias on NV
2022-11-09 01:15:00 +00:00
Robin Kertels
ecc2302389
[d3d9] Fix query reset counter underflow
2022-11-07 23:34:32 +00:00
Philip Rebohle
03dca539cb
[vulkan,d3d9,d3d11] Move surface creation to swap chain implementation
2022-11-07 14:14:05 +01:00
Robin Kertels
d8933ca175
[d3d9] Only do one allocation for all texture subresources
2022-11-06 19:35:03 +00:00
Robin Kertels
4fb7acc64e
[d3d9] Implement converter for W11V11U10
2022-11-06 02:55:29 +00:00
Adam Jereczek
0462454d2b
Fix for saving vertex shader constants with a StateBlock
...
Co-authored-by: aroztkow <aneta.roztkowska@intel.com>
2022-10-31 18:16:15 +00:00
Robin Kertels
0fc5c84e7b
[d3d9] Don't advertise support for MS INTZ format
2022-10-30 21:50:44 +00:00
Georg Lehmann
bc31ebe151
[d3d9] Fix OptimizeLayout with feedback loop usage.
...
We kind of need dcc on GFX8/9.
2022-10-29 11:21:55 +02:00
Robin Kertels
9c22a58543
[d3d9] Disable locking non-dynamic default textures
2022-10-24 20:55:00 +01:00
Robin Kertels
d771f7cf8f
[d3d9] Remove dead fields
2022-10-24 20:55:00 +01:00
Philip Rebohle
494e01b353
[d3d9] Avoid querying environment variables on shader creation
2022-10-24 18:01:48 +02:00
Philip Rebohle
859de7e828
[dxvk] Always enable depth clip feature if supported
2022-10-24 16:39:24 +02:00
Joshua Ashton
1d3decf100
[build] Add version scripts for native builds
...
FEX would like clean symbols for experimenting with making thunks down the line.
We also just shouldn't be exporting a bunch of random crap -- sadly -fvisibility=hidden doesn't help with a bunch of stuff :(
For reference, RADV also does this.
2022-10-15 19:10:57 +02:00
Joshua Ashton
25798f6fe1
[build] Set name_prefix to libdxvk_
for native builds
...
Less rude and nicer than just d3d9.so.
Matches old DXVK native behaviour too.
2022-10-15 19:10:57 +02:00
Robin Kertels
4bcabe8d46
[d3d9] Return 0 if any vertex decl element can't be represented as fvf
2022-10-12 23:07:23 +01:00
Robin Kertels
7090105573
[d3d9] Remove declaration fvf mapping log spam
2022-10-12 23:07:23 +01:00
Robin Kertels
2b964f0c67
[d3d9] Make MapD3DDeclToFvf more readable
...
All branches return, so we might as well
give it a bit more room to breath.
2022-10-12 23:07:23 +01:00
Adam Jereczek
b2ad25755a
[d3d9] Fix for missing restriction check in ProcessVertices
...
Co-authored-by: aroztkow <aneta.roztkowska@intel.com>
2022-09-28 12:10:41 -02:30
Joshua Ashton
49854dbfba
[d3d9] Saturate viewport depth range
...
Viewport depth range in D3D9 is clamped at 0-1, same as OpenGL.
Drivers like RADV, etc support VK_EXT_depth_range_unrestricted,
which makes the regular UB of this actually work -- which isn't what
we want.
We also don't enable VK_EXT_depth_range_unrestricted, so we shouldn't
be setting depth ranges outside of the 0-1 bounds anyway.
Closes : #2960
2022-09-27 18:58:40 -02:30
Georg Lehmann
50857537d6
[d3d9] Use D32 not D32_S8 when upgrading formats without stencil aspect.
2022-09-27 18:58:32 +01:00
Georg Lehmann
a9bdea72e9
[d3d9] Clamp Dref to [0.0, 1.0] if the texture is emulated UNORM
2022-09-26 21:39:51 +01:00