Mesa (master): st/xorg: Simplify EXA ModifyPixmapHeader hook for pPixmap != NULL.
Michel Dänzer
daenzer at kemper.freedesktop.org
Mon Aug 31 16:42:20 UTC 2009
Module: Mesa
Branch: master
Commit: 40e3148a81f93f590c7400b00a6c2d536a2258b0
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=40e3148a81f93f590c7400b00a6c2d536a2258b0
Author: Michel Dänzer <daenzer at vmware.com>
Date: Mon Aug 31 18:41:54 2009 +0200
st/xorg: Simplify EXA ModifyPixmapHeader hook for pPixmap != NULL.
Just let the upper layers handle it.
---
src/gallium/state_trackers/xorg/xorg_exa.c | 21 ++++-----------------
1 files changed, 4 insertions(+), 17 deletions(-)
diff --git a/src/gallium/state_trackers/xorg/xorg_exa.c b/src/gallium/state_trackers/xorg/xorg_exa.c
index 7b607cb..5d205dd 100644
--- a/src/gallium/state_trackers/xorg/xorg_exa.c
+++ b/src/gallium/state_trackers/xorg/xorg_exa.c
@@ -427,7 +427,7 @@ ExaModifyPixmapHeader(PixmapPtr pPixmap, int width, int height,
modesettingPtr ms = modesettingPTR(pScrn);
struct exa_context *exa = ms->exa;
- if (!priv)
+ if (!priv || pPixData)
return FALSE;
if (depth <= 0)
@@ -476,24 +476,11 @@ ExaModifyPixmapHeader(PixmapPtr pPixmap, int width, int height,
}
#ifdef DRM_MODE_FEATURE_DIRTYFB
- if (!priv->tex) {
- if (pPixData)
- pPixmap->devPrivate.ptr = pPixData;
- else
+ if (!priv->tex)
pPixmap->devPrivate.ptr = xalloc(pPixmap->drawable.height * pPixmap->devKind);
- } else
#endif
- if (pPixData) {
- struct pipe_transfer *transfer =
- exa->scrn->get_tex_transfer(exa->scrn, priv->tex, 0, 0, 0,
- PIPE_TRANSFER_WRITE,
- 0, 0, width, height);
- util_copy_rect(exa->scrn->transfer_map(exa->scrn, transfer),
- &priv->tex->block, transfer->stride, 0, 0,
- width, height, pPixData, pPixmap->devKind, 0, 0);
- exa->scrn->transfer_unmap(exa->scrn, transfer);
- exa->scrn->tex_transfer_destroy(transfer);
- } else if (priv->tex && pPixmap->devPrivate.ptr) {
+
+ if (priv->tex && pPixmap->devPrivate.ptr) {
struct pipe_transfer *transfer;
if (priv->map_count != 0)
More information about the mesa-commit
mailing list