From 604eea58274cf6f1390a5d659a1891b759e65510 Mon Sep 17 00:00:00 2001 From: Jelle Raaijmakers Date: Tue, 21 Dec 2021 00:56:13 +0100 Subject: [PATCH] LibGL: Allow querying maximum matrix stack depths --- Userland/Libraries/LibGL/GL/gl.h | 3 +++ Userland/Libraries/LibGL/SoftwareGLContext.cpp | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/Userland/Libraries/LibGL/GL/gl.h b/Userland/Libraries/LibGL/GL/gl.h index a64a3ba689..d88522ef0f 100644 --- a/Userland/Libraries/LibGL/GL/gl.h +++ b/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 diff --git a/Userland/Libraries/LibGL/SoftwareGLContext.cpp b/Userland/Libraries/LibGL/SoftwareGLContext.cpp index 6affec55ba..e8edfda101 100644 --- a/Userland/Libraries/LibGL/SoftwareGLContext.cpp +++ b/Userland/Libraries/LibGL/SoftwareGLContext.cpp @@ -91,8 +91,14 @@ Optional 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(m_texture_units.size()) } }; case GL_PACK_ALIGNMENT: