st/xorg: Remove flushes no longer necessary thanks to context transfers.

This commit is contained in:
Michel Dänzer 2010-03-12 19:52:24 +01:00
parent 57c378a531
commit 59d6f3eb4a
2 changed files with 0 additions and 21 deletions

View file

@ -359,14 +359,6 @@ bind_samplers(struct exa_context *exa, int op,
exa->num_bound_samplers = 0;
#if 0
if ((pSrc && (exa->pipe->is_texture_referenced(exa->pipe, pSrc->tex, 0, 0) &
PIPE_REFERENCED_FOR_WRITE)) ||
(pMask && (exa->pipe->is_texture_referenced(exa->pipe, pMask->tex, 0, 0) &
PIPE_REFERENCED_FOR_WRITE)))
xorg_exa_flush(exa, PIPE_FLUSH_RENDER_CACHE, NULL);
#endif
memset(&src_sampler, 0, sizeof(struct pipe_sampler_state));
memset(&mask_sampler, 0, sizeof(struct pipe_sampler_state));

View file

@ -188,10 +188,6 @@ ExaDownloadFromScreen(PixmapPtr pPix, int x, int y, int w, int h, char *dst,
if (!priv || !priv->tex)
return FALSE;
if (exa->pipe->is_texture_referenced(exa->pipe, priv->tex, 0, 0) &
PIPE_REFERENCED_FOR_WRITE)
exa->pipe->flush(exa->pipe, 0, NULL);
transfer = exa->pipe->get_tex_transfer(exa->pipe, priv->tex, 0, 0, 0,
PIPE_TRANSFER_READ, x, y, w, h);
if (!transfer)
@ -226,11 +222,6 @@ 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->pipe->get_tex_transfer(exa->pipe, priv->tex, 0, 0, 0,
PIPE_TRANSFER_WRITE, x, y, w, h);
if (!transfer)
@ -270,10 +261,6 @@ ExaPrepareAccess(PixmapPtr pPix, int index)
if (priv->map_count == 0)
{
if (exa->pipe->is_texture_referenced(exa->pipe, priv->tex, 0, 0) &
PIPE_REFERENCED_FOR_WRITE)
exa->pipe->flush(exa->pipe, 0, NULL);
assert(pPix->drawable.width <= priv->tex->width0);
assert(pPix->drawable.height <= priv->tex->height0);