Merge pull request #27 from CXVUSER/x64dbg

Fix legacy SSE not working on pre-AVX processors
This commit is contained in:
Duncan Ogilvie 2025-08-17 20:27:48 +02:00 committed by GitHub
commit 2d1dcd7e1c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 10 additions and 12 deletions

View File

@ -929,10 +929,6 @@ __declspec(dllexport) bool TITCALL SetAVXContext(HANDLE hActiveThread, TITAN_ENG
if(InitXState() == false)
return false;
DWORD64 FeatureMask = _GetEnabledXStateFeatures();
if((FeatureMask & XSTATE_MASK_AVX) == 0)
return false;
DWORD ContextSize = 0;
BOOL Success = _InitializeContext(NULL,
CONTEXT_ALL | CONTEXT_XSTATE,
@ -955,12 +951,15 @@ __declspec(dllexport) bool TITCALL SetAVXContext(HANDLE hActiveThread, TITAN_ENG
if(Success == FALSE)
return false;
if(_SetXStateFeaturesMask(Context, XSTATE_MASK_AVX) == FALSE)
if (_SetXStateFeaturesMask(Context, XSTATE_MASK_AVX) == FALSE) {
if (_SetXStateFeaturesMask(Context, XSTATE_MASK_LEGACY_SSE) == FALSE)
return false;
}
if(GetThreadContext(hActiveThread, Context) == FALSE)
return false;
DWORD64 FeatureMask;
if(_GetXStateFeaturesMask(Context, &FeatureMask) == FALSE)
return false;
@ -989,10 +988,6 @@ __declspec(dllexport) bool TITCALL GetAVXContext(HANDLE hActiveThread, TITAN_ENG
if(InitXState() == false)
return false;
DWORD64 FeatureMask = _GetEnabledXStateFeatures();
if((FeatureMask & XSTATE_MASK_AVX) == 0)
return false;
DWORD ContextSize = 0;
BOOL Success = _InitializeContext(NULL,
CONTEXT_ALL | CONTEXT_XSTATE,
@ -1015,12 +1010,15 @@ __declspec(dllexport) bool TITCALL GetAVXContext(HANDLE hActiveThread, TITAN_ENG
if(Success == FALSE)
return false;
if(_SetXStateFeaturesMask(Context, XSTATE_MASK_AVX) == FALSE)
if (_SetXStateFeaturesMask(Context, XSTATE_MASK_AVX) == FALSE) {
if (_SetXStateFeaturesMask(Context, XSTATE_MASK_LEGACY_SSE) == FALSE)
return false;
}
if(GetThreadContext(hActiveThread, Context) == FALSE)
return false;
DWORD64 FeatureMask;
if(_GetXStateFeaturesMask(Context, &FeatureMask) == FALSE)
return false;