mesa: don't set _NEW_PROGRAM_CONSTANTS for non-bindless opaque uniforms
authorTimothy Arceri <tarceri@itsqueeze.com>
Thu, 22 Jun 2017 22:44:25 +0000 (08:44 +1000)
committerTimothy Arceri <tarceri@itsqueeze.com>
Mon, 26 Jun 2017 23:17:16 +0000 (09:17 +1000)
v2: rebase on new _mesa_flush_vertices_for_uniforms() helper

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/mesa/main/uniform_query.cpp

index 5eb0efc3268ca504642271ed60059e5dee865f89..afb9f566b8074031006f2526e710078edcc226e0 100644 (file)
@@ -1006,6 +1006,12 @@ void
 _mesa_flush_vertices_for_uniforms(struct gl_context *ctx,
                                   const struct gl_uniform_storage *uni)
 {
+   /* Opaque uniforms have no storage unless they are bindless */
+   if (!uni->is_bindless && uni->type->contains_opaque()) {
+      FLUSH_VERTICES(ctx, 0);
+      return;
+   }
+
    uint64_t new_driver_state = 0;
    unsigned mask = uni->active_shader_mask;