Lines Matching refs:fPtr

377 	WsfbPtr fPtr;
394 fPtr = WSFBPTR(pScrn);
396 fPtr->pEnt = xf86GetEntityInfo(pScrn->entityList[0]);
403 dev = xf86FindOptionValue(fPtr->pEnt->device->options, "device");
404 fPtr->fd = wsfb_open(dev);
405 if (fPtr->fd == -1) {
409 if (ioctl(fPtr->fd, WSDISPLAYIO_GTYPE, &wstype) == -1) {
416 if (ioctl(fPtr->fd, WSDISPLAYIO_GET_FBINFO, &fPtr->fbi) != 0) {
418 struct wsdisplayio_fbinfo *fbi = &fPtr->fbi;
423 if (ioctl(fPtr->fd, WSDISPLAYIO_GINFO, &info) == -1) {
429 if (ioctl(fPtr->fd, WSDISPLAYIO_LINEBYTES, &lb) == -1) {
485 xf86Msg(X_INFO, "fboffset %x\n", (int)fPtr->fbi.fbi_fboffset);
489 if (fPtr->fbi.fbi_pixeltype == WSFB_CI &&
490 fPtr->fbi.fbi_subtype.fbi_cmapinfo.cmap_entries > 0) {
491 fPtr->saved_cmap.red =
492 (unsigned char *)malloc(fPtr->fbi.fbi_subtype.fbi_cmapinfo.cmap_entries);
493 if (fPtr->saved_cmap.red == NULL) {
496 fPtr->fbi.fbi_subtype.fbi_cmapinfo.cmap_entries);
499 fPtr->saved_cmap.green =
500 (unsigned char *)malloc(fPtr->fbi.fbi_subtype.fbi_cmapinfo.cmap_entries);
501 if (fPtr->saved_cmap.green == NULL) {
504 fPtr->fbi.fbi_subtype.fbi_cmapinfo.cmap_entries);
505 free(fPtr->saved_cmap.red);
508 fPtr->saved_cmap.blue =
509 (unsigned char *)malloc(fPtr->fbi.fbi_subtype.fbi_cmapinfo.cmap_entries);
510 if (fPtr->saved_cmap.blue == NULL) {
513 fPtr->fbi.fbi_subtype.fbi_cmapinfo.cmap_entries);
514 free(fPtr->saved_cmap.red);
515 free(fPtr->saved_cmap.green);
521 default_depth = fPtr->fbi.fbi_bitsperpixel <= 24 ? fPtr->fbi.fbi_bitsperpixel : 24;
522 bitsperpixel = fPtr->fbi.fbi_bitsperpixel == 15 ? 16 : fPtr->fbi.fbi_bitsperpixel;
535 fPtr->planarAfb = TRUE;
566 fPtr->planarAfb = TRUE;
568 fPtr->planarAfb = TRUE;
607 fPtr->Options = (OptionInfoRec *)malloc(sizeof(WsfbOptions));
608 if (fPtr->Options == NULL)
610 memcpy(fPtr->Options, WsfbOptions, sizeof(WsfbOptions));
611 xf86ProcessOptions(pScrn->scrnIndex, fPtr->pEnt->device->options,
612 fPtr->Options);
615 xf86Msg(X_INFO, "fbi_flags: %x\n", fPtr->fbi.fbi_flags);
617 ((fPtr->fbi.fbi_flags & WSFB_VRAM_IS_RAM) == 0)) {
618 fPtr->shadowFB = xf86ReturnOptValBool(fPtr->Options,
621 if (xf86ReturnOptValBool(fPtr->Options,
626 if (fPtr->fbi.fbi_flags & WSFB_VRAM_IS_SPLIT) {
627 if (!fPtr->shadowFB) {
630 fPtr->shadowFB = TRUE;
634 fPtr->useRGB16ToYUY2 = FALSE;
639 fPtr->useRGB16ToYUY2 = TRUE;
640 if (!fPtr->shadowFB) {
643 fPtr->shadowFB = TRUE;
649 fPtr->fbi.fbi_pixeltype = WSFB_RGB;
653 if (fPtr->planarAfb)
655 if (!fPtr->shadowFB) {
658 fPtr->shadowFB = TRUE;
663 fPtr->rotate = WSFB_ROTATE_NONE;
664 if ((s = xf86GetOptValString(fPtr->Options, OPTION_ROTATE))) {
667 fPtr->shadowFB = TRUE;
668 fPtr->rotate = WSFB_ROTATE_CW;
672 fPtr->shadowFB = TRUE;
673 fPtr->rotate = WSFB_ROTATE_CCW;
677 fPtr->shadowFB = TRUE;
678 fPtr->rotate = WSFB_ROTATE_UD;
696 fPtr->useSwap32 = FALSE;
698 if (fPtr->fbi.fbi_pixeltype == WSFB_RGB) {
701 if (fPtr->fbi.fbi_subtype.fbi_rgbmasks.red_size > 0) {
709 if ((fPtr->fbi.fbi_bitsperpixel == 32) &&
710 (fPtr->fbi.fbi_subtype.fbi_rgbmasks.blue_offset == 24) &&
711 (fPtr->rotate == WSFB_ROTATE_NONE) &&
712 (fPtr->shadowFB == TRUE)) {
719 fPtr->fbi.fbi_subtype.fbi_rgbmasks.blue_offset = 0;
720 fPtr->fbi.fbi_subtype.fbi_rgbmasks.green_offset = 8;
721 fPtr->fbi.fbi_subtype.fbi_rgbmasks.red_offset = 16;
722 fPtr->fbi.fbi_subtype.fbi_rgbmasks.alpha_offset = 24;
723 fPtr->useSwap32 = TRUE;
727 msk = msk << fPtr->fbi.fbi_subtype.fbi_rgbmasks.red_size;
729 masks.red = msk << fPtr->fbi.fbi_subtype.fbi_rgbmasks.red_offset;
732 msk = msk << fPtr->fbi.fbi_subtype.fbi_rgbmasks.green_size;
734 masks.green = msk << fPtr->fbi.fbi_subtype.fbi_rgbmasks.green_offset;
737 msk = msk << fPtr->fbi.fbi_subtype.fbi_rgbmasks.blue_size;
739 masks.blue = msk << fPtr->fbi.fbi_subtype.fbi_rgbmasks.blue_offset;
772 pScrn->videoRam = fPtr->fbi.fbi_fbsize;
785 mode->HDisplay = fPtr->fbi.fbi_width;
790 mode->VDisplay = fPtr->fbi.fbi_height;
801 pScrn->virtualX = fPtr->fbi.fbi_width;
802 pScrn->virtualY = fPtr->fbi.fbi_height;
809 fPtr->HWCursor = TRUE;
810 if (xf86GetOptValBool(fPtr->Options, OPTION_HW_CURSOR, &fPtr->HWCursor))
812 if (xf86ReturnOptValBool(fPtr->Options, OPTION_SW_CURSOR, FALSE)) {
814 fPtr->HWCursor = FALSE;
817 fPtr->HWCursor ? "HW" : "SW");
821 if (fPtr->shadowFB) {
859 WsfbPtr fPtr = WSFBPTR(pScrn);
865 pScreen->CreateScreenResources = fPtr->CreateScreenResources;
873 if (fPtr->fbi.fbi_flags & WSFB_VRAM_IS_SPLIT) {
875 } else if (fPtr->useRGB16ToYUY2) {
904 } else if (fPtr->useSwap32) {
906 } else if (fPtr->rotate) {
910 if (fPtr->planarAfb && fPtr->fbi.fbi_bitsperpixel == 8) {
913 } else if (fPtr->planarAfb && fPtr->fbi.fbi_bitsperpixel == 4) {
923 windowproc, fPtr->rotate, NULL)) {
934 WsfbPtr fPtr = WSFBPTR(pScrn);
938 fPtr->CreateScreenResources = pScreen->CreateScreenResources;
948 WsfbPtr fPtr = WSFBPTR(pScrn);
966 switch (fPtr->fbi.fbi_bitsperpixel) {
970 len = fPtr->fbi.fbi_stride * fPtr->fbi.fbi_height;
972 if (fPtr->planarAfb) {
977 len *= fPtr->fbi.fbi_bitsperpixel;
984 if (fPtr->fbi.fbi_stride == fPtr->fbi.fbi_width) {
985 len = fPtr->fbi.fbi_width * fPtr->fbi.fbi_height * sizeof(short);
987 len = fPtr->fbi.fbi_stride * fPtr->fbi.fbi_height;
991 if (fPtr->fbi.fbi_stride == fPtr->fbi.fbi_width) {
992 len = fPtr->fbi.fbi_width * fPtr->fbi.fbi_height * 3;
994 len = fPtr->fbi.fbi_stride * fPtr->fbi.fbi_height;
998 if (fPtr->fbi.fbi_stride == fPtr->fbi.fbi_width) {
999 len = fPtr->fbi.fbi_width * fPtr->fbi.fbi_height * sizeof(int);
1001 len = fPtr->fbi.fbi_stride * fPtr->fbi.fbi_height;
1006 "unsupported depth %d\n", fPtr->fbi.fbi_bitsperpixel);
1010 if (ioctl(fPtr->fd, WSDISPLAYIO_SMODE, &wsmode) == -1) {
1017 if (ioctl(fPtr->fd, WSDISPLAYIO_GTYPE, &wstype) == -1) {
1023 len = max(len, fPtr->fbi.fbi_fbsize);
1024 fPtr->fbmem = wsfb_mmap(len + fPtr->fbi.fbi_fboffset, 0, fPtr->fd);
1026 if (fPtr->fbmem == NULL) {
1031 fPtr->fbmem_len = len;
1051 if (fPtr->rotate == WSFB_ROTATE_CW
1052 || fPtr->rotate == WSFB_ROTATE_CCW) {
1057 if (fPtr->rotate && !fPtr->PointerMoved) {
1058 fPtr->PointerMoved = pScrn->PointerMoved;
1062 fPtr->fbstart = fPtr->fbmem + fPtr->fbi.fbi_fboffset;
1064 if (fPtr->shadowFB) {
1065 if (fPtr->rotate) {
1074 if (fPtr->planarAfb) {
1080 len = fPtr->fbi.fbi_stride * pScrn->virtualY;
1082 fPtr->shadow = calloc(1, len);
1084 if (!fPtr->shadow) {
1096 if (fPtr->rotate) {
1100 if (fPtr->planarAfb) {
1107 fPtr->fbi.fbi_stride / (pScrn->bitsPerPixel >> 3);
1110 fPtr->fbi.fbi_stride * (8 / pScrn->bitsPerPixel);
1116 fPtr->fbstart,
1127 fPtr->shadowFB ? fPtr->shadow : fPtr->fbstart,
1162 if (fPtr->shadowFB && !WsfbShadowInit(pScreen)) {
1169 if (!fPtr->rotate)
1175 if (fPtr->rotate) {
1193 if (fPtr->HWCursor)
1209 if (fPtr->fbi.fbi_pixeltype == WSFB_CI) {
1210 ncolors = fPtr->fbi.fbi_subtype.fbi_cmapinfo.cmap_entries;
1222 ncolors = fPtr->fbi.fbi_subtype.fbi_cmapinfo.cmap_entries;
1225 && !fPtr->planarAfb
1244 if (ioctl(fPtr->fd, WSDISPLAYIO_PUTCMAP, &cmap) == -1) {
1267 fPtr->CloseScreen = pScreen->CloseScreen;
1279 WsfbPtr fPtr = WSFBPTR(pScrn);
1285 if (fPtr->shadowFB)
1290 if (munmap(fPtr->fbmem, fPtr->fbmem_len + fPtr->fbi.fbi_fboffset) == -1) {
1295 fPtr->fbmem = NULL;
1298 if (fPtr->pDGAMode) {
1299 free(fPtr->pDGAMode);
1300 fPtr->pDGAMode = NULL;
1301 fPtr->nDGAMode = 0;
1307 pScreen->CloseScreen = fPtr->CloseScreen;
1317 WsfbPtr fPtr = WSFBPTR(pScrn);
1319 if (fPtr->fbi.fbi_stride)
1320 *size = fPtr->fbi.fbi_stride;
1322 if (ioctl(fPtr->fd, WSDISPLAYIO_LINEBYTES, size) == -1)
1324 fPtr->fbi.fbi_stride = *size;
1326 return ((CARD8 *)fPtr->fbstart + row * fPtr->fbi.fbi_stride + offset);
1340 WsfbPtr fPtr = WSFBPTR(pScrn);
1343 *size = fPtr->fbi.fbi_stride * fPtr->fbi.fbi_height;
1344 return ((CARD8 *)fPtr->fbstart + row * fPtr->fbi.fbi_stride + offset);
1352 WsfbPtr fPtr = WSFBPTR(pScrn);
1355 switch (fPtr->rotate)
1383 (*fPtr->PointerMoved)(arg, newX, newY);
1390 WsfbPtr fPtr = WSFBPTR(pScrn);
1398 if (ioctl(fPtr->fd, WSDISPLAYIO_SMODE, &mode) == -1) {
1411 WsfbPtr fPtr = WSFBPTR(pScrn);
1424 if (fPtr->fbi.fbi_pixeltype == WSFB_CI &&
1425 fPtr->fbi.fbi_subtype.fbi_cmapinfo.cmap_entries > 0) {
1427 if (ioctl(fPtr->fd, WSDISPLAYIO_PUTCMAP,
1428 &(fPtr->saved_cmap)) == -1) {
1437 if (ioctl(fPtr->fd, WSDISPLAYIO_SMODE, &mode) == -1) {
1473 WsfbPtr fPtr = WSFBPTR(pScrn);
1481 if (fPtr->fbi.fbi_subtype.fbi_cmapinfo.cmap_entries == 0)
1495 if (ioctl(fPtr->fd,WSDISPLAYIO_PUTCMAP, &cmap) == -1)
1514 if (ioctl(fPtr->fd, WSDISPLAYIO_GETCMAP, &cmap) == -1)
1523 if (ioctl(fPtr->fd,WSDISPLAYIO_PUTCMAP, &cmap) == -1)
1533 WsfbPtr fPtr = WSFBPTR(pScrn);
1544 ioctl(fPtr->fd,
1555 WsfbPtr fPtr = WSFBPTR(pScrn);
1560 if (fPtr->fbi.fbi_pixeltype != WSFB_CI)
1564 if (fPtr->fbi.fbi_subtype.fbi_cmapinfo.cmap_entries == 0)
1567 fPtr->saved_cmap.index = 0;
1568 fPtr->saved_cmap.count = fPtr->fbi.fbi_subtype.fbi_cmapinfo.cmap_entries;
1569 if (ioctl(fPtr->fd, WSDISPLAYIO_GETCMAP,
1570 &(fPtr->saved_cmap)) == -1) {
1581 WsfbPtr fPtr = WSFBPTR(pScrn);
1586 if (fPtr->fbi.fbi_pixeltype == WSFB_CI &&
1587 fPtr->fbi.fbi_subtype.fbi_cmapinfo.cmap_entries > 0) {
1589 if (ioctl(fPtr->fd, WSDISPLAYIO_PUTCMAP,
1590 &(fPtr->saved_cmap)) == -1) {
1598 memset(fPtr->fbstart, 0, fPtr->fbmem_len);
1602 if (ioctl(fPtr->fd, WSDISPLAYIO_SMODE, &mode) == -1) {
1680 WsfbPtr fPtr = WSFBPTR(pScrn);
1685 pDGAMode = realloc(fPtr->pDGAMode,
1686 (fPtr->nDGAMode + 1) * sizeof(DGAModeRec));
1690 fPtr->pDGAMode = pDGAMode;
1691 pDGAMode += fPtr->nDGAMode;
1694 ++fPtr->nDGAMode;
1710 if (fPtr->fbi.fbi_stride)
1711 pDGAMode->bytesPerScanline = fPtr->fbi.fbi_stride;
1713 ioctl(fPtr->fd, WSDISPLAYIO_LINEBYTES,
1714 &fPtr->fbi.fbi_stride);
1715 pDGAMode->bytesPerScanline = fPtr->fbi.fbi_stride;
1727 pDGAMode->address = fPtr->fbstart;
1736 WsfbPtr fPtr = WSFBPTR(pScrn);
1741 if (!fPtr->nDGAMode)
1745 fPtr->pDGAMode, fPtr->nDGAMode));
1954 WsfbPtr fPtr = WSFBPTR(pScrn);
1967 unsigned long split = fPtr->fbi.fbi_fbsize / 2;