#include "main/mtypes.h"
#include "main/state.h"
#include "main/texcompress.h"
+#include "main/texobj.h"
#include "main/texparam.h"
#include "main/teximage.h"
#include "main/texstate.h"
/**
* This is called just prior to changing any texture object state which
- * can effect texture completeness (texture base level, max level,
- * minification filter).
+ * can effect texture completeness (texture base level, max level).
* Any pending rendering will be flushed out, we'll set the _NEW_TEXTURE
* state flag and then mark the texture object as 'incomplete' so that any
* per-texture derived state gets recomputed.
incomplete(struct gl_context *ctx, struct gl_texture_object *texObj)
{
FLUSH_VERTICES(ctx, _NEW_TEXTURE);
- texObj->_Complete = GL_FALSE;
+ _mesa_dirty_texobj(ctx, texObj, GL_TRUE);
}
switch (params[0]) {
case GL_NEAREST:
case GL_LINEAR:
- incomplete(ctx, texObj);
+ flush(ctx);
texObj->Sampler.MinFilter = params[0];
return GL_TRUE;
case GL_NEAREST_MIPMAP_NEAREST:
case GL_LINEAR_MIPMAP_LINEAR:
if (texObj->Target != GL_TEXTURE_RECTANGLE_NV &&
texObj->Target != GL_TEXTURE_EXTERNAL_OES) {
- incomplete(ctx, texObj);
+ flush(ctx);
texObj->Sampler.MinFilter = params[0];
return GL_TRUE;
}
}
break;
case GL_TEXTURE_RESIDENT:
- *params = ctx->Driver.IsTextureResident ?
- ctx->Driver.IsTextureResident(ctx, obj) : 1.0F;
+ *params = 1.0F;
break;
case GL_TEXTURE_PRIORITY:
*params = obj->Priority;
switch (pname) {
case GL_TEXTURE_MAG_FILTER:
*params = (GLint) obj->Sampler.MagFilter;
- break;;
+ break;
case GL_TEXTURE_MIN_FILTER:
*params = (GLint) obj->Sampler.MinFilter;
- break;;
+ break;
case GL_TEXTURE_WRAP_S:
*params = (GLint) obj->Sampler.WrapS;
- break;;
+ break;
case GL_TEXTURE_WRAP_T:
*params = (GLint) obj->Sampler.WrapT;
- break;;
+ break;
case GL_TEXTURE_WRAP_R:
*params = (GLint) obj->Sampler.WrapR;
- break;;
+ break;
case GL_TEXTURE_BORDER_COLOR:
{
GLfloat b[4];
params[2] = FLOAT_TO_INT(b[2]);
params[3] = FLOAT_TO_INT(b[3]);
}
- break;;
+ break;
case GL_TEXTURE_RESIDENT:
- *params = ctx->Driver.IsTextureResident ?
- ctx->Driver.IsTextureResident(ctx, obj) : 1;
- break;;
+ *params = 1;
+ break;
case GL_TEXTURE_PRIORITY:
*params = FLOAT_TO_INT(obj->Priority);
- break;;
+ break;
case GL_TEXTURE_MIN_LOD:
*params = (GLint) obj->Sampler.MinLod;
- break;;
+ break;
case GL_TEXTURE_MAX_LOD:
*params = (GLint) obj->Sampler.MaxLod;
- break;;
+ break;
case GL_TEXTURE_BASE_LEVEL:
*params = obj->BaseLevel;
- break;;
+ break;
case GL_TEXTURE_MAX_LEVEL:
*params = obj->MaxLevel;
- break;;
+ break;
case GL_TEXTURE_MAX_ANISOTROPY_EXT:
if (!ctx->Extensions.EXT_texture_filter_anisotropic)
goto invalid_pname;