Initial commit - some engine bugs stopping compiling

This commit is contained in:
Will
2026-03-29 15:52:42 +01:00
commit 3d573a200e
361 changed files with 332759 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
/*
* Issue #362, aliasing func is not called.
* Note this does not actually verify the functions get properly initialized only that it compiles
*
* GLAD: $GLAD --out-path=$tmp --api="egl=" c --alias
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/egl.c -ldl
* RUN: $tmp/test
*/
#include <glad/egl.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,17 @@
/*
* Full EGL
*
* GLAD: $GLAD --out-path=$tmp --api="egl=" c --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/egl.c -ldl
* RUN: $tmp/test
*/
#include <glad/egl.h>
#include <stddef.h>
int main(void) {
EGLDisplay display = NULL;
(void) gladLoaderLoadEGL(display);
(void) gladLoaderUnloadEGL();
return 0;
}

View File

@@ -0,0 +1,17 @@
/*
* EGL 1.0
*
* GLAD: $GLAD --out-path=$tmp --api="egl=1.0" c --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/egl.c -ldl
* RUN: $tmp/test
*/
#include <glad/egl.h>
#include <stddef.h>
int main(void) {
EGLDisplay display = NULL;
(void) gladLoaderLoadEGL(display);
(void) gladLoaderUnloadEGL();
return 0;
}

View File

@@ -0,0 +1,17 @@
/*
* Full header only only EGL
*
* GLAD: $GLAD --out-path=$tmp --api="egl=" c --loader --header-only
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl
* RUN: $tmp/test
*/
#define GLAD_EGL_IMPLEMENTATION
#include <glad/egl.h>
int main(void) {
EGLDisplay display = NULL;
(void) gladLoaderLoadEGL(display);
(void) gladLoaderUnloadEGL();
return 0;
}

View File

@@ -0,0 +1,13 @@
/*
* Full on demand EGL
*
* GLAD: $GLAD --out-path=$tmp --api="egl" c --on-demand
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/egl.c -ldl
* RUN: $tmp/test
*/
#include <glad/egl.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,13 @@
/*
* Full on demand EGL with loader
*
* GLAD: $GLAD --out-path=$tmp --api="egl" c --on-demand --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/egl.c -ldl
* RUN: $tmp/test
*/
#include <glad/egl.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,17 @@
/*
* Full compatibility GL, with aliasing
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility" c --loader --alias
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
#ifndef GL_KHR_debug
#error
#endif
int main(void) {
return 0;
}

View File

@@ -0,0 +1,17 @@
/*
* Full core GL, with aliasing
*
* GLAD: $GLAD --out-path=$tmp --api="gl:core" c --loader --alias
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
#ifndef GL_KHR_debug
#error
#endif
int main(void) {
return 0;
}

View File

@@ -0,0 +1,17 @@
/*
* No extensions compatibility GL, with aliasing
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility" --extensions="" c --loader --alias
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
#ifndef GL_KHR_debug /* extension should be added by aliasing */
#error
#endif
int main(void) {
return 0;
}

View File

@@ -0,0 +1,17 @@
/*
* No extensions core GL, with aliasing
*
* GLAD: $GLAD --out-path=$tmp --api="gl:core" --extensions="" c --loader --alias
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
#ifndef GL_KHR_debug /* extension should be added by aliasing */
#error
#endif
int main(void) {
return 0;
}

View File

@@ -0,0 +1,17 @@
/*
* GL 2.1 All extensions, with aliasing
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility=2.1" c --loader --alias
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
#ifndef GL_KHR_debug
#error
#endif
int main(void) {
return 0;
}

View File

@@ -0,0 +1,17 @@
/*
* GL 2.1 No extensions, with aliasing
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility=2.1" --extensions="" c --loader --alias
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
#ifndef GL_KHR_debug /* extension should be added by aliasing */
#error
#endif
int main(void) {
return 0;
}

View File

