diff options
author | Ben Skeggs <skeggsb@gmail.com> | 2009-02-16 08:50:02 +1000 |
---|---|---|
committer | Ben Skeggs <skeggsb@gmail.com> | 2009-02-16 19:25:48 +1000 |
commit | d97e993072dc773ecfeb80b5e138b5e4598a1c3d (patch) | |
tree | 6b728b6baa4770c25e9357516916a927fd8e81e6 /src/nv30_exa.c | |
parent | 1e00c7d1e6edb7f6b4e6d12ef227d27413948f8f (diff) | |
download | xorg-driver-xf86-video-nouveau-d97e993072dc773ecfeb80b5e138b5e4598a1c3d.tar.gz |
exa: preparation for reintroducing driver-controlled pixmaps
Diffstat (limited to 'src/nv30_exa.c')
-rw-r--r-- | src/nv30_exa.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/nv30_exa.c b/src/nv30_exa.c index 4b9e062..d3f83d3 100644 --- a/src/nv30_exa.c +++ b/src/nv30_exa.c @@ -290,6 +290,8 @@ NV30EXATexture(ScrnInfoPtr pScrn, PixmapPtr pPix, PicturePtr pPict, int unit) NVPtr pNv = NVPTR(pScrn); struct nouveau_channel *chan = pNv->chan; struct nouveau_grobj *rankine = pNv->Nv3D; + struct nouveau_bo *bo = nouveau_pixmap_bo(pPix); + unsigned delta = nouveau_pixmap_offset(pPix); nv_pict_texture_format_t *fmt; uint32_t card_filter, card_repeat; NV30EXA_STATE; @@ -306,7 +308,7 @@ NV30EXATexture(ScrnInfoPtr pScrn, PixmapPtr pPix, PicturePtr pPict, int unit) card_filter = 1; BEGIN_RING(chan, rankine, NV34TCL_TX_OFFSET(unit), 8); - OUT_PIXMAPl(chan, pPix, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_RD); + OUT_RELOCl(chan, bo, delta, NOUVEAU_BO_VRAM | NOUVEAU_BO_RD); OUT_RING (chan, NV34TCL_TX_FORMAT_DIMS_2D | (fmt->card_fmt << NV34TCL_TX_FORMAT_FORMAT_SHIFT) | @@ -342,6 +344,8 @@ NV30_SetupSurface(ScrnInfoPtr pScrn, PixmapPtr pPix, PicturePtr pPict) NVPtr pNv = NVPTR(pScrn); struct nouveau_channel *chan = pNv->chan; struct nouveau_grobj *rankine = pNv->Nv3D; + struct nouveau_bo *bo = nouveau_pixmap_bo(pPix); + unsigned delta = nouveau_pixmap_offset(pPix); nv_pict_surface_format_t *fmt; fmt = NV30_GetPictSurfaceFormat(pPict->format); @@ -355,7 +359,7 @@ NV30_SetupSurface(ScrnInfoPtr pScrn, PixmapPtr pPix, PicturePtr pPict) BEGIN_RING(chan, rankine, NV34TCL_RT_FORMAT, 3); OUT_RING (chan, fmt->card_fmt); /* format */ OUT_RING (chan, pitch << 16 | pitch); - OUT_PIXMAPl(chan, pPix, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR); + OUT_RELOCl(chan, bo, delta, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR); return TRUE; } |