Skip to content

Instantly share code, notes, and snippets.

#if RENDERER_PROFILING
template <int N=4>
struct TimerZone {
int next = 0; // next timer to be used for measurement
int count = 0; // number of timers 'buffered', ie measurement was started by result not read yet
GLuint queries[N];
TimerZone () {
glGenQueries(N, queries);
#version 460 core
#extension GL_NV_gpu_shader5: enable // for uint8_t
#extension GL_NV_shader_thread_shuffle: enable
layout(local_size_x = 8, local_size_y = 8, local_size_z = 8) in;
layout(r8i, binding = 4) restrict uniform iimage3D df_img;
#include "gpu_voxels.glsl"