OpenGL2: Disable the VAO cache by default

The VAO surface cache uses glBufferSubData and triggers a very slow
path in some GLES implementations. Specifically I have observed 10x
frame times under Emscripten with ANGLE/Metal on macOS and with Mali
on Android.

Co-authored-by: Zack Middleton <zack@cloemail.com>
Co-authored-by: WofWca <wofwca@protonmail.com>
This commit is contained in:
authored and Zack Middleton committed 2025-06-12 18:02:28 -04:00
1 parent 8d2c2b42a5
commit dac3062dde
3 files changed
+9

No files matched your search

+3
View File
@@ -409,6 +409,9 @@ static qboolean RB_SurfaceVaoCached(int numVerts, srfVert_t *verts, int numIndex
qboolean recycleIndexBuffer = qfalse;
qboolean endSurface = qfalse;
if (!r_vaoCache->integer)
return qfalse;
if (!(!ShaderRequiresCPUDeforms(tess.shader) && !tess.shader->isSky && !tess.shader->isPortal))
return qfalse;