diff options
author | Dave Airlie <[email protected]> | 2010-02-24 19:13:07 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2010-02-24 19:13:07 +1000 |
commit | 3f5bac8960a5c6d1f08f0dc849676139b9d6ce5c (patch) | |
tree | 7b2fcec0d6f0eefbdcb4ed3c83af90dfc13a85b3 | |
parent | e16f0c14f353cc04ad6cbcf99e3b95ccb1d2c06b (diff) |
radeon/r200: fix the state emission before kernel clear
this moves the emission outside the lock and adds r200 support.
Signed-off-by: Dave Airlie <[email protected]>
-rw-r--r-- | src/mesa/drivers/dri/r200/r200_ioctl.c | 2 | ||||
-rw-r--r-- | src/mesa/drivers/dri/radeon/radeon_ioctl.c | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/r200/r200_ioctl.c b/src/mesa/drivers/dri/r200/r200_ioctl.c index a1b505707ea..b72f69b7f45 100644 --- a/src/mesa/drivers/dri/r200/r200_ioctl.c +++ b/src/mesa/drivers/dri/r200/r200_ioctl.c @@ -61,6 +61,8 @@ static void r200KernelClear(GLcontext *ctx, GLuint flags) GLint cx, cy, cw, ch, ret; GLuint i; + radeonEmitState(&rmesa->radeon); + LOCK_HARDWARE( &rmesa->radeon ); /* Throttle the number of clear ioctls we do. diff --git a/src/mesa/drivers/dri/radeon/radeon_ioctl.c b/src/mesa/drivers/dri/radeon/radeon_ioctl.c index d429f15fa5b..5ac526c6deb 100644 --- a/src/mesa/drivers/dri/radeon/radeon_ioctl.c +++ b/src/mesa/drivers/dri/radeon/radeon_ioctl.c @@ -442,6 +442,8 @@ static void radeonKernelClear(GLcontext *ctx, GLuint flags) GLint ret, i; GLint cx, cy, cw, ch; + radeonEmitState(&rmesa->radeon); + LOCK_HARDWARE( &rmesa->radeon ); /* compute region after locking: */ @@ -481,7 +483,6 @@ static void radeonKernelClear(GLcontext *ctx, GLuint flags) } } - radeonEmitState(&rmesa->radeon); /* Send current state to the hardware */ rcommonFlushCmdBufLocked( &rmesa->radeon, __FUNCTION__ ); |