@@ -0,0 +1,14 @@
/*
* GL 4.6 No extensions, with aliasing
*
* GLAD: $GLAD --out-path=$tmp --api="gl:core=4.6" --extensions="" c --alias
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
int main(void) {
(void) glActiveTextureARB;
return 0;
}

View File

@@ -0,0 +1,18 @@
/*
* Full compatibility debug GL
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility" c --loader --debug
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
#include <stddef.h>
int main(void) {
gladSetGLPreCallback(NULL);
gladSetGLPostCallback(NULL);
gladInstallGLDebug();
gladUninstallGLDebug();
return 0;
}

View File

@@ -0,0 +1,13 @@
/*
* Full core debug GL
*
* GLAD: $GLAD --out-path=$tmp --api="gl:core" c --loader --debug
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,13 @@
/*
* No extensions compatibility debug GL
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility" --extensions="" c --loader --debug
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,13 @@
/*
* No extensions core debug GL
*
* GLAD: $GLAD --out-path=$tmp --api="gl:core" --extensions="" c --loader --debug
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,13 @@
/*
* Debug GL 2.1 All extensions
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility=2.1" c --loader --debug
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,13 @@
/*
* Debug GL 2.1 No extensions
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility=2.1" --extensions="" c --loader --debug
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,17 @@
/*
* Full compatibility GL
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility" c --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
#ifndef GL_KHR_debug
#error
#endif
int main(void) {
return 0;
}

View File

@@ -0,0 +1,17 @@
/*
* Full core GL
*
* GLAD: $GLAD --out-path=$tmp --api="gl:core" c --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
#ifndef GL_KHR_debug
#error
#endif
int main(void) {
return 0;
}

View File

@@ -0,0 +1,17 @@
/*
* No extensions compatibility GL
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility" --extensions="" c --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
#ifdef GL_KHR_debug
#error
#endif
int main(void) {
return 0;
}

View File

@@ -0,0 +1,17 @@
/*
* No extensions core GL
*
* GLAD: $GLAD --out-path=$tmp --api="gl:core" --extensions="" c --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
#ifdef GL_KHR_debug
#error
#endif
int main(void) {
return 0;
}

View File

@@ -0,0 +1,17 @@
/*
* GL 2.1 All extensions
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility=2.1" c --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
#ifndef GL_KHR_debug
#error
#endif
int main(void) {
return 0;
}

View File

@@ -0,0 +1,17 @@
/*
* GL 2.1 No extensions
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility=2.1" --extensions="" c --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
#ifdef GL_KHR_debug
#error
#endif
int main(void) {
return 0;
}

View File

@@ -0,0 +1,22 @@
/*
* Issue #171. Enums being aliased, but the enum that they are aliased to
* do not exist (e.g. because they don't exist in this profile).
*
* GLAD: $GLAD --out-path=$tmp --api="gl:core=4.5" --extensions="" c --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
#if GL_CLIP_DISTANCE0 != 0x3000
#error
#endif
#if GL_MAX_CLIP_DISTANCES != 0x0D32
#error
#endif
int main(void) {
return 0;
}

View File

@@ -0,0 +1,16 @@
/*
* Full compatibility GL MX header only
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility" c --loader --mx --header-only
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl
* RUN: $tmp/test
*/
#define GLAD_GL_IMPLEMENTATION
#include <glad/gl.h>
int main(void) {
GladGLContext gl = {0};
(void) gladLoaderLoadGLContext(&gl);
return 0;
}

View File

@@ -0,0 +1,16 @@
/*
* Full core GL MX header only
*
* GLAD: $GLAD --out-path=$tmp --api="gl:core" c --loader --mx --header-only
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl
* RUN: $tmp/test
*/
#define GLAD_GL_IMPLEMENTATION
#include <glad/gl.h>
int main(void) {
GladGLContext gl = {0};
(void) gladLoaderLoadGLContext(&gl);
return 0;
}

View File

@@ -0,0 +1,16 @@
/*
* No extensions compatibility GL MX header only
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility" --extensions="" c --loader --mx --header-only
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl
* RUN: $tmp/test
*/
#define GLAD_GL_IMPLEMENTATION
#include <glad/gl.h>
int main(void) {
GladGLContext gl = {0};
(void) gladLoaderLoadGLContext(&gl);
return 0;
}

View File

@@ -0,0 +1,16 @@
/*
* No extensions core GL MX header only
*
* GLAD: $GLAD --out-path=$tmp --api="gl:core" --extensions="" c --loader --mx --header-only
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl
* RUN: $tmp/test
*/
#define GLAD_GL_IMPLEMENTATION
#include <glad/gl.h>
int main(void) {
GladGLContext gl = {0};
(void) gladLoaderLoadGLContext(&gl);
return 0;
}

