Mesa (master): radeong: do not emit a zero-sized command stream
Corbin Simpson
csimpson at kemper.freedesktop.org
Mon Jan 25 07:04:13 UTC 2010
Module: Mesa
Branch: master
Commit: 85059964307c3f10e4a328d82af2bb791a5a4927
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=85059964307c3f10e4a328d82af2bb791a5a4927
Author: Marek Olšák <maraeo at gmail.com>
Date: Sat Jan 23 17:19:44 2010 +0100
radeong: do not emit a zero-sized command stream
Fixing a hardlock introduced in fcbd285e421903ee0a65f19f5d633b25b5923c24 and
reproducible with piglit/bugs/fdo23489.
---
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 0875ee4..0253bc2 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) {
More information about the mesa-commit
mailing list