Enabling KHR_debug on GLES.
This commit is contained in:
parent
0e4e120cc8
commit
eea21fede2
@ -26,6 +26,7 @@
|
||||
#define GL_IMPORT_ANGLE(_optional, _proto, _func) GL_EXTENSION(_optional, _proto, _func, _func ## ANGLE)
|
||||
#define GL_IMPORT_ARB__(_optional, _proto, _func) GL_EXTENSION(_optional, _proto, _func, _func ## ARB)
|
||||
#define GL_IMPORT_EXT__(_optional, _proto, _func) GL_EXTENSION(_optional, _proto, _func, _func ## EXT)
|
||||
#define GL_IMPORT_KHR__(_optional, _proto, _func) GL_EXTENSION(_optional, _proto, _func, _func ## KHR)
|
||||
#define GL_IMPORT_NV___(_optional, _proto, _func) GL_EXTENSION(_optional, _proto, _func, _func ## NV)
|
||||
#define GL_IMPORT_OES__(_optional, _proto, _func) GL_EXTENSION(_optional, _proto, _func, _func ## OES)
|
||||
#define GL_IMPORT_____x(_optional, _proto, _func) GL_EXTENSION(_optional, _proto, _func, _func ## XXXXX)
|
||||
@ -419,6 +420,11 @@ GL_IMPORT______(true, PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC, glGetTranslat
|
||||
GL_IMPORT_ANGLE(true, PFNGLBLITFRAMEBUFFERPROC, glBlitFramebuffer);
|
||||
GL_IMPORT_ANGLE(true, PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC, glRenderbufferStorageMultisample);
|
||||
|
||||
GL_IMPORT_KHR__(true, PFNGLDEBUGMESSAGECONTROLPROC, glDebugMessageControl);
|
||||
GL_IMPORT_KHR__(true, PFNGLDEBUGMESSAGEINSERTPROC, glDebugMessageInsert);
|
||||
GL_IMPORT_KHR__(true, PFNGLDEBUGMESSAGECALLBACKPROC, glDebugMessageCallback);
|
||||
GL_IMPORT_KHR__(true, PFNGLGETDEBUGMESSAGELOGPROC, glGetDebugMessageLog);
|
||||
|
||||
# if BGFX_CONFIG_RENDERER_OPENGLES < 30
|
||||
GL_IMPORT_OES__(true, PFNGLTEXIMAGE3DPROC, glTexImage3D);
|
||||
GL_IMPORT_OES__(true, PFNGLTEXSUBIMAGE3DPROC, glTexSubImage3D);
|
||||
@ -472,6 +478,11 @@ GL_IMPORT_____x(true, PFNGLMEMORYBARRIERPROC, glMemoryBarri
|
||||
GL_IMPORT_____x(true, PFNGLDISPATCHCOMPUTEPROC, glDispatchCompute);
|
||||
GL_IMPORT_____x(true, PFNGLDISPATCHCOMPUTEINDIRECTPROC, glDispatchComputeIndirect);
|
||||
|
||||
GL_IMPORT_KHR__(true, PFNGLDEBUGMESSAGECONTROLPROC, glDebugMessageControl);
|
||||
GL_IMPORT_KHR__(true, PFNGLDEBUGMESSAGEINSERTPROC, glDebugMessageInsert);
|
||||
GL_IMPORT_KHR__(true, PFNGLDEBUGMESSAGECALLBACKPROC, glDebugMessageCallback);
|
||||
GL_IMPORT_KHR__(true, PFNGLGETDEBUGMESSAGELOGPROC, glGetDebugMessageLog);
|
||||
|
||||
GL_IMPORT_NV___(true, PFNGLDRAWBUFFERSPROC, glDrawBuffers);
|
||||
GL_IMPORT_NV___(true, PFNGLGENQUERIESPROC, glGenQueries);
|
||||
GL_IMPORT_NV___(true, PFNGLDELETEQUERIESPROC, glDeleteQueries);
|
||||
@ -481,7 +492,7 @@ GL_IMPORT_NV___(true, PFNGLGETQUERYOBJECTUI64VPROC, glGetQueryObj
|
||||
|
||||
GL_IMPORT (true, PFNGLINVALIDATEFRAMEBUFFERPROC, glInvalidateFramebuffer, glDiscardFramebufferEXT);
|
||||
|
||||
#elif !BGFX_USE_GL_DYNAMIC_LIB
|
||||
# elif !BGFX_USE_GL_DYNAMIC_LIB
|
||||
GL_IMPORT______(true, PFNGLTEXIMAGE3DPROC, glTexImage3D);
|
||||
GL_IMPORT______(true, PFNGLTEXSUBIMAGE3DPROC, glTexSubImage3D);
|
||||
GL_IMPORT______(true, PFNGLCOMPRESSEDTEXIMAGE3DPROC, glCompressedTexImage3D);
|
||||
@ -552,6 +563,7 @@ GL_IMPORT______(true, PFNGLINVALIDATEFRAMEBUFFERPROC, glInvalidateF
|
||||
#undef GL_IMPORT______
|
||||
#undef GL_IMPORT_ARB__
|
||||
#undef GL_IMPORT_EXT__
|
||||
#undef GL_IMPORT_KHR__
|
||||
#undef GL_IMPORT_NV___
|
||||
#undef GL_IMPORT_OES__
|
||||
#undef GL_IMPORT_____x
|
||||
|
@ -863,30 +863,26 @@ namespace bgfx { namespace gl
|
||||
|
||||
const char* toString(GLenum _enum)
|
||||
{
|
||||
#if defined(GL_DEBUG_SOURCE_API_ARB)
|
||||
switch (_enum)
|
||||
{
|
||||
case GL_DEBUG_SOURCE_API_ARB: return "API";
|
||||
case GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB: return "WinSys";
|
||||
case GL_DEBUG_SOURCE_SHADER_COMPILER_ARB: return "Shader";
|
||||
case GL_DEBUG_SOURCE_THIRD_PARTY_ARB: return "3rdparty";
|
||||
case GL_DEBUG_SOURCE_APPLICATION_ARB: return "Application";
|
||||
case GL_DEBUG_SOURCE_OTHER_ARB: return "Other";
|
||||
case GL_DEBUG_TYPE_ERROR_ARB: return "Error";
|
||||
case GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB: return "Deprecated behavior";
|
||||
case GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB: return "Undefined behavior";
|
||||
case GL_DEBUG_TYPE_PORTABILITY_ARB: return "Portability";
|
||||
case GL_DEBUG_TYPE_PERFORMANCE_ARB: return "Performance";
|
||||
case GL_DEBUG_TYPE_OTHER_ARB: return "Other";
|
||||
case GL_DEBUG_SEVERITY_HIGH_ARB: return "High";
|
||||
case GL_DEBUG_SEVERITY_MEDIUM_ARB: return "Medium";
|
||||
case GL_DEBUG_SEVERITY_LOW_ARB: return "Low";
|
||||
case GL_DEBUG_SOURCE_API: return "API";
|
||||
case GL_DEBUG_SOURCE_WINDOW_SYSTEM: return "WinSys";
|
||||
case GL_DEBUG_SOURCE_SHADER_COMPILER: return "Shader";
|
||||
case GL_DEBUG_SOURCE_THIRD_PARTY: return "3rdparty";
|
||||
case GL_DEBUG_SOURCE_APPLICATION: return "Application";
|
||||
case GL_DEBUG_SOURCE_OTHER: return "Other";
|
||||
case GL_DEBUG_TYPE_ERROR: return "Error";
|
||||
case GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR: return "Deprecated behavior";
|
||||
case GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR: return "Undefined behavior";
|
||||
case GL_DEBUG_TYPE_PORTABILITY: return "Portability";
|
||||
case GL_DEBUG_TYPE_PERFORMANCE: return "Performance";
|
||||
case GL_DEBUG_TYPE_OTHER: return "Other";
|
||||
case GL_DEBUG_SEVERITY_HIGH: return "High";
|
||||
case GL_DEBUG_SEVERITY_MEDIUM: return "Medium";
|
||||
case GL_DEBUG_SEVERITY_LOW: return "Low";
|
||||
default:
|
||||
break;
|
||||
}
|
||||
#else
|
||||
BX_UNUSED(_enum);
|
||||
#endif // defined(GL_DEBUG_SOURCE_API_ARB)
|
||||
|
||||
return "<unknown>";
|
||||
}
|
||||
@ -1228,6 +1224,22 @@ namespace bgfx { namespace gl
|
||||
s_textureFormat[TextureFormat::PTC22].m_supported |= ptc2Supported;
|
||||
s_textureFormat[TextureFormat::PTC24].m_supported |= ptc2Supported;
|
||||
|
||||
if (s_extension[Extension::ARB_debug_output].m_supported
|
||||
|| s_extension[Extension::KHR_debug].m_supported)
|
||||
{
|
||||
GL_CHECK(glDebugMessageCallback(debugProcCb, NULL) );
|
||||
GL_CHECK(glDebugMessageControl(GL_DONT_CARE
|
||||
, GL_DONT_CARE
|
||||
, GL_DEBUG_SEVERITY_MEDIUM
|
||||
, 0
|
||||
, NULL
|
||||
, GL_TRUE
|
||||
) );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if (BX_ENABLED(BGFX_CONFIG_RENDERER_OPENGLES) )
|
||||
{
|
||||
setTextureFormat(TextureFormat::D32, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT);
|
||||
@ -1512,12 +1524,17 @@ namespace bgfx { namespace gl
|
||||
}
|
||||
}
|
||||
|
||||
#if BGFX_CONFIG_RENDERER_OPENGL
|
||||
if (s_extension[Extension::ARB_debug_output].m_supported
|
||||
|| s_extension[Extension::KHR_debug].m_supported)
|
||||
{
|
||||
GL_CHECK(glDebugMessageCallback(debugProcCb, NULL) );
|
||||
GL_CHECK(glDebugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DEBUG_SEVERITY_MEDIUM_ARB, 0, NULL, GL_TRUE) );
|
||||
GL_CHECK(glDebugMessageControl(GL_DONT_CARE
|
||||
, GL_DONT_CARE
|
||||
, GL_DEBUG_SEVERITY_MEDIUM
|
||||
, 0
|
||||
, NULL
|
||||
, GL_TRUE
|
||||
) );
|
||||
}
|
||||
|
||||
if (s_extension[Extension::ARB_seamless_cube_map].m_supported)
|
||||
@ -1529,7 +1546,6 @@ namespace bgfx { namespace gl
|
||||
{
|
||||
GL_CHECK(glEnable(GL_DEPTH_CLAMP) );
|
||||
}
|
||||
#endif // BGFX_CONFIG_RENDERER_OPENGL
|
||||
|
||||
if (NULL == glFrameTerminatorGREMEDY
|
||||
|| !s_extension[Extension::GREMEDY_frame_terminator].m_supported)
|
||||
|
@ -582,6 +582,45 @@ typedef uint64_t GLuint64;
|
||||
# define GL_LOCATION 0x930E
|
||||
#endif // GL_LOCATION
|
||||
|
||||
// _KHR or _ARB...
|
||||
#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242
|
||||
#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243
|
||||
#define GL_DEBUG_CALLBACK_FUNCTION 0x8244
|
||||
#define GL_DEBUG_CALLBACK_USER_PARAM 0x8245
|
||||
#define GL_DEBUG_SOURCE_API 0x8246
|
||||
#define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247
|
||||
#define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248
|
||||
#define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249
|
||||
#define GL_DEBUG_SOURCE_APPLICATION 0x824A
|
||||
#define GL_DEBUG_SOURCE_OTHER 0x824B
|
||||
#define GL_DEBUG_TYPE_ERROR 0x824C
|
||||
#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D
|
||||
#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E
|
||||
#define GL_DEBUG_TYPE_PORTABILITY 0x824F
|
||||
#define GL_DEBUG_TYPE_PERFORMANCE 0x8250
|
||||
#define GL_DEBUG_TYPE_OTHER 0x8251
|
||||
#define GL_DEBUG_TYPE_MARKER 0x8268
|
||||
#define GL_DEBUG_TYPE_PUSH_GROUP 0x8269
|
||||
#define GL_DEBUG_TYPE_POP_GROUP 0x826A
|
||||
#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B
|
||||
#define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C
|
||||
#define GL_DEBUG_GROUP_STACK_DEPTH 0x826D
|
||||
#define GL_MAX_LABEL_LENGTH 0x82E8
|
||||
#define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143
|
||||
#define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144
|
||||
#define GL_DEBUG_LOGGED_MESSAGES 0x9145
|
||||
#define GL_DEBUG_SEVERITY_HIGH 0x9146
|
||||
#define GL_DEBUG_SEVERITY_MEDIUM 0x9147
|
||||
#define GL_DEBUG_SEVERITY_LOW 0x9148
|
||||
|
||||
#ifndef GL_DEPTH_CLAMP
|
||||
# define GL_DEPTH_CLAMP 0x864F
|
||||
#endif // GL_DEPTH_CLAMP
|
||||
|
||||
#ifndef GL_TEXTURE_CUBE_MAP_SEAMLESS
|
||||
# define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F
|
||||
#endif // GL_TEXTURE_CUBE_MAP_SEAMLESS
|
||||
|
||||
#if BX_PLATFORM_NACL
|
||||
# include "glcontext_ppapi.h"
|
||||
#elif BX_PLATFORM_WINDOWS
|
||||
|
Loading…
x
Reference in New Issue
Block a user