I previously posted this to the Render mailing list. I didn't get an
answer so I'm hoping someone on the xpert list can help me. The rest of
the mail has lots of Render-specific notes in it. But basically the
question I'm asking is: "how do I get Xfbdev to expose depth 32 windows
instead of (or in addition to) depth 24 windows?"
--- Begin Message ---
I am trying to get the Render extension working using Xfbdev.
I previously posted similar mail as "Re: [Render] Destination Alpha"and
got no response. Hopefully this mail is more specific.
>From Keith Packard's reply (below) to an earlier posting, it seems that
I need Xfbdev to expose depth 32 windows. Keith implies that I will
need to (or should) expose both depth 24 and 32 windows. I would prefer
I think to expose only depth 32; in any case I would want depth 32 to be
the default visual (and root window depth) so apps will easily default
to creating windows of depth 32.
My understanding is that we are using "Tiny X" but that is hearsay. The
person who did the X work is no longer here. I don't even know if
"Xfbdev" is the standard name for such a server, or whether he just
named it that.
There doesn't seem to be a command-line option to Xfbdev to set the
depth, and from my understanding it (TinyX?) does not use XF86Config.
How do I get Xfbdev to expose depth 32 windows? Is it a re-make or does
it require code changes? Given how confusing "imake" is to occasional
users I'm not sure which is easier :-)
Peter Kaczowka
===========================================================
[Relevant earlier Render mail:]
Around 11 o'clock on Jun 4, "Bian, Jonathan" wrote:
> Hi, I am trying to find out whether I can use Render to modify the
alpha
> channel in a frame buffer that's in ARGB 8888 format. I modified
Keith's
> sample code slightly to render a red rectangle into the frame buffer
with
> the destination alpha set to 0x80. But I get 0x00FF0000 in the frame
buffer
> instead of the desired 0x80FF0000.
You'll need to create a window of depth 32 instead of depth 24 -- depth
24
windows don't have any place to store the alpha value. That requires
that
the driver expose depth 32 windows, which is probably not the case
currently.
You can try the rest of the code by using a depth 32 pixmap to make sure
your understanding of the rendering operations is accurate; we do need
to
go whack the server to expose depth 32 windows where possible.
Keith Packard XFree86 Core Team HP Cambridge Research Lab
===========================================
Around 14 o'clock on Jun 4, "Bian, Jonathan" wrote:
> Thanks Keith. This makes a lot more sense to me now. Say if I go
ahead
> modifying the driver to expose depth 32 windows, do you think the
current
> XFree86 server is capable of handling this or some additional work is
> required?
Most of the current server is quite capable of handling depth 32
windows,
I'm less sure of the XFree86 driver infrastructure which hasn't seen
quite
the level of hardware variety that the rest of the server has.
You'll want to advertise both depth 24 and depth 32 windows, both at
32bpp.
What we should probably do is make this a common feature of 32bpp
hardware
so that all of the drivers could advertise this.
Keith Packard XFree86 Core Team HP Cambridge Research Lab
===============================================================
[Output from "xdpyinfo" from Xfbdev: this is probably not interesting:]
name of display: 10.1.1.15:0.0
version number: 11.0
vendor string: Keith Packard
vendor release number: 600300
maximum request size: 4194300 bytes
motion buffer size: 256
bitmap unit, bit order, padding: 32, MSBFirst, 32
image byte order: MSBFirst
number of supported pixmap formats: 6
supported pixmap formats:
depth 1, bits_per_pixel 1, scanline_pad 32
depth 4, bits_per_pixel 4, scanline_pad 32
depth 8, bits_per_pixel 8, scanline_pad 32
depth 16, bits_per_pixel 16, scanline_pad 32
depth 24, bits_per_pixel 32, scanline_pad 32
depth 32, bits_per_pixel 32, scanline_pad 32
keycode range: minimum 8, maximum 135
focus: PointerRoot
number of extensions: 10
BIG-REQUESTS
DEC-XTRAP
FontCache
MIT-SHM
MIT-SUNDRY-NONSTANDARD
SHAPE
SYNC
TOG-CUP
XC-MISC
XTEST
default screen number: 0
number of screens: 1
screen #0:
dimensions: 640x480 pixels (217x163 millimeters)
resolution: 75x75 dots per inch
depths (6): 1, 4, 8, 16, 24, 32
root window id: 0x32
depth of root window: 24 planes
number of colormaps: minimum 1, maximum 1
default colormap: 0x20
default number of colormap cells: 256
preallocated pixels: black 0, white 16777215
options: backing-store NO, save-unders NO
largest cursor: 640x480
current input event mask: 0x0
number of visuals: 1
default visual id: 0x21
visual:
visual id: 0x21
class: TrueColor
depth: 24 planes
available colormap entries: 256 per subfield
red, green, blue masks: 0xff0000, 0xff00, 0xff
significant bits in color specification: 8 bits
--- End Message ---