more fixes for opengl

This commit is contained in:
Matthew 2026-05-18 05:45:27 +10:00
parent 47c3ee8576
commit 0ec65e1029
4 changed files with 49 additions and 49 deletions

View File

@ -39,6 +39,7 @@
#ifndef BUILD_WASM #ifndef BUILD_WASM
# define RGFW_IMPLEMENTATION # define RGFW_IMPLEMENTATION
# define RGFW_OPENGL
# include "../external/rgfw/rgfw.h" # include "../external/rgfw/rgfw.h"
#endif #endif

View File

@ -1786,11 +1786,6 @@ version(DLIB_TEST) unittest
assert(events[2].type == WET.FileDeleted); assert(events[2].type == WET.FileDeleted);
assert(events[2].names[0] == r"test_file.txt"); assert(events[2].names[0] == r"test_file.txt");
version(COMPILE_TEST)
{
CreateWindow!(true)(null, "GL", 1920, 1080);
}
} }
} }

View File

@ -53,55 +53,60 @@ static if(!__traits(compiles, { glActiveTexture(0x84C0); }))
PFNGLACTIVETEXTUREPROC glActiveTexture; PFNGLACTIVETEXTUREPROC glActiveTexture;
} }
version(linux)
{
//alias RGFW_getProcAddress_OpenGL = RGFW_getProcAddress_OpenGL_X11;
}
bool bool
GLLoadFuncs() GLLoadFuncs()
{ {
glDeleteRenderbuffers = cast(typeof(glDeleteRenderbuffers))RGFW_getProcAddress_OpenGL(cast(u8*)"glDeleteRenderbuffers".ptr); glDeleteRenderbuffers = cast(typeof(glDeleteRenderbuffers))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glDeleteRenderbuffers".ptr);
glGenRenderbuffers = cast(typeof(glGenRenderbuffers))RGFW_getProcAddress_OpenGL(cast(u8*)"glGenRenderbuffers".ptr); glGenRenderbuffers = cast(typeof(glGenRenderbuffers))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glGenRenderbuffers".ptr);
glGenVertexArrays = cast(typeof(glGenVertexArrays))RGFW_getProcAddress_OpenGL(cast(u8*)"glGenVertexArrays".ptr); glGenVertexArrays = cast(typeof(glGenVertexArrays))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glGenVertexArrays".ptr);
glDeleteVertexArrays = cast(typeof(glDeleteVertexArrays))RGFW_getProcAddress_OpenGL(cast(u8*)"glDeleteVertexArrays".ptr); glDeleteVertexArrays = cast(typeof(glDeleteVertexArrays))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glDeleteVertexArrays".ptr);
glGenBuffers = cast(typeof(glGenBuffers))RGFW_getProcAddress_OpenGL(cast(u8*)"glGenBuffers".ptr); glGenBuffers = cast(typeof(glGenBuffers))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glGenBuffers".ptr);
glCompileShader = cast(typeof(glCompileShader))RGFW_getProcAddress_OpenGL(cast(u8*)"glCompileShader".ptr); glCompileShader = cast(typeof(glCompileShader))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glCompileShader".ptr);
glUseProgram = cast(typeof(glUseProgram))RGFW_getProcAddress_OpenGL(cast(u8*)"glUseProgram".ptr); glUseProgram = cast(typeof(glUseProgram))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glUseProgram".ptr);
glValidateProgram = cast(typeof(glValidateProgram))RGFW_getProcAddress_OpenGL(cast(u8*)"glValidateProgram".ptr); glValidateProgram = cast(typeof(glValidateProgram))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glValidateProgram".ptr);
glBindBufferBase = cast(typeof(glBindBufferBase))RGFW_getProcAddress_OpenGL(cast(u8*)"glBindBufferBase".ptr); glBindBufferBase = cast(typeof(glBindBufferBase))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glBindBufferBase".ptr);
glGetUniformBlockIndex = cast(typeof(glGetUniformBlockIndex))RGFW_getProcAddress_OpenGL(cast(u8*)"glGetUniformBlockIndex".ptr); glGetUniformBlockIndex = cast(typeof(glGetUniformBlockIndex))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glGetUniformBlockIndex".ptr);
glEnableVertexAttribArray = cast(typeof(glEnableVertexAttribArray))RGFW_getProcAddress_OpenGL(cast(u8*)"glEnableVertexAttribArray".ptr); glEnableVertexAttribArray = cast(typeof(glEnableVertexAttribArray))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glEnableVertexAttribArray".ptr);
glDisableVertexAttribArray = cast(typeof(glDisableVertexAttribArray))RGFW_getProcAddress_OpenGL(cast(u8*)"glDisableVertexAttribArray".ptr); glDisableVertexAttribArray = cast(typeof(glDisableVertexAttribArray))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glDisableVertexAttribArray".ptr);
glBlendFuncSeparate = cast(typeof(glBlendFuncSeparate))RGFW_getProcAddress_OpenGL(cast(u8*)"glBlendFuncSeparate".ptr); glBlendFuncSeparate = cast(typeof(glBlendFuncSeparate))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glBlendFuncSeparate".ptr);
glBindVertexArray = cast(typeof(glBindVertexArray))RGFW_getProcAddress_OpenGL(cast(u8*)"glBindVertexArray".ptr); glBindVertexArray = cast(typeof(glBindVertexArray))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glBindVertexArray".ptr);
glBindBuffer = cast(typeof(glBindBuffer))RGFW_getProcAddress_OpenGL(cast(u8*)"glBindBuffer".ptr); glBindBuffer = cast(typeof(glBindBuffer))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glBindBuffer".ptr);
glBufferData = cast(typeof(glBufferData))RGFW_getProcAddress_OpenGL(cast(u8*)"glBufferData".ptr); glBufferData = cast(typeof(glBufferData))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glBufferData".ptr);
glBufferSubData = cast(typeof(glBufferSubData))RGFW_getProcAddress_OpenGL(cast(u8*)"glBufferSubData".ptr); glBufferSubData = cast(typeof(glBufferSubData))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glBufferSubData".ptr);
glVertexAttribDivisor = cast(typeof(glVertexAttribDivisor))RGFW_getProcAddress_OpenGL(cast(u8*)"glVertexAttribDivisor".ptr); glVertexAttribDivisor = cast(typeof(glVertexAttribDivisor))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glVertexAttribDivisor".ptr);
glVertexAttribPointer = cast(typeof(glVertexAttribPointer))RGFW_getProcAddress_OpenGL(cast(u8*)"glVertexAttribPointer".ptr); glVertexAttribPointer = cast(typeof(glVertexAttribPointer))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glVertexAttribPointer".ptr);
glDrawArraysInstanced = cast(typeof(glDrawArraysInstanced))RGFW_getProcAddress_OpenGL(cast(u8*)"glDrawArraysInstanced".ptr); glDrawArraysInstanced = cast(typeof(glDrawArraysInstanced))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glDrawArraysInstanced".ptr);
glDrawElementsInstanced = cast(typeof(glDrawElementsInstanced))RGFW_getProcAddress_OpenGL(cast(u8*)"glDrawElementsInstanced".ptr); glDrawElementsInstanced = cast(typeof(glDrawElementsInstanced))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glDrawElementsInstanced".ptr);
glGetUniformLocation = cast(typeof(glGetUniformLocation))RGFW_getProcAddress_OpenGL(cast(u8*)"glGetUniformLocation".ptr); glGetUniformLocation = cast(typeof(glGetUniformLocation))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glGetUniformLocation".ptr);
glUniform1f = cast(typeof(glUniform1f))RGFW_getProcAddress_OpenGL(cast(u8*)"glUniform1f".ptr); glUniform1f = cast(typeof(glUniform1f))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glUniform1f".ptr);
glUniform2f = cast(typeof(glUniform2f))RGFW_getProcAddress_OpenGL(cast(u8*)"glUniform2f".ptr); glUniform2f = cast(typeof(glUniform2f))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glUniform2f".ptr);
glUniform3f = cast(typeof(glUniform3f))RGFW_getProcAddress_OpenGL(cast(u8*)"glUniform3f".ptr); glUniform3f = cast(typeof(glUniform3f))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glUniform3f".ptr);
glUniform4f = cast(typeof(glUniform4f))RGFW_getProcAddress_OpenGL(cast(u8*)"glUniform4f".ptr); glUniform4f = cast(typeof(glUniform4f))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glUniform4f".ptr);
glUniform1i = cast(typeof(glUniform1i))RGFW_getProcAddress_OpenGL(cast(u8*)"glUniform1i".ptr); glUniform1i = cast(typeof(glUniform1i))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glUniform1i".ptr);
glUniform2i = cast(typeof(glUniform2i))RGFW_getProcAddress_OpenGL(cast(u8*)"glUniform2i".ptr); glUniform2i = cast(typeof(glUniform2i))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glUniform2i".ptr);
glUniform3i = cast(typeof(glUniform3i))RGFW_getProcAddress_OpenGL(cast(u8*)"glUniform3i".ptr); glUniform3i = cast(typeof(glUniform3i))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glUniform3i".ptr);
glUniform4i = cast(typeof(glUniform4i))RGFW_getProcAddress_OpenGL(cast(u8*)"glUniform4i".ptr); glUniform4i = cast(typeof(glUniform4i))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glUniform4i".ptr);
glCreateProgram = cast(typeof(glCreateProgram))RGFW_getProcAddress_OpenGL(cast(u8*)"glCreateProgram".ptr); glCreateProgram = cast(typeof(glCreateProgram))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glCreateProgram".ptr);
glCreateShader = cast(typeof(glCreateShader))RGFW_getProcAddress_OpenGL(cast(u8*)"glCreateShader".ptr); glCreateShader = cast(typeof(glCreateShader))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glCreateShader".ptr);
glDeleteFramebuffers = cast(typeof(glDeleteFramebuffers))RGFW_getProcAddress_OpenGL(cast(u8*)"glDeleteFramebuffers".ptr); glDeleteFramebuffers = cast(typeof(glDeleteFramebuffers))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glDeleteFramebuffers".ptr);
glDeleteProgram = cast(typeof(glDeleteProgram))RGFW_getProcAddress_OpenGL(cast(u8*)"glDeleteProgram".ptr); glDeleteProgram = cast(typeof(glDeleteProgram))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glDeleteProgram".ptr);
glDeleteShader = cast(typeof(glDeleteShader))RGFW_getProcAddress_OpenGL(cast(u8*)"glDeleteShader".ptr); glDeleteShader = cast(typeof(glDeleteShader))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glDeleteShader".ptr);
glShaderSource = cast(typeof(glShaderSource))RGFW_getProcAddress_OpenGL(cast(u8*)"glShaderSource".ptr); glShaderSource = cast(typeof(glShaderSource))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glShaderSource".ptr);
glGetProgramiv = cast(typeof(glGetProgramiv))RGFW_getProcAddress_OpenGL(cast(u8*)"glGetProgramiv".ptr); glGetProgramiv = cast(typeof(glGetProgramiv))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glGetProgramiv".ptr);
glGetProgramInfoLog = cast(typeof(glGetProgramInfoLog))RGFW_getProcAddress_OpenGL(cast(u8*)"glGetProgramInfoLog".ptr); glGetProgramInfoLog = cast(typeof(glGetProgramInfoLog))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glGetProgramInfoLog".ptr);
glGetShaderiv = cast(typeof(glGetShaderiv))RGFW_getProcAddress_OpenGL(cast(u8*)"glGetShaderiv".ptr); glGetShaderiv = cast(typeof(glGetShaderiv))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glGetShaderiv".ptr);
glGetShaderInfoLog = cast(typeof(glGetShaderInfoLog))RGFW_getProcAddress_OpenGL(cast(u8*)"glGetShaderInfoLog".ptr); glGetShaderInfoLog = cast(typeof(glGetShaderInfoLog))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glGetShaderInfoLog".ptr);
glAttachShader = cast(typeof(glAttachShader))RGFW_getProcAddress_OpenGL(cast(u8*)"glAttachShader".ptr); glAttachShader = cast(typeof(glAttachShader))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glAttachShader".ptr);
glLinkProgram = cast(typeof(glLinkProgram))RGFW_getProcAddress_OpenGL(cast(u8*)"glLinkProgram".ptr); glLinkProgram = cast(typeof(glLinkProgram))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glLinkProgram".ptr);
static if(!__traits(compiles, { glActiveTexture(0x84C0); })) static if(!__traits(compiles, { glActiveTexture(0x84C0); }))
{ {
glActiveTexture = cast(typeof(glActiveTexture))RGFW_getProcAddress_OpenGL(cast(u8*)"glActiveTexture".ptr); glActiveTexture = cast(typeof(glActiveTexture))RGFW_getProcAddress_OpenGL(cast(const(char)*)"glActiveTexture".ptr);
} }
return glDeleteRenderbuffers != null; return glDeleteRenderbuffers != null;

View File

@ -86,7 +86,6 @@ else
-Jbuild -Jbuild
-d-version=VULKAN_RENDERER_TEST -d-version=VULKAN_RENDERER_TEST
-d-version=DLIB_ASSETS -d-version=DLIB_ASSETS
-d-version=COMPILE_TEST
-d-version=BUILD_GL -d-version=BUILD_GL
-Xcc=-DBUILD_VULKAN -Xcc=-DBUILD_VULKAN
-Xcc=-DBUILD_ASSETS -Xcc=-DBUILD_ASSETS