From a553b28a7f5fec678198e58a07128914b50b8676 Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Fri, 1 Jun 2012 23:51:51 -0700 Subject: [PATCH] Import sRGB, multisampling and timer GL extensions. --- src/glimports.h | 18 ++++++++++++++++++ src/renderer_gl.cpp | 20 ++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/src/glimports.h b/src/glimports.h index bade9ef6..6671e84c 100644 --- a/src/glimports.h +++ b/src/glimports.h @@ -58,10 +58,28 @@ GL_IMPORT(false, PFNGLUNIFORM4FVPROC, glUniform4fv); GL_IMPORT(false, PFNGLUNIFORMMATRIX3FVPROC, glUniformMatrix3fv); GL_IMPORT(false, PFNGLUNIFORMMATRIX4FVPROC, glUniformMatrix4fv); +GL_IMPORT(false, PFNGLGENQUERIESPROC, glGenQueries); +GL_IMPORT(false, PFNGLDELETEQUERIESPROC, glDeleteQueries); +GL_IMPORT(false, PFNGLBEGINQUERYPROC, glBeginQuery); +GL_IMPORT(false, PFNGLENDQUERYPROC, glEndQuery); +GL_IMPORT(false, PFNGLGETQUERYIVPROC, glGetQueryiv); +GL_IMPORT(false, PFNGLGETQUERYOBJECTIVPROC, glGetQueryObjectiv); +GL_IMPORT(false, PFNGLGETQUERYOBJECTUIVPROC, glGetQueryObjectuiv); + GL_IMPORT(true, PFNGLGETPROGRAMBINARYPROC, glGetProgramBinary); GL_IMPORT(true, PFNGLPROGRAMBINARYPROC, glProgramBinary); GL_IMPORT(true, PFNGLPROGRAMPARAMETERIPROC, glProgramParameteri); +GL_IMPORT(true, PFNGLBLITFRAMEBUFFEREXTPROC, glBlitFramebufferEXT); + +GL_IMPORT(true, PFNGLQUERYCOUNTERPROC, glQueryCounter); +GL_IMPORT(true, PFNGLGETQUERYOBJECTI64VPROC, glGetQueryObjecti64v); +GL_IMPORT(true, PFNGLGETQUERYOBJECTUI64VPROC, glGetQueryObjectui64v); +GL_IMPORT(true, PFNGLGETQUERYOBJECTI64VEXTPROC, glGetQueryObjecti64vEXT); +GL_IMPORT(true, PFNGLGETQUERYOBJECTUI64VEXTPROC, glGetQueryObjectui64vEXT); + +GL_IMPORT(true, PFNGLSAMPLECOVERAGEARBPROC, glSampleCoverageARB); + #if BGFX_CONFIG_DEBUG_GREMEDY GL_IMPORT(true, PFNGLSTRINGMARKERGREMEDYPROC, glStringMarkerGREMEDY); GL_IMPORT(true, PFNGLFRAMETERMINATORGREMEDYPROC, glFrameTerminatorGREMEDY); diff --git a/src/renderer_gl.cpp b/src/renderer_gl.cpp index ea2733c0..c5b1ebe5 100644 --- a/src/renderer_gl.cpp +++ b/src/renderer_gl.cpp @@ -396,6 +396,13 @@ namespace bgfx OES_standard_derivatives, ARB_get_program_binary, OES_get_program_binary, + EXT_framebuffer_blit, + ARB_timer_query, + EXT_timer_query, + EXT_texture_sRGB, + ARB_framebuffer_sRGB, + EXT_framebuffer_sRGB, + ARB_multisample, Count }; @@ -417,6 +424,13 @@ namespace bgfx { "GL_OES_standard_derivatives", false, true }, { "GL_ARB_get_program_binary", false, true }, { "GL_OES_get_program_binary", false, false }, + { "GL_EXT_framebuffer_blit", false, true }, + { "GL_ARB_timer_query", false, true }, + { "GL_EXT_timer_query", false, true }, + { "GL_EXT_texture_sRGB", false, true }, + { "GL_ARB_framebuffer_sRGB", false, true }, + { "GL_EXT_framebuffer_sRGB", false, true }, + { "GL_ARB_multisample", false, true }, }; static const GLenum s_primType[] = @@ -1429,6 +1443,12 @@ namespace bgfx pos += len+1; } + BX_TRACE("Supported extensions:"); + for (uint32_t ii = 0; ii < Extension::Count; ++ii) + { + BX_TRACE("\t%2d: %s", ii, s_extension[ii].m_name); + } + s_renderCtx.m_dxtSupport = true && s_extension[Extension::EXT_texture_compression_dxt1].m_supported && s_extension[Extension::CHROMIUM_texture_compression_dxt3].m_supported