|
@@ -1559,8 +1559,6 @@ void rlglInit(int width, int height)
|
|
|
// NOTE: Only check on OpenGL ES, OpenGL 3.3 has VAO support as core feature
|
|
|
if (strcmp(extList[i], (const char *)"GL_OES_vertex_array_object") == 0)
|
|
|
{
|
|
|
- vaoSupported = true;
|
|
|
-
|
|
|
// The extension is supported by our hardware and driver, try to get related functions pointers
|
|
|
// NOTE: emscripten does not support VAOs natively, it uses emulation and it reduces overall performance...
|
|
|
glGenVertexArrays = (PFNGLGENVERTEXARRAYSOESPROC)eglGetProcAddress("glGenVertexArraysOES");
|
|
@@ -1568,19 +1566,9 @@ void rlglInit(int width, int height)
|
|
|
glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSOESPROC)eglGetProcAddress("glDeleteVertexArraysOES");
|
|
|
//glIsVertexArray = (PFNGLISVERTEXARRAYOESPROC)eglGetProcAddress("glIsVertexArrayOES"); // NOTE: Fails in WebGL, omitted
|
|
|
|
|
|
- if (glGenVertexArrays == NULL) printf("glGenVertexArrays is NULL.\n"); // WEB: ISSUE FOUND! ...but why?
|
|
|
- if (glBindVertexArray == NULL) printf("glBindVertexArray is NULL.\n"); // WEB: ISSUE FOUND! ...but why?
|
|
|
+ if ((glGenVertexArrays != NULL) && (glBindVertexArray != NULL) && (glDeleteVertexArrays != NULL)) vaoSupported = true;
|
|
|
}
|
|
|
|
|
|
- // TODO: HACK REVIEW!
|
|
|
- // For some reason on raylib 2.5, VAO usage breaks the build
|
|
|
- // error seems related to function pointers but I can not get detailed info...
|
|
|
- // Avoiding VAO usage is the only solution for now... :(
|
|
|
- // Ref: https://emscripten.org/docs/porting/guidelines/function_pointer_issues.html
|
|
|
- #if defined(PLATFORM_WEB)
|
|
|
- vaoSupported = false;
|
|
|
- #endif
|
|
|
-
|
|
|
// Check NPOT textures support
|
|
|
// NOTE: Only check on OpenGL ES, OpenGL 3.3 has NPOT textures full support as core feature
|
|
|
if (strcmp(extList[i], (const char *)"GL_OES_texture_npot") == 0) texNPOTSupported = true;
|