diff --git a/engine/common/build.c b/engine/common/build.c index 6e99ff95..6cf91622 100644 --- a/engine/common/build.c +++ b/engine/common/build.c @@ -48,7 +48,7 @@ int Q_buildnum( void ) return b; #else - return 4511; + return 4529; #endif } diff --git a/ref_gl/gl_export.h b/ref_gl/gl_export.h index a30b8903..a9cd3af8 100644 --- a/ref_gl/gl_export.h +++ b/ref_gl/gl_export.h @@ -398,6 +398,7 @@ typedef float GLmatrix[16]; #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3 #define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD +#define GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837 #define GL_COMPRESSED_ALPHA_ARB 0x84E9 #define GL_COMPRESSED_LUMINANCE_ARB 0x84EA #define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB diff --git a/ref_gl/gl_image.c b/ref_gl/gl_image.c index ace6a441..ffb61e8c 100644 --- a/ref_gl/gl_image.c +++ b/ref_gl/gl_image.c @@ -396,6 +396,8 @@ static size_t GL_CalcTextureSize( GLenum format, int width, int height, int dept case GL_COMPRESSED_RGBA_S3TC_DXT3_EXT: case GL_COMPRESSED_RGBA_S3TC_DXT5_EXT: case GL_COMPRESSED_RED_GREEN_RGTC2_EXT: + case GL_COMPRESSED_LUMINANCE_ALPHA_ARB: + case GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI: size = (((width + 3) >> 2) * ((height + 3) >> 2) * 16) * depth; break; case GL_RGBA8: @@ -451,10 +453,14 @@ static size_t GL_CalcTextureSize( GLenum format, int width, int height, int dept size = width * height * depth * 8; break; case GL_RGB16F_ARB: + size = width * height * depth * 6; + break; case GL_RGBA16F_ARB: size = width * height * depth * 8; break; case GL_RGB32F_ARB: + size = width * height * depth * 12; + break; case GL_RGBA32F_ARB: size = width * height * depth * 16; break; @@ -661,7 +667,11 @@ static void GL_SetTextureFormat( gl_texture_t *tex, pixformat_t format, int chan case PF_DXT1: tex->format = GL_COMPRESSED_RGB_S3TC_DXT1_EXT; break; // never use DXT1 with 1-bit alpha case PF_DXT3: tex->format = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT; break; case PF_DXT5: tex->format = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT; break; - case PF_ATI2: tex->format = GL_COMPRESSED_RED_GREEN_RGTC2_EXT; break; + case PF_ATI2: + if( glConfig.hardware_type == GLHW_RADEON ) + tex->format = GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI; + else tex->format = GL_COMPRESSED_RED_GREEN_RGTC2_EXT; + break; } return; } @@ -2046,6 +2056,7 @@ void R_TextureList_f( void ) gEngfuncs.Con_Printf( "DXT5 " ); break; case GL_COMPRESSED_RED_GREEN_RGTC2_EXT: + case GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI: gEngfuncs.Con_Printf( "ATI2 " ); break; case GL_RGBA: