/gl_generator_profiling_struct-rs

ProfilingStructGenerator for gl_generator

Primary LanguageRustApache License 2.0Apache-2.0

Profiling struct generator

Yet another generator for gl_generator, very similar to DebugStructGenerator, but with these changes/additions:

  • It does not log all calls. It only logs a call that caused an error.
  • The corresponding explanation is included with the error code.
  • Contains a profiler that tracks the number of GL calls and errors.

Using the profiler

The generated gl module gains 3 additional methods:

  • profiler_reset() - resets the profiler;
  • profiler_call_count() -> usize - returns the number of calls since the last reset (or application start);
  • profiler_err_count() -> usize - returns the number of errors since the last reset (or application start);

Example usage:

gl::profiler_reset();

// the code

println!("Number of GL calls: {}", gl::profiler_call_count());
println!("Number of GL errors: {}", gl::profiler_err_count());

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.