|
@@ -3,6 +3,7 @@ package os
|
|
|
|
|
|
import win32 "core:sys/windows"
|
|
|
import "core:runtime"
|
|
|
+import "core:intrinsics"
|
|
|
|
|
|
Handle :: distinct uintptr
|
|
|
File_Time :: distinct u64
|
|
@@ -128,15 +129,14 @@ get_page_size :: proc() -> int {
|
|
|
|
|
|
get_processor_thread_count :: proc() -> int {
|
|
|
length : c.int = 0
|
|
|
- result := windows.GetLogicalProcessorInformation(nil, &length)
|
|
|
+ result := win32.GetLogicalProcessorInformation(nil, &length)
|
|
|
|
|
|
thread_count := 0
|
|
|
if !result && win32.GetLastError() == 122 && length > 0 {
|
|
|
- processors := make([]windows.SYSTEM_LOGICAL_PROCESSOR_INFORMATION, length, context.temp_allocator)
|
|
|
+ processors := make([]win32.SYSTEM_LOGICAL_PROCESSOR_INFORMATION, length, context.temp_allocator)
|
|
|
|
|
|
- result = windows.GetLogicalProcessorInformation(&processors[0], &length)
|
|
|
+ result = win32.GetLogicalProcessorInformation(&processors[0], &length)
|
|
|
if result {
|
|
|
- core_count := 0
|
|
|
for processor in processors {
|
|
|
if processor.Relationship == windows.RelationProcessorCore {
|
|
|
thread := intrinsics.count_ones(processor.ProcessorMask)
|