summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nouveau/nouveau_stateobj.h
diff options
context:
space:
mode:
authorRoland Scheidegger <sroland@vmware.com>2009-12-08 19:26:20 +0100
committerRoland Scheidegger <sroland@vmware.com>2009-12-08 19:26:20 +0100
commit4ebc54795dc93f7eee200312abfa2da1b49506e3 (patch)
tree3303b9bd235763ddfe55603f3e16d54fc41d83c5 /src/gallium/drivers/nouveau/nouveau_stateobj.h
parentbc7567d9665924650c43c661d07ae9a922554bee (diff)
parentee1720b99dfb5964962f2346406a4e3e88374a68 (diff)
Merge branch 'gallium-strict-aliasing'
Diffstat (limited to 'src/gallium/drivers/nouveau/nouveau_stateobj.h')
-rw-r--r--src/gallium/drivers/nouveau/nouveau_stateobj.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/nouveau/nouveau_stateobj.h b/src/gallium/drivers/nouveau/nouveau_stateobj.h
index b595405357..62990f9b6a 100644
--- a/src/gallium/drivers/nouveau/nouveau_stateobj.h
+++ b/src/gallium/drivers/nouveau/nouveau_stateobj.h
@@ -48,13 +48,14 @@ so_ref(struct nouveau_stateobj *ref, struct nouveau_stateobj **pso)
struct nouveau_stateobj *so = *pso;
int i;
- if (pipe_reference((struct pipe_reference**)pso, &ref->reference)) {
+ if (pipe_reference(&(*pso)->reference, &ref->reference)) {
free(so->push);
for (i = 0; i < so->cur_reloc; i++)
nouveau_bo_ref(NULL, &so->reloc[i].bo);
free(so->reloc);
free(so);
}
+ *pso = ref;
}
static INLINE void