Comment 8 for bug 1782285

Revision history for this message
Kyle Brenneman (kyle-brenneman) wrote :

Also, while GLESv1 is the fixed-pipeline stuff, libGLESv1_CM.so just provides a set of forwarder functions. Libglvnd forwards those calls to a vendor library based on the current context, so it's up to the vendor library what to do with them. If a vendor doesn't provide a function to forward to, then libglvnd sends the function to an error or no-op stub (the same way it would handle calling a function without a current context at all).

For something like GLESv1, if a vendor library doesnt't support it, then it would just return NULL from its eglCreateConext or glXCreateContextAttribsARB implementation. At that point, the vendor library doesn't need to implement any of the GLESv1 functions -- trying to call a GLESv1 function without a current GLESv1 context is an application error.