View File

@@ -0,0 +1,16 @@
/*
* MX header only GL 2.1 All extensions
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility=2.1" c --loader --mx --header-only
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl
* RUN: $tmp/test
*/
#define GLAD_GL_IMPLEMENTATION
#include <glad/gl.h>
int main(void) {
GladGLContext gl = {0};
(void) gladLoaderLoadGLContext(&gl);
return 0;
}

View File

@@ -0,0 +1,16 @@
/*
* MX header only GL 2.1 No extensions
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility=2.1" --extensions="" c --loader --mx --header-only
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl
* RUN: $tmp/test
*/
#define GLAD_GL_IMPLEMENTATION
#include <glad/gl.h>
int main(void) {
GladGLContext gl = {0};
(void) gladLoaderLoadGLContext(&gl);
return 0;
}

View File

@@ -0,0 +1,32 @@
/*
* MX header only, global generation, should compile basic API
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility" c --loader --mx --header-only
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl
* RUN: $tmp/test
*/
#define GLAD_GL_IMPLEMENTATION
#include <glad/gl.h>
typedef void (*VOID_FUNCPTR)(void);
VOID_FUNCPTR loader_userptr(void *userptr, const char *name) {
(void) name;
(void) userptr;
return NULL;
}
VOID_FUNCPTR loader(const char *name) {
(void) name;
return NULL;
}
int main(void) {
GladGLContext gl = {0};
gladLoadGLContextUserPtr(&gl, loader_userptr, NULL);
gladLoaderLoadGLContext(&gl);
return 0;
}

View File

@@ -0,0 +1,15 @@
/*
* Full compatibility GL header only
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility" c --loader --header-only
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl
* RUN: $tmp/test
*/
#define GLAD_GL_IMPLEMENTATION
#include <glad/gl.h>
int main(void) {
(void) gladLoaderLoadGL();
return 0;
}

View File

@@ -0,0 +1,15 @@
/*
* Full core GL header only
*
* GLAD: $GLAD --out-path=$tmp --api="gl:core" c --loader --header-only
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl
* RUN: $tmp/test
*/
#define GLAD_GL_IMPLEMENTATION
#include <glad/gl.h>
int main(void) {
(void) gladLoaderLoadGL();
return 0;
}

View File

@@ -0,0 +1,15 @@
/*
* No extensions compatibility GL header only
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility" --extensions="" c --loader --header-only
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl
* RUN: $tmp/test
*/
#define GLAD_GL_IMPLEMENTATION
#include <glad/gl.h>
int main(void) {
(void) gladLoaderLoadGL();
return 0;
}

View File

@@ -0,0 +1,15 @@
/*
* No extensions core GL header only
*
* GLAD: $GLAD --out-path=$tmp --api="gl:core" --extensions="" c --loader --header-only
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl
* RUN: $tmp/test
*/
#define GLAD_GL_IMPLEMENTATION
#include <glad/gl.h>
int main(void) {
(void) gladLoaderLoadGL();
return 0;
}

View File

@@ -0,0 +1,15 @@
/*
* Header only GL 2.1 All extensions
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility=2.1" c --loader --header-only
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl
* RUN: $tmp/test
*/
#define GLAD_GL_IMPLEMENTATION
#include <glad/gl.h>
int main(void) {
(void) gladLoaderLoadGL();
return 0;
}

View File

@@ -0,0 +1,15 @@
/*
* Header only GL 2.1 No extensions
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility=2.1" --extensions="" c --loader --header-only
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl
* RUN: $tmp/test
*/
#define GLAD_GL_IMPLEMENTATION
#include <glad/gl.h>
int main(void) {
(void) gladLoaderLoadGL();
return 0;
}

View File

