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

Author: Lucas Stach <l.st...@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.st...@pengutronix.de>

---

 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);

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to