From 7ed295f944332c81b5183d6f6087c153ce987052 Mon Sep 17 00:00:00 2001 From: vision57 Date: Thu, 22 Jul 2021 00:46:39 +0800 Subject: [PATCH] both x64 and x86 are supported with the same build. --- Dlls/GpuzShMem.Win32.dll | Bin 0 -> 222720 bytes Dlls/GpuzShMem.Win32.pdb | Bin 0 -> 4419584 bytes Dlls/{GpuzShMem.dll => GpuzShMem.x64.dll} | Bin 263168 -> 263168 bytes Dlls/GpuzShMem.x64.pdb | Bin 0 -> 4370432 bytes FanControl.GPUZ.csproj | 14 ++- GpuzWrapper.cs | 138 ++++++++++++++++++---- 6 files changed, 127 insertions(+), 25 deletions(-) create mode 100644 Dlls/GpuzShMem.Win32.dll create mode 100644 Dlls/GpuzShMem.Win32.pdb rename Dlls/{GpuzShMem.dll => GpuzShMem.x64.dll} (91%) create mode 100644 Dlls/GpuzShMem.x64.pdb diff --git a/Dlls/GpuzShMem.Win32.dll b/Dlls/GpuzShMem.Win32.dll new file mode 100644 index 0000000000000000000000000000000000000000..9ee09654e0ba23fcd55cb8f685e6473f5236a745 GIT binary patch literal 222720 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