About to break everything with a merge
[ipdf/code.git] / src / screen.cpp
index 46a2b73..628a11a 100644 (file)
@@ -8,12 +8,15 @@
 #include "bufferbuilder.h"
 #include "shaderprogram.h"
 
+
+
 #define BASICTEX_VERT "shaders/basictex_vert.glsl"
 #define BASICTEX_FRAG "shaders/basictex_frag.glsl"
 
 using namespace IPDF;
 using namespace std;
 
+#ifndef __MINGW32__
 static void opengl_debug_callback(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* msg, const void *data)
 {
        // Don't print out gl Errors we generated.
@@ -22,7 +25,7 @@ static void opengl_debug_callback(GLenum source, GLenum type, GLuint id, GLenum
        // Spams this message on fglrx, disabling for now because it's damn annoying.
        // ERROR: opengl_debug_callback (screen.cpp:21) - OpenGL Error (1011): glObjectLabel failed because (depending on the operation) a referenced binding point is empty; a referenced name is not the name of an object; or the given name is otherwise not valid to this operation (GL_INVALID_VALUE)
 }
-
+#endif
 
 Screen::Screen(bool visible)
 {
@@ -42,7 +45,7 @@ Screen::Screen(bool visible)
        }
 
        SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
-       SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1);
+       SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 3);
        SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, SDL_GL_CONTEXT_DEBUG_FLAG);
        SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
 
@@ -51,9 +54,9 @@ Screen::Screen(bool visible)
        ogl_LoadFunctions();
 
        // Why is this so horribly broken?
-       if (ogl_IsVersionGEQ(3,0))
+       if (ogl_IsVersionGEQ(3,2))
        {
-               Error("We require OpenGL 3.1, but you have version %d.%d!",ogl_GetMajorVersion(), ogl_GetMinorVersion());
+               Error("We require OpenGL 3.3, but you have version %d.%d!",ogl_GetMajorVersion(), ogl_GetMinorVersion());
        }
 
        if (!SDL_GL_ExtensionSupported("GL_ARB_shading_language_420pack"))
@@ -69,10 +72,12 @@ Screen::Screen(bool visible)
        m_frame_begin_time = SDL_GetPerformanceCounter();
        m_last_frame_time = 0;
        m_last_frame_gpu_timer = 0;
+
        glGenQueries(1, &m_frame_gpu_timer);
        glBeginQuery(GL_TIME_ELAPSED, m_frame_gpu_timer);
-
+       #ifndef __MINGW32__
        glDebugMessageCallback(opengl_debug_callback, 0);
+       #endif
 
        GLuint default_vao;
        glGenVertexArrays(1, &default_vao);
@@ -222,8 +227,10 @@ void Screen::Present()
 {
        if (!Valid())
                return;
+
        if (m_debug_font_atlas)
                DebugFontFlush();
+
        m_last_frame_time = SDL_GetPerformanceCounter() - m_frame_begin_time;
        glEndQuery(GL_TIME_ELAPSED);
        SDL_GL_SwapWindow(m_window);
@@ -233,6 +240,8 @@ void Screen::Present()
        m_last_frame_gpu_timer = m_frame_gpu_timer;
        glGenQueries(1, &m_frame_gpu_timer);
        glBeginQuery(GL_TIME_ELAPSED, m_frame_gpu_timer);
+
+
 }
 
 double Screen::GetLastFrameTimeGPU() const

UCC git Repository :: git.ucc.asn.au