summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorclayjohn <claynjohn@gmail.com>2019-12-19 20:41:32 -0800
committerclayjohn <claynjohn@gmail.com>2019-12-19 20:41:32 -0800
commit28543667fd6663132504824c7318ad4473c21c5d (patch)
treecfc72c34d06d572fe24e6d9c02b1d4c93d9dfb21
parent2a4c528d067826dd1af865c93c3dc945c9a0e196 (diff)
Always use 16 bit renderbuffer depth on WebGL
-rw-r--r--drivers/gles2/rasterizer_storage_gles2.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gles2/rasterizer_storage_gles2.cpp b/drivers/gles2/rasterizer_storage_gles2.cpp
index 388a8423a0..60f72608a8 100644
--- a/drivers/gles2/rasterizer_storage_gles2.cpp
+++ b/drivers/gles2/rasterizer_storage_gles2.cpp
@@ -5812,10 +5812,11 @@ void RasterizerStorageGLES2::initialize() {
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
+ // RenderBuffer internal format must be 16 bits in WebGL,
+ // but depth_texture should default to 32 always
// 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_buffer_internalformat = GL_DEPTH_COMPONENT16;
config.depth_type = GL_UNSIGNED_INT;
#else
// on mobile check for 24 bit depth support for RenderBufferStorage