Browse Source

win-capture: Add D3D9 exceptions for win10 RTM

jp9000 10 years ago
parent
commit
77b7a83249
1 changed files with 8 additions and 2 deletions
  1. 8 2
      plugins/win-capture/graphics-hook/d3d9-patches.hpp

+ 8 - 2
plugins/win-capture/graphics-hook/d3d9-patches.hpp

@@ -57,13 +57,14 @@ static const BYTE ignore_jump[] = {0x90, 0x90};
 
 #ifdef _WIN64
 
-#define NUM_VERS   (11)
+#define NUM_VERS   (12)
 #define CMP_SIZE   (13)
 
 static const uintptr_t patch_offset[NUM_VERS] = {
 	0x54FE6,  //win7   - 6.1.7600.16385
 	0x55095,  //win7   - 6.1.7601.16562
 	0x550C5,  //win7   - 6.1.7601.17514
+	0x70050,  //win10  - 10.0.10240.16384
 	0x703F8,  //win10  - 10.0.10162.0
 	0x8BDB5,  //win8.1 - 6.3.9431.00000
 	0x8E635,  //win8.1 - 6.3.9600.17415
@@ -79,6 +80,7 @@ static const uint8_t patch_cmp[NUM_VERS][CMP_SIZE] = {
 {0x48, 0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x39, 0x98, 0x68, 0x50, 0x00, 0x00},
 {0x48, 0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x39, 0x98, 0x68, 0x50, 0x00, 0x00},
 {0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x44, 0x39, 0x98, 0x88, 0x51, 0x00, 0x00},
+{0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x44, 0x39, 0x98, 0x88, 0x51, 0x00, 0x00},
 {0x48, 0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x39, 0xB0, 0x28, 0x51, 0x00, 0x00},
 {0x48, 0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x39, 0xA8, 0x28, 0x51, 0x00, 0x00},
 {0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x44, 0x39, 0xA0, 0x28, 0x51, 0x00, 0x00},
@@ -93,6 +95,7 @@ static const struct patch_info patch[NUM_VERS] = {
 	NEW_PATCH(force_jump),
 	NEW_PATCH(force_jump),
 	NEW_PATCH(force_jump),
+	NEW_PATCH(force_jump),
 	NEW_PATCH(ignore_jump),
 	NEW_PATCH(ignore_jump),
 	NEW_PATCH(ignore_jump),
@@ -104,7 +107,7 @@ static const struct patch_info patch[NUM_VERS] = {
 
 #else
 
-#define NUM_VERS   (11)
+#define NUM_VERS   (12)
 #define CMP_SIZE   (12)
 
 static const uintptr_t patch_offset[NUM_VERS] = {
@@ -113,6 +116,7 @@ static const uintptr_t patch_offset[NUM_VERS] = {
 	0x79D96,  //win7   - 6.1.7601.17514
 	0x7F9BD,  //win8.1 - 6.3.9431.00000
 	0x8A3F4,  //win8.1 - 6.3.9600.16404
+	0x8B15F,  //win10  - 10.0.10240.16384
 	0x8B19F,  //win10  - 10.0.10162.0
 	0x8E9F7,  //win8.1 - 6.3.9600.17095
 	0x8F00F,  //win8.1 - 6.3.9600.17085
@@ -128,6 +132,7 @@ static const uint8_t patch_cmp[NUM_VERS][CMP_SIZE] = {
 {0x8b, 0x80, 0xe8, 0x29, 0x00, 0x00, 0x39, 0xb0, 0x40, 0x4c, 0x00, 0x00},
 {0x80, 0xe8, 0x29, 0x00, 0x00, 0x83, 0xb8, 0x40, 0x4c, 0x00, 0x00, 0x00},
 {0x81, 0xe8, 0x29, 0x00, 0x00, 0x83, 0xb8, 0xa0, 0x4c, 0x00, 0x00, 0x00},
+{0x81, 0xe8, 0x29, 0x00, 0x00, 0x83, 0xb8, 0xa0, 0x4c, 0x00, 0x00, 0x00},
 {0x80, 0xe8, 0x29, 0x00, 0x00, 0x83, 0xb8, 0x40, 0x4c, 0x00, 0x00, 0x00},
 {0x80, 0xe8, 0x29, 0x00, 0x00, 0x83, 0xb8, 0x40, 0x4c, 0x00, 0x00, 0x00},
 {0x80, 0xe8, 0x29, 0x00, 0x00, 0x83, 0xb8, 0x40, 0x4c, 0x00, 0x00, 0x00},
@@ -142,6 +147,7 @@ static const struct patch_info patch[NUM_VERS] = {
 	NEW_PATCH(force_jump),
 	NEW_PATCH(force_jump),
 	NEW_PATCH(ignore_jump),
+	NEW_PATCH(ignore_jump),
 	NEW_PATCH(force_jump),
 	NEW_PATCH(force_jump),
 	NEW_PATCH(force_jump),