summaryrefslogtreecommitdiff
path: root/src/nvc0_exa.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvc0_exa.c')
-rw-r--r--src/nvc0_exa.c119
1 files changed, 62 insertions, 57 deletions
diff --git a/src/nvc0_exa.c b/src/nvc0_exa.c
index 338c765..45647ce 100644
--- a/src/nvc0_exa.c
+++ b/src/nvc0_exa.c
@@ -36,6 +36,7 @@ NVC0AccelDownloadM2MF(PixmapPtr pspix, int x, int y, int w, int h,
NVPtr pNv = NVPTR(pScrn);
struct nouveau_channel *chan = pNv->chan;
struct nouveau_bo *bo = nouveau_pixmap_bo(pspix);
+ struct nouveau_grobj *m2mf = pNv->NvMemFormat;
const int cpp = pspix->drawable.bitsPerPixel / 8;
const int line_len = w * cpp;
const int line_limit = (128 << 10) / line_len;
@@ -46,7 +47,7 @@ NVC0AccelDownloadM2MF(PixmapPtr pspix, int x, int y, int w, int h,
src_pitch = exaGetPixmapPitch(pspix);
src_offset = (y * src_pitch) + (x * cpp);
} else {
- BEGIN_RING(chan, NvSubM2MF, NVC0_M2MF_TILING_MODE_IN, 5);
+ BEGIN_RING(chan, m2mf, NVC0_M2MF_TILING_MODE_IN, 5);
OUT_RING (chan, bo->tile_mode);
OUT_RING (chan, pspix->drawable.width * cpp);
OUT_RING (chan, pspix->drawable.height);
@@ -65,11 +66,11 @@ NVC0AccelDownloadM2MF(PixmapPtr pspix, int x, int y, int w, int h,
MARK_RING(chan, 16, 4);
- BEGIN_RING(chan, NvSubM2MF, NVC0_M2MF_OFFSET_OUT_HIGH, 2);
+ BEGIN_RING(chan, m2mf, NVC0_M2MF_OFFSET_OUT_HIGH, 2);
OUT_RELOCh(chan, pNv->GART, 0, NOUVEAU_BO(GART, GART, WR));
OUT_RELOCl(chan, pNv->GART, 0, NOUVEAU_BO(GART, GART, WR));
- BEGIN_RING(chan, NvSubM2MF, NVC0_M2MF_OFFSET_IN_HIGH, 6);
+ BEGIN_RING(chan, m2mf, NVC0_M2MF_OFFSET_IN_HIGH, 6);
OUT_RELOCh(chan, bo, src_offset, NOUVEAU_BO(VRAM, GART, RD));
OUT_RELOCl(chan, bo, src_offset, NOUVEAU_BO(VRAM, GART, RD));
OUT_RING (chan, src_pitch);
@@ -78,13 +79,13 @@ NVC0AccelDownloadM2MF(PixmapPtr pspix, int x, int y, int w, int h,
OUT_RING (chan, line_count);
if (tiled) {
- BEGIN_RING(chan, NvSubM2MF,
+ BEGIN_RING(chan, m2mf,
NVC0_M2MF_TILING_POSITION_IN_X, 2);
OUT_RING (chan, x * cpp);
OUT_RING (chan, y);
}
- BEGIN_RING(chan, NvSubM2MF, NVC0_M2MF_EXEC, 1);
+ BEGIN_RING(chan, m2mf, NVC0_M2MF_EXEC, 1);
OUT_RING (chan, 0x100000 | (tiled << 8));
if (nouveau_bo_map(pNv->GART, NOUVEAU_BO_RD)) {
@@ -122,6 +123,7 @@ NVC0AccelUploadM2MF(PixmapPtr pdpix, int x, int y, int w, int h,
NVPtr pNv = NVPTR(pScrn);
struct nouveau_channel *chan = pNv->chan;
struct nouveau_bo *bo = nouveau_pixmap_bo(pdpix);
+ struct nouveau_grobj *m2mf = pNv->NvMemFormat;
int cpp = pdpix->drawable.bitsPerPixel / 8;
int line_len = w * cpp;
int line_limit = (128 << 10) / line_len;
@@ -132,7 +134,7 @@ NVC0AccelUploadM2MF(PixmapPtr pdpix, int x, int y, int w, int h,
dst_pitch = exaGetPixmapPitch(pdpix);
dst_offset = (y * dst_pitch) + (x * cpp);
} else {
- BEGIN_RING(chan, NvSubM2MF, NVC0_M2MF_TILING_MODE_OUT, 5);
+ BEGIN_RING(chan, m2mf, NVC0_M2MF_TILING_MODE_OUT, 5);
OUT_RING (chan, bo->tile_mode);
OUT_RING (chan, pdpix->drawable.width * cpp);
OUT_RING (chan, pdpix->drawable.height);
@@ -167,28 +169,28 @@ NVC0AccelUploadM2MF(PixmapPtr pdpix, int x, int y, int w, int h,
if (MARK_RING(chan, 16, 4))
return FALSE;
- BEGIN_RING(chan, NvSubM2MF, NVC0_M2MF_OFFSET_IN_HIGH, 2);
+ BEGIN_RING(chan, m2mf, NVC0_M2MF_OFFSET_IN_HIGH, 2);
OUT_RELOCh(chan, pNv->GART, 0, NOUVEAU_BO(GART, GART, RD));
OUT_RELOCl(chan, pNv->GART, 0, NOUVEAU_BO(GART, GART, RD));
- BEGIN_RING(chan, NvSubM2MF, NVC0_M2MF_OFFSET_OUT_HIGH, 2);
+ BEGIN_RING(chan, m2mf, NVC0_M2MF_OFFSET_OUT_HIGH, 2);
OUT_RELOCh(chan, bo, dst_offset, NOUVEAU_BO(VRAM, GART, WR));
OUT_RELOCl(chan, bo, dst_offset, NOUVEAU_BO(VRAM, GART, WR));
if (tiled) {
- BEGIN_RING(chan, NvSubM2MF,
+ BEGIN_RING(chan, m2mf,
NVC0_M2MF_TILING_POSITION_OUT_X, 2);
OUT_RING (chan, x * cpp);
OUT_RING (chan, y);
}
- BEGIN_RING(chan, NvSubM2MF, NVC0_M2MF_PITCH_IN, 4);
+ BEGIN_RING(chan, m2mf, NVC0_M2MF_PITCH_IN, 4);
OUT_RING (chan, line_len);
OUT_RING (chan, dst_pitch);
OUT_RING (chan, line_len);
OUT_RING (chan, line_count);
- BEGIN_RING(chan, NvSubM2MF, NVC0_M2MF_EXEC, 1);
+ BEGIN_RING(chan, m2mf, NVC0_M2MF_EXEC, 1);
OUT_RING (chan, 0x100000 | (tiled << 4));
FIRE_RING (chan);
@@ -218,6 +220,9 @@ static struct nvc0_exa_state exa_state;
ScrnInfoPtr pScrn = xf86Screens[(p)->drawable.pScreen->myNum]; \
NVPtr pNv = NVPTR(pScrn); \
struct nouveau_channel *chan = pNv->chan; (void)chan; \
+ struct nouveau_grobj *m2mf = pNv->NvMemFormat; (void)m2mf; \
+ struct nouveau_grobj *eng2d = pNv->Nv2D; (void)eng2d; \
+ struct nouveau_grobj *fermi = pNv->Nv3D; (void)fermi; \
struct nvc0_exa_state *state = &exa_state; (void)state
#define BF(f) NV50_BLEND_FACTOR_##f
@@ -271,7 +276,7 @@ static void NVC0EXASetClip(PixmapPtr ppix, int x, int y, int w, int h)
{
NVC0EXA_LOCALS(ppix);
- BEGIN_RING(chan, NvSub2D, NV50_2D_CLIP_X, 4);
+ BEGIN_RING(chan, eng2d, NV50_2D_CLIP_X, 4);
OUT_RING (chan, x);
OUT_RING (chan, y);
OUT_RING (chan, w);
@@ -293,13 +298,13 @@ NVC0EXAAcquireSurface2D(PixmapPtr ppix, int is_src)
bo_flags |= is_src ? NOUVEAU_BO_RD : NOUVEAU_BO_WR;
if (!nv50_style_tiled_pixmap(ppix)) {
- BEGIN_RING(chan, NvSub2D, mthd, 2);
+ BEGIN_RING(chan, eng2d, mthd, 2);
OUT_RING (chan, fmt);
OUT_RING (chan, 1);
- BEGIN_RING(chan, NvSub2D, mthd + 0x14, 1);
+ BEGIN_RING(chan, eng2d, mthd + 0x14, 1);
OUT_RING (chan, (uint32_t)exaGetPixmapPitch(ppix));
} else {
- BEGIN_RING(chan, NvSub2D, mthd, 5);
+ BEGIN_RING(chan, eng2d, mthd, 5);
OUT_RING (chan, fmt);
OUT_RING (chan, 0);
OUT_RING (chan, bo->tile_mode);
@@ -307,7 +312,7 @@ NVC0EXAAcquireSurface2D(PixmapPtr ppix, int is_src)
OUT_RING (chan, 0);
}
- BEGIN_RING(chan, NvSub2D, mthd + 0x18, 4);
+ BEGIN_RING(chan, eng2d, mthd + 0x18, 4);
OUT_RING (chan, ppix->drawable.width);
OUT_RING (chan, ppix->drawable.height);
if (OUT_RELOCh(chan, bo, 0, bo_flags) ||
@@ -325,7 +330,7 @@ NVC0EXASetPattern(PixmapPtr pdpix, int col0, int col1, int pat0, int pat1)
{
NVC0EXA_LOCALS(pdpix);
- BEGIN_RING(chan, NvSub2D, NV50_2D_PATTERN_COLOR(0), 4);
+ BEGIN_RING(chan, eng2d, NV50_2D_PATTERN_COLOR(0), 4);
OUT_RING (chan, col0);
OUT_RING (chan, col1);
OUT_RING (chan, pat0);
@@ -343,7 +348,7 @@ NVC0EXASetROP(PixmapPtr pdpix, int alu, Pixel planemask)
else
rop = NVROP[alu].copy;
- BEGIN_RING(chan, NvSub2D, NV50_2D_OPERATION, 1);
+ BEGIN_RING(chan, eng2d, NV50_2D_OPERATION, 1);
if (alu == GXcopy && EXA_PM_IS_SOLID(&pdpix->drawable, planemask)) {
OUT_RING (chan, NV50_2D_OPERATION_SRCCOPY);
return;
@@ -351,7 +356,7 @@ NVC0EXASetROP(PixmapPtr pdpix, int alu, Pixel planemask)
OUT_RING (chan, NV50_2D_OPERATION_SRCCOPY_PREMULT);
}
- BEGIN_RING(chan, NvSub2D, NV50_2D_PATTERN_FORMAT, 2);
+ BEGIN_RING(chan, eng2d, NV50_2D_PATTERN_FORMAT, 2);
switch (pdpix->drawable.bitsPerPixel) {
case 8: OUT_RING (chan, 3); break;
case 15: OUT_RING (chan, 1); break;
@@ -378,7 +383,7 @@ NVC0EXASetROP(PixmapPtr pdpix, int alu, Pixel planemask)
}
if (pNv->currentRop != alu) {
- BEGIN_RING(chan, NvSub2D, NV50_2D_ROP, 1);
+ BEGIN_RING(chan, eng2d, NV50_2D_ROP, 1);
OUT_RING (chan, rop);
pNv->currentRop = alu;
}
@@ -413,7 +418,7 @@ NVC0EXAPrepareSolid(PixmapPtr pdpix, int alu, Pixel planemask, Pixel fg)
NVC0EXASetROP(pdpix, alu, planemask);
- BEGIN_RING(chan, NvSub2D, NV50_2D_DRAW_SHAPE, 3);
+ BEGIN_RING(chan, eng2d, NV50_2D_DRAW_SHAPE, 3);
OUT_RING (chan, NV50_2D_DRAW_SHAPE_RECTANGLES);
OUT_RING (chan, fmt);
OUT_RING (chan, fg);
@@ -432,7 +437,7 @@ NVC0EXASolid(PixmapPtr pdpix, int x1, int y1, int x2, int y2)
NVC0EXA_LOCALS(pdpix);
WAIT_RING (chan, 5);
- BEGIN_RING(chan, NvSub2D, NV50_2D_DRAW_POINT32_X(0), 4);
+ BEGIN_RING(chan, eng2d, NV50_2D_DRAW_POINT32_X(0), 4);
OUT_RING (chan, x1);
OUT_RING (chan, y1);
OUT_RING (chan, x2);
@@ -497,11 +502,11 @@ NVC0EXACopy(PixmapPtr pdpix, int srcX , int srcY,
NVC0EXA_LOCALS(pdpix);
WAIT_RING (chan, 17);
- BEGIN_RING(chan, NvSub2D, NV50_2D_SERIALIZE, 1);
+ BEGIN_RING(chan, eng2d, NV50_2D_SERIALIZE, 1);
OUT_RING (chan, 0);
- BEGIN_RING(chan, NvSub2D, 0x088c, 1);
+ BEGIN_RING(chan, eng2d, 0x088c, 1);
OUT_RING (chan, 0);
- BEGIN_RING(chan, NvSub2D, NV50_2D_BLIT_DST_X, 12);
+ BEGIN_RING(chan, eng2d, NV50_2D_BLIT_DST_X, 12);
OUT_RING (chan, dstX);
OUT_RING (chan, dstY);
OUT_RING (chan, width);
@@ -564,12 +569,12 @@ NVC0EXAUploadSIFC(const char *src, int src_pitch,
*/
NVC0EXASetClip(pdpix, x, y, w, h);
- BEGIN_RING(chan, NvSub2D, NV50_2D_OPERATION, 1);
+ BEGIN_RING(chan, eng2d, NV50_2D_OPERATION, 1);
OUT_RING (chan, NV50_2D_OPERATION_SRCCOPY);
- BEGIN_RING(chan, NvSub2D, NV50_2D_SIFC_BITMAP_ENABLE, 2);
+ BEGIN_RING(chan, eng2d, NV50_2D_SIFC_BITMAP_ENABLE, 2);
OUT_RING (chan, 0);
OUT_RING (chan, sifc_fmt);
- BEGIN_RING(chan, NvSub2D, NV50_2D_SIFC_WIDTH, 10);
+ BEGIN_RING(chan, eng2d, NV50_2D_SIFC_WIDTH, 10);
OUT_RING (chan, (line_dwords * 4) / cpp);
OUT_RING (chan, h);
OUT_RING (chan, 0); /* SIFC_DX,Y_DU,V_FRACT,INT */
@@ -592,7 +597,7 @@ NVC0EXAUploadSIFC(const char *src, int src_pitch,
int size = count > 1792 ? 1792 : count;
WAIT_RING (chan, size + 1);
- BEGIN_RING_NI(chan, NvSub2D, NV50_2D_SIFC_DATA, size);
+ BEGIN_RING_NI(chan, eng2d, NV50_2D_SIFC_DATA, size);
OUT_RINGp (chan, ptr, size);
ptr += size * 4;
@@ -666,7 +671,7 @@ NVC0EXARenderTarget(PixmapPtr ppix, PicturePtr ppict)
NOUVEAU_FALLBACK("invalid picture format\n");
}
- BEGIN_RING(chan, NvSub3D, NVC0_3D_RT_ADDRESS_HIGH(0), 8);
+ BEGIN_RING(chan, fermi, NVC0_3D_RT_ADDRESS_HIGH(0), 8);
if (OUT_RELOCh(chan, bo, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR) ||
OUT_RELOCl(chan, bo, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR))
return FALSE;
@@ -759,24 +764,24 @@ NVC0EXATexture(PixmapPtr ppix, PicturePtr ppict, unsigned unit)
if (!nv50_style_tiled_pixmap(ppix))
NOUVEAU_FALLBACK("pixmap is scanout buffer\n");
- BEGIN_RING(chan, NvSub3D, NVC0_3D_TIC_ADDRESS_HIGH, 3);
+ BEGIN_RING(chan, fermi, NVC0_3D_TIC_ADDRESS_HIGH, 3);
if (OUT_RELOCh(chan, pNv->tesla_scratch, TIC_OFFSET, tcb_flags) ||
OUT_RELOCl(chan, pNv->tesla_scratch, TIC_OFFSET, tcb_flags))
return FALSE;
OUT_RING (chan, 15);
- BEGIN_RING(chan, NvSubM2MF, NVC0_M2MF_OFFSET_OUT_HIGH, 2);
+ BEGIN_RING(chan, m2mf, NVC0_M2MF_OFFSET_OUT_HIGH, 2);
if (OUT_RELOCh(chan, pNv->tesla_scratch,
TIC_OFFSET + unit * 32, tcb_flags) ||
OUT_RELOCl(chan, pNv->tesla_scratch,
TIC_OFFSET + unit * 32, tcb_flags))
return FALSE;
- BEGIN_RING(chan, NvSubM2MF, NVC0_M2MF_LINE_LENGTH_IN, 2);
+ BEGIN_RING(chan, m2mf, NVC0_M2MF_LINE_LENGTH_IN, 2);
OUT_RING (chan, 8 * 4);
OUT_RING (chan, 1);
- BEGIN_RING(chan, NvSubM2MF, NVC0_M2MF_EXEC, 1);
+ BEGIN_RING(chan, m2mf, NVC0_M2MF_EXEC, 1);
OUT_RING (chan, 0x100111);
- BEGIN_RING_NI(chan, NvSubM2MF, NVC0_M2MF_DATA, 8);
+ BEGIN_RING_NI(chan, m2mf, NVC0_M2MF_DATA, 8);
switch (ppict->format) {
case PICT_a8r8g8b8:
@@ -858,24 +863,24 @@ NVC0EXATexture(PixmapPtr ppix, PicturePtr ppict, unsigned unit)
OUT_RING (chan, 0x03000000);
OUT_RING (chan, 0x00000000);
- BEGIN_RING(chan, NvSub3D, NVC0_3D_TSC_ADDRESS_HIGH, 3);
+ BEGIN_RING(chan, fermi, NVC0_3D_TSC_ADDRESS_HIGH, 3);
if (OUT_RELOCh(chan, pNv->tesla_scratch, TSC_OFFSET, tcb_flags) ||
OUT_RELOCl(chan, pNv->tesla_scratch, TSC_OFFSET, tcb_flags))
return FALSE;
OUT_RING (chan, 0);
- BEGIN_RING(chan, NvSubM2MF, NVC0_M2MF_OFFSET_OUT_HIGH, 2);
+ BEGIN_RING(chan, m2mf, NVC0_M2MF_OFFSET_OUT_HIGH, 2);
if (OUT_RELOCh(chan, pNv->tesla_scratch,
TSC_OFFSET + unit * 32, tcb_flags) ||
OUT_RELOCl(chan, pNv->tesla_scratch,
TSC_OFFSET + unit * 32, tcb_flags))
return FALSE;
- BEGIN_RING(chan, NvSubM2MF, NVC0_M2MF_LINE_LENGTH_IN, 2);
+ BEGIN_RING(chan, m2mf, NVC0_M2MF_LINE_LENGTH_IN, 2);
OUT_RING (chan, 8 * 4);
OUT_RING (chan, 1);
- BEGIN_RING(chan, NvSubM2MF, NVC0_M2MF_EXEC, 1);
+ BEGIN_RING(chan, m2mf, NVC0_M2MF_EXEC, 1);
OUT_RING (chan, 0x100111);
- BEGIN_RING_NI(chan, NvSubM2MF, NVC0_M2MF_DATA, 8);
+ BEGIN_RING_NI(chan, m2mf, NVC0_M2MF_DATA, 8);
if (ppict->repeat) {
switch (ppict->repeatType) {
@@ -962,18 +967,18 @@ NVC0EXABlend(PixmapPtr ppix, PicturePtr ppict, int op, int component_alpha)
}
if (sblend == BF(ONE) && dblend == BF(ZERO)) {
- BEGIN_RING(chan, NvSub3D, NVC0_3D_BLEND_ENABLE(0), 1);
+ BEGIN_RING(chan, fermi, NVC0_3D_BLEND_ENABLE(0), 1);
OUT_RING (chan, 0);
} else {
- BEGIN_RING(chan, NvSub3D, NVC0_3D_BLEND_ENABLE(0), 1);
+ BEGIN_RING(chan, fermi, NVC0_3D_BLEND_ENABLE(0), 1);
OUT_RING (chan, 1);
- BEGIN_RING(chan, NvSub3D, NVC0_3D_BLEND_EQUATION_RGB, 5);
+ BEGIN_RING(chan, fermi, NVC0_3D_BLEND_EQUATION_RGB, 5);
OUT_RING (chan, NVC0_3D_BLEND_EQUATION_RGB_FUNC_ADD);
OUT_RING (chan, sblend);
OUT_RING (chan, dblend);
OUT_RING (chan, NVC0_3D_BLEND_EQUATION_ALPHA_FUNC_ADD);
OUT_RING (chan, sblend);
- BEGIN_RING(chan, NvSub3D, NVC0_3D_BLEND_FUNC_DST_ALPHA, 1);
+ BEGIN_RING(chan, fermi, NVC0_3D_BLEND_FUNC_DST_ALPHA, 1);
OUT_RING (chan, dblend);
}
}
@@ -1032,7 +1037,7 @@ NVC0EXAPrepareComposite(int op,
NOUVEAU_FALLBACK("comp-alpha");
*/
- BEGIN_RING(chan, NvSub2D, NV50_2D_SERIALIZE, 1);
+ BEGIN_RING(chan, eng2d, NV50_2D_SERIALIZE, 1);
OUT_RING (chan, 0);
if (!NVC0EXARenderTarget(pdpix, pdpict)) {
@@ -1043,7 +1048,7 @@ NVC0EXAPrepareComposite(int op,
NVC0EXABlend(pdpix, pdpict, op, pmpict && pmpict->componentAlpha &&
PICT_FORMAT_RGB(pmpict->format));
- BEGIN_RING(chan, NvSub3D, NVC0_3D_CODE_ADDRESS_HIGH, 2);
+ BEGIN_RING(chan, fermi, NVC0_3D_CODE_ADDRESS_HIGH, 2);
if (OUT_RELOCh(chan, pNv->tesla_scratch, CODE_OFFSET, shd_flags) ||
OUT_RELOCl(chan, pNv->tesla_scratch, CODE_OFFSET, shd_flags)) {
MARK_UNDO(chan);
@@ -1054,7 +1059,7 @@ NVC0EXAPrepareComposite(int op,
MARK_UNDO(chan);
NOUVEAU_FALLBACK("src picture invalid\n");
}
- BEGIN_RING(chan, NvSub3D, NVC0_3D_BIND_TIC(4), 1);
+ BEGIN_RING(chan, fermi, NVC0_3D_BIND_TIC(4), 1);
OUT_RING (chan, (0 << 9) | (0 << 1) | NVC0_3D_BIND_TIC_ACTIVE);
if (pmpict) {
@@ -1064,10 +1069,10 @@ NVC0EXAPrepareComposite(int op,
}
state->have_mask = TRUE;
- BEGIN_RING(chan, NvSub3D, NVC0_3D_BIND_TIC(4), 1);
+ BEGIN_RING(chan, fermi, NVC0_3D_BIND_TIC(4), 1);
OUT_RING (chan, (1 << 9) | (1 << 1) | NVC0_3D_BIND_TIC_ACTIVE);
- BEGIN_RING(chan, NvSub3D, NVC0_3D_SP_START_ID(5), 1);
+ BEGIN_RING(chan, fermi, NVC0_3D_SP_START_ID(5), 1);
if (pdpict->format == PICT_a8) {
OUT_RING (chan, PFP_C_A8);
} else {
@@ -1084,21 +1089,21 @@ NVC0EXAPrepareComposite(int op,
} else {
state->have_mask = FALSE;
- BEGIN_RING(chan, NvSub3D, NVC0_3D_BIND_TIC(4), 1);
+ BEGIN_RING(chan, fermi, NVC0_3D_BIND_TIC(4), 1);
OUT_RING (chan, (1 << 1) | 0);
- BEGIN_RING(chan, NvSub3D, NVC0_3D_SP_START_ID(5), 1);
+ BEGIN_RING(chan, fermi, NVC0_3D_SP_START_ID(5), 1);
if (pdpict->format == PICT_a8)
OUT_RING (chan, PFP_S_A8);
else
OUT_RING (chan, PFP_S);
}
- BEGIN_RING(chan, NvSub3D, NVC0_3D_TSC_FLUSH, 1);
+ BEGIN_RING(chan, fermi, NVC0_3D_TSC_FLUSH, 1);
OUT_RING (chan, 0);
- BEGIN_RING(chan, NvSub3D, NVC0_3D_TIC_FLUSH, 1);
+ BEGIN_RING(chan, fermi, NVC0_3D_TIC_FLUSH, 1);
OUT_RING (chan, 0);
- BEGIN_RING(chan, NvSub3D, NVC0_3D_TEX_CACHE_CTL, 1);
+ BEGIN_RING(chan, fermi, NVC0_3D_TEX_CACHE_CTL, 1);
OUT_RING (chan, 0);
pNv->alu = op;
@@ -1143,10 +1148,10 @@ NVC0EXAComposite(PixmapPtr pdpix,
float sX0, sX1, sX2, sY0, sY1, sY2;
WAIT_RING (chan, 64);
- BEGIN_RING(chan, NvSub3D, NVC0_3D_SCISSOR_HORIZ(0), 2);
+ BEGIN_RING(chan, fermi, NVC0_3D_SCISSOR_HORIZ(0), 2);
OUT_RING (chan, ((dx + w) << 16) | dx);
OUT_RING (chan, ((dy + h) << 16) | dy);
- BEGIN_RING(chan, NvSub3D, NVC0_3D_VERTEX_BEGIN_GL, 1);
+ BEGIN_RING(chan, fermi, NVC0_3D_VERTEX_BEGIN_GL, 1);
OUT_RING (chan, NVC0_3D_VERTEX_BEGIN_GL_PRIMITIVE_TRIANGLES);
NVC0EXATransform(state->unit[0].transform, sx, sy + (h * 2),
@@ -1181,7 +1186,7 @@ NVC0EXAComposite(PixmapPtr pdpix,
VTX1s(pNv, sX2, sY2, dx + (w * 2), dy);
}
- BEGIN_RING(chan, NvSub3D, NVC0_3D_VERTEX_END_GL, 1);
+ BEGIN_RING(chan, fermi, NVC0_3D_VERTEX_END_GL, 1);
OUT_RING (chan, 0);
}