summaryrefslogtreecommitdiff
path: root/src/nv30_exa.c
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2009-02-16 08:50:02 +1000
committerBen Skeggs <skeggsb@gmail.com>2009-02-16 19:25:48 +1000
commitd97e993072dc773ecfeb80b5e138b5e4598a1c3d (patch)
tree6b728b6baa4770c25e9357516916a927fd8e81e6 /src/nv30_exa.c
parent1e00c7d1e6edb7f6b4e6d12ef227d27413948f8f (diff)
downloadxorg-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.c8
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;
}