Mesa (staging/19.2): rbug: unwrap index buffer resource

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Oct 18 17:02:55 UTC 2019


Module: Mesa
Branch: staging/19.2
Commit: 62f9ba1bf2eaad056104ffa63128bf1face4b60d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=62f9ba1bf2eaad056104ffa63128bf1face4b60d

Author: Lucas Stach <l.stach at pengutronix.de>
Date:   Mon Sep 16 14:55:13 2019 +0200

rbug: unwrap index buffer resource

All resources passed to the drivers below rbug need to be unwrapped before
being passed down. We missed to do this for the index buffer resource when
this was made part of the draw_info structure.

Fixes: 330d0607ed60 (gallium: remove pipe_index_buffer and set_index_buffer)
Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
(cherry picked from commit a75eb888e0ceeaa61b3583668c05cc1f5f5786ce)

---

 src/gallium/auxiliary/driver_rbug/rbug_context.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/gallium/auxiliary/driver_rbug/rbug_context.c b/src/gallium/auxiliary/driver_rbug/rbug_context.c
index adf3493aab5..436fd8bd83e 100644
--- a/src/gallium/auxiliary/driver_rbug/rbug_context.c
+++ b/src/gallium/auxiliary/driver_rbug/rbug_context.c
@@ -114,10 +114,15 @@ rbug_draw_block_locked(struct rbug_context *rb_pipe, int flag)
 }
 
 static void
-rbug_draw_vbo(struct pipe_context *_pipe, const struct pipe_draw_info *info)
+rbug_draw_vbo(struct pipe_context *_pipe, const struct pipe_draw_info *_info)
 {
    struct rbug_context *rb_pipe = rbug_context(_pipe);
    struct pipe_context *pipe = rb_pipe->pipe;
+   struct pipe_draw_info info;
+
+   info = *_info;
+   if(_info->index_size && !_info->has_user_indices)
+       info.index.resource = rbug_resource_unwrap(_info->index.resource);
 
    mtx_lock(&rb_pipe->draw_mutex);
    rbug_draw_block_locked(rb_pipe, RBUG_BLOCK_BEFORE);
@@ -127,7 +132,7 @@ rbug_draw_vbo(struct pipe_context *_pipe, const struct pipe_draw_info *info)
    if (!(rb_pipe->curr.shader[PIPE_SHADER_FRAGMENT] && rb_pipe->curr.shader[PIPE_SHADER_FRAGMENT]->disabled) &&
        !(rb_pipe->curr.shader[PIPE_SHADER_GEOMETRY] && rb_pipe->curr.shader[PIPE_SHADER_GEOMETRY]->disabled) &&
        !(rb_pipe->curr.shader[PIPE_SHADER_VERTEX] && rb_pipe->curr.shader[PIPE_SHADER_VERTEX]->disabled))
-      pipe->draw_vbo(pipe, info);
+      pipe->draw_vbo(pipe, &info);
    mtx_unlock(&rb_pipe->call_mutex);
 
    rbug_draw_block_locked(rb_pipe, RBUG_BLOCK_AFTER);




More information about the mesa-commit mailing list