From 3c8d97704b172f47269b967ffa6ce3dd4cee4784 Mon Sep 17 00:00:00 2001 From: rpolzer Date: Thu, 18 Sep 2008 06:57:13 +0000 Subject: [PATCH] fix OpenGL erorr bug on XP software renderer; use svn:ignore git-svn-id: svn://svn.icculus.org/netradiant/trunk@85 61c419a2-8eb2-4b30-bcec-8cead039b335 --- contrib/gtkgensurf/.cvsignore | 4 ---- contrib/prtview/.cvsignore | 8 -------- include/.cvsignore | 8 -------- include/igl.h | 11 +++-------- libs/.cvsignore | 1 - libs/cmdlib/.cvsignore | 1 - libs/jpeg6/.cvsignore | 8 -------- libs/l_net/.cvsignore | 5 ----- libs/splines/.cvsignore | 1 - plugins/image/.cvsignore | 8 -------- plugins/textool/.cvsignore | 13 ------------- plugins/vfspk3/.cvsignore | 11 ----------- radiant/.cvsignore | 16 ---------------- radiant/main.cpp | 7 ++++++- radiant/qgl.cpp | 7 ++++--- radiant/stacktrace.cpp | 13 +++++++------ radiant/textures.cpp | 9 +++++++-- tools/quake3/q3data/.cvsignore | 12 ------------ tools/quake3/q3map2/.cvsignore | 12 ------------ 19 files changed, 27 insertions(+), 128 deletions(-) delete mode 100644 contrib/gtkgensurf/.cvsignore delete mode 100644 contrib/prtview/.cvsignore delete mode 100644 include/.cvsignore delete mode 100644 libs/.cvsignore delete mode 100644 libs/cmdlib/.cvsignore delete mode 100644 libs/jpeg6/.cvsignore delete mode 100644 libs/l_net/.cvsignore delete mode 100644 libs/splines/.cvsignore delete mode 100644 plugins/image/.cvsignore delete mode 100644 plugins/textool/.cvsignore delete mode 100644 plugins/vfspk3/.cvsignore delete mode 100644 radiant/.cvsignore delete mode 100644 tools/quake3/q3data/.cvsignore delete mode 100644 tools/quake3/q3map2/.cvsignore diff --git a/contrib/gtkgensurf/.cvsignore b/contrib/gtkgensurf/.cvsignore deleted file mode 100644 index 7320b210..00000000 --- a/contrib/gtkgensurf/.cvsignore +++ /dev/null @@ -1,4 +0,0 @@ -Debug -*.plg -*.BAK -*.d diff --git a/contrib/prtview/.cvsignore b/contrib/prtview/.cvsignore deleted file mode 100644 index 66d25b10..00000000 --- a/contrib/prtview/.cvsignore +++ /dev/null @@ -1,8 +0,0 @@ -Debug -Release -*.d -*.plg -*.BAK -*.mak -*.ncb -*.opt diff --git a/include/.cvsignore b/include/.cvsignore deleted file mode 100644 index 36594088..00000000 --- a/include/.cvsignore +++ /dev/null @@ -1,8 +0,0 @@ -version -version.h -version.new -aboutmsg -aboutmsg.h -aboutmsg.new -RADIANT_MAJOR -RADIANT_MINOR diff --git a/include/igl.h b/include/igl.h index 8cd81f86..29bf5f80 100644 --- a/include/igl.h +++ b/include/igl.h @@ -1995,7 +1995,7 @@ struct OpenGLBinding } /// \brief Asserts that there no OpenGL errors have occurred since the last call to glGetError. - void (*assertNoErrors)(); + void (*assertNoErrors)(const char *file, int line); GLuint m_font; int m_fontHeight; @@ -2818,14 +2818,9 @@ inline OpenGLBinding& GlobalOpenGL() } #if defined(_DEBUG) -inline void GlobalOpenGL_debugAssertNoErrors() -{ - GlobalOpenGL().assertNoErrors(); -} +#define GlobalOpenGL_debugAssertNoErrors() GlobalOpenGL().assertNoErrors(__FILE__, __LINE__) #else -inline void GlobalOpenGL_debugAssertNoErrors() -{ -} +#define GlobalOpenGL_debugAssertNoErrors() #endif diff --git a/libs/.cvsignore b/libs/.cvsignore deleted file mode 100644 index 62555de1..00000000 --- a/libs/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -.consign diff --git a/libs/cmdlib/.cvsignore b/libs/cmdlib/.cvsignore deleted file mode 100644 index b5ee5ae1..00000000 --- a/libs/cmdlib/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -Debug Release *.ncb *.opt *.plg *.001 *.BAK \ No newline at end of file diff --git a/libs/jpeg6/.cvsignore b/libs/jpeg6/.cvsignore deleted file mode 100644 index face6ad3..00000000 --- a/libs/jpeg6/.cvsignore +++ /dev/null @@ -1,8 +0,0 @@ -Debug -Release -*.ncb -*.opt -*.plg -*.001 -*.BAK -.consign diff --git a/libs/l_net/.cvsignore b/libs/l_net/.cvsignore deleted file mode 100644 index 877bc8c4..00000000 --- a/libs/l_net/.cvsignore +++ /dev/null @@ -1,5 +0,0 @@ -Debug -Release -*.plg -*.BAK -.consign diff --git a/libs/splines/.cvsignore b/libs/splines/.cvsignore deleted file mode 100644 index 62555de1..00000000 --- a/libs/splines/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -.consign diff --git a/plugins/image/.cvsignore b/plugins/image/.cvsignore deleted file mode 100644 index 66d25b10..00000000 --- a/plugins/image/.cvsignore +++ /dev/null @@ -1,8 +0,0 @@ -Debug -Release -*.d -*.plg -*.BAK -*.mak -*.ncb -*.opt diff --git a/plugins/textool/.cvsignore b/plugins/textool/.cvsignore deleted file mode 100644 index 5d257e72..00000000 --- a/plugins/textool/.cvsignore +++ /dev/null @@ -1,13 +0,0 @@ -*.d -*.o -*.so -Debug -Release -TexTool___Win32_Q3Debug -TexTool___Win32_Q3Release -*.aps -*.plg -*.bak -*.BAK -*.opt -*.ncb \ No newline at end of file diff --git a/plugins/vfspk3/.cvsignore b/plugins/vfspk3/.cvsignore deleted file mode 100644 index af3ce37b..00000000 --- a/plugins/vfspk3/.cvsignore +++ /dev/null @@ -1,11 +0,0 @@ -*.d -*.o -*.so -Debug -Release -*.aps -*.plg -*.bak -*.BAK -*.opt -*.ncb diff --git a/radiant/.cvsignore b/radiant/.cvsignore deleted file mode 100644 index 72b49b5f..00000000 --- a/radiant/.cvsignore +++ /dev/null @@ -1,16 +0,0 @@ -Debug -Release -radiant -*.d -*.o -*.opt -*.ncb -*.BAK -*.00* -*.plg -radiant -q3map -unnamed.map -.snprj -tools -*.gcse diff --git a/radiant/main.cpp b/radiant/main.cpp index a1e39bad..ad3d4314 100644 --- a/radiant/main.cpp +++ b/radiant/main.cpp @@ -181,8 +181,13 @@ void error_redirect (const gchar *domain, GLogLevelFlags log_level, const gchar else strcat (buf, "\n"); - printf ("%s\n", buf); + // spam it... + globalErrorStream() << buf << "\n"; + // FIXME why are warnings is_fatal? +#ifndef _DEBUG + if(is_fatal) +#endif ERROR_MESSAGE("GTK+ error: " << buf); } diff --git a/radiant/qgl.cpp b/radiant/qgl.cpp index 18fe0532..ae55e9ff 100644 --- a/radiant/qgl.cpp +++ b/radiant/qgl.cpp @@ -1599,6 +1599,7 @@ void QGL_sharedContextCreated(OpenGLBinding& table) else { globalOutputStream() << "No Anisotropic filtering available\n"; + g_maxTextureAnisotropy = 0; } } @@ -1608,7 +1609,7 @@ void QGL_sharedContextDestroyed(OpenGLBinding& table) } -void QGL_assertNoErrors() +void QGL_assertNoErrors(const char *file, int line) { GLenum error = GlobalOpenGL().m_glGetError(); while (error != GL_NO_ERROR) @@ -1616,11 +1617,11 @@ void QGL_assertNoErrors() const char* errorString = reinterpret_cast(qgluErrorString(error)); if (error == GL_OUT_OF_MEMORY) { - ERROR_MESSAGE("OpenGL out of memory error: " << errorString); + ERROR_MESSAGE("OpenGL out of memory error at " << file << ":" << line << ": " << errorString); } else { - ERROR_MESSAGE("OpenGL error: " << errorString); + ERROR_MESSAGE("OpenGL error at " << file << ":" << line << ": " << errorString); } error = GlobalOpenGL().m_glGetError(); } diff --git a/radiant/stacktrace.cpp b/radiant/stacktrace.cpp index 7c75db42..18a70462 100644 --- a/radiant/stacktrace.cpp +++ b/radiant/stacktrace.cpp @@ -49,9 +49,7 @@ void write_stack_trace(TextOutputStream& outputStream) free(symbol_names); } } -#endif - -#if defined (WIN32) && defined (_MSC_VER) && defined (DEBUG) +#elif defined (WIN32) && defined (_MSC_VER) #include "windows.h" #include "winnt.h" @@ -308,11 +306,14 @@ void write_stack_trace(TextOutputStream& outputStream) __try{ RaiseException(0,0,0,0); } __except(write_stack_trace((GetExceptionInformation())->ContextRecord, outputStream), EXCEPTION_CONTINUE_EXECUTION) {} } +#elif defined (WIN32) +void write_stack_trace(TextOutputStream& outputStream) +{ + outputStream << "\nStacktrace is disabled on this compiler\n"; +} #else -#if defined (WIN32) void write_stack_trace(TextOutputStream& outputStream) { - outputStream << "\nStacktrace is disabled in release-builds\n"; + outputStream << "\nStacktrace is disabled on this platform\n"; } #endif -#endif diff --git a/radiant/textures.cpp b/radiant/textures.cpp index 76a79704..ff7d27db 100644 --- a/radiant/textures.cpp +++ b/radiant/textures.cpp @@ -91,7 +91,12 @@ texture_globals_t g_texture_globals(GL_RGBA); void SetTexParameters(ETexturesMode mode) { - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, 1.0f); + float maxAniso = QGL_maxTextureAnisotropy(); + if(maxAniso > 1) + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, 1.0f); + else + if(mode == eTextures_MAX_ANISOTROPY) + mode = eTextures_LINEAR_MIPMAP_LINEAR; switch (mode) { @@ -120,7 +125,7 @@ void SetTexParameters(ETexturesMode mode) glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); break; case eTextures_MAX_ANISOTROPY: - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, QGL_maxTextureAnisotropy()); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, maxAniso); break; default: globalOutputStream() << "invalid texture mode\n"; diff --git a/tools/quake3/q3data/.cvsignore b/tools/quake3/q3data/.cvsignore deleted file mode 100644 index e70c49e1..00000000 --- a/tools/quake3/q3data/.cvsignore +++ /dev/null @@ -1,12 +0,0 @@ -q3map -*.d -*.o -*.bak -*.BAK -*~ -*.ncb -*.plg -*.opt -*.log -Debug -Release diff --git a/tools/quake3/q3map2/.cvsignore b/tools/quake3/q3map2/.cvsignore deleted file mode 100644 index e70c49e1..00000000 --- a/tools/quake3/q3map2/.cvsignore +++ /dev/null @@ -1,12 +0,0 @@ -q3map -*.d -*.o -*.bak -*.BAK -*~ -*.ncb -*.plg -*.opt -*.log -Debug -Release -- 2.39.2