A dangling bo object would result in memory corruption while
loading a level in ioquake3_opengl2.

Fixes a problem introduced in 330d0607ed60fd3edca192e54b4246310f06652f.
Fix suggested by Lucas Stach.

Signed-off-by: Wladimir J. van der Laan <laa...@gmail.com>
---
 src/gallium/drivers/etnaviv/etnaviv_context.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/gallium/drivers/etnaviv/etnaviv_context.c 
b/src/gallium/drivers/etnaviv/etnaviv_context.c
index e759095..3437906 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_context.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_context.c
@@ -198,6 +198,12 @@ etna_draw_vbo(struct pipe_context *pctx, const struct 
pipe_draw_info *info)
          BUG("Unsupported or no index buffer");
          return;
       }
+   } else {
+      ctx->index_buffer.FE_INDEX_STREAM_BASE_ADDR.bo = 0;
+      ctx->index_buffer.FE_INDEX_STREAM_BASE_ADDR.offset = 0;
+      ctx->index_buffer.FE_INDEX_STREAM_BASE_ADDR.flags = 0;
+      ctx->index_buffer.FE_INDEX_STREAM_CONTROL = 0;
+      ctx->dirty |= ETNA_DIRTY_INDEX_BUFFER;
    }
 
    struct etna_shader_key key = {};
-- 
2.7.4

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

Reply via email to