Fixed-function pipeline availability after OpenGL 3.2 core/compatibility split
0 reputation · 27 Aug 2025, 11:36 UTC
OpenGL 3.2 introduced core and compatibility profiles and removed fixed-function transform, lighting and texture-environment state from core while retaining those entry points in compatibility drivers.
The goal is to design a portable application that can rely on legacy fixed-function entry points when a compatibility profile is requested, without assuming identical behavior across drivers and platforms.
Uncertainty remains because the specification provides no portable query to determine whether a compatibility-profile driver fully implements every deprecated feature. Forward-compatible context flags request removal of deprecated functionality but do not define exactly which legacy entry points a driver must disable, and context creation rules differ between WGL, GLX and EGL.
Does GL_CONTEXT_PROFILE_MASK alone guarantee availability of all fixed-function entry points in a compatibility context? Which legacy features are required versus optional in a compatibility profile across vendors? How should the presence or absence of GL_ARB_compatibility be interpreted for legacy support?