diff --git a/Userland/Libraries/LibGL/ContextParameter.cpp b/Userland/Libraries/LibGL/ContextParameter.cpp index 739b27e3e6..1ae48e7822 100644 --- a/Userland/Libraries/LibGL/ContextParameter.cpp +++ b/Userland/Libraries/LibGL/ContextParameter.cpp @@ -14,6 +14,8 @@ namespace GL { Optional GLContext::get_context_parameter(GLenum name) { switch (name) { + case GL_ACTIVE_TEXTURE: + return ContextParameter { .type = GL_INT, .value = { .integer_value = static_cast(GL_TEXTURE0 + m_active_texture_unit_index) } }; case GL_ALPHA_BITS: return ContextParameter { .type = GL_INT, .value = { .integer_value = sizeof(u8) * 8 } }; case GL_ALPHA_TEST: @@ -26,6 +28,8 @@ Optional GLContext::get_context_parameter(GLenum name) return ContextParameter { .type = GL_INT, .value = { .integer_value = static_cast(m_blend_source_factor) } }; case GL_BLUE_BITS: return ContextParameter { .type = GL_INT, .value = { .integer_value = sizeof(u8) * 8 } }; + case GL_CLIENT_ACTIVE_TEXTURE: + return ContextParameter { .type = GL_INT, .value = { .integer_value = static_cast(GL_TEXTURE0 + m_client_active_texture) } }; case GL_COLOR_MATERIAL: return ContextParameter { .type = GL_BOOL, .is_capability = true, .value = { .boolean_value = m_color_material_enabled } }; case GL_COLOR_MATERIAL_FACE: diff --git a/Userland/Libraries/LibGL/GL/gl.h b/Userland/Libraries/LibGL/GL/gl.h index 42e48746e3..e8abdd5f81 100644 --- a/Userland/Libraries/LibGL/GL/gl.h +++ b/Userland/Libraries/LibGL/GL/gl.h @@ -121,6 +121,8 @@ extern "C" { #define GL_ALPHA_BITS 0x0D55 #define GL_DEPTH_BITS 0x0D56 #define GL_STENCIL_BITS 0x0D57 +#define GL_ACTIVE_TEXTURE 0x84E0 +#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1 #define GL_MAX_TEXTURE_UNITS 0x84E2 #define GL_MAX_LIGHTS 0x0D31 #define GL_AUTO_NORMAL 0x0D80 diff --git a/Userland/Libraries/LibGL/GLContext.h b/Userland/Libraries/LibGL/GLContext.h index c14e23a651..a2f6ef7dbf 100644 --- a/Userland/Libraries/LibGL/GLContext.h +++ b/Userland/Libraries/LibGL/GLContext.h @@ -339,7 +339,7 @@ private: bool m_client_side_vertex_array_enabled { false }; bool m_client_side_color_array_enabled { false }; Vector m_client_side_texture_coord_array_enabled; - size_t m_client_active_texture = 0; + size_t m_client_active_texture { 0 }; bool m_client_side_normal_array_enabled { false }; NonnullRefPtr m_frontbuffer;