Force 32 bit depth buffer for WebGL
This commit is contained in:
parent
269145a346
commit
e8d652f160
1 changed files with 8 additions and 0 deletions
|
@ -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.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");
|
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
|
// on mobile check for 24 bit depth support for RenderBufferStorage
|
||||||
if (config.extensions.has("GL_OES_depth24")) {
|
if (config.extensions.has("GL_OES_depth24")) {
|
||||||
config.depth_buffer_internalformat = _DEPTH_COMPONENT24_OES;
|
config.depth_buffer_internalformat = _DEPTH_COMPONENT24_OES;
|
||||||
|
@ -5816,6 +5823,7 @@ void RasterizerStorageGLES2::initialize() {
|
||||||
config.depth_type = GL_UNSIGNED_SHORT;
|
config.depth_type = GL_UNSIGNED_SHORT;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef GLES_OVER_GL
|
#ifndef GLES_OVER_GL
|
||||||
//Manually load extensions for android and ios
|
//Manually load extensions for android and ios
|
||||||
|
|
Loading…
Reference in a new issue