OpenGL presentaion queue *****

This commit is contained in:
Gregory Wells
2025-07-10 17:05:02 -04:00
parent 33ac5b3f13
commit 04a19fce18
7 changed files with 145 additions and 1 deletions

View File

@@ -1,4 +1,5 @@
#include <glad/glad.h>
#include "GL/glext.h"
#include "opengl_surface.h"
#ifdef GN_PLATFORM_LINUX
@@ -65,3 +66,28 @@ gnSurfaceDetails genOpenGLSurfaceDetails(
void destroyOpenGLSurface(gnWindowSurface surface) {
free(surface->windowSurface);
}
GLint glGryphnFormatToOpenGLFormat(gnImageFormat format) {
switch (format) {
case GN_FORMAT_NONE: return GL_NONE;
case GN_FORMAT_BGRA8: return GL_BGRA;
case GN_FORMAT_RGBA8_SRGB: return GL_SRGB_ALPHA;
case GN_FORMAT_D32S8_UINT: return GL_DEPTH_STENCIL;
case GN_FORMAT_D24S8_UINT: return GL_DEPTH_STENCIL;
// unsupprted formats
case GN_FORMAT_BGRA8_SRGB: return GL_NONE;
}
}
GLint glGryphnFormatToOpenGLInternalFormat(gnImageFormat format) {
switch (format) {
case GN_FORMAT_NONE: return GL_NONE;
case GN_FORMAT_BGRA8: return GL_BGRA8_EXT;
case GN_FORMAT_RGBA8_SRGB: return GL_SRGB8_ALPHA8;
case GN_FORMAT_D32S8_UINT: return GL_DEPTH32F_STENCIL8;
case GN_FORMAT_D24S8_UINT: return GL_DEPTH24_STENCIL8;
// unsupprted formats
case GN_FORMAT_BGRA8_SRGB: return GL_NONE;
}
}