st/mesa: remove st_finalize_textures atom
authorMarek Olšák <marek.olsak@amd.com>
Sat, 25 Jul 2015 15:26:10 +0000 (17:26 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Tue, 28 Jul 2015 22:10:27 +0000 (00:10 +0200)
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>
src/mesa/state_tracker/st_atom.c
src/mesa/state_tracker/st_atom.h
src/mesa/state_tracker/st_atom_texture.c

index 5fc1a77ce60b8eb7f0aed7de082655aa2aefe930..43dbadd4a7e65b048f3547b3a6fcfacafad462c4 100644 (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,
index 5735ca6930d93f85d19bff85175deae192f2d32b..a24842baa4f607424a93e3168bbfe8e8dd8ef772 100644 (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;
index 4422d9a1a522b7acbed053a7bbac9425e942f67f..31e0f6ba06cb8acbb8485d30f2259ea16b764f72 100644 (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 */
-};