X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=gl_textures.c;h=1884633d51cb3dafd30356b03541cd72ba4c63e1;hp=0b2734bef2e2fa8810259ea2cb637fc4b3b0ac6b;hb=3474335ffdd2c762fd8067c687fae7928bc2a508;hpb=e2464fa30eef49aa21b08f1e1089b9542bd4b34e diff --git a/gl_textures.c b/gl_textures.c index 0b2734be..1884633d 100644 --- a/gl_textures.c +++ b/gl_textures.c @@ -218,11 +218,11 @@ static textypeinfo_t *R_GetTexTypeInfo(textype_t textype, int flags) case TEXTYPE_PALETTE: return (flags & TEXF_ALPHA) ? &textype_palette_alpha : &textype_palette; case TEXTYPE_RGBA: - if ((flags & TEXF_COMPRESS) && gl_texturecompression.integer >= 1 && vid.support.arb_texture_compression) + if ((flags & TEXF_COMPRESS) && gl_texturecompression.integer >= 1 && vid.support.ext_texture_compression_s3tc) return (flags & TEXF_ALPHA) ? &textype_rgba_alpha_compress : &textype_rgba_compress; return (flags & TEXF_ALPHA) ? &textype_rgba_alpha : &textype_rgba; case TEXTYPE_BGRA: - if ((flags & TEXF_COMPRESS) && gl_texturecompression.integer >= 1 && vid.support.arb_texture_compression) + if ((flags & TEXF_COMPRESS) && gl_texturecompression.integer >= 1 && vid.support.ext_texture_compression_s3tc) return (flags & TEXF_ALPHA) ? &textype_bgra_alpha_compress : &textype_bgra_compress; return (flags & TEXF_ALPHA) ? &textype_bgra_alpha : &textype_bgra; case TEXTYPE_ALPHA: @@ -1791,6 +1791,11 @@ rtexture_t *R_LoadTextureDDSFile(rtexturepool_t *rtexturepool, const char *filen } else if (!memcmp(dds+84, "DXT1", 4)) { + if(!vid.support.ext_texture_compression_s3tc) + { + Mem_Free(dds); + return NULL; + } // we need to find out if this is DXT1 (opaque) or DXT1A (transparent) // LordHavoc: it is my belief that this does not infringe on the // patent because it is not decoding pixels... @@ -1832,6 +1837,11 @@ rtexture_t *R_LoadTextureDDSFile(rtexturepool_t *rtexturepool, const char *filen } else if (!memcmp(dds+84, "DXT3", 4)) { + if(!vid.support.ext_texture_compression_s3tc) + { + Mem_Free(dds); + return NULL; + } textype = TEXTYPE_DXT3; bytesperblock = 16; bytesperpixel = 0; @@ -1846,6 +1856,11 @@ rtexture_t *R_LoadTextureDDSFile(rtexturepool_t *rtexturepool, const char *filen } else if (!memcmp(dds+84, "DXT5", 4)) { + if(!vid.support.ext_texture_compression_s3tc) + { + Mem_Free(dds); + return NULL; + } textype = TEXTYPE_DXT5; bytesperblock = 16; bytesperpixel = 0;