@@ -0,0 +1,16 @@
/*
* Full compatibility GL MX
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility" c --loader --mx --mx-global
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
int main(void) {
GladGLContext gl = {0};
(void) gladLoaderLoadGL();
(void) gladLoaderLoadGLContext(&gl);
return 0;
}

View File

@@ -0,0 +1,16 @@
/*
* Full core GL MX
*
* GLAD: $GLAD --out-path=$tmp --api="gl:core" c --loader --mx --mx-global
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
int main(void) {
GladGLContext gl = {0};
(void) gladLoaderLoadGL();
(void) gladLoaderLoadGLContext(&gl);
return 0;
}

View File

@@ -0,0 +1,16 @@
/*
* No extensions compatibility GL MX
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility" --extensions="" c --loader --mx --mx-global
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
int main(void) {
GladGLContext gl = {0};
(void) gladLoaderLoadGL();
(void) gladLoaderLoadGLContext(&gl);
return 0;
}

View File

@@ -0,0 +1,16 @@
/*
* No extensions core GL MX
*
* GLAD: $GLAD --out-path=$tmp --api="gl:core" --extensions="" c --loader --mx --mx-global
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
int main(void) {
GladGLContext gl = {0};
(void) gladLoaderLoadGL();
(void) gladLoaderLoadGLContext(&gl);
return 0;
}

View File

@@ -0,0 +1,16 @@
/*
* MX GL 2.1 All extensions
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility=2.1" c --loader --mx --mx-global
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
int main(void) {
GladGLContext gl = {0};
(void) gladLoaderLoadGL();
(void) gladLoaderLoadGLContext(&gl);
return 0;
}

View File

@@ -0,0 +1,16 @@
/*
* MX GL 2.1 No extensions
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility=2.1" --extensions="" c --loader --mx --mx-global
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
int main(void) {
GladGLContext gl = {0};
(void) gladLoaderLoadGL();
(void) gladLoaderLoadGLContext(&gl);
return 0;
}

View File

@@ -0,0 +1,40 @@
/*
* MX global generation, should compile basic API
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility" c --loader --mx --mx-global
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
#include <stddef.h>
typedef void (*VOID_FUNCPTR)(void);
VOID_FUNCPTR loader_userptr(void *userptr, const char *name) {
(void) name;
(void) userptr;
return NULL;
}
VOID_FUNCPTR loader(const char *name) {
(void) name;
return NULL;
}
int main(void) {
GladGLContext gl = {0};
gladLoadGLContextUserPtr(&gl, loader_userptr, NULL);
gladLoadGLContext(&gl, loader);
gladLoaderLoadGLContext(&gl);
gladLoadGLUserPtr(loader_userptr, NULL);
gladLoadGL(loader);
gladLoaderLoadGL();
gladSetGLContext(&gl);
(void) gladGetGLContext();
return 0;
}

View File

@@ -0,0 +1,14 @@
/*
* Full compatibility GL MX should not contain any symbols in COMMON section,
* to prevent linking issues with OSX.
*
* Only tested here under the assumption that this build contains the most symbols.
*
* See: https://github.com/Dav1dde/glad/issues/158
*
* GLAD: $GLAD --out-path=$tmp --api="gl:compatibility" c --loader --mx --mx-global
* COMPILE: $GCC -c -o $tmp/test.o -I$tmp/include $tmp/src/gl.c -ldl
* RUN: [ "$(nm $tmp/test.o | grep ' C ' | wc -l)" -eq "0" ]
*/
#error "this testfile should not be compiled"

View File

@@ -0,0 +1,13 @@
/*
* Full on demand GL
*
* GLAD: $GLAD --out-path=$tmp --api="gl:core" c --on-demand
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,14 @@
/*
* Full on demand GL with loader
*
* GLAD: $GLAD --out-path=$tmp --api="gl:core" c --on-demand --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gl.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,13 @@
/*
* Full GLES1
*
* GLAD: $GLAD --out-path=$tmp --api="gles1" c
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gles1.c -ldl
* RUN: $tmp/test
*/
#include <glad/gles1.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,13 @@
/*
* Full GLES1 with loader
*
* GLAD: $GLAD --out-path=$tmp --api="egl,gles1" c --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/egl.c $tmp/src/gles1.c -ldl
* RUN: $tmp/test
*/
#include <glad/gles1.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,13 @@
/*
* Full on demand GLES1
*
* GLAD: $GLAD --out-path=$tmp --api="gles1" c --on-demand
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gles1.c -ldl
* RUN: $tmp/test
*/
#include <glad/gles1.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,13 @@
/*
* Full on demand GLES1 with loader
*
* GLAD: $GLAD --out-path=$tmp --api="gles1,egl" c --on-demand --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gles1.c $tmp/src/egl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gles1.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,16 @@
/*
* GLES2 No extensions, with aliasing
*
* Issue: https://github.com/Dav1dde/glad/issues/334
*
* GLAD: $GLAD --out-path=$tmp --api="gles2=3.2" --extensions="" c --alias
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gles2.c -ldl
* RUN: $tmp/test
*/
#include <glad/gles2.h>
int main(void) {
(void) glGenVertexArraysOES;
return 0;
}

