SectrPrototype/code/grime/profiler.odin
Ed_ 9d0cc125a9 Misc changes
* Made refactor rende procedures to specify dependencies instead of directly grabbing from state singleton
2024-06-26 06:03:00 -04:00

30 lines
816 B
Odin

package grime
import "base:runtime"
import "core:prof/spall"
SpallProfiler :: struct {
ctx : spall.Context,
buffer : spall.Buffer,
}
@(private)
Module_Context : ^SpallProfiler
set_profiler_module_context :: #force_inline proc "contextless" ( ctx : ^SpallProfiler ) {
Module_Context = ctx
}
@(deferred_none = profile_end)
profile :: #force_inline proc "contextless" ( name : string, loc := #caller_location ) {
spall._buffer_begin( & Module_Context.ctx, & Module_Context.buffer, name, "", loc )
}
profile_begin :: #force_inline proc "contextless" ( name : string, loc := #caller_location ) {
spall._buffer_begin( & Module_Context.ctx, & Module_Context.buffer, name, "", loc )
}
profile_end :: #force_inline proc "contextless" () {
spall._buffer_end( & Module_Context.ctx, & Module_Context.buffer)
}