Sat Feb 3 14:12:49 2024 UTC (106d)
Pull up following revision(s) (requested by tsutsui in ticket #572):

	external/mit/xf86-video-wsfb/dist/src/wsfb_driver.c: revision 1.49

Handle "LSBit is left" bitorder VRAM of smg(4) and qv(4) on VAXen.

Confirmed on smg(4) on my VAXstation 3100/30.


(martin)
diff -r1.47.2.1 -r1.47.2.2 xsrc/external/mit/xf86-video-wsfb/dist/src/wsfb_driver.c

cvs diff -r1.47.2.1 -r1.47.2.2 xsrc/external/mit/xf86-video-wsfb/dist/src/wsfb_driver.c (expand / switch to unified diff)

--- xsrc/external/mit/xf86-video-wsfb/dist/src/wsfb_driver.c 2024/02/03 11:49:31 1.47.2.1
+++ xsrc/external/mit/xf86-video-wsfb/dist/src/wsfb_driver.c 2024/02/03 14:12:49 1.47.2.2
@@ -580,26 +580,32 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags @@ -580,26 +580,32 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags
580 if (pScrn->bitsPerPixel != bitsperpixel) { 580 if (pScrn->bitsPerPixel != bitsperpixel) {
581 xf86DrvMsg(pScrn->scrnIndex, X_ERROR, 581 xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
582 "specified depth (%d) or bpp (%d) doesn't match " 582 "specified depth (%d) or bpp (%d) doesn't match "
583 "framebuffer depth (%d)\n", pScrn->depth, 583 "framebuffer depth (%d)\n", pScrn->depth,
584 pScrn->bitsPerPixel, bitsperpixel); 584 pScrn->bitsPerPixel, bitsperpixel);
585 return FALSE; 585 return FALSE;
586 } 586 }
587 xf86PrintDepthBpp(pScrn); 587 xf86PrintDepthBpp(pScrn);
588 588
589 /* Get the depth24 pixmap format. */ 589 /* Get the depth24 pixmap format. */
590 if (pScrn->depth == 24 && pix24bpp == 0) 590 if (pScrn->depth == 24 && pix24bpp == 0)
591 pix24bpp = xf86GetBppFromDepth(pScrn, 24); 591 pix24bpp = xf86GetBppFromDepth(pScrn, 24);
592 592
 593#ifdef WSDISPLAY_TYPE_VAX_MONO
 594 if (wstype == WSDISPLAY_TYPE_VAX_MONO) {
 595 pScrn->bitmapBitOrder = LSBFirst;
 596 }
 597#endif
 598
593 /* Handle options. */ 599 /* Handle options. */
594 xf86CollectOptions(pScrn, NULL); 600 xf86CollectOptions(pScrn, NULL);
595 fPtr->Options = (OptionInfoRec *)malloc(sizeof(WsfbOptions)); 601 fPtr->Options = (OptionInfoRec *)malloc(sizeof(WsfbOptions));
596 if (fPtr->Options == NULL) 602 if (fPtr->Options == NULL)
597 return FALSE; 603 return FALSE;
598 memcpy(fPtr->Options, WsfbOptions, sizeof(WsfbOptions)); 604 memcpy(fPtr->Options, WsfbOptions, sizeof(WsfbOptions));
599 xf86ProcessOptions(pScrn->scrnIndex, fPtr->pEnt->device->options, 605 xf86ProcessOptions(pScrn->scrnIndex, fPtr->pEnt->device->options,
600 fPtr->Options); 606 fPtr->Options);
601 607
602 /* Use shadow framebuffer by default, on depth >= 8 */ 608 /* Use shadow framebuffer by default, on depth >= 8 */
603 xf86Msg(X_INFO, "fbi_flags: %x\n", fPtr->fbi.fbi_flags); 609 xf86Msg(X_INFO, "fbi_flags: %x\n", fPtr->fbi.fbi_flags);
604 if ((pScrn->depth >= 8) && 610 if ((pScrn->depth >= 8) &&
605 ((fPtr->fbi.fbi_flags & WSFB_VRAM_IS_RAM) == 0)) { 611 ((fPtr->fbi.fbi_flags & WSFB_VRAM_IS_RAM) == 0)) {