View File

@@ -0,0 +1,13 @@
/*
* Full GLES2
*
* GLAD: $GLAD --out-path=$tmp --api="gles2" c
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gles2.c -ldl
* RUN: $tmp/test
*/
#include <glad/gles2.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,13 @@
/*
* Full GLES2 with loader
*
* GLAD: $GLAD --out-path=$tmp --api="egl,gles2" c --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/egl.c $tmp/src/gles2.c -ldl
* RUN: $tmp/test
*/
#include <glad/gles2.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,24 @@
/*
* Emscripten GLES2 + EGL header only.
* Related Issues: #387
*
* GLAD: $GLAD --out-path=$tmp --api="egl,gles2" c --loader --header-only
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl
* RUN: $tmp/test
*/
#include <stddef.h>
#define GLAD_GLES2_IMPLEMENTATION
#define GLAD_PLATFORM_EMSCRIPTEN 1
#include <glad/egl.h> /* egl before gles2 */
#include <glad/gles2.h>
__eglMustCastToProperFunctionPointerType emscripten_GetProcAddress(const char *name) {
GLAD_UNUSED(name);
return GLAD_GNUC_EXTENSION (__eglMustCastToProperFunctionPointerType) NULL;
}
int main(void) {
return 0;
}

View File

@@ -0,0 +1,28 @@
/*
* Emscripten GLES2 + header only. See also 003.
* Related Issues: #387
*
* GLAD: $GLAD --out-path=$tmp --api="egl,gles2" c --loader --header-only
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl -Wno-pedantic
* RUN: $tmp/test
*/
#include <stddef.h>
#define GLAD_GLES2_IMPLEMENTATION
#define GLAD_PLATFORM_EMSCRIPTEN 1
#include <glad/gles2.h>
/*
* egl after gles2
* this is not correct, that's why we disable pedantic but it should still compile without
*/
#include <glad/egl.h>
__eglMustCastToProperFunctionPointerType emscripten_GetProcAddress(const char *name) {
GLAD_UNUSED(name);
return GLAD_GNUC_EXTENSION (__eglMustCastToProperFunctionPointerType) NULL;
}
int main(void) {
return 0;
}

View File

@@ -0,0 +1,23 @@
/*
* Emscripten GLES2 + header only. See also 003.
* Related Issues: #387
*
* GLAD: $GLAD --out-path=$tmp --api="gles2" c --loader --header-only
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl
* RUN: $tmp/test
*/
#include <stddef.h>
#define GLAD_GLES2_IMPLEMENTATION
#define GLAD_PLATFORM_EMSCRIPTEN 1
#include <glad/gles2.h>
__eglMustCastToProperFunctionPointerType emscripten_GetProcAddress(const char *name) {
GLAD_UNUSED(name);
return GLAD_GNUC_EXTENSION (__eglMustCastToProperFunctionPointerType) NULL;
}
int main(void) {
return 0;
}

View File

@@ -0,0 +1,13 @@
/*
* Full on demand GLES2
*
* GLAD: $GLAD --out-path=$tmp --api="gles2" c --on-demand
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gles2.c -ldl
* RUN: $tmp/test
*/
#include <glad/gles2.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,13 @@
/*
* Full on demand GLES2 with loader
*
* GLAD: $GLAD --out-path=$tmp --api="gles2,egl" c --on-demand --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/gles2.c $tmp/src/egl.c -ldl
* RUN: $tmp/test
*/
#include <glad/gles2.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,14 @@
/*
* Issue #362, aliasing func is not called.
* Note this does not actually verify the functions get properly initialized only that it compiles
*
* GLAD: $GLAD --out-path=$tmp --api="glx,gl:core" c --alias
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/glx.c -ldl -lX11
* RUN: $tmp/test
*/
#include <glad/glx.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,16 @@
/*
* Full GLX
*
* GLAD: $GLAD --out-path=$tmp --api="glx,gl:core" c --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/glx.c -ldl -lX11
* RUN: $tmp/test
*/
#include <glad/glx.h>
int main(void) {
Display *display = NULL;
(void) gladLoaderLoadGLX(display, 0);
(void) gladLoaderUnloadGLX();
return 0;
}

