mirror of
https://github.com/MobileGL-Dev/MobileGlues.git
synced 2025-09-21 02:04:01 -04:00
[Improvement] (Texture): Better GL_DEPTH_COMPONENT handling.
This commit is contained in:
parent
75ddfe4100
commit
bb1c9eb2a2
@ -19,7 +19,6 @@ void init_settings() {
|
||||
global_settings.ext_gl43 = 0;
|
||||
global_settings.ext_compute_shader = 0;
|
||||
global_settings.max_glsl_cache_size = 30 * 1024 * 1024;
|
||||
global_settings.enable_compatible_mode = 0;
|
||||
global_settings.multidraw_mode = multidraw_mode_t::DrawElements;
|
||||
#else
|
||||
|
||||
@ -136,8 +135,6 @@ void init_settings() {
|
||||
|
||||
global_settings.max_glsl_cache_size = maxGlslCacheSize;
|
||||
|
||||
global_settings.enable_compatible_mode = enableCompatibleMode;
|
||||
|
||||
global_settings.multidraw_mode = multidrawMode;
|
||||
#endif
|
||||
|
||||
@ -172,7 +169,6 @@ void init_settings() {
|
||||
LOG_V("[MobileGlues] Setting: enableExtComputeShader = %s", global_settings.ext_compute_shader ? "true" : "false")
|
||||
LOG_V("[MobileGlues] Setting: enableExtGL43 = %s", global_settings.ext_gl43 ? "true" : "false")
|
||||
LOG_V("[MobileGlues] Setting: maxGlslCacheSize = %i", global_settings.max_glsl_cache_size / 1024 / 1024)
|
||||
LOG_V("[MobileGlues] Setting: enableCompatibleMode = %s", global_settings.enable_compatible_mode ? "true" : "false")
|
||||
LOG_V("[MobileGlues] Setting: multidrawMode = %s", draw_mode_str.c_str())
|
||||
}
|
||||
|
||||
|
@ -31,7 +31,6 @@ struct global_settings_t {
|
||||
int ext_gl43; // 0, 1
|
||||
int ext_compute_shader; // 0, 1
|
||||
size_t max_glsl_cache_size; // 0~
|
||||
int enable_compatible_mode; // 0, 1
|
||||
multidraw_mode_t multidraw_mode; // 0, 1, 2, 3, 4
|
||||
};
|
||||
|
||||
|
@ -63,10 +63,23 @@ void internal_convert(GLenum* internal_format, GLenum* type, GLenum* format) {
|
||||
break;
|
||||
|
||||
case GL_DEPTH_COMPONENT:
|
||||
// TODO: Add enable_compatible_mode option
|
||||
LOG_D("Find GL_DEPTH_COMPONENT: internalFormat: %s, format: %s, type: %s", glEnumToString(*internal_format), glEnumToString(*format), glEnumToString(*type))
|
||||
if(type) {
|
||||
*type = GL_UNSIGNED_INT;
|
||||
if (type) {
|
||||
switch (*type) {
|
||||
case GL_UNSIGNED_SHORT:
|
||||
case GL_UNSIGNED_INT:
|
||||
*type = GL_UNSIGNED_INT;
|
||||
*internal_format = GL_DEPTH_COMPONENT;
|
||||
break;
|
||||
case GL_FLOAT:
|
||||
case GL_DOUBLE:
|
||||
case GL_HALF_FLOAT:
|
||||
*internal_format = GL_DEPTH_COMPONENT32F;
|
||||
*type = GL_FLOAT;
|
||||
default:
|
||||
*internal_format = GL_DEPTH_COMPONENT;
|
||||
*type = GL_UNSIGNED_INT;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user