home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / windows / x / i386unix / 83 < prev    next >
Encoding:
Text File  |  1992-12-21  |  6.1 KB  |  132 lines

  1. Newsgroups: comp.windows.x.i386unix
  2. Path: sparky!uunet!zaphod.mps.ohio-state.edu!uwm.edu!linac!att!cbnewsk!cbnewsj!dwex
  3. From: dwex@cbnewsj.cb.att.com (david.e.wexelblat)
  4. Subject: Re: 32K or 16M colours?
  5. Organization: AT&T
  6. Date: Mon, 21 Dec 1992 03:27:15 GMT
  7. Message-ID: <1992Dec21.032715.14701@cbnewsj.cb.att.com>
  8. References: <linda.724803368@minnie> <1992Dec20.000426.21774@cbnewsj.cb.att.com> <TMH.92Dec20235423@keks.first.gmd.de>
  9. Lines: 121
  10.  
  11. In article <TMH.92Dec20235423@keks.first.gmd.de> tmh@keks.first.gmd.de (Thomas Hoberg) writes:
  12. > In article <1992Dec20.000426.21774@cbnewsj.cb.att.com> dwex@cbnewsj.cb.att.com (david.e.wexelblat) writes:
  13. >    In article <linda.724803368@minnie> linda@cs.su.oz.au (Linda Distributed Language) writes:
  14. >    > Is anybody working on X servers for cards which display 32K or 16M colours,
  15. >    > like the 2theMax et4000 based card and other extended et4000 cards?
  16. >    > (the 2theMax will do up to 1280x1024x16, 1024x768x256, 800x600x32K)
  17. > [...]
  18. >    Here's what I know about it:
  19. >        1) The cfb code with X11R5 was only tested at 8 bits, and is
  20. >           known to need work to make it work with other depths.
  21. > I don't know what X11R5 was tested on, but any power of 2 is ok as far
  22. > as CFB is concerned. I did an X11R4 port to a 1920x1024 HDTV true
  23. > color frame buffer two years ago and started with CFB code. Actually
  24. > CFB isn't all that useful for depths greater than 8-Bit, because it
  25. > uses some gyriations to avoid extra memory and frame buffer references
  26. > and tries to work on as many pixels as possible at the same time. On a
  27. > packed pixel true color display that code (which was derived from MFB
  28. > where it offers the most significant speed improvement) does more harm
  29. > than good.
  30.  
  31. The X11R5 cfb is completely new - there is little to no correlation to
  32. the X11R4 cfb.  I have it on good authority that it is known to not work
  33. at depths other than 8 bits.
  34.  
  35. >        2) The assembler parts of the frame-buffer code in XFree86 were
  36. >           designed for 8-bits, and will also need work.
  37. > Definitely, since one of the main reasons for it's existence is the
  38. > banked nature of SVGA cards.
  39.  
  40. No.  Banking has very little to do with the assembler in XFree86.  All of
  41. the BitBlt and line drawing code have been done in assembler (either from
  42. SpeedUp or from fX386), and move 8-bit pixels around.  This is what gives
  43. the performance improvements over the stock cfb.banked, for the most part.
  44.  
  45. >        3) X11R6 will likely have 8-bit, 16-bit, and 24-bit frame-buffer
  46. >           code.
  47. > I doubt that it will support banked displays nicely.
  48.  
  49. True, but banking is actually fairly simple.  This is the reason that I know
  50. that X11R5's cfb only works at 8 bits.  Members of the X Consortium have
  51. cfb versions for 8-bit, 16-bit, and 24/32-bit frame buffers.  When, or if,
  52. this will be made public, I have no idea, but certainly not before X11R6.
  53.  
  54. >        4) 24-bit SVGA is going to require a LOT of work (perhaps an
  55. >           entire new framebuffer driver), because the 24-bit framebuffers
  56. >           on most system (and the Xsun24 code I looked at) assume that
  57. >           the 24-bits are aligned on 32-bit boundaries, and the 24-bit
  58. >           SVGA's are aligned on 24-bit boundaries (think of the pixel-
  59. >           addressing complexities here).
  60. > If they are (which I doubt) they would be riciculously slow. Also
  61. > since they usually trade resolution for pixel depth that means X on
  62. > something like 640x480 (yuck!).
  63. Take a look at how the 24-bit SVGA's are implemented.  Packed 3-byte pixels.
  64. It's going to make working on them rediculous.
  65.  
  66. >        5) The 16- and 24-bit SVGA modes are SLOW (1/2 and 1/3 the speed
  67. >           of the 8-bit modes, respectively).
  68. > Since they trade resolution for pixel depth, the speed differences
  69. > shouldn't be that high (except for horizontal lines).
  70.  
  71. Wrong.  Take a look at the hardware interface of the Sierra RAMDAC.  It's
  72. got 8 bits between the frame buffer memory and the RAMDAC.  It takes two
  73. memory cycles to load a 15-bit HiColor pixel.  I'm pretty sure that the
  74. 24-bit RAMDACs also have an 8-bit interface, hence requiring 3 cycles
  75. to get a single pixel.
  76.  
  77. > >   I would expect that a 16-bit server could be done by a dedicated group
  78. > >   without too much headache (lots of use of the XTEST suite will help :->).
  79. > If the SVGAs weren't banked, all it would take is the editing of a
  80. > couple of macros and a recompile of CFB (or almost). Even with the
  81. > X386 version that came with X11R5 it shouldn't be too much work (no
  82. > assembler except for bank switching), although the initialization
  83. > stuff would be beyond me (lacking the appropriate documentation).
  84.  
  85. Sorry, but you're wrong.  You could port X11R4 that way, but not R5.  You
  86. have to go fix the bugs in cfb.  The banking code in cfb.banked will work
  87. at 16-bits as well as 8-bits.  The assembler would need work, but not
  88. the C code.
  89.  
  90. > >   The 24-bit stuff is going to be much, much worse.
  91. > But only if they really pack those pixels on adjacent addresses. It
  92. > would completely break CFB and as you said, the work involved would be
  93. > horrendous...
  94.  
  95. They do.
  96.  
  97. > I can only underline Thomas Roell's lobbying efforts for VRAM here,
  98. > because the deeper frame buffers get, the more important is the
  99. > "intelligence" built into VRAMS, which offer special addressing modes,
  100. > for replicating bitmap data in a preset color through all color
  101. > planes, thus offering monochrome speed for fills (though, alas, not
  102. > for copies...).
  103.  
  104. Actually getting rid of the stupid pixel-packing would do more than VRAM,
  105. at this point.  Of course, one would think that anyone would go and buy
  106. a VRAM based board.  But you'd be surprised how many people want to 
  107. use XFree86 on a DRAM-based Trident board (~$60 US).  Ichh!
  108.  
  109. > ---
  110. > Thomas M. Hoberg   | Internet: tmh@first.gmd.de
  111. > 1000 Berlin 41     |           tmh@cs.tu-berlin.de
  112. > Wielandstr. 4      |
  113. > Germany            | BITNET:   tmh@tub.bitnet 
  114. > +49-30-851-50-21   |
  115.  
  116.  
  117. --
  118. David Wexelblat <dwex@mtgzfs3.att.com>  (908) 957-5871
  119. AT&T Bell Laboratories, 200 Laurel Ave - 3F-428, Middletown, NJ  07748
  120.  
  121. "The meaning of life?  That's simple.  Try to be happy, try not to hurt
  122.  other people, and hope to fall in love."  -- Mallory Keaton
  123.