summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-04-19 09:09:32 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2012-04-19 09:12:18 +0100
commit4cf74d409ca63c6a479c1ee2187908c04f3b830b (patch)
tree430834745428661c0c6ee8638a97480a32249b4f
parentfd81408b978c9b57c046ee43d2d32e1370e83a7d (diff)
downloadxf86-video-intel-4cf74d409ca63c6a479c1ee2187908c04f3b830b.tar.gz
xf86-video-intel-4cf74d409ca63c6a479c1ee2187908c04f3b830b.tar.bz2
xf86-video-intel-4cf74d409ca63c6a479c1ee2187908c04f3b830b.zip
sna: Don't consider upload proxies as being on the GPU for render targets
The upload proxy is a fake buffer that we do not want to render to as then the damage tracking become extremely confused and the buffer it self is not optimised for persistent rendering. We assert that we do not use it as a render target, and this patch adds the check so that we avoid treating the proxy as a valid target when choosing the render path. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_render_inline.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/sna/sna_render_inline.h b/src/sna/sna_render_inline.h
index 03e1969d9..b9acea1d7 100644
--- a/src/sna/sna_render_inline.h
+++ b/src/sna/sna_render_inline.h
@@ -75,7 +75,7 @@ is_gpu(DrawablePtr drawable)
if (priv == NULL || priv->clear)
return false;
- if (priv->gpu_damage || (priv->gpu_bo && kgem_bo_is_busy(priv->gpu_bo)))
+ if (priv->gpu_damage || (priv->gpu_bo && kgem_bo_is_busy(priv->gpu_bo) && !priv->gpu_bo->proxy))
return true;
return priv->cpu_bo && kgem_bo_is_busy(priv->cpu_bo);