[PATCH] etnaviv: Reset indexed rendering information when not rendering indexed
Wladimir J. van der Laan
laanwj at gmail.com
Fri Jul 14 11:26:24 UTC 2017
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 <laanwj at 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
More information about the etnaviv
mailing list