for (image = pool->imagechain;image;image = image->imagechain)
{
// only update already uploaded images
- if (!(image->flags & GLTEXF_UPLOAD))
+ if (!(image->flags & GLTEXF_UPLOAD) && (image->flags & TEXF_MIPMAP))
{
qglGetIntegerv(gltexturetypebindingenums[image->texturetype], &oldbindtexnum);
CHECKGLERROR
- if (gl_support_anisotropy)
+ if (gl_support_anisotropy && (flags & TEXF_MIPMAP))
{
int aniso = bound(1, gl_texture_anisotropy.integer, gl_max_anisotropy);
if (gl_texture_anisotropy.integer != aniso)
continue;
if (image->texturetype != glt->texturetype)
continue;
- if ((image->flags ^ glt->flags) & (TEXF_MIPMAP | TEXF_ALPHA | TEXF_CLAMP))
+ if ((image->flags ^ glt->flags) & (TEXF_MIPMAP | TEXF_ALPHA | TEXF_CLAMP | TEXF_FORCENEAREST | TEXF_FORCELINEAR))
continue;
if (image->glformat != texinfo->glformat || image->glinternalformat != texinfo->glinternalformat)
continue;
image->texturetype = glt->texturetype;
image->glinternalformat = texinfo->glinternalformat;
image->glformat = texinfo->glformat;
- image->flags = (glt->flags & (TEXF_MIPMAP | TEXF_ALPHA | TEXF_CLAMP | TEXF_PICMIP)) | GLTEXF_UPLOAD;
+ image->flags = (glt->flags & (TEXF_MIPMAP | TEXF_ALPHA | TEXF_CLAMP | TEXF_PICMIP | TEXF_FORCENEAREST | TEXF_FORCELINEAR)) | GLTEXF_UPLOAD;
image->bytesperpixel = texinfo->internalbytesperpixel;
image->sides = image->texturetype == GLTEXTURETYPE_CUBEMAP ? 6 : 1;
// get a texture number to use