Mesa (master): mesa/st: consider NumUniformBlocks instead of num_ubos when binding

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue May 5 09:38:46 UTC 2020


Module: Mesa
Branch: master
Commit: 354474b9e5a9e9fdbba1b113f36d7d119d4187c0
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=354474b9e5a9e9fdbba1b113f36d7d119d4187c0

Author: Erik Faye-Lund <erik.faye-lund at collabora.com>
Date:   Wed Apr 29 12:29:46 2020 +0200

mesa/st: consider NumUniformBlocks instead of num_ubos when binding

This is the number of uniform blocks at linking time, not after
finalizing shaders.

Reviewed-by: Alyssa Rosenzweig <alyssa at collabora.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4734>

---

 src/mesa/state_tracker/st_atom_constbuf.c | 2 +-
 src/mesa/state_tracker/st_draw_feedback.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/mesa/state_tracker/st_atom_constbuf.c b/src/mesa/state_tracker/st_atom_constbuf.c
index 181fef1b749..2b5cc547ec5 100644
--- a/src/mesa/state_tracker/st_atom_constbuf.c
+++ b/src/mesa/state_tracker/st_atom_constbuf.c
@@ -204,7 +204,7 @@ st_bind_ubos(struct st_context *st, struct gl_program *prog,
    if (!prog)
       return;
 
-   for (i = 0; i < prog->info.num_ubos; i++) {
+   for (i = 0; i < prog->sh.NumUniformBlocks; i++) {
       struct gl_buffer_binding *binding;
       struct st_buffer_object *st_obj;
 
diff --git a/src/mesa/state_tracker/st_draw_feedback.c b/src/mesa/state_tracker/st_draw_feedback.c
index 32eebd74154..956439122a3 100644
--- a/src/mesa/state_tracker/st_draw_feedback.c
+++ b/src/mesa/state_tracker/st_draw_feedback.c
@@ -232,7 +232,7 @@ st_feedback_draw_vbo(struct gl_context *ctx,
    struct pipe_transfer *ubo_transfer[PIPE_MAX_CONSTANT_BUFFERS] = {0};
    assert(prog->info.num_ubos <= ARRAY_SIZE(ubo_transfer));
 
-   for (unsigned i = 0; i < prog->info.num_ubos; i++) {
+   for (unsigned i = 0; i < prog->sh.NumUniformBlocks; i++) {
       struct gl_buffer_binding *binding =
          &st->ctx->UniformBufferBindings[prog->sh.UniformBlocks[i]->Binding];
       struct st_buffer_object *st_obj = st_buffer_object(binding->BufferObject);



More information about the mesa-commit mailing list