summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorZack Middleton <zturtleman@gmail.com>2012-10-26 07:23:49 +0000
committerTim Angus <tim@ngus.net>2013-01-12 21:20:54 +0000
commit8b3fbb7ae83a5126b5401485a1151765abf3f9cb (patch)
tree49a437ce0ab8c5e50fe0649dd7afb25a0581785c /src
parent324c031bdb6c8f15bab8e6d1484b91a08c2c6356 (diff)
Split Rend2's printing OpenGL extensions string (> 1024 characters) into separate function and merged into opengl1 renderer. (Fixes bug #5559.)
Diffstat (limited to 'src')
-rw-r--r--src/rend2/tr_init.c46
-rw-r--r--src/renderer/tr_init.c25
2 files changed, 48 insertions, 23 deletions
diff --git a/src/rend2/tr_init.c b/src/rend2/tr_init.c
index 5e6db111..84b8b56b 100644
--- a/src/rend2/tr_init.c
+++ b/src/rend2/tr_init.c
@@ -944,6 +944,27 @@ void GL_SetDefaultState( void )
qglDisable( GL_BLEND );
}
+/*
+================
+R_PrintLongString
+
+Workaround for ri.Printf's 1024 characters buffer limit.
+================
+*/
+void R_PrintLongString(const char *string) {
+ char buffer[1024];
+ const char *p;
+ int size = strlen(string);
+
+ p = string;
+ while(size > 0)
+ {
+ Q_strncpyz(buffer, p, sizeof (buffer) );
+ ri.Printf( PRINT_ALL, "%s", buffer );
+ p += 1023;
+ size -= 1023;
+ }
+}
/*
================
@@ -966,28 +987,9 @@ void GfxInfo_f( void )
ri.Printf( PRINT_ALL, "\nGL_VENDOR: %s\n", glConfig.vendor_string );
ri.Printf( PRINT_ALL, "GL_RENDERER: %s\n", glConfig.renderer_string );
ri.Printf( PRINT_ALL, "GL_VERSION: %s\n", glConfig.version_string );
- // this was really bugging me
- if (strlen(glConfig.extensions_string) > 1008)
- {
- char buffer[1024];
- char *p;
- int size = strlen(glConfig.extensions_string);
- ri.Printf( PRINT_ALL, "GL_EXTENSIONS: ");
-
- p = glConfig.extensions_string;
- while(size > 0)
- {
- Q_strncpyz(buffer, p, 1024);
- ri.Printf( PRINT_ALL, "%s", buffer );
- p += 1023;
- size -= 1023;
- }
- ri.Printf( PRINT_ALL, "\n" );
- }
- else
- {
- ri.Printf( PRINT_ALL, "GL_EXTENSIONS: %s\n", glConfig.extensions_string );
- }
+ ri.Printf( PRINT_ALL, "GL_EXTENSIONS: " );
+ R_PrintLongString( glConfig.extensions_string );
+ ri.Printf( PRINT_ALL, "\n" );
ri.Printf( PRINT_ALL, "GL_MAX_TEXTURE_SIZE: %d\n", glConfig.maxTextureSize );
ri.Printf( PRINT_ALL, "GL_MAX_TEXTURE_UNITS_ARB: %d\n", glConfig.numTextureUnits );
ri.Printf( PRINT_ALL, "\nPIXELFORMAT: color(%d-bits) Z(%d-bit) stencil(%d-bits)\n", glConfig.colorBits, glConfig.depthBits, glConfig.stencilBits );
diff --git a/src/renderer/tr_init.c b/src/renderer/tr_init.c
index fff27eff..4b80c922 100644
--- a/src/renderer/tr_init.c
+++ b/src/renderer/tr_init.c
@@ -891,6 +891,27 @@ void GL_SetDefaultState( void )
qglDisable( GL_BLEND );
}
+/*
+================
+R_PrintLongString
+
+Workaround for ri.Printf's 1024 characters buffer limit.
+================
+*/
+void R_PrintLongString(const char *string) {
+ char buffer[1024];
+ const char *p;
+ int size = strlen(string);
+
+ p = string;
+ while(size > 0)
+ {
+ Q_strncpyz(buffer, p, sizeof (buffer) );
+ ri.Printf( PRINT_ALL, "%s", buffer );
+ p += 1023;
+ size -= 1023;
+ }
+}
/*
================
@@ -913,7 +934,9 @@ void GfxInfo_f( void )
ri.Printf( PRINT_ALL, "\nGL_VENDOR: %s\n", glConfig.vendor_string );
ri.Printf( PRINT_ALL, "GL_RENDERER: %s\n", glConfig.renderer_string );
ri.Printf( PRINT_ALL, "GL_VERSION: %s\n", glConfig.version_string );
- ri.Printf( PRINT_ALL, "GL_EXTENSIONS: %s\n", glConfig.extensions_string );
+ ri.Printf( PRINT_ALL, "GL_EXTENSIONS: " );
+ R_PrintLongString( glConfig.extensions_string );
+ ri.Printf( PRINT_ALL, "\n" );
ri.Printf( PRINT_ALL, "GL_MAX_TEXTURE_SIZE: %d\n", glConfig.maxTextureSize );
ri.Printf( PRINT_ALL, "GL_MAX_TEXTURE_UNITS_ARB: %d\n", glConfig.numTextureUnits );
ri.Printf( PRINT_ALL, "\nPIXELFORMAT: color(%d-bits) Z(%d-bit) stencil(%d-bits)\n", glConfig.colorBits, glConfig.depthBits, glConfig.stencilBits );