View File

@@ -0,0 +1,16 @@
/*
* Full GLX, without X11 as dependency
*
* GLAD: $GLAD --out-path=$tmp --api="glx,gl:core" c --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/glx.c -ldl -DGLAD_GLX_NO_X11
* RUN: $tmp/test
*/
#include <glad/glx.h>
int main(void) {
Display *display = NULL;
(void) gladLoaderLoadGLX(display, 0);
(void) gladLoaderUnloadGLX();
return 0;
}

View File

@@ -0,0 +1,16 @@
/*
* GLX 1.0
*
* GLAD: $GLAD --out-path=$tmp --api="glx=1.0,gl:core" c --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/glx.c -ldl -DGLAD_GLX_NO_X11
* RUN: $tmp/test
*/
#include <glad/glx.h>
int main(void) {
Display *display = NULL;
(void) gladLoaderLoadGLX(display, 0);
(void) gladLoaderUnloadGLX();
return 0;
}

View File

@@ -0,0 +1,17 @@
/*
* Full header only only GLX
*
* GLAD: $GLAD --out-path=$tmp --api="glx,gl:core" c --loader --header-only
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl -lX11
* RUN: $tmp/test
*/
#define GLAD_GLX_IMPLEMENTATION
#include <glad/glx.h>
int main(void) {
Display *display = NULL;
(void) gladLoaderLoadGLX(display, 0);
(void) gladLoaderUnloadGLX();
return 0;
}

View File

@@ -0,0 +1,17 @@
/*
* Full header only only GLX, without X11 as dependency
*
* GLAD: $GLAD --out-path=$tmp --api="glx,gl:core" c --loader --header-only
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl -DGLAD_GLX_NO_X11
* RUN: $tmp/test
*/
#define GLAD_GLX_IMPLEMENTATION
#include <glad/glx.h>
int main(void) {
Display *display = NULL;
(void) gladLoaderLoadGLX(display, 0);
(void) gladLoaderUnloadGLX();
return 0;
}

View File

@@ -0,0 +1,13 @@
/*
* Full on demand GLX
*
* GLAD: $GLAD --out-path=$tmp --api="glx,gl:core" c --on-demand
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/glx.c -ldl
* RUN: $tmp/test
*/
#include <glad/glx.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,13 @@
/*
* Full on demand GLX with loader
*
* GLAD: $GLAD --out-path=$tmp --api="glx,gl:core" c --on-demand --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/glx.c -ldl
* RUN: $tmp/test
*/
#include <glad/glx.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,18 @@
/*
* Full Vulkan with aliasing
*
* GLAD: $GLAD --out-path=$tmp --api="vulkan" c --loader --alias
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/vulkan.c -ldl
* RUN: $tmp/test
*/
#include <glad/vulkan.h>
#if !defined(VK_EXT_debug_report) || !defined(VK_VERSION_1_0)
#error
#endif
int main(void) {
(void) gladLoaderLoadVulkan(NULL, NULL, NULL);
return 0;
}

View File

@@ -0,0 +1,18 @@
/*
* Full Vulkan with aliasing and without extensions
*
* GLAD: $GLAD --out-path=$tmp --api="vulkan" --extensions="" c --loader --alias
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/vulkan.c -ldl
* RUN: $tmp/test
*/
#include <glad/vulkan.h>
#if defined(VK_EXT_debug_report) || !defined(VK_VERSION_1_0)
#error
#endif
int main(void) {
(void) gladLoaderLoadVulkan(NULL, NULL, NULL);
return 0;
}

View File

@@ -0,0 +1,13 @@
/*
* Issue #335. Debug functions are not guarded/protected by platform.
*
* GLAD: $GLAD --out-path=$tmp --api="vulkan=1.1" --extensions=VK_KHR_external_memory_win32 c --debug
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/vulkan.c -ldl
* RUN: $tmp/test
*/
#include <glad/vulkan.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,14 @@
/*
* Full Vulkan
*
* GLAD: $GLAD --out-path=$tmp --api="vulkan" c --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/vulkan.c -ldl
* RUN: $tmp/test
*/
#include <glad/vulkan.h>
int main(void) {
(void) gladLoaderLoadVulkan(NULL, NULL, NULL);
return 0;
}

