1
0
mirror of https://github.com/narzoul/DDrawCompat synced 2024-12-30 08:55:36 +01:00

23 Commits

Author SHA1 Message Date
narzoul
726f237724 Don't hook drivers for Direct3D 8/9 runtimes 2022-09-27 21:45:11 +02:00
narzoul
87c2af5049 Added LogLevel setting 2022-09-27 21:45:10 +02:00
narzoul
55eab96f78 Added FullscreenMode setting 2022-09-27 21:45:05 +02:00
narzoul
20912dce37 Added support for D3D9On12 (windowed mode only) 2022-09-27 21:45:04 +02:00
narzoul
71c67fffd4 Reworked vtable hooking 2021-03-16 14:13:20 +01:00
narzoul
35e66bd3cf Leave cleanup to process termination 2021-03-01 22:59:07 +01:00
narzoul
75f8f7e689 Replace vtable function pointers instead of using Detours 2021-02-24 23:35:21 +01:00
narzoul
b4ef2a1c0c Use angle brackets in all include directives 2021-02-24 23:35:20 +01:00
narzoul
799e9a95ae Removed dependency on D3DKMTPresent
Fixes presentation issues when Hardware Accelerated GPU Scheduling is enabled
(issue #73).
2020-07-13 23:44:05 +02:00
narzoul
e78d3f2b69 Moved WIN32_LEAN_AND_MEAN macro to compiler switches 2020-02-01 14:12:01 +01:00
narzoul
2a129c41c9 Removed dependency on context handle for driver hooks
Potential fix for issue #55.
2019-09-02 22:29:39 +02:00
narzoul
3e0eada40d Refactored adapter and device references 2019-08-01 16:00:17 +02:00
narzoul
5b171691f0 Separate DirectDraw and UMD critical sections 2019-06-08 15:59:17 +02:00
narzoul
d655947f18 Fixed crash when rehooking a user-mode display driver 2018-12-31 20:32:08 +01:00
narzoul
291a9c2f9a Fixed various multi-monitor display issues 2018-12-31 20:32:06 +01:00
narzoul
c53ffab664 Indented function logging 2018-12-08 21:57:14 +01:00
narzoul
e69b5e312c Moved common macros to compiler options 2018-12-08 21:53:41 +01:00
narzoul
cd22b333e3 Support oversized surfaces in system memory
AMD drivers reject system memory surfaces that are larger than the maximum
texture width/height supported by the driver (usually 4096x4096 for AMD).
This can cause issues in games that create larger system memory surfaces.

This workaround crops the driver resource dimensions to the allowed
maximum values and handles blitting outside this region by creating a
temporary resource that maps to the actual affected system memory region.

Fixes crashes with AMD drivers in Rainbow Six games and Desperados,
mentioned in issue #2 and #8.
2017-02-18 18:53:53 +01:00
narzoul
e6bb6b1e35 Fixed logging of uninitialized output parameters 2016-12-22 20:48:40 +01:00
narzoul
d898961a7e Restore legacy double/triple buffered v-sync behavior
On recent drivers, double buffered DirectDraw flips no longer wait for the
vertical sync before returning and instead just insert the flip into the
flip queue for later execution. This effectively results in triple buffered
behavior (in the render-ahead sense) and causes up to an extra frame of
latency even if the flip queue size is set to 1.

To restore the legacy double buffered behavior, each flip waits for the
presented frame to leave the flip queue before returning.

To restore the legacy triple buffered behavior, the flip queue size is
forced to 1. This causes the flip to wait if the previous flip is still
pending.
2016-12-04 15:43:05 +01:00
narzoul
3746362528 Allow hooking multiple user mode display drivers 2016-10-31 13:47:41 +01:00
narzoul
2097d737dc Moved common parts to Common subdirectory 2016-10-23 15:27:26 +02:00
narzoul
3243a17daf Moved Direct3D DDI parts to D3dDdi namespace and subdirectory 2016-10-23 15:27:16 +02:00