diff options
author | Sven Gothel <[email protected]> | 2012-10-28 22:56:21 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2012-10-28 22:56:21 +0100 |
commit | 9b6448b1d54716fd455c0cad0c6133c0edeb3bb8 (patch) | |
tree | bd163d415d35f865e7f717dabe334a195caf067f /doc/Implementation/Lifecycle.txt | |
parent | 17d47c83bb976b6185b1562a2c332ecfef258c48 (diff) |
GLRendererQuirks: Add RequiresBoundVAO (w/ impl.), GLSLBuggyDiscard (todo) ; GLContextImpl: Bind default VAO if having quirk RequiresBoundVAO.
OSX w/ OpenGL >= 3 core context implementation requires a bound VAO for vertex attribute operations,
i.e. VertexAttributePointer(..). This has been experienced on OSX 10.7.5, OpenGL 3.2 core w/ Nvidia GPU
and in several forum posts. Such 'behavior' violates the GL 3.2 core specification,
which does not state this requirement, hence it is a bug. (Please correct me if I am wrong!)
GLContextImpl works around this quirk, by generating a default VAO and binds it at 1st makeCurrent (@creation)
and deletes it at destroy. This is minimal invasive since no action is required for subsequent makeCurrent or release.
We assume if a user uses and binds a VAO herself, she will mind this quirk.
Note: We could enhance this workaround by quering for a currently bound VAO at makeCurrent() and bind our default if none.
However, we refrain from this operation to minimize the workaround and complexity.
Diffstat (limited to 'doc/Implementation/Lifecycle.txt')
0 files changed, 0 insertions, 0 deletions