summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/r200
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2014-08-01 19:36:37 +0200
committerMarek Olšák <marek.olsak@amd.com>2014-08-09 23:41:15 +0200
commit085a86154553d86f8e4296b4c732901f781bdfd8 (patch)
treede12283dfa312c6fd88b13ae32b82824517e82df /src/mesa/drivers/dri/r200
parent0b5d88a518da7e4c8a084b7881580846c5d6d11f (diff)
downloadexternal_mesa3d-085a86154553d86f8e4296b4c732901f781bdfd8.zip
external_mesa3d-085a86154553d86f8e4296b4c732901f781bdfd8.tar.gz
external_mesa3d-085a86154553d86f8e4296b4c732901f781bdfd8.tar.bz2
radeon,r200: fix buffer validation after CS flush
This validates all bound buffers (CB, ZB, textures, DMA) at the beginning of CS. This fixes "bo->space_accouned" assertion failures. Tested by: Jochen Rollwagen <joro-2013@t-online.de> Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'src/mesa/drivers/dri/r200')
-rw-r--r--src/mesa/drivers/dri/r200/r200_context.c1
-rw-r--r--src/mesa/drivers/dri/r200/r200_state.c2
-rw-r--r--src/mesa/drivers/dri/r200/r200_state.h1
3 files changed, 3 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/r200/r200_context.c b/src/mesa/drivers/dri/r200/r200_context.c
index 71dfcf3..d5749f3 100644
--- a/src/mesa/drivers/dri/r200/r200_context.c
+++ b/src/mesa/drivers/dri/r200/r200_context.c
@@ -190,6 +190,7 @@ static void r200_init_vtbl(radeonContextPtr radeon)
radeon->vtbl.check_blit = r200_check_blit;
radeon->vtbl.blit = r200_blit;
radeon->vtbl.is_format_renderable = radeonIsFormatRenderable;
+ radeon->vtbl.revalidate_all_buffers = r200ValidateBuffers;
}
diff --git a/src/mesa/drivers/dri/r200/r200_state.c b/src/mesa/drivers/dri/r200/r200_state.c
index 2c7b652..983430f 100644
--- a/src/mesa/drivers/dri/r200/r200_state.c
+++ b/src/mesa/drivers/dri/r200/r200_state.c
@@ -2210,7 +2210,7 @@ static void update_texturematrix( struct gl_context *ctx )
}
}
-static GLboolean r200ValidateBuffers(struct gl_context *ctx)
+GLboolean r200ValidateBuffers(struct gl_context *ctx)
{
r200ContextPtr rmesa = R200_CONTEXT(ctx);
struct radeon_renderbuffer *rrb;
diff --git a/src/mesa/drivers/dri/r200/r200_state.h b/src/mesa/drivers/dri/r200/r200_state.h
index db0f01f..a396b06 100644
--- a/src/mesa/drivers/dri/r200/r200_state.h
+++ b/src/mesa/drivers/dri/r200/r200_state.h
@@ -47,6 +47,7 @@ extern void r200UpdateViewportOffset( struct gl_context *ctx );
extern void r200UpdateWindow( struct gl_context *ctx );
extern void r200UpdateDrawBuffer(struct gl_context *ctx);
+extern GLboolean r200ValidateBuffers(struct gl_context *ctx);
extern GLboolean r200ValidateState( struct gl_context *ctx );
extern void r200_vtbl_update_scissor( struct gl_context *ctx );