summaryrefslogtreecommitdiff
path: root/indra/llrender/llglheaders.h
diff options
context:
space:
mode:
authorRye <rye@alchemyviewer.org>2025-10-30 17:22:09 -0400
committerRye <rye@alchemyviewer.org>2025-11-02 21:40:05 -0500
commit0c1cbf2d38cbd0db5c9cfb86559b4fc5e4acee0d (patch)
tree725abfa056852880daeaa3bae41951b03c1bcb3d /indra/llrender/llglheaders.h
parent0c796b0c429058b334ee8968c4f0019445c09d55 (diff)
Add support for GLX and EGL to GL extension loader
Fix dullahan wayland support Fix shader GL_ERROR under GL Core profile in Mesa Signed-off-by: Rye <rye@alchemyviewer.org>
Diffstat (limited to 'indra/llrender/llglheaders.h')
-rw-r--r--indra/llrender/llglheaders.h30
1 files changed, 24 insertions, 6 deletions
diff --git a/indra/llrender/llglheaders.h b/indra/llrender/llglheaders.h
index fb9c339c62..9e4d1c5b3a 100644
--- a/indra/llrender/llglheaders.h
+++ b/indra/llrender/llglheaders.h
@@ -27,11 +27,11 @@
#ifndef LL_LLGLHEADERS_H
#define LL_LLGLHEADERS_H
-#if LL_WINDOWS || LL_MESA || LL_SDL_WINDOW || LL_LINUX
+#if LL_WINDOWS || LL_MESA_HEADLESS || LL_SDL_WINDOW || LL_LINUX
//----------------------------------------------------------------------------
- // LL_WINDOWS || LL_MESA || LL_SDL_WINDOW || LL_LINUX
+ // LL_WINDOWS || LL_MESA_HEADLESS || LL_SDL_WINDOW || LL_LINUX
-#if LL_MESA
+#if LL_MESA_HEADLESS
#define GL_GLEXT_PROTOTYPES 1
#else
#define LL_GL_FUNC_POINTER 1
@@ -43,16 +43,22 @@
// quotes so we get libraries/.../GL/ version
#include "GL/glcorearb.h"
-#if LL_WINDOWS && !LL_MESA
+#if LL_WINDOWS && !LL_MESA_HEADLESS
#include "GL/wglext.h"
#endif
-#if LL_LINUX && !LL_MESA
+#if LL_LINUX && LL_X11 && !LL_MESA_HEADLESS
+#define GLX_GLXEXT_LEGACY
#define __gl_h_ 1
#include "GL/glx.h"
#include "GL/glxext.h"
#endif
+#if LL_LINUX && LL_WAYLAND && !LL_MESA_HEADLESS
+#define EGL_EGL_PROTOTYPES 0
+#include "EGL/egl.h"
+#endif
+
#elif LL_DARWIN
//----------------------------------------------------------------------------
// LL_DARWIN
@@ -64,7 +70,7 @@
#define GL_GLEXT_PROTOTYPES 1
#include "GL/glext.h"
-#endif // LL_MESA / LL_SDL_WINDOW // LL_LINUX / LL_WINDOWS / LL_DARWIN
+#endif // LL_MESA_HEADLESS / LL_SDL_WINDOW // LL_LINUX / LL_WINDOWS / LL_DARWIN
//GL_NVX_gpu_memory_info constants
#ifndef GL_NVX_gpu_memory_info
@@ -145,6 +151,18 @@ extern PFNWGLCHOOSEPIXELFORMATARBPROC wglChoosePixelFormatARB;
#endif // LL_WINDOWS
+#if LL_LINUX && LL_X11 && !LL_MESA_HEADLESS
+// GLX_MESA_query_renderer
+extern PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC glXQueryCurrentRendererIntegerMESA;
+extern PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC glXQueryCurrentRendererStringMESA;
+extern PFNGLXQUERYRENDERERINTEGERMESAPROC glXQueryRendererIntegerMESA;
+extern PFNGLXQUERYRENDERERSTRINGMESAPROC glXQueryRendererStringMESA;
+#endif
+
+#if LL_LINUX && LL_WAYLAND &&!LL_MESA_HEADLESS
+extern PFNEGLQUERYSTRINGPROC eglQueryString;
+#endif
+
// We get all functions via getProcAddress when using SDL
// GL_VERSION_1_0
extern PFNGLCULLFACEPROC glCullFace;