From d0c66c167d3e0cac04861edbd939525002a8dbae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Sun, 27 Sep 2020 11:28:59 -0400 Subject: [PATCH] mesa: move sampler condition for flushing into mesa_flush_vertices_for_uniforms This is just a code consolidation. It might fix something, not sure. Reviewed-by: Adam Jackson Part-of: --- src/mesa/main/uniform_query.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/mesa/main/uniform_query.cpp b/src/mesa/main/uniform_query.cpp index 2949e47e154..f97e7bdaa33 100644 --- a/src/mesa/main/uniform_query.cpp +++ b/src/mesa/main/uniform_query.cpp @@ -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. */