Limits on Vertex Buffer Object (VBO) Size in OpenGL 4.6
0 reputation · 02 Nov 2021, 02:33 UTC
Goal
Determine the maximum size of a vertex buffer object that can be allocated in a given OpenGL 4.6 context.
Constraints & Uncertainty
The maximum buffer size is implementation‑dependent; the specification does not prescribe a single value, and drivers expose it through various queries. It is unclear whether the limit is identical for GL_ARRAY_BUFFER and GL_ELEMENT_ARRAY_BUFFER, or if it is affected by the chosen memory usage hint (GL_STATIC_DRAW, GL_DYNAMIC_DRAW, etc.). Additionally, the token used to query the limit is not consistently documented across driver releases.
Specific Questions
- What is the documented maximum size of a VBO on a typical GPU running OpenGL 4.6?
- Which
glGettoken(s) should be used to retrieve this limit reliably across drivers? - Does the maximum size differ between
GL_ARRAY_BUFFERandGL_ELEMENT_ARRAY_BUFFERbindings?