diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-06-13 17:19:17 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-06-13 17:19:17 +0200 |
commit | e15c2e051e4d5b2257b5ea24e466b4056d8c2310 (patch) | |
tree | 3427c02aa99467f7708224ea94d0bd5e11610053 /platform/linuxbsd/wayland/detect_prime_egl.h | |
parent | 1567a498cbe0d2aeb73a9d2a67d3ac6b22b340a1 (diff) | |
parent | 8f69f2969433ba88b8eda923ef2d576f81a959c1 (diff) | |
download | redot-engine-e15c2e051e4d5b2257b5ea24e466b4056d8c2310.tar.gz |
Merge pull request #92663 from Riteo/holy-egl-batman
EGL: Use `EGL_EXT_platform_base` whenever possible
Diffstat (limited to 'platform/linuxbsd/wayland/detect_prime_egl.h')
-rw-r--r-- | platform/linuxbsd/wayland/detect_prime_egl.h | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/platform/linuxbsd/wayland/detect_prime_egl.h b/platform/linuxbsd/wayland/detect_prime_egl.h index 26351b0dce..3391e020d8 100644 --- a/platform/linuxbsd/wayland/detect_prime_egl.h +++ b/platform/linuxbsd/wayland/detect_prime_egl.h @@ -34,6 +34,30 @@ #ifdef GLES3_ENABLED #ifdef EGL_ENABLED +#ifdef GLAD_ENABLED +#include "thirdparty/glad/glad/egl.h" +#include "thirdparty/glad/glad/gl.h" +#else +#include <EGL/egl.h> +#include <EGL/eglext.h> +#include <GL/glcorearb.h> + +#define GLAD_EGL_VERSION_1_5 1 + +#ifdef EGL_EXT_platform_base +#define GLAD_EGL_EXT_platform_base 1 +#endif + +#define KHRONOS_STATIC 1 +extern "C" EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplayEXT(EGLenum platform, void *native_display, const EGLint *attrib_list); +#undef KHRONOS_STATIC + +#endif // GLAD_ENABLED + +#ifndef EGL_EXT_platform_base +#define GLAD_EGL_EXT_platform_base 0 +#endif + class DetectPrimeEGL { private: struct Vendor { @@ -53,10 +77,10 @@ private: { nullptr, 0 } }; - static void create_context(); + static void create_context(EGLenum p_platform_enum); public: - static int detect_prime(); + static int detect_prime(EGLenum p_platform_enum); }; #endif // GLES3_ENABLED |