diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-11-22 18:03:16 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-11-22 18:03:16 +0300 |
commit | 751573ce6fff547b6a53769245814bc2d3fed17f (patch) | |
tree | c7a48856b85986eac308b7f4afc3eaf747686fe2 /intern/cycles/util/util_windows.cpp | |
parent | cb694d6595c78767874baf021096cc217858c85b (diff) |
Fix T50034: Blender changes processor affinity unauthorized
Diffstat (limited to 'intern/cycles/util/util_windows.cpp')
-rw-r--r-- | intern/cycles/util/util_windows.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/intern/cycles/util/util_windows.cpp b/intern/cycles/util/util_windows.cpp index ee5b3fd73c0..4de8483564b 100644 --- a/intern/cycles/util/util_windows.cpp +++ b/intern/cycles/util/util_windows.cpp @@ -28,6 +28,7 @@ CCL_NAMESPACE_BEGIN tGetActiveProcessorGroupCount *GetActiveProcessorGroupCount; tGetActiveProcessorCount *GetActiveProcessorCount; tSetThreadGroupAffinity *SetThreadGroupAffinity; +tGetProcessGroupAffinity *GetProcessGroupAffinity; #endif static WORD GetActiveProcessorGroupCount_stub() @@ -50,6 +51,18 @@ static BOOL SetThreadGroupAffinity_stub( return TRUE; } +static BOOL GetProcessGroupAffinity_stub(HANDLE hProcess, + PUSHORT GroupCount, + PUSHORT GroupArray) +{ + if(*GroupCount < 1) { + return FALSE; + } + *GroupCount = 1; + GroupArray[0] = 0; + return TRUE; +} + static bool supports_numa() { #ifndef _M_X64 @@ -72,6 +85,7 @@ void util_windows_init_numa_groups() GetActiveProcessorGroupCount = GetActiveProcessorGroupCount_stub; GetActiveProcessorCount = GetActiveProcessorCount_stub; SetThreadGroupAffinity = SetThreadGroupAffinity_stub; + GetProcessGroupAffinity = GetProcessGroupAffinity_stub; return; } HMODULE kernel = GetModuleHandleA("kernel32.dll"); @@ -79,6 +93,7 @@ void util_windows_init_numa_groups() READ_SYMBOL(GetActiveProcessorGroupCount); READ_SYMBOL(GetActiveProcessorCount); READ_SYMBOL(SetThreadGroupAffinity); + READ_SYMBOL(GetProcessGroupAffinity); # undef READ_SUMBOL #endif } |