| version 1.32 |  | version 1.33 | 
|---|
|  |  |  | 
| const char *gl_vendor,*gl_renderer,*gl_version,*gl_extensions; |  | const char *gl_vendor,*gl_renderer,*gl_version,*gl_extensions; | 
| void ogl_get_verinfo(void){ |  | void ogl_get_verinfo(void){ | 
| int t, arb_max_textures=-1, sgi_max_textures=-1; |  | int t, arb_max_textures=-1, sgi_max_textures=-1; | 
|  |  | float anisotropic_max=0; | 
| gl_vendor=glGetString(GL_VENDOR); |  | gl_vendor=glGetString(GL_VENDOR); | 
| gl_renderer=glGetString(GL_RENDERER); |  | gl_renderer=glGetString(GL_RENDERER); | 
| gl_version=glGetString(GL_VERSION); |  | gl_version=glGetString(GL_VERSION); | 
|  |  |  | 
| #endif |  | #endif | 
| ogl_nv_texture_env_combine4_ok=(strstr(gl_extensions,"GL_NV_texture_env_combine4")!=0); |  | ogl_nv_texture_env_combine4_ok=(strstr(gl_extensions,"GL_NV_texture_env_combine4")!=0); | 
|  |  |  | 
|  |  | ogl_ext_texture_filter_anisotropic_ok=(strstr(gl_extensions,"GL_EXT_texture_filter_anisotropic")!=0); | 
|  |  | if (ogl_ext_texture_filter_anisotropic_ok) | 
|  |  | glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &anisotropic_max); | 
|  |  |  | 
| //add driver specific hacks here.  whee. |  | //add driver specific hacks here.  whee. | 
| if ((stricmp(gl_renderer,"Mesa NVIDIA RIVA 1.0\n")==0 || stricmp(gl_renderer,"Mesa NVIDIA RIVA 1.2\n")==0) && stricmp(gl_version,"1.2 Mesa 3.0")==0){ |  | if ((stricmp(gl_renderer,"Mesa NVIDIA RIVA 1.0\n")==0 || stricmp(gl_renderer,"Mesa NVIDIA RIVA 1.2\n")==0) && stricmp(gl_version,"1.2 Mesa 3.0")==0){ | 
| ogl_intensity4_ok=0;//ignores alpha, always black background instead of transparent. |  | ogl_intensity4_ok=0;//ignores alpha, always black background instead of transparent. | 
|  |  |  | 
| } |  | } | 
|  |  |  | 
| printf("gl_arb_multitexture:%i(%i units) gl_sgis_multitexture:%i(%i units) gl_nv_texture_env_combine4:%i\n",ogl_arb_multitexture_ok,arb_max_textures,ogl_sgis_multitexture_ok,sgi_max_textures,ogl_nv_texture_env_combine4_ok); |  | printf("gl_arb_multitexture:%i(%i units) gl_sgis_multitexture:%i(%i units) gl_nv_texture_env_combine4:%i\n",ogl_arb_multitexture_ok,arb_max_textures,ogl_sgis_multitexture_ok,sgi_max_textures,ogl_nv_texture_env_combine4_ok); | 
| printf("gl_intensity4:%i gl_luminance4_alpha4:%i gl_rgba2:%i gl_readpixels:%i gl_gettexlevelparam:%i gl_setgammaramp_ok:%i\n",ogl_intensity4_ok,ogl_luminance4_alpha4_ok,ogl_rgba2_ok,ogl_readpixels_ok,ogl_gettexlevelparam_ok,ogl_setgammaramp_ok); |  | printf("gl_intensity4:%i gl_luminance4_alpha4:%i gl_rgba2:%i gl_readpixels:%i gl_gettexlevelparam:%i gl_setgammaramp_ok:%i gl_ext_texture_filter_anisotropic:%i(%f max)\n",ogl_intensity4_ok,ogl_luminance4_alpha4_ok,ogl_rgba2_ok,ogl_readpixels_ok,ogl_gettexlevelparam_ok,ogl_setgammaramp_ok, ogl_ext_texture_filter_anisotropic_ok, anisotropic_max); | 
| } |  | } | 
|  |  |  | 
| int gr_set_mode(u_int32_t mode) |  | int gr_set_mode(u_int32_t mode) | 
|  |  |  | 
| GL_texminfilt=ogl_atotexfilti(Args[t+1],1); |  | GL_texminfilt=ogl_atotexfilti(Args[t+1],1); | 
| } |  | } | 
| GL_needmipmaps=ogl_testneedmipmaps(GL_texminfilt); |  | GL_needmipmaps=ogl_testneedmipmaps(GL_texminfilt); | 
| mprintf((0,"gr_init: texmagfilt:%x texminfilt:%x needmipmaps=%i\n",GL_texmagfilt,GL_texminfilt,GL_needmipmaps)); |  |  | 
|  |  | if ((t=FindArg("-gl_anisotropy")) || (t=FindArg("-gl_anisotropic"))){ | 
|  |  | GL_texanisofilt=atof(Args[t+1]); | 
|  |  | } | 
|  |  |  | 
|  |  | mprintf((0,"gr_init: texmagfilt:%x texminfilt:%x needmipmaps=%i anisotropic:%f\n",GL_texmagfilt,GL_texminfilt,GL_needmipmaps,GL_texanisofilt)); | 
|  |  |  | 
|  |  |  | 
| if ((t=FindArg("-gl_vidmem"))){ |  | if ((t=FindArg("-gl_vidmem"))){ | 
| ogl_mem_target=atoi(Args[t+1])*1024*1024; |  | ogl_mem_target=atoi(Args[t+1])*1024*1024; |