XRender/Xcomposite semantics (issues?)

Carsten Haitzler (The Rasterman) raster at rasterman.com
Thu Mar 9 18:26:25 PST 2006


On Thu, 09 Mar 2006 10:20:14 -0800 Keith Packard <keithp at keithp.com> babbled:

> On Thu, 2006-03-09 at 17:45 +0900, Carsten Haitzler wrote:
> 
> > hmm - it does? (redirect to a SEPARATE pixmap?) i was doing code for
> > just this.
> 
> Well, that's what it's supposed to do at least, and I've tested it
> occasionally. But, there can always be bugs, and I haven't tried it
> recently.

oh hmm. i smell some serious excess pixmap usage needed here. it would be better to expand A to be 0xff as you draw - as this woudl double the pixmap storage needs for a situation where u have:
+----------------+
|ARGB parent     |
|+--------------+|
||RGB frame     ||
||+------------+||
|||ARGB client |||
|||            |||
||+------------+||
|+--------------+|
+----------------+

where the window tree is:

parent
 |  \
 |  frame
client


(ie both client and frame are siblings, but client is stacked above frame)

now u'd need an ARGB pixmap AND a RGB pixmap (2) for the same window.

> >  wondering iof the drivers/x implementation should expand draws to RGB
> > children of a ARGB ancestor to have alpha as 0xff?
> 
> Nope, Composite says to just draw the child off-screen and paint it into
> the parent. That should always work; painting RGB to an ARGB window is
> well defined, and should fill A with 1.

hmm - ok. well what i was seeing was this not happening. then again i'm still on 6.9 :) 

> -- 
> keith.packard at intel.com
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    raster at rasterman.com
裸好多
Tokyo, Japan (東京 日本)



More information about the xorg mailing list