Commit Graph

3485 Commits

Author SHA1 Message Date
Joshua Ashton 512393e469 [d3d9] Refactor constant buffer creation 2020-02-20 08:14:58 +01:00
Joshua Ashton f688889b41 [d3d9] Avoid setting cursor position if we are already at that position
Avoids an infinite loop where we trigger the cursor move window message which calls SetCursorPos and so on and so forth...

Closes #1400
2020-02-20 01:44:50 +00:00
Joshua Ashton 17166a8aeb [d3d9] Add equality operator overloads for POINT 2020-02-20 01:39:13 +00:00
Joshua Ashton 261a242486 [d3d9] Disallow GetFrontBufferData for anything but D3DPOOL_SYSTEMMEM
Fixes #1464
2020-02-19 18:05:50 +00:00
Joshua Ashton 74d23c22de [build] Use __CRT_UUID_DECL for uuid definitions
Closes #1463
2020-02-18 20:25:05 +01:00
Joshua Ashton 760a163fc5 [util] Disable discard for D&D Temple of Elemental Evil
This game uses D3DLOCK_DISCARD incorrectly
2020-02-18 17:01:41 +00:00
Joshua Ashton 8fabc25a38 [d3d9] Implement d3d9.allowDiscard 2020-02-18 16:53:51 +00:00
Joshua Ashton 6b85e6d3f1 Revert "[d3d9] Ignore D3DLOCK_DISCARD when partially locking buffers"
This reverts commit 50cf3a465b.
2020-02-18 16:50:39 +00:00
Joshua Ashton 378bdbdfb0 [d3d9] Remove repeated wrap state setting in Reset 2020-02-17 18:05:45 +00:00
Philip Rebohle 4cf3ef538c [d3d9] Fix A4R4G4B4 swizzle 2020-02-17 15:32:28 +00:00
Joshua Ashton 4405b51bf3 [dxso] Respect src modifiers in Texcrd for PS 1.4
`texcrd r4.xy, t4_dw.xyww`

Cross Racing Championship Extreme 2005 uses a writemask in texcrd as well as the _dw modifier on the src which we weren't respecting previously.

Closes #1450
2020-02-16 23:24:33 +00:00
Joshua Ashton a6d554615e [d3d9] Avoid needless swizzle for A4R4G4B4
Should fix this d3d9 format working on Intel ANV

Impacts #1455
2020-02-16 22:54:28 +00:00
Joshua Ashton 50cf3a465b [d3d9] Ignore D3DLOCK_DISCARD when partially locking buffers
Fixes #1444
2020-02-15 03:10:00 +00:00
Joshua Ashton 7d3ec74b40 [d3d9] Don't perform clipping in FF if disabled
Avoids unnecessary matrix multiplications in the shader, given this isn't as cheap as it is for programmable.
2020-02-14 19:19:22 +00:00
Joshua Ashton 0c16cc7749 [d3d9] Perform FF vertex clipping in world space
Previously we were doing this in object space which is incorrect.

Closes #1446
2020-02-14 19:09:02 +00:00
Joshua Ashton cad3b69e82 [d3d9] Fix likeliness in GetStreamSource 2020-02-14 17:21:52 +00:00
Joshua Ashton 2096a95262 [d3d9] Fix ColorFill using sampler views for partial extents
Closes #1434
2020-02-14 06:49:15 +01:00
Joshua Ashton 02c79d892c [d3d9] Try to create offscreen surfaces with render target usage 2020-02-14 06:49:15 +01:00
Joshua Ashton 1f5ddde411 [d3d9] Remove unused D3D9ViewSet structure 2020-02-14 06:49:15 +01:00
ryester27 dff2a4ea24 [util] Force 16:9 aspect ratio for Hyperdimension Neptunia U: Action Unleashed 2020-02-14 02:50:15 +00:00
Joshua Ashton 582fe899f8 [dxso] Implement TexBemL 2020-02-14 01:15:34 +00:00
Joshua Ashton c7d5ce1c50 [d3d9] Fix incorrect type for luminance scale and offset in D3DTOP_BUMPENVMAPLUMINANCE 2020-02-14 01:10:26 +00:00
Joshua Ashton ae68e3a5bc [d3d9] Defer managed texture uploads until PrepareDraw and when needed
This also caches shader masks used for hazard tracking.
2020-02-14 00:51:58 +00:00
Joshua Ashton 0ea510eb9b [util] Add clearAll helper to bitset 2020-02-14 00:51:58 +00:00
Joshua Ashton 6e9725a124 [d3d9] Use bitsets for bool subresource arrays
Also remove lockflag tracking and consolidate that to a bitset
2020-02-14 00:51:58 +00:00
Joshua Ashton 960d2bd158 [util] Add exchange helper to bitset 2020-02-14 00:51:58 +00:00
Joshua Ashton cf6142e782 [d3d9] Don't expose formats with alpha as adapter formats
Impacts #1440
2020-02-14 00:46:14 +00:00
Joshua Ashton acb3cda1dc [d3d9] Hold a private reference to FVF-generated vertex decls
Otherwise the device will never be able to be destroyed as there will be a circular dependency.

