Lines Matching defs:pTDFX

82   TDFXPtr pTDFX = TDFXPTR(pScrn);
83 pTDFX->syncDone=FALSE;
85 pTDFX->AccelInfoRec->NeedToSync = TRUE;
91 TDFXPtr pTDFX = TDFXPTR(pScrn);
93 if (!pTDFX->syncDone) {
95 if (pTDFX->directRenderingEnabled) {
100 pTDFX->syncDone=TRUE;
101 pTDFX->sync(pScrn);
107 TDFXPtr pTDFX = TDFXPTR(pScrn);
109 if (pTDFX->syncDone) {
110 pTDFX->sync(pScrn);
111 pTDFX->syncDone=FALSE;
113 if (pTDFX->directRenderingEnabled) {
121 TDFXSelectBuffer(TDFXPtr pTDFX, int which) {
124 TDFXMakeRoom(pTDFX, 4);
128 if (pTDFX->cpp==1) fmt=pTDFX->stride|(1<<16);
129 else fmt=pTDFX->stride|((pTDFX->cpp+1)<<16);
130 TDFXWriteLong(pTDFX, SST_2D_DSTBASEADDR, pTDFX->fbOffset);
131 TDFXWriteLong(pTDFX, SST_2D_DSTFORMAT, fmt);
132 pTDFX->sst2DDstFmtShadow = fmt;
133 TDFXWriteLong(pTDFX, SST_2D_SRCBASEADDR, pTDFX->fbOffset);
134 TDFXWriteLong(pTDFX, SST_2D_SRCFORMAT, fmt);
135 pTDFX->sst2DSrcFmtShadow = fmt;
138 if (pTDFX->cpp==2)
139 fmt=((pTDFX->stride+127)/128)|(3<<16); /* Tiled 16bpp */
141 fmt=((pTDFX->stride+127)/128)|(5<<16); /* Tiled 32bpp */
142 TDFXWriteLong(pTDFX, SST_2D_DSTBASEADDR, pTDFX->backOffset|BIT(31));
143 TDFXWriteLong(pTDFX, SST_2D_DSTFORMAT, fmt);
144 pTDFX->sst2DDstFmtShadow = fmt;
145 TDFXWriteLong(pTDFX, SST_2D_SRCBASEADDR, pTDFX->backOffset|BIT(31));
146 TDFXWriteLong(pTDFX, SST_2D_SRCFORMAT, fmt);
147 pTDFX->sst2DSrcFmtShadow = fmt;
150 if (pTDFX->cpp==2)
151 fmt=((pTDFX->stride+127)/128)|(3<<16); /* Tiled 16bpp */
153 fmt=((pTDFX->stride+127)/128)|(5<<16); /* Tiled 32bpp */
154 TDFXWriteLong(pTDFX, SST_2D_DSTBASEADDR, pTDFX->depthOffset|BIT(31));
155 TDFXWriteLong(pTDFX, SST_2D_DSTFORMAT, fmt);
156 pTDFX->sst2DDstFmtShadow = fmt;
157 TDFXWriteLong(pTDFX, SST_2D_SRCBASEADDR, pTDFX->depthOffset|BIT(31));
158 TDFXWriteLong(pTDFX, SST_2D_SRCFORMAT, fmt);
159 pTDFX->sst2DSrcFmtShadow = fmt;
167 TDFXSetLFBConfig(TDFXPtr pTDFX) {
168 if (pTDFX->ChipType<=PCI_CHIP_VOODOO3) {
171 lfbmode=TDFXReadLongMMIO(pTDFX, SST_3D_LFBMODE);
178 TDFXWriteLongMMIO(pTDFX, SST_3D_LFBMODE, lfbmode);
180 TDFXWriteLongMMIO(pTDFX, LFBMEMORYCONFIG, (pTDFX->backOffset>>12) |
182 ((pTDFX->stride+127)/128)<<SST_RAW_LFB_TILE_STRIDE_SHIFT);
187 if (pTDFX->cpp==2) stride=pTDFX->stride;
188 else stride=4*pTDFX->stride/pTDFX->cpp;
189 bits=pTDFX->backOffset>>12;
199 for (chip=0; chip<pTDFX->numChips; chip++) {
200 TDFXWriteChipLongMMIO(pTDFX, chip, LFBMEMORYCONFIG, (bits&0x1FFF) |
215 TDFXPtr pTDFX = TDFXPTR(pScrn);
218 pTDFX->AccelInfoRec = infoPtr = XAACreateInfoRec();
223 infoPtr->Sync = pTDFX->sync;
261 pTDFX->scanlineColorExpandBuffers[0] = malloc((pScrn->virtualX+62)/32*4);
262 pTDFX->scanlineColorExpandBuffers[1] = malloc((pScrn->virtualX+62)/32*4);
264 infoPtr->ScanlineColorExpandBuffers=pTDFX->scanlineColorExpandBuffers;
296 pTDFX->PciCnt=TDFXReadLongMMIO(pTDFX, 0)&0x1F;
297 pTDFX->PrevDrawState=pTDFX->DrawState=0;
299 pTDFX->ModeReg.srcbaseaddr=pTDFX->fbOffset;
300 TDFXWriteLongMMIO(pTDFX, SST_2D_SRCBASEADDR, pTDFX->ModeReg.srcbaseaddr);
301 pTDFX->ModeReg.dstbaseaddr=pTDFX->fbOffset;
302 TDFXWriteLongMMIO(pTDFX, SST_2D_DSTBASEADDR, pTDFX->ModeReg.dstbaseaddr);
304 pTDFX->sst2DSrcFmtShadow = TDFXReadLongMMIO(pTDFX, SST_2D_SRCFORMAT);
305 pTDFX->sst2DDstFmtShadow = TDFXReadLongMMIO(pTDFX, SST_2D_DSTFORMAT);
314 static void TDFXMakeRoomNoProp(TDFXPtr pTDFX, int size) {
317 pTDFX->PciCnt-=size;
318 if (pTDFX->PciCnt<1) {
320 stat=TDFXReadLongMMIO(pTDFX, 0);
321 pTDFX->PciCnt=stat&0x1F;
322 } while (pTDFX->PciCnt<size);
328 TDFXPtr pTDFX;
330 pTDFX=TDFXPTR(pScrn);
331 TDFXMakeRoomNoProp(pTDFX, 1);
332 TDFXWriteLongMMIO(pTDFX, SST_2D_COMMAND, SST_2D_NOP);
337 TDFXPtr pTDFX;
342 pTDFX=TDFXPTR(pScrn);
347 stat=TDFXReadLongMMIO(pTDFX, 0);
350 pTDFX->PciCnt=stat&0x1F;
357 TDFXMatchState(TDFXPtr pTDFX)
359 if (pTDFX->PrevDrawState==pTDFX->DrawState) return;
362 if (pTDFX->DrawState&DRAW_STATE_CLIPPING)
363 pTDFX->Cmd |= SST_2D_USECLIP1;
365 pTDFX->Cmd &= ~SST_2D_USECLIP1;
368 TDFXMakeRoom(pTDFX, 1);
370 if (pTDFX->DrawState&DRAW_STATE_TRANSPARENT) {
371 TDFXWriteLong(pTDFX, SST_2D_COMMANDEXTRA, SST_2D_SRC_COLORKEY_EX);
373 TDFXWriteLong(pTDFX, SST_2D_COMMANDEXTRA, 0);
377 if (pTDFX->DrawState&DRAW_STATE_CLIP1CHANGED) {
378 TDFXMakeRoom(pTDFX, 2);
380 TDFXWriteLong(pTDFX, SST_2D_CLIP1MIN, pTDFX->ModeReg.clip1min);
381 TDFXWriteLong(pTDFX, SST_2D_CLIP1MAX, pTDFX->ModeReg.clip1max);
382 pTDFX->DrawState&=~DRAW_STATE_CLIP1CHANGED;
385 pTDFX->PrevDrawState=pTDFX->DrawState;
391 TDFXPtr pTDFX;
393 pTDFX=TDFXPTR(pScrn);
394 pTDFX->Cmd=0;
395 pTDFX->DrawState&=~DRAW_STATE_TRANSPARENT;
404 TDFXPtr pTDFX;
408 pTDFX=TDFXPTR(pScrn);
410 pTDFX->ModeReg.clip1min=(top&0xFFF)<<16 | (left&0xFFF);
411 pTDFX->ModeReg.clip1max=((bottom+1)&0xFFF)<<16 | ((right+1)&0xFFF);
413 pTDFX->DrawState|=DRAW_STATE_CLIPPING|DRAW_STATE_CLIP1CHANGED;
419 TDFXPtr pTDFX;
422 pTDFX=TDFXPTR(pScrn);
424 pTDFX->DrawState&=~DRAW_STATE_CLIPPING;
431 TDFXPtr pTDFX;
437 pTDFX=TDFXPTR(pScrn);
441 TDFXMakeRoom(pTDFX, 3);
443 TDFXWriteLong(pTDFX, SST_2D_SRCCOLORKEYMIN, trans_color);
444 TDFXWriteLong(pTDFX, SST_2D_SRCCOLORKEYMAX, trans_color);
445 TDFXWriteLong(pTDFX, SST_2D_ROP, TDFXROPCvt[GXnoop]<<8);
446 pTDFX->DrawState|=DRAW_STATE_TRANSPARENT;
448 pTDFX->Cmd = (TDFXROPCvt[rop]<<24) | SST_2D_SCRNTOSCRNBLIT;
449 if (xdir==-1) pTDFX->Cmd |= SST_2D_X_RIGHT_TO_LEFT;
450 if (ydir==-1) pTDFX->Cmd |= SST_2D_Y_BOTTOM_TO_TOP;
451 if (pTDFX->cpp==1) fmt=pTDFX->stride|(1<<16);
452 else fmt=pTDFX->stride|((pTDFX->cpp+1)<<16);
454 TDFXMakeRoom(pTDFX, 2);
456 TDFXWriteLong(pTDFX, SST_2D_DSTFORMAT, fmt);
457 pTDFX->sst2DDstFmtShadow = fmt;
458 TDFXWriteLong(pTDFX, SST_2D_SRCFORMAT, fmt);
459 pTDFX->sst2DSrcFmtShadow = fmt;
466 TDFXPtr pTDFX;
470 pTDFX=TDFXPTR(pScrn);
471 TDFXMatchState(pTDFX);
473 if (pTDFX->Cmd&SST_2D_Y_BOTTOM_TO_TOP) {
477 if (pTDFX->Cmd&SST_2D_X_RIGHT_TO_LEFT) {
482 (srcY>=pTDFX->prevBlitDest.y1-32 && srcY<=pTDFX->prevBlitDest.y1)) {
485 pTDFX->sync(pScrn);
487 TDFXMakeRoom(pTDFX, 4);
489 TDFXWriteLong(pTDFX, SST_2D_SRCXY, (srcX&0x1FFF) | ((srcY&0x1FFF)<<16));
490 TDFXWriteLong(pTDFX, SST_2D_DSTSIZE, (w&0x1FFF) | ((h&0x1FFF)<<16));
491 TDFXWriteLong(pTDFX, SST_2D_DSTXY, (dstX&0x1FFF) | ((dstY&0x1FFF)<<16));
492 TDFXWriteLong(pTDFX, SST_2D_COMMAND, pTDFX->Cmd|SST_2D_GO);
494 pTDFX->prevBlitDest.y1=dstY;
501 TDFXPtr pTDFX;
506 pTDFX=TDFXPTR(pScrn);
509 pTDFX->Cmd=TDFXROPCvt[rop]<<24;
510 if (pTDFX->cpp==1) fmt=(1<<16)|pTDFX->stride;
511 else fmt=((pTDFX->cpp+1)<<16)|pTDFX->stride;
513 TDFXMakeRoom(pTDFX, 3);
516 TDFXWriteLong(pTDFX, SST_2D_DSTFORMAT, fmt);
517 pTDFX->sst2DDstFmtShadow = fmt;
518 TDFXWriteLong(pTDFX, SST_2D_COLORBACK, color);
519 TDFXWriteLong(pTDFX, SST_2D_COLORFORE, color);
526 TDFXPtr pTDFX;
530 pTDFX=TDFXPTR(pScrn);
531 TDFXMatchState(pTDFX);
533 TDFXMakeRoom(pTDFX, 3);
535 TDFXWriteLong(pTDFX, SST_2D_DSTSIZE, ((h&0x1FFF)<<16) | (w&0x1FFF));
536 TDFXWriteLong(pTDFX, SST_2D_DSTXY, ((y&0x1FFF)<<16) | (x&0x1FFF));
537 TDFXWriteLong(pTDFX, SST_2D_COMMAND, pTDFX->Cmd | SST_2D_RECTANGLEFILL |
545 TDFXPtr pTDFX;
551 pTDFX=TDFXPTR(pScrn);
554 pTDFX->Cmd = (TDFXROPCvt[rop+ROP_PATTERN_OFFSET]<<24) |
557 pTDFX->Cmd |= SST_2D_TRANSPARENT_MONOCHROME;
559 if (pTDFX->cpp==1) fmt=(1<<16)|pTDFX->stride;
560 else fmt=((pTDFX->cpp+1)<<16)|pTDFX->stride;
562 TDFXMakeRoom(pTDFX, 5);
566 TDFXWriteLong(pTDFX, SST_2D_DSTFORMAT, fmt);
567 pTDFX->sst2DDstFmtShadow = fmt;
568 TDFXWriteLong(pTDFX, SST_2D_PATTERN0, patx);
569 TDFXWriteLong(pTDFX, SST_2D_PATTERN1, paty);
570 TDFXWriteLong(pTDFX, SST_2D_COLORBACK, bg);
571 TDFXWriteLong(pTDFX, SST_2D_COLORFORE, fg);
578 TDFXPtr pTDFX;
582 pTDFX=TDFXPTR(pScrn);
584 pTDFX->Cmd |= ((patx&0x7)<<SST_2D_X_PATOFFSET_SHIFT) |
594 TDFXPtr pTDFX;
597 pTDFX=TDFXPTR(pScrn);
600 pTDFX->Cmd = (TDFXROPCvt[rop]<<24);
602 TDFXMakeRoom(pTDFX, 2);
604 TDFXWriteLong(pTDFX, SST_2D_COLORBACK, color);
605 TDFXWriteLong(pTDFX, SST_2D_COLORFORE, color);
613 TDFXPtr pTDFX;
618 pTDFX=TDFXPTR(pScrn);
619 TDFXMatchState(pTDFX);
621 if (flags&OMIT_LAST) pTDFX->Cmd|=SST_2D_POLYLINE;
622 else pTDFX->Cmd|=SST_2D_LINE;
624 TDFXMakeRoom(pTDFX, 3);
626 TDFXWriteLong(pTDFX, SST_2D_SRCXY, (srcy&0x1FFF)<<16 | (srcx&0x1FFF));
627 TDFXWriteLong(pTDFX, SST_2D_DSTXY, (dsty&0x1FFF)<<16 | (dstx&0x1FFF));
628 TDFXWriteLong(pTDFX, SST_2D_COMMAND, pTDFX->Cmd|SST_2D_GO);
635 TDFXPtr pTDFX;
638 pTDFX=TDFXPTR(pScrn);
639 TDFXMatchState(pTDFX);
641 TDFXMakeRoom(pTDFX, 3);
643 TDFXWriteLong(pTDFX, SST_2D_SRCXY, (y&0x1FFF)<<16 | (x&0x1FFF));
645 TDFXWriteLong(pTDFX, SST_2D_DSTXY, (y&0x1FFF)<<16 | ((x+len)&0x1FFF));
647 TDFXWriteLong(pTDFX, SST_2D_DSTXY, ((y+len)&0x1FFF)<<16 | (x&0x1FFF));
648 TDFXWriteLong(pTDFX, SST_2D_COMMAND, pTDFX->Cmd|SST_2D_POLYLINE|SST_2D_GO);
656 TDFXPtr pTDFX;
662 pTDFX=TDFXPTR(pScrn);
665 pTDFX->DrawState&=~DRAW_STATE_CLIP1CHANGED;
666 TDFXMatchState(pTDFX);
668 pTDFX->Cmd|=SST_2D_USECLIP1;
669 pTDFX->DrawState|=DRAW_STATE_CLIP1CHANGED;
671 pTDFX->Cmd|=(TDFXROPCvt[rop]<<24)|SST_2D_TRANSPARENT_MONOCHROME;
672 pTDFX->Cmd|=SST_2D_HOSTTOSCRNBLIT;
674 TDFXMakeRoom(pTDFX, 6);
677 TDFXWriteLong(pTDFX, SST_2D_CLIP1MIN, ((pbox->y1&0x1FFF)<<16) |
679 TDFXWriteLong(pTDFX, SST_2D_CLIP1MAX, ((pbox->y2&0x1FFF)<<16) |
682 TDFXWriteLong(pTDFX, SST_2D_SRCFORMAT, SST_2D_PIXFMT_1BPP |
685 TDFXWriteLong(pTDFX, SST_2D_SRCFORMAT, SST_2D_PIXFMT_1BPP |
688 pTDFX->sst2DSrcFmtShadow = SST_2D_PIXFMT_1BPP | SST_2D_SOURCE_PACKING_DWORD;
689 TDFXWriteLong(pTDFX, SST_2D_SRCXY, 0);
690 TDFXWriteLong(pTDFX, SST_2D_COLORFORE, fg);
691 TDFXWriteLong(pTDFX, SST_2D_COMMAND, pTDFX->Cmd);
703 TDFXMakeRoom(pTDFX, 2);
705 TDFXWriteLong(pTDFX, SST_2D_DSTSIZE, ((glyph->height&0x1FFF)<<16) |
707 TDFXWriteLong(pTDFX, SST_2D_DSTXY, ((dy&0x1FFF)<<16) | (dx&0x1FFF));
714 TDFXMakeRoom(pTDFX, i);
718 TDFXWriteLong(pTDFX, SST_2D_LAUNCH, *glyph_data);
720 TDFXWriteLong(pTDFX, SST_2D_LAUNCH, XAAReverseBitOrder(*glyph_data));
734 TDFXPtr pTDFX;
740 pTDFX=TDFXPTR(pScrn);
752 pTDFX->Cmd = (TDFXROPCvt[rop]<<24) | SST_2D_STIPPLE_LINE;
754 pTDFX->Cmd |= SST_2D_TRANSPARENT_MONOCHROME;
756 pTDFX->DashedLineSize = ((length-1)&0xFF)+1;
758 TDFXMakeRoom(pTDFX, 3);
761 TDFXWriteLong(pTDFX, SST_2D_LINESTIPPLE, pat);
763 TDFXWriteLong(pTDFX, SST_2D_LINESTIPPLE, *(int *)pattern);
765 TDFXWriteLong(pTDFX, SST_2D_COLORBACK, bg);
766 TDFXWriteLong(pTDFX, SST_2D_COLORFORE, fg);
773 TDFXPtr pTDFX;
777 pTDFX=TDFXPTR(pScrn);
779 linestyle = ((pTDFX->DashedLineSize-1)<<8) |
780 (((phase%pTDFX->DashedLineSize)&0x1F)<<24);
782 TDFXMakeRoom(pTDFX, 1);
784 TDFXWriteLong(pTDFX, SST_2D_LINESTYLE, linestyle);
794 TDFXPtr pTDFX;
797 pTDFX=TDFXPTR(pScrn);
800 TDFXMatchState(pTDFX);
801 pTDFX->Cmd|=SST_2D_SCRNTOSCRNBLIT|(TDFXROPCvt[rop]<<24);
804 pTDFX->Cmd |= SST_2D_TRANSPARENT_MONOCHROME;
806 TDFXMakeRoom(pTDFX, 2);
808 TDFXWriteLong(pTDFX, SST_2D_COLORBACK, bg);
809 TDFXWriteLong(pTDFX, SST_2D_COLORFORE, fg);
817 TDFXPtr pTDFX;
823 pTDFX=TDFXPTR(pScrn);
825 pTDFX->DrawState&=~DRAW_STATE_CLIP1CHANGED;
826 TDFXMatchState(pTDFX);
828 pTDFX->Cmd|=SST_2D_USECLIP1;
829 pTDFX->DrawState|=DRAW_STATE_CLIP1CHANGED;
831 if (srcy>=pTDFX->prevBlitDest.y1-8 && srcy<=pTDFX->prevBlitDest.y1) {
835 if (pTDFX->cpp==1) fmt=(1<<16)|pTDFX->stride;
836 else fmt=(pTDFX->cpp+1)<<16|pTDFX->stride;
838 TDFXMakeRoom(pTDFX, 8);
842 TDFXWriteLong(pTDFX,SST_2D_DSTFORMAT, fmt);
843 pTDFX->sst2DDstFmtShadow = fmt;
844 TDFXWriteLong(pTDFX,SST_2D_CLIP1MIN, (x&0x1FFF) | ((y&0x1FFF)<<16));
845 TDFXWriteLong(pTDFX,SST_2D_CLIP1MAX, ((x+w)&0x1FFF) | (((y+h)&0x1FFF)<<16));
846 TDFXWriteLong(pTDFX,SST_2D_SRCFORMAT, pTDFX->stride);
847 pTDFX->sst2DSrcFmtShadow = pTDFX->stride;
848 TDFXWriteLong(pTDFX,SST_2D_SRCXY, (srcx&0x1FFF) | ((srcy&0x1FFF)<<16));
849 TDFXWriteLong(pTDFX,SST_2D_DSTSIZE, ((w+offset)&0x1FFF) | ((h&0x1FFF)<<16));
850 TDFXWriteLong(pTDFX,SST_2D_DSTXY, ((x-offset)&0x1FFF) | ((y&0x1FFF)<<16));
851 TDFXWriteLong(pTDFX,SST_2D_COMMAND, pTDFX->Cmd|SST_2D_GO);
853 pTDFX->prevBlitDest.y1=y;
861 TDFXPtr pTDFX;
865 pTDFX=TDFXPTR(pScrn);
868 pTDFX->Cmd|=SST_2D_HOSTTOSCRNBLIT|(TDFXROPCvt[rop]<<24);
871 pTDFX->Cmd |= SST_2D_TRANSPARENT_MONOCHROME;
874 TDFXMakeRoom(pTDFX, 2);
876 TDFXWriteLong(pTDFX, SST_2D_COLORBACK, bg);
877 TDFXWriteLong(pTDFX, SST_2D_COLORFORE, fg);
884 TDFXPtr pTDFX;
889 pTDFX = TDFXPTR(pScrn);
892 pTDFX->DrawState&=~DRAW_STATE_CLIP1CHANGED;
893 TDFXMatchState(pTDFX);
895 pTDFX->Cmd|=SST_2D_USECLIP1;
896 pTDFX->DrawState|=DRAW_STATE_CLIP1CHANGED;
898 if (pTDFX->cpp==1) fmt=(1<<16)|pTDFX->stride;
899 else fmt=((pTDFX->cpp+1)<<16)|pTDFX->stride;
900 pTDFX->scanlineWidth=w;
902 TDFXMakeRoom(pTDFX, 8);
906 TDFXWriteLong(pTDFX, SST_2D_DSTFORMAT, fmt);
907 pTDFX->sst2DDstFmtShadow = fmt;
908 TDFXWriteLong(pTDFX, SST_2D_CLIP1MIN, ((y&0x1FFF)<<16)|(x&0x1FFF));
909 TDFXWriteLong(pTDFX, SST_2D_CLIP1MAX, (((y+h)&0x1FFF)<<16)|((x+w)&0x1FFF));
912 TDFXWriteLong(pTDFX, SST_2D_SRCFORMAT, ((((w+31)/32)*4) & 0x3FFF) | BIT(20));
914 TDFXWriteLong(pTDFX, SST_2D_SRCFORMAT, (((w+31)/32)*4) & 0x3FFF);
916 pTDFX->sst2DSrcFmtShadow = (((w+31)/32)*4) & 0x3FFF;
917 TDFXWriteLong(pTDFX, SST_2D_SRCXY, skipleft&0x1F);
918 TDFXWriteLong(pTDFX, SST_2D_DSTSIZE, ((w-skipleft)&0x1FFF)|((h&0x1FFF)<<16));
919 TDFXWriteLong(pTDFX, SST_2D_DSTXY, ((x+skipleft)&0x1FFF) | ((y&0x1FFF)<<16));
920 TDFXWriteLong(pTDFX, SST_2D_COMMAND, pTDFX->Cmd|SST_2D_GO);
925 TDFXPtr pTDFX;
930 pTDFX = TDFXPTR(pScrn);
932 cnt=(pTDFX->scanlineWidth+31)/32;
933 pos=(CARD32 *)pTDFX->scanlineColorExpandBuffers[bufno];
937 TDFXMakeRoom(pTDFX, size);
940 TDFXWriteLong(pTDFX, SST_2D_LAUNCH, *pos);