Selaa lähdekoodia

LibGL: Allow querying maximum matrix stack depths

Jelle Raaijmakers 3 vuotta sitten
vanhempi
commit
604eea5827

+ 3 - 0
Userland/Libraries/LibGL/GL/gl.h

@@ -83,6 +83,9 @@ extern "C" {
 // Get parameters
 #define GL_DOUBLEBUFFER 0x0C32
 #define GL_MAX_TEXTURE_SIZE 0x0D33
+#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36
+#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38
+#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39
 #define GL_RED_BITS 0x0D52
 #define GL_GREEN_BITS 0x0D53
 #define GL_BLUE_BITS 0x0D54

+ 6 - 0
Userland/Libraries/LibGL/SoftwareGLContext.cpp

@@ -91,8 +91,14 @@ Optional<ContextParameter> SoftwareGLContext::get_context_parameter(GLenum name)
         return ContextParameter { .type = GL_INT, .value = { .integer_value = sizeof(float) * 8 } };
     case GL_LIGHTING:
         return ContextParameter { .type = GL_BOOL, .value = { .boolean_value = m_lighting_enabled } };
+    case GL_MAX_MODELVIEW_STACK_DEPTH:
+        return ContextParameter { .type = GL_INT, .value = { .integer_value = MODELVIEW_MATRIX_STACK_LIMIT } };
+    case GL_MAX_PROJECTION_STACK_DEPTH:
+        return ContextParameter { .type = GL_INT, .value = { .integer_value = PROJECTION_MATRIX_STACK_LIMIT } };
     case GL_MAX_TEXTURE_SIZE:
         return ContextParameter { .type = GL_INT, .value = { .integer_value = 4096 } };
+    case GL_MAX_TEXTURE_STACK_DEPTH:
+        return ContextParameter { .type = GL_INT, .value = { .integer_value = TEXTURE_MATRIX_STACK_LIMIT } };
     case GL_MAX_TEXTURE_UNITS:
         return ContextParameter { .type = GL_INT, .value = { .integer_value = static_cast<GLint>(m_texture_units.size()) } };
     case GL_PACK_ALIGNMENT: