// Copyright (C) 2025 kanel // This file is part of "Pulse" // For conditions of distribution and use, see copyright notice in LICENSE #ifdef PULSE_ENABLE_OPENGL_BACKEND #ifndef PULSE_OPENGL_ENUMS_H_ #define PULSE_OPENGL_ENUMS_H_ typedef enum OpenGLContextType { OPENGL_CONTEXT_EGL = 0, OPENGL_CONTEXT_WGL, OPENGL_CONTEXT_END_ENUM } OpenGLContextType; typedef enum OpenGLCoreFunctionIndex { #undef PULSE_OPENGL_GL_GLES_FUNCTION #define PULSE_OPENGL_GL_GLES_FUNCTION(glver, glesver, fn, T) #define PULSE_OPENGL_FUNCTION(fn, T) fn, #include "OpenGLFunctions.h" #undef PULSE_OPENGL_FUNCTION #undef PULSE_OPENGL_GL_GLES_FUNCTION OPENGL_CORE_FUNCTION_INDEX_END_ENUM } OpenGLCoreFunctionIndex; typedef enum OpenGLFunctionIndex { OPENGL_FUNCTION_INDEX_START_ENUM = OPENGL_CORE_FUNCTION_INDEX_END_ENUM - 1, #undef PULSE_OPENGL_GL_GLES_FUNCTION #define PULSE_OPENGL_GL_GLES_FUNCTION(glver, glesver, fn, T) fn, #define PULSE_OPENGL_FUNCTION(fn, T) #include "OpenGLFunctions.h" #undef PULSE_OPENGL_FUNCTION #undef PULSE_OPENGL_GL_GLES_FUNCTION OPENGL_FUNCTION_INDEX_END_ENUM } OpenGLFunctionIndex; typedef enum OpenGLCommandType { OPENGL_COMMAND_NONE = 0, OPENGL_COMMAND_BLIT_IMAGES, OPENGL_COMMAND_COPY_BUFFER_TO_BUFFER, OPENGL_COMMAND_COPY_BUFFER_TO_IMAGE, OPENGL_COMMAND_COPY_IMAGE_TO_BUFFER, OPENGL_COMMAND_DISPATCH, OPENGL_COMMAND_DISPATCH_INDIRECT, OPENGL_COMMAND_END_ENUM } OpenGLCommandType; typedef enum OpenGLBindsGroupType { OPENGL_BINDS_GROUP_READ_ONLY, OPENGL_BINDS_GROUP_READ_WRITE, OPENGL_BINDS_GROUP_UNIFORM, OPENGL_BINDS_GROUP_END_ENUM } OpenGLBindsGroupType; #endif // PULSE_OPENGL_ENUMS_H_ #endif // PULSE_ENABLE_OPENGL_BACKEND