mesa: move sampler condition for flushing into mesa_flush_vertices_for_uniforms
authorMarek Olšák <marek.olsak@amd.com>
Sun, 27 Sep 2020 15:28:59 +0000 (11:28 -0400)
committerMarge Bot <eric+marge@anholt.net>
Tue, 1 Dec 2020 11:52:10 +0000 (11:52 +0000)
This is just a code consolidation. It might fix something, not sure.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6946>

src/mesa/main/uniform_query.cpp

index 2949e47..f97e7bd 100644 (file)
@@ -1039,7 +1039,9 @@ _mesa_flush_vertices_for_uniforms(struct gl_context *ctx,
 {
    /* Opaque uniforms have no storage unless they are bindless */
    if (!uni->is_bindless && uni->type->contains_opaque()) {
-      FLUSH_VERTICES(ctx, 0);
+      /* Samplers flush on demand and ignore redundant updates. */
+      if (!uni->type->is_sampler())
+         FLUSH_VERTICES(ctx, 0);
       return;
    }
 
@@ -1149,12 +1151,7 @@ _mesa_uniform(GLint location, GLsizei count, const GLvoid *values,
       count = MIN2(count, (int) (uni->array_elements - offset));
    }
 
-   /* We check samplers for changes and flush if needed in the sampler
-    * handling code further down, so just skip them here.
-    */
-   if (!uni->type->is_sampler()) {
-       _mesa_flush_vertices_for_uniforms(ctx, uni);
-   }
+   _mesa_flush_vertices_for_uniforms(ctx, uni);
 
    /* Store the data in the "actual type" backing storage for the uniform.
     */