summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2009-04-16 13:06:08 +1000
committerDave Airlie <airlied@redhat.com>2009-04-16 13:06:08 +1000
commit143b416af6662995059cd5209a750dbace78081c (patch)
tree51f0b45937e25eed9d83d415099b6500da73e79e /src
parent1fd76ae930d20a241d534a86c489d92df9b051d3 (diff)
radeon: take a bo reference when adding to validate list
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_common.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/radeon/radeon_common.c b/src/mesa/drivers/dri/radeon/radeon_common.c
index 756c09fff3..2449795ea9 100644
--- a/src/mesa/drivers/dri/radeon/radeon_common.c
+++ b/src/mesa/drivers/dri/radeon/radeon_common.c
@@ -928,6 +928,7 @@ void radeon_validate_reset_bos(radeonContextPtr radeon)
int i;
for (i = 0; i < radeon->state.validated_bo_count; i++) {
+ radeon_bo_unref(radeon->state.bos[i].bo);
radeon->state.bos[i].bo = NULL;
radeon->state.bos[i].read_domains = 0;
radeon->state.bos[i].write_domain = 0;
@@ -938,6 +939,7 @@ void radeon_validate_reset_bos(radeonContextPtr radeon)
void radeon_validate_bo(radeonContextPtr radeon, struct radeon_bo *bo, uint32_t read_domains, uint32_t write_domain)
{
+ radeon_bo_ref(bo);
radeon->state.bos[radeon->state.validated_bo_count].bo = bo;
radeon->state.bos[radeon->state.validated_bo_count].read_domains = read_domains;
radeon->state.bos[radeon->state.validated_bo_count].write_domain = write_domain;