st/mesa: remove st_finalize_textures atom

It only checks fragment textures and ignores other shaders, which makes it
incomplete, and textures are already finalized in update_single_texture.

There are no piglit regressions.

Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
Marek Olšák
2015-07-25 17:26:10 +02:00
parent 6ca3ff982a
commit 72f31c63d7
3 changed files with 0 additions and 47 deletions
-1
View File
@@ -46,7 +46,6 @@ static const struct st_tracked_state *atoms[] =
&st_update_depth_stencil_alpha,
&st_update_clip,
&st_finalize_textures,
&st_update_fp,
&st_update_gp,
&st_update_tep,
-1
View File
@@ -68,7 +68,6 @@ extern const struct st_tracked_state st_update_vertex_texture;
extern const struct st_tracked_state st_update_geometry_texture;
extern const struct st_tracked_state st_update_tessctrl_texture;
extern const struct st_tracked_state st_update_tesseval_texture;
extern const struct st_tracked_state st_finalize_textures;
extern const struct st_tracked_state st_update_fs_constants;
extern const struct st_tracked_state st_update_gs_constants;
extern const struct st_tracked_state st_update_tes_constants;
-45
View File
@@ -582,48 +582,3 @@ const struct st_tracked_state st_update_tesseval_texture = {
},
update_tesseval_textures /* update */
};
static void
finalize_textures(struct st_context *st)
{
struct gl_context *ctx = st->ctx;
struct gl_fragment_program *fprog = ctx->FragmentProgram._Current;
const GLboolean prev_missing_textures = st->missing_textures;
GLuint su;
st->missing_textures = GL_FALSE;
for (su = 0; su < ctx->Const.MaxTextureCoordUnits; su++) {
if (fprog->Base.SamplersUsed & (1 << su)) {
const GLuint texUnit = fprog->Base.SamplerUnits[su];
struct gl_texture_object *texObj
= ctx->Texture.Unit[texUnit]._Current;
if (texObj) {
GLboolean retval;
retval = st_finalize_texture(ctx, st->pipe, texObj);
if (!retval) {
/* out of mem */
st->missing_textures = GL_TRUE;
continue;
}
}
}
}
if (prev_missing_textures != st->missing_textures)
st->dirty.st |= ST_NEW_FRAGMENT_PROGRAM;
}
const struct st_tracked_state st_finalize_textures = {
"st_finalize_textures", /* name */
{ /* dirty */
_NEW_TEXTURE, /* mesa */
0, /* st */
},
finalize_textures /* update */
};