st/mesa: remove extra calculation of sampler count
authorTimothy Arceri <t_arceri@yahoo.com.au>
Sat, 7 Jun 2014 02:02:56 +0000 (12:02 +1000)
committerTimothy Arceri <t_arceri@yahoo.com.au>
Sat, 7 Jun 2014 02:21:19 +0000 (12:21 +1000)
This code was originally introduced to fix https://bugs.freedesktop.org/show_bug.cgi?id=53617. The comment says you need to pass NULL in order to unref old views however cso_set_sampler_views() already takes care of old views with the second for loop. Also as of 2355a6441435b8e66a032c44f0794066338e30a3 cso_set_sampler_views() passes the max of the old and new views to the driver for all state trackers making this code obsolete.

Signed-off-by: Timothy Arceri <t_arceri@yahoo.com.au>
Reviewed-by: Brian Paul <brianp@vmware.com>
src/mesa/state_tracker/st_atom_texture.c

index 928a4ffd2a33d84fae06c60c9b353469fb03c5e4..e2d26ee246ad028252c116e56a7a3ad90d701db3 100644 (file)
@@ -358,7 +358,7 @@ update_textures(struct st_context *st,
 {
    const GLuint old_max = *num_textures;
    GLbitfield samplers_used = prog->SamplersUsed;
-   GLuint unit, new_count;
+   GLuint unit;
 
    if (samplers_used == 0x0 && old_max == 0)
       return;
@@ -387,16 +387,9 @@ update_textures(struct st_context *st,
       pipe_sampler_view_reference(&(sampler_views[unit]), sampler_view);
    }
 
-   /* Ex: if old_max = 3 and *num_textures = 1, we need to pass an
-    * array of views={X, NULL, NULL} to unref the old texture views
-    * at positions [1] and [2].
-    */
-   new_count = MAX2(*num_textures, old_max);
-   assert(new_count <= max_units);
-
    cso_set_sampler_views(st->cso_context,
                          shader_stage,
-                         new_count,
+                         *num_textures,
                          sampler_views);
 }