diff options
author | Marek Olšák <[email protected]> | 2010-01-23 17:19:44 +0100 |
---|---|---|
committer | Corbin Simpson <[email protected]> | 2010-01-24 23:03:29 -0800 |
commit | 85059964307c3f10e4a328d82af2bb791a5a4927 (patch) | |
tree | 5d2e0499c3b2de9e56feb2e30f2727978735a523 /src/gallium/winsys/drm | |
parent | 4aed0944f4b8b8d14d210cf6bc87ccddfa9a77ec (diff) |
radeong: do not emit a zero-sized command stream
Fixing a hardlock introduced in fcbd285e421903ee0a65f19f5d633b25b5923c24 and
reproducible with piglit/bugs/fdo23489.
Diffstat (limited to 'src/gallium/winsys/drm')
-rw-r--r-- | src/gallium/winsys/drm/radeon/core/radeon_r300.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/winsys/drm/radeon/core/radeon_r300.c b/src/gallium/winsys/drm/radeon/core/radeon_r300.c index 0875ee41cbf..0253bc2527e 100644 --- a/src/gallium/winsys/drm/radeon/core/radeon_r300.c +++ b/src/gallium/winsys/drm/radeon/core/radeon_r300.c @@ -108,6 +108,11 @@ static void radeon_flush_cs(struct radeon_winsys* winsys) { int retval; + /* Don't flush a zero-sized CS. */ + if (!winsys->priv->cs->cdw) { + return; + } + /* Emit the CS. */ retval = radeon_cs_emit(winsys->priv->cs); if (retval) { |