diff options
author | clayjohn <claynjohn@gmail.com> | 2019-12-09 22:14:12 -0800 |
---|---|---|
committer | clayjohn <claynjohn@gmail.com> | 2019-12-09 22:14:12 -0800 |
commit | e8d652f16095639dac33085b871b76a995fe8d86 (patch) | |
tree | 1214be6960cf532c937a63557f0d9f2af87846c6 | |
parent | 269145a346bddae5cbbf00fd17b6c8eac4cd4665 (diff) |
Force 32 bit depth buffer for WebGL
-rw-r--r-- | drivers/gles2/rasterizer_storage_gles2.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gles2/rasterizer_storage_gles2.cpp b/drivers/gles2/rasterizer_storage_gles2.cpp index 40e7f0c441..4040d94f10 100644 --- a/drivers/gles2/rasterizer_storage_gles2.cpp +++ b/drivers/gles2/rasterizer_storage_gles2.cpp @@ -5807,6 +5807,13 @@ void RasterizerStorageGLES2::initialize() { config.pvrtc_supported = config.extensions.has("IMG_texture_compression_pvrtc") || config.extensions.has("WEBGL_compressed_texture_pvrtc"); config.support_npot_repeat_mipmap = config.extensions.has("GL_OES_texture_npot"); +#ifdef JAVASCRIPT_ENABLED + // no way of detecting 32 or 16 bit support for renderbuffer, so default to 32 + // if the implementation doesn't support 32, it should just quietly use 16 instead + // https://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/ + config.depth_buffer_internalformat = GL_DEPTH_COMPONENT; + config.depth_type = GL_UNSIGNED_INT; +#else // on mobile check for 24 bit depth support for RenderBufferStorage if (config.extensions.has("GL_OES_depth24")) { config.depth_buffer_internalformat = _DEPTH_COMPONENT24_OES; @@ -5816,6 +5823,7 @@ void RasterizerStorageGLES2::initialize() { config.depth_type = GL_UNSIGNED_SHORT; } #endif +#endif #ifndef GLES_OVER_GL //Manually load extensions for android and ios |