mirror of
https://github.com/godotengine/godot.git
synced 2025-01-22 10:32:54 -05:00
Disable *glGetProcAddress()
on the web
This commit is contained in:
parent
8a6c1e8f52
commit
8e242fe7c1
3 changed files with 8 additions and 5 deletions
|
@ -72,7 +72,7 @@
|
||||||
|
|
||||||
#if !defined(IOS_ENABLED) && !defined(WEB_ENABLED)
|
#if !defined(IOS_ENABLED) && !defined(WEB_ENABLED)
|
||||||
// We include EGL below to get debug callback on GLES2 platforms,
|
// We include EGL below to get debug callback on GLES2 platforms,
|
||||||
// but EGL is not available on iOS.
|
// but EGL is not available on iOS or the web.
|
||||||
#define CAN_DEBUG
|
#define CAN_DEBUG
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -207,11 +207,10 @@ def configure(env: "SConsEnvironment"):
|
||||||
env.Append(LINKFLAGS=["-sMAX_WEBGL_VERSION=2"])
|
env.Append(LINKFLAGS=["-sMAX_WEBGL_VERSION=2"])
|
||||||
# Allow use to take control of swapping WebGL buffers.
|
# Allow use to take control of swapping WebGL buffers.
|
||||||
env.Append(LINKFLAGS=["-sOFFSCREEN_FRAMEBUFFER=1"])
|
env.Append(LINKFLAGS=["-sOFFSCREEN_FRAMEBUFFER=1"])
|
||||||
# Breaking change since emscripten 3.1.51
|
# Disables the use of *glGetProcAddress() which is inefficient.
|
||||||
# https://github.com/emscripten-core/emscripten/blob/main/ChangeLog.md#3151---121323
|
# See https://emscripten.org/docs/tools_reference/settings_reference.html#gl-enable-get-proc-address
|
||||||
if cc_semver >= (3, 1, 51):
|
if cc_semver >= (3, 1, 51):
|
||||||
# Enables the use of *glGetProcAddress()
|
env.Append(LINKFLAGS=["-sGL_ENABLE_GET_PROC_ADDRESS=0"])
|
||||||
env.Append(LINKFLAGS=["-sGL_ENABLE_GET_PROC_ADDRESS=1"])
|
|
||||||
|
|
||||||
if env["javascript_eval"]:
|
if env["javascript_eval"]:
|
||||||
env.Append(CPPDEFINES=["JAVASCRIPT_EVAL_ENABLED"])
|
env.Append(CPPDEFINES=["JAVASCRIPT_EVAL_ENABLED"])
|
||||||
|
|
|
@ -35,6 +35,10 @@
|
||||||
#define GLES_API_ENABLED // Allow using GLES.
|
#define GLES_API_ENABLED // Allow using GLES.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Make using *glGetProcAddress() an error on the web.
|
||||||
|
#define glGetProcAddress(n) static_assert(false, "Usage of glGetProcessAddress() on the web is a bug.")
|
||||||
|
#define eglGetProcAddress(n) static_assert(false, "Usage of eglGetProcessAddress() on the web is a bug.")
|
||||||
|
|
||||||
#include "platform/web/godot_webgl2.h"
|
#include "platform/web/godot_webgl2.h"
|
||||||
|
|
||||||
#endif // PLATFORM_GL_H
|
#endif // PLATFORM_GL_H
|
||||||
|
|
Loading…
Reference in a new issue