View File

@@ -0,0 +1,14 @@
/*
* Full Vulkan without extensions
*
* GLAD: $GLAD --out-path=$tmp --api="vulkan" --extensions="" c --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/vulkan.c -ldl
* RUN: $tmp/test
*/
#include <glad/vulkan.h>
int main(void) {
(void) gladLoaderLoadVulkan(NULL, NULL, NULL);
return 0;
}

View File

@@ -0,0 +1,14 @@
/*
* Vulkan 1.0 without extensions
*
* GLAD: $GLAD --out-path=$tmp --api="vulkan=1.0" --extensions="" c --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/vulkan.c -ldl
* RUN: $tmp/test
*/
#include <glad/vulkan.h>
int main(void) {
(void) gladLoaderLoadVulkan(NULL, NULL, NULL);
return 0;
}

View File

@@ -0,0 +1,15 @@
/*
* Vulkan 1.0 with extensions
*
* GLAD: $GLAD --out-path=$tmp --api="vulkan=1.0" c --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/vulkan.c -ldl
* RUN: $tmp/test
*/
#include <glad/vulkan.h>
#include <stddef.h>
int main(void) {
(void) gladLoaderLoadVulkan(NULL, NULL, NULL);
return 0;
}

View File

@@ -0,0 +1,22 @@
/*
* Issue #171. Enums being aliased, but the enum that they are aliased to
* do not exist (e.g. because they don't exist in this profile).
* This is to make sure Vulkan handles the enums correctly as well (since
* the vulkan specification only specifies the alias and no value).
*
* See also c/compile/gl/default/007
*
* GLAD: $GLAD --out-path=$tmp --api="vulkan=1.1" --extensions="VK_KHR_external_memory_capabilities" c
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/vulkan.c -ldl
* RUN: $tmp/test
*/
#include <glad/vulkan.h>
#if VK_LUID_SIZE_KHR != 8
#error
#endif
int main(void) {
return 0;
}

View File

@@ -0,0 +1,17 @@
/*
* Issue #350, missing ENUM_MAX values
*
* GLAD: $GLAD --out-path=$tmp --api="vulkan=1.1" c
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/vulkan.c -ldl
* RUN: $tmp/test
*/
#include <glad/vulkan.h>
int main(void) {
VkDeviceGroupPresentModeFlagBitsKHR a = VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR;
VkSubgroupFeatureFlagBits b = VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM;
(void) a;
(void) b;
return 0;
}

View File

@@ -0,0 +1,22 @@
/*
* Full vulkan, header only, mx
*
* GLAD: $GLAD --out-path=$tmp --api="vulkan" c --loader --header-only --mx
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl
* RUN: $tmp/test
*/
#define GLAD_VULKAN_IMPLEMENTATION
#include <glad/vulkan.h>
typedef void (*VOID_FUNCPTR)(void);
VOID_FUNCPTR loader_userptr(void *userptr, const char *name) { (void) name; (void) userptr; return NULL; }
VOID_FUNCPTR loader(const char *name) { (void) name; return NULL; }
int main(void) {
GladVulkanContext context = {0};
(void) gladLoadVulkanContextUserPtr(&context, NULL, loader_userptr, NULL);
(void) gladLoadVulkanContext(&context, NULL, loader);
(void) gladLoaderLoadVulkanContext(&context, NULL, NULL, NULL);
return 0;
}

View File

@@ -0,0 +1,23 @@
/*
* Full vulkan without extensions, header only, mx
*
* GLAD: $GLAD --out-path=$tmp --api="vulkan" --extensions="" c --loader --header-only --mx
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl
* RUN: $tmp/test
*/
#define GLAD_VULKAN_IMPLEMENTATION
#include <glad/vulkan.h>
typedef void (*VOID_FUNCPTR)(void);
VOID_FUNCPTR loader_userptr(void *userptr, const char *name) { (void) name; (void) userptr; return NULL; }
VOID_FUNCPTR loader(const char *name) { (void) name; return NULL; }
int main(void) {
GladVulkanContext context = {0};
(void) gladLoadVulkanContextUserPtr(&context, NULL, loader_userptr, NULL);
(void) gladLoadVulkanContext(&context, NULL, loader);
(void) gladLoaderLoadVulkanContext(&context, NULL, NULL, NULL);
return 0;
}

