Merge pull request #69123 from queezle42/queezle42/master

Fix GLAD-related build problems on Linux
This commit is contained in:
Rémi Verschelde 2022-11-25 10:00:55 +01:00
commit e81b787d36
No known key found for this signature in database
GPG key ID: C3336907360768E1
3 changed files with 55 additions and 105 deletions

View file

@ -160,16 +160,8 @@ void *OpenXROpenGLExtension::set_session_create_and_get_next_pointer(void *p_nex
} }
void OpenXROpenGLExtension::get_usable_swapchain_formats(Vector<int64_t> &p_usable_swap_chains) { void OpenXROpenGLExtension::get_usable_swapchain_formats(Vector<int64_t> &p_usable_swap_chains) {
#ifdef WIN32
p_usable_swap_chains.push_back(GL_SRGB8_ALPHA8); p_usable_swap_chains.push_back(GL_SRGB8_ALPHA8);
p_usable_swap_chains.push_back(GL_RGBA8); p_usable_swap_chains.push_back(GL_RGBA8);
#elif ANDROID_ENABLED
p_usable_swap_chains.push_back(GL_SRGB8_ALPHA8);
p_usable_swap_chains.push_back(GL_RGBA8);
#else
p_usable_swap_chains.push_back(GL_SRGB8_ALPHA8_EXT);
p_usable_swap_chains.push_back(GL_RGBA8_EXT);
#endif
} }
void OpenXROpenGLExtension::get_usable_depth_formats(Vector<int64_t> &p_usable_depth_formats) { void OpenXROpenGLExtension::get_usable_depth_formats(Vector<int64_t> &p_usable_depth_formats) {
@ -294,59 +286,7 @@ void OpenXROpenGLExtension::cleanup_swapchain_graphics_data(void **p_swapchain_g
String OpenXROpenGLExtension::get_swapchain_format_name(int64_t p_swapchain_format) const { String OpenXROpenGLExtension::get_swapchain_format_name(int64_t p_swapchain_format) const {
// These are somewhat different per platform, will need to weed some stuff out... // These are somewhat different per platform, will need to weed some stuff out...
switch (p_swapchain_format) { switch (p_swapchain_format) {
#ifdef WIN32 #ifdef ANDROID_ENABLED
// using definitions from GLAD
ENUM_TO_STRING_CASE(GL_R8_SNORM)
ENUM_TO_STRING_CASE(GL_RG8_SNORM)
ENUM_TO_STRING_CASE(GL_RGB8_SNORM)
ENUM_TO_STRING_CASE(GL_RGBA8_SNORM)
ENUM_TO_STRING_CASE(GL_R16_SNORM)
ENUM_TO_STRING_CASE(GL_RG16_SNORM)
ENUM_TO_STRING_CASE(GL_RGB16_SNORM)
ENUM_TO_STRING_CASE(GL_RGBA16_SNORM)
ENUM_TO_STRING_CASE(GL_RGB4)
ENUM_TO_STRING_CASE(GL_RGB5)
ENUM_TO_STRING_CASE(GL_RGB8)
ENUM_TO_STRING_CASE(GL_RGB10)
ENUM_TO_STRING_CASE(GL_RGB12)
ENUM_TO_STRING_CASE(GL_RGB16)
ENUM_TO_STRING_CASE(GL_RGBA2)
ENUM_TO_STRING_CASE(GL_RGBA4)
ENUM_TO_STRING_CASE(GL_RGB5_A1)
ENUM_TO_STRING_CASE(GL_RGBA8)
ENUM_TO_STRING_CASE(GL_RGB10_A2)
ENUM_TO_STRING_CASE(GL_RGBA12)
ENUM_TO_STRING_CASE(GL_RGBA16)
ENUM_TO_STRING_CASE(GL_RGBA32F)
ENUM_TO_STRING_CASE(GL_RGB32F)
ENUM_TO_STRING_CASE(GL_RGBA16F)
ENUM_TO_STRING_CASE(GL_RGB16F)
ENUM_TO_STRING_CASE(GL_RGBA32UI)
ENUM_TO_STRING_CASE(GL_RGB32UI)
ENUM_TO_STRING_CASE(GL_RGBA16UI)
ENUM_TO_STRING_CASE(GL_RGB16UI)
ENUM_TO_STRING_CASE(GL_RGBA8UI)
ENUM_TO_STRING_CASE(GL_RGB8UI)
ENUM_TO_STRING_CASE(GL_RGBA32I)
ENUM_TO_STRING_CASE(GL_RGB32I)
ENUM_TO_STRING_CASE(GL_RGBA16I)
ENUM_TO_STRING_CASE(GL_RGB16I)
ENUM_TO_STRING_CASE(GL_RGBA8I)
ENUM_TO_STRING_CASE(GL_RGB8I)
ENUM_TO_STRING_CASE(GL_RGB10_A2UI)
ENUM_TO_STRING_CASE(GL_SRGB)
ENUM_TO_STRING_CASE(GL_SRGB8)
ENUM_TO_STRING_CASE(GL_SRGB_ALPHA)
ENUM_TO_STRING_CASE(GL_SRGB8_ALPHA8)
ENUM_TO_STRING_CASE(GL_DEPTH_COMPONENT16)
ENUM_TO_STRING_CASE(GL_DEPTH_COMPONENT24)
ENUM_TO_STRING_CASE(GL_DEPTH_COMPONENT32)
ENUM_TO_STRING_CASE(GL_DEPTH24_STENCIL8)
ENUM_TO_STRING_CASE(GL_R11F_G11F_B10F)
ENUM_TO_STRING_CASE(GL_DEPTH_COMPONENT32F)
ENUM_TO_STRING_CASE(GL_DEPTH32F_STENCIL8)
#elif ANDROID_ENABLED
// using definitions from GLES3/gl3.h // using definitions from GLES3/gl3.h
ENUM_TO_STRING_CASE(GL_RGBA4) ENUM_TO_STRING_CASE(GL_RGBA4)
@ -418,44 +358,56 @@ String OpenXROpenGLExtension::get_swapchain_format_name(int64_t p_swapchain_form
ENUM_TO_STRING_CASE(GL_DEPTH24_STENCIL8) ENUM_TO_STRING_CASE(GL_DEPTH24_STENCIL8)
#else #else
// using definitions from GL/gl.h // using definitions from GLAD
ENUM_TO_STRING_CASE(GL_ALPHA4_EXT) ENUM_TO_STRING_CASE(GL_R8_SNORM)
ENUM_TO_STRING_CASE(GL_ALPHA8_EXT) ENUM_TO_STRING_CASE(GL_RG8_SNORM)
ENUM_TO_STRING_CASE(GL_ALPHA12_EXT) ENUM_TO_STRING_CASE(GL_RGB8_SNORM)
ENUM_TO_STRING_CASE(GL_ALPHA16_EXT) ENUM_TO_STRING_CASE(GL_RGBA8_SNORM)
ENUM_TO_STRING_CASE(GL_LUMINANCE4_EXT) ENUM_TO_STRING_CASE(GL_R16_SNORM)
ENUM_TO_STRING_CASE(GL_LUMINANCE8_EXT) ENUM_TO_STRING_CASE(GL_RG16_SNORM)
ENUM_TO_STRING_CASE(GL_LUMINANCE12_EXT) ENUM_TO_STRING_CASE(GL_RGB16_SNORM)
ENUM_TO_STRING_CASE(GL_LUMINANCE16_EXT) ENUM_TO_STRING_CASE(GL_RGBA16_SNORM)
ENUM_TO_STRING_CASE(GL_LUMINANCE4_ALPHA4_EXT) ENUM_TO_STRING_CASE(GL_RGB4)
ENUM_TO_STRING_CASE(GL_LUMINANCE6_ALPHA2_EXT) ENUM_TO_STRING_CASE(GL_RGB5)
ENUM_TO_STRING_CASE(GL_LUMINANCE8_ALPHA8_EXT) ENUM_TO_STRING_CASE(GL_RGB8)
ENUM_TO_STRING_CASE(GL_LUMINANCE12_ALPHA4_EXT) ENUM_TO_STRING_CASE(GL_RGB10)
ENUM_TO_STRING_CASE(GL_LUMINANCE12_ALPHA12_EXT) ENUM_TO_STRING_CASE(GL_RGB12)
ENUM_TO_STRING_CASE(GL_LUMINANCE16_ALPHA16_EXT) ENUM_TO_STRING_CASE(GL_RGB16)
ENUM_TO_STRING_CASE(GL_INTENSITY_EXT) ENUM_TO_STRING_CASE(GL_RGBA2)
ENUM_TO_STRING_CASE(GL_INTENSITY4_EXT) ENUM_TO_STRING_CASE(GL_RGBA4)
ENUM_TO_STRING_CASE(GL_INTENSITY8_EXT) ENUM_TO_STRING_CASE(GL_RGB5_A1)
ENUM_TO_STRING_CASE(GL_INTENSITY12_EXT) ENUM_TO_STRING_CASE(GL_RGBA8)
ENUM_TO_STRING_CASE(GL_INTENSITY16_EXT) ENUM_TO_STRING_CASE(GL_RGB10_A2)
ENUM_TO_STRING_CASE(GL_RGB2_EXT) ENUM_TO_STRING_CASE(GL_RGBA12)
ENUM_TO_STRING_CASE(GL_RGB4_EXT) ENUM_TO_STRING_CASE(GL_RGBA16)
ENUM_TO_STRING_CASE(GL_RGB5_EXT) ENUM_TO_STRING_CASE(GL_RGBA32F)
ENUM_TO_STRING_CASE(GL_RGB8_EXT) ENUM_TO_STRING_CASE(GL_RGB32F)
ENUM_TO_STRING_CASE(GL_RGB10_EXT) ENUM_TO_STRING_CASE(GL_RGBA16F)
ENUM_TO_STRING_CASE(GL_RGB12_EXT) ENUM_TO_STRING_CASE(GL_RGB16F)
ENUM_TO_STRING_CASE(GL_RGB16_EXT) ENUM_TO_STRING_CASE(GL_RGBA32UI)
ENUM_TO_STRING_CASE(GL_RGBA2_EXT) ENUM_TO_STRING_CASE(GL_RGB32UI)
ENUM_TO_STRING_CASE(GL_RGBA4_EXT) ENUM_TO_STRING_CASE(GL_RGBA16UI)
ENUM_TO_STRING_CASE(GL_RGB5_A1_EXT) ENUM_TO_STRING_CASE(GL_RGB16UI)
ENUM_TO_STRING_CASE(GL_RGBA8_EXT) ENUM_TO_STRING_CASE(GL_RGBA8UI)
ENUM_TO_STRING_CASE(GL_RGB10_A2_EXT) ENUM_TO_STRING_CASE(GL_RGB8UI)
ENUM_TO_STRING_CASE(GL_RGBA12_EXT) ENUM_TO_STRING_CASE(GL_RGBA32I)
ENUM_TO_STRING_CASE(GL_RGBA16_EXT) ENUM_TO_STRING_CASE(GL_RGB32I)
ENUM_TO_STRING_CASE(GL_SRGB_EXT) ENUM_TO_STRING_CASE(GL_RGBA16I)
ENUM_TO_STRING_CASE(GL_SRGB8_EXT) ENUM_TO_STRING_CASE(GL_RGB16I)
ENUM_TO_STRING_CASE(GL_SRGB_ALPHA_EXT) ENUM_TO_STRING_CASE(GL_RGBA8I)
ENUM_TO_STRING_CASE(GL_SRGB8_ALPHA8_EXT) ENUM_TO_STRING_CASE(GL_RGB8I)
ENUM_TO_STRING_CASE(GL_RGB10_A2UI)
ENUM_TO_STRING_CASE(GL_SRGB)
ENUM_TO_STRING_CASE(GL_SRGB8)
ENUM_TO_STRING_CASE(GL_SRGB_ALPHA)
ENUM_TO_STRING_CASE(GL_SRGB8_ALPHA8)
ENUM_TO_STRING_CASE(GL_DEPTH_COMPONENT16)
ENUM_TO_STRING_CASE(GL_DEPTH_COMPONENT24)
ENUM_TO_STRING_CASE(GL_DEPTH_COMPONENT32)
ENUM_TO_STRING_CASE(GL_DEPTH24_STENCIL8)
ENUM_TO_STRING_CASE(GL_R11F_G11F_B10F)
ENUM_TO_STRING_CASE(GL_DEPTH_COMPONENT32F)
ENUM_TO_STRING_CASE(GL_DEPTH32F_STENCIL8)
#endif #endif
default: { default: {
return String("Swapchain format 0x") + String::num_int64(p_swapchain_format, 16); return String("Swapchain format 0x") + String::num_int64(p_swapchain_format, 16);

View file

@ -59,9 +59,8 @@
#include OPENGL_INCLUDE_H #include OPENGL_INCLUDE_H
#define GL_GLEXT_PROTOTYPES 1 #define GL_GLEXT_PROTOTYPES 1
#define GL3_PROTOTYPES 1 #define GL3_PROTOTYPES 1
#include <GL/gl.h> #include "thirdparty/glad/glad/gl.h"
#include <GL/glext.h> #include "thirdparty/glad/glad/glx.h"
#include <GL/glx.h>
#include <X11/Xlib.h> #include <X11/Xlib.h>
#endif #endif

View file

@ -64,9 +64,8 @@
#include OPENGL_INCLUDE_H #include OPENGL_INCLUDE_H
#define GL_GLEXT_PROTOTYPES 1 #define GL_GLEXT_PROTOTYPES 1
#define GL3_PROTOTYPES 1 #define GL3_PROTOTYPES 1
#include <GL/gl.h> #include "thirdparty/glad/glad/gl.h"
#include <GL/glext.h> #include "thirdparty/glad/glad/glx.h"
#include <GL/glx.h>
#include <X11/Xlib.h> #include <X11/Xlib.h>
#endif // X11_ENABLED #endif // X11_ENABLED
#endif // GLES_ENABLED #endif // GLES_ENABLED