Lines Matching defs:pSmi
33 # define WRITE_DPR(pSmi, dpr, data) \
35 if (pSmi->batch_active) \
36 BATCH_LOAD_REG((pSmi->DPRBase - pSmi->MapBase) + \
39 MMIO_OUT32(pSmi->DPRBase, dpr, data); \
88 #define PIXMAP_OFFSET(pixmap) IS_MSOC(pSmi) ? \
95 SMIPtr pSmi = SMIPTR(pScrn);
99 if (!(pSmi->EXADriverPtr = exaDriverAlloc())) {
106 pSmi->EXADriverPtr->exa_major = 2;
107 pSmi->EXADriverPtr->exa_minor = 1;
112 pSmi->EXADriverPtr->memoryBase = pSmi->FBBase;
113 pSmi->EXADriverPtr->memorySize = pSmi->FBReserved;
117 pSmi->EXADriverPtr->offScreenBase = 0;
120 pSmi->EXADriverPtr->flags = EXA_TWO_BITBLT_DIRECTIONS;
121 if (pSmi->EXADriverPtr->memorySize > pSmi->EXADriverPtr->offScreenBase) {
123 pSmi->EXADriverPtr->flags |= EXA_OFFSCREEN_PIXMAPS;
132 pSmi->EXADriverPtr->maxX = 4096;
133 pSmi->EXADriverPtr->maxY = 4096;
136 pSmi->EXADriverPtr->maxX = 4096 / 3;
138 if (pSmi->Chipset == SMI_LYNX) {
139 pSmi->EXADriverPtr->maxY = 4096 / 3;
143 pSmi->EXADriverPtr->pixmapPitchAlign = 16;
144 pSmi->EXADriverPtr->pixmapOffsetAlign = 8;
147 pSmi->EXADriverPtr->WaitMarker = SMI_EXASync;
150 pSmi->EXADriverPtr->PrepareCopy = SMI_PrepareCopy;
151 pSmi->EXADriverPtr->Copy = SMI_Copy;
152 pSmi->EXADriverPtr->DoneCopy = SMI_DoneCopy;
155 pSmi->EXADriverPtr->PrepareSolid = SMI_PrepareSolid;
156 pSmi->EXADriverPtr->Solid = SMI_Solid;
157 pSmi->EXADriverPtr->DoneSolid = SMI_DoneSolid;
161 pSmi->EXADriverPtr->UploadToScreen = SMI_UploadToScreen;
162 pSmi->EXADriverPtr->DownloadFromScreen = SMI_DownloadFromScreen;
166 pSmi->EXADriverPtr->CheckComposite = SMI_CheckComposite;
167 pSmi->EXADriverPtr->PrepareComposite = SMI_PrepareComposite;
169 if (IS_MSOC(pSmi) || pSmi->Chipset == SMI_COUGAR3DR)
170 pSmi->EXADriverPtr->Composite = SMI730_Composite;
172 pSmi->EXADriverPtr->Composite = SMI_Composite;
174 pSmi->EXADriverPtr->DoneComposite = SMI_DoneComposite;
176 if(!exaDriverInit(pScreen, pSmi->EXADriverPtr)) {
226 SMIPtr pSmi = SMIPTR(pScrn);
245 pSmi->AccelCmd = SMI_BltRop[alu]
250 pSmi->AccelCmd |= SMI_RIGHT_TO_LEFT;
264 WRITE_DPR(pSmi, 0x3C, (dst_pitch << 16) | (src_pitch & 0xFFFF));
266 WRITE_DPR(pSmi, 0x10, (dst_pitch << 16) | (src_pitch & 0xFFFF));
270 WRITE_DPR(pSmi, 0x28, planemask | 0xFFFF0000);
272 WRITE_DPR(pSmi, 0x28, 0xFFFFFFFF);
275 WRITE_DPR(pSmi, 0x1C, PIXMAP_FORMAT(pDstPixmap));
277 WRITE_DPR(pSmi, 0x40, src_offset);
278 WRITE_DPR(pSmi, 0x44, dst_offset);
280 WRITE_DPR(pSmi, 0x0C, pSmi->AccelCmd);
293 SMIPtr pSmi = SMIPTR(pScrn);
299 if (pSmi->AccelCmd & SMI_RIGHT_TO_LEFT) {
311 if (pSmi->Chipset == SMI_LYNX) {
316 if (pSmi->AccelCmd & SMI_RIGHT_TO_LEFT) {
327 WRITE_DPR(pSmi, 0x00, (srcX << 16) + (srcY & 0xFFFF));
328 WRITE_DPR(pSmi, 0x04, (dstX << 16) + (dstY & 0xFFFF));
329 WRITE_DPR(pSmi, 0x08, (width << 16) + (height & 0xFFFF));
371 SMIPtr pSmi = SMIPTR(pScrn);
392 pSmi->AccelCmd = SMI_SolidRop[alu]
407 WRITE_DPR(pSmi, 0x3C, (dst_pitch << 16) | (dst_pitch & 0xFFFF));
409 WRITE_DPR(pSmi, 0x10, (dst_pitch << 16) | (dst_pitch & 0xFFFF));
413 WRITE_DPR(pSmi, 0x28, planemask | 0xFFFF0000);
415 WRITE_DPR(pSmi, 0x28, 0xFFFFFFFF);
419 WRITE_DPR(pSmi, 0x1C, PIXMAP_FORMAT(pPixmap));
421 WRITE_DPR(pSmi, 0x40, dst_offset);
422 WRITE_DPR(pSmi, 0x44, dst_offset);
424 WRITE_DPR(pSmi, 0x14, fg);
426 WRITE_DPR(pSmi, 0x34, 0xFFFFFFFF);
427 WRITE_DPR(pSmi, 0x38, 0xFFFFFFFF);
429 WRITE_DPR(pSmi, 0x0C, pSmi->AccelCmd);
441 SMIPtr pSmi = SMIPTR(pScrn);
454 if (pSmi->Chipset == SMI_LYNX) {
464 WRITE_DPR(pSmi, 0x04, (x1 << 16) | (y1 & 0xFFFF));
465 WRITE_DPR(pSmi, 0x08, (w << 16) | (h & 0xFFFF));
513 SMIPtr pSmi = SMIPTR(pScrn);
535 pSmi->AccelCmd = 0xCC /* GXcopy */
548 WRITE_DPR(pSmi, 0x3C, (dst_pixelpitch << 16) | (src_pixelpitch & 0xFFFF));
554 if (pSmi->Chipset == SMI_LYNX) {
560 WRITE_DPR(pSmi, 0x10, (dst_pixelpitch << 16) | (src_pixelpitch & 0xFFFF));
562 WRITE_DPR(pSmi, 0x1C,PIXMAP_FORMAT(pDst));
564 WRITE_DPR(pSmi, 0x40, 0);
565 WRITE_DPR(pSmi, 0x44, dst_offset);
567 WRITE_DPR(pSmi, 0x0C, pSmi->AccelCmd);
568 WRITE_DPR(pSmi, 0x00, 0);
569 WRITE_DPR(pSmi, 0x04, (x << 16) | (y & 0xFFFF));
570 WRITE_DPR(pSmi, 0x08, (w << 16) | (h & 0xFFFF));
576 memcpy(pSmi->DataPortBase, src, aligned_pitch);
625 SMIPtr pSmi = SMIPTR(pScrn);
642 WRITE_DPR(pSmi, 0x3C, (dst_pitch << 16) | (src_pitch & 0xFFFF));
645 WRITE_DPR(pSmi, 0x10, (dst_pitch << 16) | (src_pitch & 0xFFFF));
648 WRITE_DPR(pSmi, 0x1C, PIXMAP_FORMAT(pDst));
651 WRITE_DPR(pSmi, 0x28, 0xFFFFFFFF);
654 WRITE_DPR(pSmi, 0x40, PIXMAP_OFFSET(pSrc));
655 WRITE_DPR(pSmi, 0x44, PIXMAP_OFFSET(pDst));
659 WRITE_DPR(pSmi, 0x0C, 0xCC /*GXCopy*/ | SMI_ROTATE_BLT |
662 WRITE_DPR(pSmi, 0x0C, 0xCC /*GXCopy*/ | SMI_ROTATE_BLT |
669 pSmi->renderTransform = pSrcPicture->transform;
679 SMIPtr pSmi = SMIPTR(pScrn);
680 PictTransformPtr t = pSmi->renderTransform;
704 WRITE_DPR(pSmi, 0x00, (xFixedToInt(v.vector[0]) << 16) + (xFixedToInt(v.vector[1]) & 0xFFFF));
705 WRITE_DPR(pSmi, 0x04, (dstX << 16) + (dstY & 0xFFFF));
706 WRITE_DPR(pSmi, 0x08, (height << 16) + (width & 0xFFFF));
719 SMIPtr pSmi = SMIPTR(pScrn);
726 if(IS_MSOC(pSmi))