/* ================ GfxInfo_f ================ */ void GfxInfo_f( void ) { const char *enablestrings[] = { "disabled", "enabled" }; const char *fsstrings[] = { "windowed", "fullscreen" }; 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: " ); 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 ); ri.Printf( PRINT_ALL, "MODE: %d, %d x %d %s hz:", r_mode->integer, glConfig.vidWidth, glConfig.vidHeight, fsstrings[r_fullscreen->integer == 1] ); if ( glConfig.displayFrequency ) { ri.Printf( PRINT_ALL, "%d\n", glConfig.displayFrequency ); } else { ri.Printf( PRINT_ALL, "N/A\n" ); } if ( glConfig.deviceSupportsGamma ) { ri.Printf( PRINT_ALL, "GAMMA: hardware w/ %d overbright bits\n", tr.overbrightBits ); } else { ri.Printf( PRINT_ALL, "GAMMA: software w/ %d overbright bits\n", tr.overbrightBits ); } // rendering primitives { #ifdef USE_OPENGLES ri.Printf( PRINT_ALL, "rendering primitives: " ); ri.Printf( PRINT_ALL, "single glDrawElements\n" ); #else int primitives; // default is to use triangles if compiled vertex arrays are present ri.Printf( PRINT_ALL, "rendering primitives: " ); primitives = r_primitives->integer; if ( primitives == 0 ) { if ( qglLockArraysEXT ) { primitives = 2; } else { primitives = 1; } } if ( primitives == -1 ) { ri.Printf( PRINT_ALL, "none\n" ); } else if ( primitives == 2 ) { ri.Printf( PRINT_ALL, "single glDrawElements\n" ); } else if ( primitives == 1 ) { ri.Printf( PRINT_ALL, "multiple glArrayElement\n" ); } else if ( primitives == 3 ) { ri.Printf( PRINT_ALL, "multiple glColor4ubv + glTexCoord2fv + glVertex3fv\n" ); } #endif } ri.Printf( PRINT_ALL, "texturemode: %s\n", r_textureMode->string ); ri.Printf( PRINT_ALL, "picmip: %d\n", r_picmip->integer ); ri.Printf( PRINT_ALL, "texture bits: %d\n", r_texturebits->integer ); ri.Printf( PRINT_ALL, "multitexture: %s\n", enablestrings[qglActiveTextureARB != 0] ); ri.Printf( PRINT_ALL, "compiled vertex arrays: %s\n", enablestrings[qglLockArraysEXT != 0 ] ); ri.Printf( PRINT_ALL, "texenv add: %s\n", enablestrings[glConfig.textureEnvAddAvailable != 0] ); ri.Printf( PRINT_ALL, "compressed textures: %s\n", enablestrings[glConfig.textureCompression != TC_NONE] ); #ifndef USE_OPENGLES ri.Printf( PRINT_ALL, "NV distance fog: %s\n", enablestrings[glConfig.NVFogAvailable != 0] ); if ( glConfig.NVFogAvailable ) { ri.Printf( PRINT_ALL, "Fog Mode: %s\n", r_nv_fogdist_mode->string ); } #endif if ( r_vertexLight->integer || glConfig.hardwareType == GLHW_PERMEDIA2 ) { ri.Printf( PRINT_ALL, "HACK: using vertex lightmap approximation\n" ); } if ( glConfig.hardwareType == GLHW_RAGEPRO ) { ri.Printf( PRINT_ALL, "HACK: ragePro approximations\n" ); } if ( glConfig.hardwareType == GLHW_RIVA128 ) { ri.Printf( PRINT_ALL, "HACK: riva128 approximations\n" ); } if ( r_finish->integer ) { ri.Printf( PRINT_ALL, "Forcing glFinish\n" ); } }
void GfxInfo_f( void ) { const char *enablestrings[] = { "disabled", "enabled" }; const char *fsstrings[] = { "windowed", "fullscreen" }; const char *tc_table[] = { "None", "GL_S3_s3tc", "GL_EXT_texture_compression_s3tc", }; Com_Printf ("\nGL_VENDOR: %s\n", glConfig.vendor_string ); Com_Printf ("GL_RENDERER: %s\n", glConfig.renderer_string ); Com_Printf ("GL_VERSION: %s\n", glConfig.version_string ); R_PrintLongString( glConfig.extensions_string ); Com_Printf ("\n"); Com_Printf ("GL_MAX_TEXTURE_SIZE: %d\n", glConfig.maxTextureSize ); Com_Printf ("GL_MAX_ACTIVE_TEXTURES_ARB: %d\n", glConfig.maxActiveTextures ); Com_Printf ("\nPIXELFORMAT: color(%d-bits) Z(%d-bit) stencil(%d-bits)\n", glConfig.colorBits, glConfig.depthBits, glConfig.stencilBits ); Com_Printf ("MODE: %d, %d x %d %s hz:", r_mode->integer, glConfig.vidWidth, glConfig.vidHeight, fsstrings[r_fullscreen->integer == 1] ); if ( glConfig.displayFrequency ) { Com_Printf ("%d\n", glConfig.displayFrequency ); } else { Com_Printf ("N/A\n" ); } if ( glConfig.deviceSupportsGamma ) { Com_Printf ("GAMMA: hardware w/ %d overbright bits\n", tr.overbrightBits ); } else { Com_Printf ("GAMMA: software w/ %d overbright bits\n", tr.overbrightBits ); } // rendering primitives { int primitives; // default is to use triangles if compiled vertex arrays are present Com_Printf ("rendering primitives: " ); primitives = r_primitives->integer; if ( primitives == 0 ) { if ( qglLockArraysEXT ) { primitives = 2; } else { primitives = 1; } } if ( primitives == -1 ) { Com_Printf ("none\n" ); } else if ( primitives == 2 ) { Com_Printf ("single glDrawElements\n" ); } else if ( primitives == 1 ) { Com_Printf ("multiple glArrayElement\n" ); } else if ( primitives == 3 ) { Com_Printf ("multiple glColor4ubv + glTexCoord2fv + glVertex3fv\n" ); } } Com_Printf ("texturemode: %s\n", r_textureMode->string ); Com_Printf ("picmip: %d\n", r_picmip->integer ); Com_Printf ("texture bits: %d\n", r_texturebits->integer ); Com_Printf ("lightmap texture bits: %d\n", r_texturebitslm->integer ); Com_Printf ("multitexture: %s\n", enablestrings[qglActiveTextureARB != 0] ); Com_Printf ("compiled vertex arrays: %s\n", enablestrings[qglLockArraysEXT != 0 ] ); Com_Printf ("texenv add: %s\n", enablestrings[glConfig.textureEnvAddAvailable != 0] ); Com_Printf ("compressed textures: %s\n", enablestrings[glConfig.textureCompression != TC_NONE] ); Com_Printf ("compressed lightmaps: %s\n", enablestrings[(r_ext_compressed_lightmaps->integer != 0 && glConfig.textureCompression != TC_NONE)] ); Com_Printf ("texture compression method: %s\n", tc_table[glConfig.textureCompression] ); Com_Printf ("anisotropic filtering: %s ", enablestrings[(r_ext_texture_filter_anisotropic->integer != 0) && glConfig.maxTextureFilterAnisotropy] ); Com_Printf ("(%f of %f)\n", r_ext_texture_filter_anisotropic->value, glConfig.maxTextureFilterAnisotropy ); Com_Printf ("Dynamic Glow: %s\n", enablestrings[r_DynamicGlow->integer] ); if (g_bTextureRectangleHack) Com_Printf ("Dynamic Glow ATI BAD DRIVER HACK %s\n", enablestrings[g_bTextureRectangleHack] ); if ( r_finish->integer ) { Com_Printf ("Forcing glFinish\n" ); } if ( r_displayRefresh ->integer ) { Com_Printf ("Display refresh set to %d\n", r_displayRefresh->integer ); } if (tr.world) { Com_Printf ("Light Grid size set to (%.2f %.2f %.2f)\n", tr.world->lightGridSize[0], tr.world->lightGridSize[1], tr.world->lightGridSize[2] ); } }
/* ================ GfxInfo_f ================ */ void GfxInfo_f( void ) { const char *enablestrings[] = { "disabled", "enabled" }; const char *fsstrings[] = { "windowed", "fullscreen" }; 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: " ); 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 ); ri.Printf( PRINT_ALL, "MODE: %d, %d x %d %s hz:", r_mode->integer, glConfig.vidWidth, glConfig.vidHeight, fsstrings[r_fullscreen->integer == 1] ); if ( glConfig.displayFrequency ) { ri.Printf( PRINT_ALL, "%d\n", glConfig.displayFrequency ); } else { ri.Printf( PRINT_ALL, "N/A\n" ); } if ( glConfig.deviceSupportsGamma ) { ri.Printf( PRINT_ALL, "GAMMA: hardware w/ %d overbright bits\n", tr.overbrightBits ); } else { ri.Printf( PRINT_ALL, "GAMMA: software w/ %d overbright bits\n", tr.overbrightBits ); } ri.Printf( PRINT_ALL, "texturemode: %s\n", r_textureMode->string ); ri.Printf( PRINT_ALL, "picmip: %d\n", r_picmip->integer ); ri.Printf( PRINT_ALL, "texture bits: %d\n", r_texturebits->integer ); ri.Printf( PRINT_ALL, "multitexture: %s\n", enablestrings[qglActiveTextureARB != 0] ); ri.Printf( PRINT_ALL, "compiled vertex arrays: %s\n", enablestrings[qglLockArraysEXT != 0 ] ); ri.Printf( PRINT_ALL, "texenv add: %s\n", enablestrings[glConfig.textureEnvAddAvailable != 0] ); ri.Printf( PRINT_ALL, "compressed textures: %s\n", enablestrings[glConfig.textureCompression!=TC_NONE] ); if ( r_vertexLight->integer || glConfig.hardwareType == GLHW_PERMEDIA2 ) { ri.Printf( PRINT_ALL, "HACK: using vertex lightmap approximation\n" ); } if ( glConfig.hardwareType == GLHW_RAGEPRO ) { ri.Printf( PRINT_ALL, "HACK: ragePro approximations\n" ); } if ( glConfig.hardwareType == GLHW_RIVA128 ) { ri.Printf( PRINT_ALL, "HACK: riva128 approximations\n" ); } if ( r_finish->integer ) { ri.Printf( PRINT_ALL, "Forcing glFinish\n" ); } }
/* ================ GfxInfo_f ================ */ void GfxInfo_f(void) { const char *enablestrings[] = { "disabled", "enabled" }; const char *fsstrings[] = { "windowed", "fullscreen" }; // FIXME: implicit declaration //Ren_Print("SDL using driver \"%s\"\n", SDL_GetCurrentVideoDriver()); 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: "); R_PrintLongString((char *)qglGetString(GL_EXTENSIONS)); ri.Printf(PRINT_ALL, "\nGL_MAX_TEXTURE_SIZE: %d\n", glConfig.maxTextureSize); ri.Printf(PRINT_ALL, "GL_MAX_ACTIVE_TEXTURES_ARB: %d\n", glConfig.maxActiveTextures); ri.Printf(PRINT_ALL, "PIXELFORMAT: color(%d-bits) Z(%d-bit) stencil(%d-bits)\n", glConfig.colorBits, glConfig.depthBits, glConfig.stencilBits); ri.Printf(PRINT_ALL, "MODE: %d, %d x %d %s hz:", ri.Cvar_VariableIntegerValue("r_mode"), glConfig.vidWidth, glConfig.vidHeight, fsstrings[ri.Cvar_VariableIntegerValue("r_fullscreen") == 1]); if (glConfig.displayFrequency) { ri.Printf(PRINT_ALL, "%d\n", glConfig.displayFrequency); } else { ri.Printf(PRINT_ALL, "N/A\n"); } if (glConfig.deviceSupportsGamma) { ri.Printf(PRINT_ALL, "GAMMA: hardware w/ %d overbright bits\n", tr.overbrightBits); } else { ri.Printf(PRINT_ALL, "GAMMA: software w/ %d overbright bits\n", tr.overbrightBits); } // rendering primitives { int primitives; // default is to use triangles if compiled vertex arrays are present ri.Printf(PRINT_ALL, "rendering primitives: "); primitives = r_primitives->integer; primitives = 2; if (primitives == -1) { ri.Printf(PRINT_ALL, "none\n"); } else if (primitives == 2) { ri.Printf(PRINT_ALL, "single glDrawElements\n"); } else if (primitives == 1) { ri.Printf(PRINT_ALL, "multiple glArrayElement\n"); } else if (primitives == 3) { ri.Printf(PRINT_ALL, "multiple glColor4ubv + glTexCoord2fv + glVertex3fv\n"); } } ri.Printf(PRINT_ALL, "texturemode: %s\n", r_textureMode->string); ri.Printf(PRINT_ALL, "picmip: %d\n", r_picmip->integer); ri.Printf(PRINT_ALL, "texture bits: %d\n", r_texturebits->integer); ri.Printf(PRINT_ALL, "multitexture: %s\n", enablestrings[qglActiveTextureARB != 0]); ri.Printf(PRINT_ALL, "compiled vertex arrays: %s\n", enablestrings[0]); ri.Printf(PRINT_ALL, "texenv add: %s\n", enablestrings[glConfig.textureEnvAddAvailable != 0]); ri.Printf(PRINT_ALL, "compressed textures: %s\n", enablestrings[glConfig.textureCompression != TC_NONE]); if (r_finish->integer) { ri.Printf(PRINT_ALL, "Forcing glFinish\n"); } ri.Printf(PRINT_ALL, "Renderer: vanilla GLES\n"); }
/* ================ GfxInfo_f ================ */ void GfxInfo_f(void) { const char *enablestrings[] = { "disabled", "enabled" }; const char *fsstrings[] = { "windowed", "fullscreen" }; Ren_Print("\nGL_VENDOR: %s\n", glConfig.vendor_string); Ren_Print("GL_VERSION: %s\n", glConfig.version_string); if (r_gfxInfo->integer > 0) { Ren_Print("GL_RENDERER: %s\n", glConfig.renderer_string); // GLEW already reports this Ren_Print("GL_EXTENSIONS: "); R_PrintLongString((char *)qglGetString(GL_EXTENSIONS)); } Ren_Print("\nGL_MAX_TEXTURE_SIZE: %d\n", glConfig.maxTextureSize); Ren_Print("GL_MAX_ACTIVE_TEXTURES_ARB: %d\n", glConfig.maxActiveTextures); Ren_Print("PIXELFORMAT: color(%d-bits) Z(%d-bit) stencil(%d-bits)\n", glConfig.colorBits, glConfig.depthBits, glConfig.stencilBits); Ren_Print("MODE: %d, SCREEN: %d x %d %s (ratio %.4f) Hz:", r_mode->integer, glConfig.vidWidth, glConfig.vidHeight, fsstrings[r_fullscreen->integer == 1], glConfig.windowAspect); if (glConfig.displayFrequency) { Ren_Print("%d\n", glConfig.displayFrequency); } else { Ren_Print("N/A\n"); } if (glConfig.deviceSupportsGamma) { Ren_Print("GAMMA: hardware w/ %d overbright bits\n", tr.overbrightBits); } else { Ren_Print("GAMMA: software w/ %d overbright bits\n", tr.overbrightBits); } // rendering primitives { int primitives; // default is to use triangles if compiled vertex arrays are present Ren_Print("rendering primitives: "); primitives = r_primitives->integer; if (primitives == 0) { if (qglLockArraysEXT) { primitives = 2; } else { primitives = 1; } } if (primitives == -1) { Ren_Print("none\n"); } else if (primitives == 2) { Ren_Print("single glDrawElements\n"); } else if (primitives == 1) { Ren_Print("multiple glArrayElement\n"); } else if (primitives == 3) { Ren_Print("multiple glColor4ubv + glTexCoord2fv + glVertex3fv\n"); } } Ren_Print("texturemode: %s\n", r_textureMode->string); Ren_Print("picmip: %d\n", r_picmip->integer); Ren_Print("texture bits: %d\n", r_texturebits->integer); Ren_Print("multitexture: %s\n", enablestrings[qglActiveTextureARB != 0]); Ren_Print("compiled vertex arrays: %s\n", enablestrings[qglLockArraysEXT != 0]); Ren_Print("texenv add: %s\n", enablestrings[glConfig.textureEnvAddAvailable != 0]); Ren_Print("compressed textures: %s\n", enablestrings[glConfig.textureCompression != TC_NONE]); if (r_finish->integer) { Ren_Print("Forcing glFinish\n"); } Ren_Print("Renderer: vanilla+\n"); }
/* ================ GfxInfo_f ================ */ void GfxInfo_f( void ) { const char *enablestrings[] = { "disabled", "enabled" }; const char *fsstrings[] = { "windowed", "fullscreen" }; 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: " ); if ( qglGetStringi ) { GLint numExtensions; int i; qglGetIntegerv( GL_NUM_EXTENSIONS, &numExtensions ); for ( i = 0; i < numExtensions; i++ ) { ri.Printf( PRINT_ALL, "%s ", qglGetStringi( GL_EXTENSIONS, i ) ); } } else { 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 ); ri.Printf( PRINT_ALL, "MODE: %d, %d x %d %s hz:", r_mode->integer, glConfig.vidWidth, glConfig.vidHeight, fsstrings[r_fullscreen->integer == 1] ); if ( glConfig.displayFrequency ) { ri.Printf( PRINT_ALL, "%d\n", glConfig.displayFrequency ); } else { ri.Printf( PRINT_ALL, "N/A\n" ); } if ( glConfig.deviceSupportsGamma ) { ri.Printf( PRINT_ALL, "GAMMA: hardware w/ %d overbright bits\n", tr.overbrightBits ); } else { ri.Printf( PRINT_ALL, "GAMMA: software w/ %d overbright bits\n", tr.overbrightBits ); } // rendering primitives { int primitives; // default is to use triangles if compiled vertex arrays are present ri.Printf( PRINT_ALL, "rendering primitives: " ); primitives = r_primitives->integer; if ( primitives == 0 ) { if ( qglLockArraysEXT ) { primitives = 2; } else { primitives = 1; } } if ( primitives == -1 ) { ri.Printf( PRINT_ALL, "none\n" ); } else if ( primitives == 2 ) { ri.Printf( PRINT_ALL, "single glDrawElements\n" ); } else if ( primitives == 1 ) { ri.Printf( PRINT_ALL, "multiple glArrayElement\n" ); } else if ( primitives == 3 ) { ri.Printf( PRINT_ALL, "multiple glColor4ubv + glTexCoord2fv + glVertex3fv\n" ); } } ri.Printf( PRINT_ALL, "texturemode: %s\n", r_textureMode->string ); ri.Printf( PRINT_ALL, "picmip: %d\n", r_picmip->integer ); if ( r_picmip->integer != r_picmip2->integer ) { ri.Printf( PRINT_ALL, "picmip2: %d\n", r_picmip2->integer ); } ri.Printf( PRINT_ALL, "texture bits: %d\n", r_texturebits->integer ); ri.Printf( PRINT_ALL, "multitexture: %s\n", enablestrings[qglActiveTextureARB != 0] ); ri.Printf( PRINT_ALL, "compiled vertex arrays: %s\n", enablestrings[qglLockArraysEXT != 0 ] ); ri.Printf( PRINT_ALL, "texenv add: %s\n", enablestrings[glConfig.textureEnvAddAvailable != 0] ); ri.Printf( PRINT_ALL, "compressed textures: %s\n", enablestrings[glConfig.textureCompression!=TC_NONE] ); if ( r_vertexLight->integer ) { ri.Printf( PRINT_ALL, "HACK: using vertex lightmap approximation\n" ); } if ( r_finish->integer ) { ri.Printf( PRINT_ALL, "Forcing glFinish\n" ); } }