summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/radeon/radeon_buffer_objects.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@itt42.(none)>2009-11-20 11:48:10 +1000
committerDave Airlie <airlied@itt42.(none)>2009-11-20 11:48:10 +1000
commit3f2c77659ca552c43f544228f3a5a5fe6365513a (patch)
treef98f22ac8a1dbcaa9c457d8f64731c6d4a374cdb /src/mesa/drivers/dri/radeon/radeon_buffer_objects.c
parentb09e74901a4f92299fe3f52f57d27fd5ca5bdd2d (diff)
parentf8ea5318200c1ed839fc387b16a57c8d9969974b (diff)
Merge remote branch 'origin/mesa_7_7_branch'
Diffstat (limited to 'src/mesa/drivers/dri/radeon/radeon_buffer_objects.c')
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_buffer_objects.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/radeon/radeon_buffer_objects.c b/src/mesa/drivers/dri/radeon/radeon_buffer_objects.c
index 8fac5c6c51..99d3ec7005 100644
--- a/src/mesa/drivers/dri/radeon/radeon_buffer_objects.c
+++ b/src/mesa/drivers/dri/radeon/radeon_buffer_objects.c
@@ -136,8 +136,13 @@ radeonBufferSubData(GLcontext * ctx,
const GLvoid * data,
struct gl_buffer_object *obj)
{
+ radeonContextPtr radeon = RADEON_CONTEXT(ctx);
struct radeon_buffer_object *radeon_obj = get_radeon_buffer_object(obj);
+ if (radeon_bo_is_referenced_by_cs(radeon_obj->bo, radeon->cmdbuf.cs)) {
+ radeon_firevertices(radeon);
+ }
+
radeon_bo_map(radeon_obj->bo, GL_TRUE);
_mesa_memcpy(radeon_obj->bo->ptr + offset, data, size);