Closes #1417
2020-02-13 18:42:49 +00:00
Philip Rebohle 313d46984d
[dxbc] Fix memory semantics for atomic operations 2020-02-13 01:15:44 +01:00
Philip Rebohle 4aa6800e95
[d3d11] Validate subresource index in copy operations
Rocket League tries to copy five subresources of a texture that only
has one single array layer and one single mip map, which causes GPU
hangs on Nvidia drivers.
2020-02-13 00:39:55 +01:00
Philip Rebohle f12ddfa4d3
[dxbc] Fix line tessellation factor ordering 2020-02-12 12:00:46 +01:00
Joshua Ashton 51903d8348 [d3d9] Genericise video format conversion 2020-02-10 18:27:35 +00:00
Joshua Ashton 2caa3c9f88 [tests] Add alpha test > 255 to this triangle mess 2020-02-10 15:19:58 +00:00
Philip Rebohle 7567486668 [d3d9] Handle invalid alpha ref correctly 2020-02-10 15:20:13 +00:00
Philip Rebohle bf03fd8732 [d3d9] Implment fixed-function clipping 2020-02-10 07:32:22 +01:00
Joshua Ashton ba8dad3958 [d3d9] Fix multiplication order in D3D9StateBlock::MultiplyStateTransform 2020-02-10 06:22:58 +00:00
Joshua Ashton c42d44a4c3 [d3d9] Mark vertex blend dirty in MultiplyTransform if needed 2020-02-10 06:17:05 +00:00
Joshua Ashton 14203761d9 [d3d9] Reverse multiplication order in MultiplyTransform
Closes https://github.com/Joshua-Ashton/d9vk/issues/295
2020-02-10 06:16:12 +00:00
Joshua Ashton afeb4814c7 [d3d9] Remove SRGB variant from Q8W8V8U8 2020-02-10 04:57:45 +00:00
Philip Rebohle 07fee4a0e5
[util] Disable VR for Subnautica 2020-02-09 09:05:52 +01:00
Joshua Ashton 310ab6da64 [d3d9] Implement D3DTOP_BUMPENVMAPLUMINANCE 2020-02-08 23:08:48 +00:00
Joshua Ashton 302aed256b [d3d9] Implement D3DTOP_BUMPENVMAP 2020-02-08 23:00:57 +00:00
Joshua Ashton 4291bc9dfb [d3d9] Reupload fixed func ps data if stage constant changes
Closes #1420
2020-02-08 16:33:47 +00:00
Philip Rebohle 4738d12d73
[util] Enable forced TGSM barriers for F1 2019
Fixes visual issues on RADV.
2020-02-08 00:48:45 +01:00
Philip Rebohle 76a6f6eab9
[dxbc] Add option to force memory barriers after shared memory stores 2020-02-08 00:48:42 +01:00
Joshua Ashton 2f8fbf9114 [d3d9] Use linear sampler for upscaling if extents don't match on Present 2020-02-07 18:53:47 +00:00
Philip Rebohle c780ed5da3
[util] Enable invariant position for Saint's Row III / IV 2020-02-07 17:40:55 +01:00
Philip Rebohle 2435c6369c
[meta] Release 1.5.4 2020-02-07 01:02:22 +01:00
Joshua Ashton b9474cf787 [d3d9] Return D3D_OK in CreateTexture even if AUTOGENMIPMAP flag is stripped
D3DOK_NOAUTOGEN is only returned when querying format support, the flag is stripped away silently in CreateTexture if it has to be.

Fixes #1409
2020-02-06 23:48:01 +00:00
Joshua Ashton 1f67602b98 [d3d9] Check correct sampler bitfield when applying/capturing sampler state 2020-02-06 22:37:50 +00:00