Lines Matching refs:pvfb

509 vfbAllocateMmappedFramebuffer(vfbScreenInfoPtr pvfb)  in vfbAllocateMmappedFramebuffer()  argument
515 snprintf(pvfb->mmap_file, sizeof(pvfb->mmap_file), "%s/Xvfb_screen%d", in vfbAllocateMmappedFramebuffer()
516 pfbdir, (int) (pvfb - vfbScreens)); in vfbAllocateMmappedFramebuffer()
517 if (-1 == (pvfb->mmap_fd = open(pvfb->mmap_file, O_CREAT | O_RDWR, 0666))) { in vfbAllocateMmappedFramebuffer()
519 ErrorF("open %s failed, %s", pvfb->mmap_file, strerror(errno)); in vfbAllocateMmappedFramebuffer()
527 currentFileSize < pvfb->sizeInBytes; in vfbAllocateMmappedFramebuffer()
530 pvfb->sizeInBytes - currentFileSize); in vfbAllocateMmappedFramebuffer()
531 if (-1 == write(pvfb->mmap_fd, dummyBuffer, writeThisTime)) { in vfbAllocateMmappedFramebuffer()
533 ErrorF("write %s failed, %s", pvfb->mmap_file, strerror(errno)); in vfbAllocateMmappedFramebuffer()
540 pvfb->pXWDHeader = (XWDFileHeader *) mmap((caddr_t) NULL, pvfb->sizeInBytes, in vfbAllocateMmappedFramebuffer()
543 pvfb->mmap_fd, 0); in vfbAllocateMmappedFramebuffer()
544 if (-1 == (long) pvfb->pXWDHeader) { in vfbAllocateMmappedFramebuffer()
546 ErrorF("mmap %s failed, %s", pvfb->mmap_file, strerror(errno)); in vfbAllocateMmappedFramebuffer()
547 pvfb->pXWDHeader = NULL; in vfbAllocateMmappedFramebuffer()
553 pvfb->pXWDHeader = NULL; in vfbAllocateMmappedFramebuffer()
560 vfbAllocateSharedMemoryFramebuffer(vfbScreenInfoPtr pvfb) in vfbAllocateSharedMemoryFramebuffer() argument
564 pvfb->shmid = shmget(IPC_PRIVATE, pvfb->sizeInBytes, IPC_CREAT | 0777); in vfbAllocateSharedMemoryFramebuffer()
565 if (pvfb->shmid < 0) { in vfbAllocateSharedMemoryFramebuffer()
567 ErrorF("shmget %d bytes failed, %s", pvfb->sizeInBytes, in vfbAllocateSharedMemoryFramebuffer()
574 pvfb->pXWDHeader = (XWDFileHeader *) shmat(pvfb->shmid, 0, 0); in vfbAllocateSharedMemoryFramebuffer()
575 if (-1 == (long) pvfb->pXWDHeader) { in vfbAllocateSharedMemoryFramebuffer()
578 pvfb->pXWDHeader = NULL; in vfbAllocateSharedMemoryFramebuffer()
582 ErrorF("screen %d shmid %d\n", (int) (pvfb - vfbScreens), pvfb->shmid); in vfbAllocateSharedMemoryFramebuffer()
587 vfbAllocateFramebufferMemory(vfbScreenInfoPtr pvfb) in vfbAllocateFramebufferMemory() argument
589 if (pvfb->pfbMemory) in vfbAllocateFramebufferMemory()
590 return pvfb->pfbMemory; /* already done */ in vfbAllocateFramebufferMemory()
592 pvfb->sizeInBytes = pvfb->paddedBytesWidth * pvfb->height; in vfbAllocateFramebufferMemory()
600 if (pvfb->depth <= 10) { /* single index colormaps */ in vfbAllocateFramebufferMemory()
601 pvfb->ncolors = 1 << pvfb->depth; in vfbAllocateFramebufferMemory()
604 int nplanes_per_color_component = pvfb->depth / 3; in vfbAllocateFramebufferMemory()
606 if (pvfb->depth % 3) in vfbAllocateFramebufferMemory()
608 pvfb->ncolors = 1 << nplanes_per_color_component; in vfbAllocateFramebufferMemory()
613 pvfb->sizeInBytes += SIZEOF(XWDheader) + XWD_WINDOW_NAME_LEN + in vfbAllocateFramebufferMemory()
614 pvfb->ncolors * SIZEOF(XWDColor); in vfbAllocateFramebufferMemory()
616 pvfb->pXWDHeader = NULL; in vfbAllocateFramebufferMemory()
620 vfbAllocateMmappedFramebuffer(pvfb); in vfbAllocateFramebufferMemory()
629 vfbAllocateSharedMemoryFramebuffer(pvfb); in vfbAllocateFramebufferMemory()
637 pvfb->pXWDHeader = (XWDFileHeader *) malloc(pvfb->sizeInBytes); in vfbAllocateFramebufferMemory()
641 if (pvfb->pXWDHeader) { in vfbAllocateFramebufferMemory()
642 pvfb->pXWDCmap = (XWDColor *) ((char *) pvfb->pXWDHeader in vfbAllocateFramebufferMemory()
645 pvfb->pfbMemory = (char *) (pvfb->pXWDCmap + pvfb->ncolors); in vfbAllocateFramebufferMemory()
647 return pvfb->pfbMemory; in vfbAllocateFramebufferMemory()
656 vfbScreenInfoPtr pvfb = &vfbScreens[pScreen->myNum]; in vfbWriteXWDFileHeader() local
657 XWDFileHeader *pXWDHeader = pvfb->pXWDHeader; in vfbWriteXWDFileHeader()
665 (char *) pvfb->pXWDCmap - (char *) pvfb->pXWDHeader; in vfbWriteXWDFileHeader()
669 pXWDHeader->pixmap_depth = pvfb->depth; in vfbWriteXWDFileHeader()
670 pXWDHeader->pixmap_height = pXWDHeader->window_height = pvfb->height; in vfbWriteXWDFileHeader()
675 pXWDHeader->pixmap_width = pXWDHeader->window_width = pvfb->width; in vfbWriteXWDFileHeader()
679 pXWDHeader->pixmap_width = pXWDHeader->window_width = pvfb->paddedWidth; in vfbWriteXWDFileHeader()
683 pXWDHeader->bits_per_pixel = pvfb->bitsPerPixel; in vfbWriteXWDFileHeader()
684 pXWDHeader->bytes_per_line = pvfb->paddedBytesWidth; in vfbWriteXWDFileHeader()
685 pXWDHeader->ncolors = pvfb->ncolors; in vfbWriteXWDFileHeader()
703 for (i = 0; i < pvfb->ncolors; i++) { in vfbWriteXWDFileHeader()
704 pvfb->pXWDCmap[i].pixel = i; in vfbWriteXWDFileHeader()
711 for (i = 0; i < pvfb->ncolors; i++) { in vfbWriteXWDFileHeader()
712 swapl(&pvfb->pXWDCmap[i].pixel); in vfbWriteXWDFileHeader()
737 vfbScreenInfoPtr pvfb = &vfbScreens[pScreen->myNum]; in vfbCloseScreen() local
739 pScreen->CloseScreen = pvfb->closeScreen; in vfbCloseScreen()
873 vfbScreenInfoPtr pvfb = &vfbScreens[pScreen->myNum]; in vfbScreenInit() local
884 pvfb->paddedBytesWidth = PixmapBytePad(pvfb->width, pvfb->depth); in vfbScreenInit()
885 pvfb->bitsPerPixel = vfbBitsPerPixel(pvfb->depth); in vfbScreenInit()
886 if (pvfb->bitsPerPixel >= 8) in vfbScreenInit()
887 pvfb->paddedWidth = pvfb->paddedBytesWidth / (pvfb->bitsPerPixel / 8); in vfbScreenInit()
889 pvfb->paddedWidth = pvfb->paddedBytesWidth * 8; in vfbScreenInit()
890 pbits = vfbAllocateFramebufferMemory(pvfb); in vfbScreenInit()
894 switch (pvfb->depth) { in vfbScreenInit()
935 ret = fbScreenInit(pScreen, pbits, pvfb->width, pvfb->height, in vfbScreenInit()
936 dpix, dpiy, pvfb->paddedWidth, pvfb->bitsPerPixel); in vfbScreenInit()
955 pScreen->blackPixel = pvfb->blackPixel; in vfbScreenInit()
956 pScreen->whitePixel = pvfb->whitePixel; in vfbScreenInit()
960 miSetZeroLineBias(pScreen, pvfb->lineBias); in vfbScreenInit()
962 pvfb->closeScreen = pScreen->CloseScreen; in vfbScreenInit()