diff --git a/src/gallium/drivers/panfrost/pan_cmdstream.c b/src/gallium/drivers/panfrost/pan_cmdstream.c index bc37333479d..473cf4c7b64 100644 --- a/src/gallium/drivers/panfrost/pan_cmdstream.c +++ b/src/gallium/drivers/panfrost/pan_cmdstream.c @@ -2953,6 +2953,8 @@ panfrost_launch_xfb(struct panfrost_batch *batch, uint64_t saved_push = batch->push_uniforms[PIPE_SHADER_VERTEX]; unsigned saved_nr_push_uniforms = batch->nr_push_uniforms[PIPE_SHADER_VERTEX]; + unsigned saved_nr_ubos = + batch->nr_uniform_buffers[PIPE_SHADER_VERTEX]; ctx->uncompiled[PIPE_SHADER_VERTEX] = NULL; /* should not be read */ ctx->prog[PIPE_SHADER_VERTEX] = vs_uncompiled->xfb; @@ -2960,7 +2962,8 @@ panfrost_launch_xfb(struct panfrost_batch *batch, panfrost_emit_compute_shader_meta(batch, PIPE_SHADER_VERTEX); batch->uniform_buffers[PIPE_SHADER_VERTEX] = - panfrost_emit_const_buf(batch, PIPE_SHADER_VERTEX, NULL, + panfrost_emit_const_buf(batch, PIPE_SHADER_VERTEX, + &batch->nr_uniform_buffers[PIPE_SHADER_VERTEX], &batch->push_uniforms[PIPE_SHADER_VERTEX], &batch->nr_push_uniforms[PIPE_SHADER_VERTEX]); @@ -2973,6 +2976,7 @@ panfrost_launch_xfb(struct panfrost_batch *batch, batch->uniform_buffers[PIPE_SHADER_VERTEX] = saved_ubo; batch->push_uniforms[PIPE_SHADER_VERTEX] = saved_push; batch->nr_push_uniforms[PIPE_SHADER_VERTEX] = saved_nr_push_uniforms; + batch->nr_uniform_buffers[PIPE_SHADER_VERTEX] = saved_nr_ubos; } /*