From 7ef34dcfbcf1dd0225b5a6245e8601a9352b6c33 Mon Sep 17 00:00:00 2001 From: jp9000 Date: Fri, 7 Aug 2015 21:56:38 -0700 Subject: [PATCH] Update D3D9 exceptions for win 10 update Performance fix for D3D9 version 10.0.10240.16412 --- GraphicsCapture/GraphicsCaptureHook/D3D9Capture.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/GraphicsCapture/GraphicsCaptureHook/D3D9Capture.cpp b/GraphicsCapture/GraphicsCaptureHook/D3D9Capture.cpp index b99ee4c40..b6746cdc2 100644 --- a/GraphicsCapture/GraphicsCaptureHook/D3D9Capture.cpp +++ b/GraphicsCapture/GraphicsCaptureHook/D3D9Capture.cpp @@ -111,15 +111,16 @@ struct PatchInfo { #ifdef _WIN64 -#define NUM_KNOWN_PATCHES 12 +#define NUM_KNOWN_PATCHES 13 #define PATCH_COMPARE_SIZE 13 -UPARAM patch_offsets[NUM_KNOWN_PATCHES] = {/*0x4B55F,*/ 0x54FE6, 0x55095, 0x550C5, 0x70050, 0x703F8, 0x8BDB5, 0x8E635, 0x90352, 0x9038A, 0x93AFA, 0x93B8A, 0x1841E5}; +UPARAM patch_offsets[NUM_KNOWN_PATCHES] = {/*0x4B55F,*/ 0x54FE6, 0x55095, 0x550C5, 0x6FE18, 0x70050, 0x703F8, 0x8BDB5, 0x8E635, 0x90352, 0x9038A, 0x93AFA, 0x93B8A, 0x1841E5}; BYTE patch_compare[NUM_KNOWN_PATCHES][PATCH_COMPARE_SIZE] = { //{0x48, 0x8b, 0x81, 0xc8, 0x38, 0x00, 0x00, 0x39, 0x98, 0x68, 0x50, 0x00, 0x00}, //winvis - 6.0.6002.18005 {0x48, 0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x39, 0x98, 0x68, 0x50, 0x00, 0x00}, //win7 - 6.1.7600.16385 {0x48, 0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x39, 0x98, 0x68, 0x50, 0x00, 0x00}, //win7 - 6.1.7601.16562 {0x48, 0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x39, 0x98, 0x68, 0x50, 0x00, 0x00}, //win7 - 6.1.7601.17514 + {0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x44, 0x39, 0x98, 0x88, 0x51, 0x00, 0x00}, //win10 - 10.0.10240.16412 {0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x44, 0x39, 0x98, 0x88, 0x51, 0x00, 0x00}, //win10 - 10.0.10240.16384 {0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x44, 0x39, 0x98, 0x88, 0x51, 0x00, 0x00}, //win10 - 10.0.10162.0 {0x48, 0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x39, 0xB0, 0x28, 0x51, 0x00, 0x00}, //win8.1 - 6.3.9431.00000 @@ -142,6 +143,7 @@ PatchInfo patch[NUM_KNOWN_PATCHES] = NewPatch(forceJump), NewPatch(forceJump), NewPatch(forceJump), + NewPatch(forceJump), NewPatch(ignoreJump), NewPatch(ignoreJump), NewPatch(ignoreJump), @@ -153,9 +155,9 @@ PatchInfo patch[NUM_KNOWN_PATCHES] = #else -#define NUM_KNOWN_PATCHES 12 +#define NUM_KNOWN_PATCHES 13 #define PATCH_COMPARE_SIZE 12 -UPARAM patch_offsets[NUM_KNOWN_PATCHES] = {/*0x4BDA1,*/ 0x79AA6, 0x79C9E, 0x79D96, 0x7F9BD, 0x8A3F4, 0x8B15F, 0x8B19F, 0x8E9F7, 0x8F00F, 0x8FBB1, 0x90264, 0x166A08}; +UPARAM patch_offsets[NUM_KNOWN_PATCHES] = {/*0x4BDA1,*/ 0x79AA6, 0x79C9E, 0x79D96, 0x7F9BD, 0x8A3F4, 0x8B15F, 0x8B19F, 0x8B83F, 0x8E9F7, 0x8F00F, 0x8FBB1, 0x90264, 0x166A08}; BYTE patch_compare[NUM_KNOWN_PATCHES][PATCH_COMPARE_SIZE] = { //{0x8b, 0x89, 0x6c, 0x27, 0x00, 0x00, 0x39, 0xb9, 0x80, 0x4b, 0x00, 0x00}, //winvis - 6.0.6002.18005 @@ -166,6 +168,7 @@ BYTE patch_compare[NUM_KNOWN_PATCHES][PATCH_COMPARE_SIZE] = {0x80, 0xe8, 0x29, 0x00, 0x00, 0x83, 0xb8, 0x40, 0x4c, 0x00, 0x00, 0x00}, //win8.1 - 6.3.9600.16404 {0x81, 0xe8, 0x29, 0x00, 0x00, 0x83, 0xb8, 0xa0, 0x4c, 0x00, 0x00, 0x00}, //win10 - 10.0.10240.16384 {0x81, 0xe8, 0x29, 0x00, 0x00, 0x83, 0xb8, 0xa0, 0x4c, 0x00, 0x00, 0x00}, //win10 - 10.0.10162.0 + {0x81, 0xe8, 0x29, 0x00, 0x00, 0x83, 0xb8, 0xa0, 0x4c, 0x00, 0x00, 0x00}, //win10 - 10.0.10240.16412 {0x80, 0xe8, 0x29, 0x00, 0x00, 0x83, 0xb8, 0x40, 0x4c, 0x00, 0x00, 0x00}, //win8.1 - 6.3.9600.17095 {0x80, 0xe8, 0x29, 0x00, 0x00, 0x83, 0xb8, 0x40, 0x4c, 0x00, 0x00, 0x00}, //win8.1 - 6.3.9600.17085 {0x80, 0xe8, 0x29, 0x00, 0x00, 0x83, 0xb8, 0x40, 0x4c, 0x00, 0x00, 0x00}, //win8.1 - 6.3.9600.16384 @@ -186,6 +189,7 @@ PatchInfo patch[NUM_KNOWN_PATCHES] = NewPatch(forceJump), NewPatch(ignoreJump), NewPatch(ignoreJump), + NewPatch(ignoreJump), NewPatch(forceJump), NewPatch(forceJump), NewPatch(forceJump),