View File

@@ -0,0 +1,19 @@
/*
* Full Vulkan header only
*
* GLAD: $GLAD --out-path=$tmp --api="vulkan" c --loader --header-only
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl
* RUN: $tmp/test
*/
#define GLAD_VULKAN_IMPLEMENTATION
#include <glad/vulkan.h>
#if !defined(VK_EXT_debug_report) || !defined(VK_VERSION_1_0)
#error
#endif
int main(void) {
(void) gladLoaderLoadVulkan(NULL, NULL, NULL);
return 0;
}

View File

@@ -0,0 +1,19 @@
/*
* Full Vulkan without extensions, header only
*
* GLAD: $GLAD --out-path=$tmp --api="vulkan" --extensions="" c --loader --header-only
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include -ldl
* RUN: $tmp/test
*/
#define GLAD_VULKAN_IMPLEMENTATION
#include <glad/vulkan.h>
#if defined(VK_EXT_debug_report) || !defined(VK_VERSION_1_0)
#error
#endif
int main(void) {
(void) gladLoaderLoadVulkan(NULL, NULL, NULL);
return 0;
}

View File

@@ -0,0 +1,25 @@
/*
* Full vulkan, mx
*
* GLAD: $GLAD --out-path=$tmp --api="vulkan" c --loader --mx --mx-global
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/vulkan.c -ldl
* RUN: $tmp/test
*/
#include <glad/vulkan.h>
typedef void (*VOID_FUNCPTR)(void);
VOID_FUNCPTR loader_userptr(void *userptr, const char *name) { (void) name; (void) userptr; return NULL; }
VOID_FUNCPTR loader(const char *name) { (void) name; return NULL; }
int main(void) {
GladVulkanContext context = {0};
(void) gladLoadVulkanUserPtr(NULL, loader_userptr, NULL);
(void) gladLoadVulkanContextUserPtr(&context, NULL, loader_userptr, NULL);
(void) gladLoadVulkan(NULL, loader);
(void) gladLoadVulkanContext(&context, NULL, loader);
(void) gladLoaderLoadVulkan(NULL, NULL, NULL);
(void) gladLoaderLoadVulkanContext(&context, NULL, NULL, NULL);
return 0;
}

View File

@@ -0,0 +1,25 @@
/*
* Full vulkan without extensions, mx
*
* GLAD: $GLAD --out-path=$tmp --api="vulkan" --extensions="" c --loader --mx --mx-global
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/vulkan.c -ldl -g
* RUN: $tmp/test
*/
#include <glad/vulkan.h>
typedef void (*VOID_FUNCPTR)(void);
VOID_FUNCPTR loader_userptr(void *userptr, const char *name) { (void) name; (void) userptr; return NULL; }
VOID_FUNCPTR loader(const char *name) { (void) name; return NULL; }
int main(void) {
GladVulkanContext context = {0};
(void) gladLoadVulkanUserPtr(NULL, loader_userptr, NULL);
(void) gladLoadVulkanContextUserPtr(&context, NULL, loader_userptr, NULL);
(void) gladLoadVulkan(NULL, loader);
(void) gladLoadVulkanContext(&context, NULL, loader);
(void) gladLoaderLoadVulkan(NULL, NULL, NULL);
(void) gladLoaderLoadVulkanContext(&context, NULL, NULL, NULL);
return 0;
}

View File

@@ -0,0 +1,13 @@
/*
* Full on demand Vulkan
*
* GLAD: $GLAD --out-path=$tmp --api="vulkan" c --on-demand
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/vulkan.c -ldl
* RUN: $tmp/test
*/
#include <glad/vulkan.h>
int main(void) {
return 0;
}

View File

@@ -0,0 +1,13 @@
/*
* Full on demand Vulkan with loader
*
* GLAD: $GLAD --out-path=$tmp --api="vulkan" c --on-demand --loader
* COMPILE: $GCC $test -o $tmp/test -I$tmp/include $tmp/src/vulkan.c -ldl
* RUN: $tmp/test
*/
#include <glad/vulkan.h>
int main(void) {
return 0;
}