mirror of
https://github.com/wolfpld/tracy.git
synced 2026-10-21 00:00:53 +00:00
Add Windows on ARM64 with MSVC support for Tracy Profiler
Introduce Windows ARM64(native) support across ToyPathTracer,
profiler, and server code paths when building with MSVC(_M_ARM64).
Key changes:
- MathSimd.h/Maths.h:
- Fix NEON movemask constants for MSVC/ARM64 by loading from a uint32_t[]
via vld1q_u32() and using vdupq_n_u32() for highbit.
- enkiTS/TaskScheduler.cpp:
- Provide Pause() implementation on _M_ARM64 using __yield().
- profiler/winmain.cpp:
- AVX feature checks to x86/x64 only and skip on ARM64.
- server/TracyPopcnt.hpp:
- Implement TracyCountBits using ARM NEON intrinsics.
- Implement TracyLzcnt using _BitScanReverse64().
This commit is contained in:
@@ -14,6 +14,7 @@ int main( int argc, char** argv );
|
||||
|
||||
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmd, int nCmd )
|
||||
{
|
||||
#if defined(_M_IX86) || defined(_M_X64)
|
||||
{
|
||||
uint32_t regs[4];
|
||||
__cpuidex( (int*)regs, 0, 0 );
|
||||
@@ -42,7 +43,7 @@ int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmd,
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
#endif // x86/x64: AVX feature checks
|
||||
return main( __argc, __argv );
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user