projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
8d6da81
)
st/xorg: Flush any pending operations on upload
author
Jakob Bornecrantz
<jakob@vmware.com>
Wed, 18 Nov 2009 16:45:39 +0000
(17:45 +0100)
committer
Jakob Bornecrantz
<jakob@vmware.com>
Wed, 18 Nov 2009 16:49:38 +0000
(17:49 +0100)
src/gallium/state_trackers/xorg/xorg_exa.c
patch
|
blob
|
history
diff --git
a/src/gallium/state_trackers/xorg/xorg_exa.c
b/src/gallium/state_trackers/xorg/xorg_exa.c
index 3a51ad2d598b71cf54957b70753e82cd5f553900..3d83b5700d50d0aa95456c2ef026c0a95eac2f3b 100644
(file)
--- a/
src/gallium/state_trackers/xorg/xorg_exa.c
+++ b/
src/gallium/state_trackers/xorg/xorg_exa.c
@@
-230,6
+230,11
@@
ExaUploadToScreen(PixmapPtr pPix, int x, int y, int w, int h, char *src,
if (!priv || !priv->tex)
return FALSE;
+ /* make sure that any pending operations are flushed to hardware */
+ if (exa->pipe->is_texture_referenced(exa->pipe, priv->tex, 0, 0) &
+ (PIPE_REFERENCED_FOR_READ | PIPE_REFERENCED_FOR_WRITE))
+ xorg_exa_flush(exa, 0, NULL);
+
transfer = exa->scrn->get_tex_transfer(exa->scrn, priv->tex, 0, 0, 0,
PIPE_TRANSFER_WRITE, x, y, w, h);
if (!transfer)