[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Linux-x86-64 and cairo crash
From: |
Eric Wasylishen |
Subject: |
Re: Linux-x86-64 and cairo crash |
Date: |
Mon, 12 Sep 2011 16:41:25 -0600 |
On 2011-09-12, at 3:48 PM, Fred Kiefer wrote:
> On 12.09.2011 21:17, Eric Wasylishen wrote:
>> Based on what Fred said, it looks like the design of XGCairoXImageSurface is
>> flawed and won't work on 16-bit displays. (But did it work for you in the
>> past?)
>>
>> One thing you could try is switch to XGCairoSurface. In CairoContext.m, just
>> adjust the comments so you have:
>> # define _CAIRO_SURFACE_CLASSNAME XGCairoSurface
>>
>> This will create a cairo xlib surface for the window buffer, instead of a
>> cairo image surface. Interestingly enough it seems to work for me - I don't
>> think it worked a few months ago.
>>
>> as an aside, I would like to switch to XGCairoSurface by default at some
>> point, rather than fixing XGCairoXImageSurface. It would have a number of
>> benefits, like:
>> - enables subpixel antialising for fonts
>> - removes the need for using shared memory for the window buffer for good
>> performance (from what I understand, cairo will automatically use shm to
>> transfer bitmaps to the x server when needed).
>> - it may allow hardware acceleration for some operations?
>
> If I remember correctly the reason we switched to XGCairoXImageSurface was
> that with XGCairoSurface we could not get transparent windows. Yen-Ju of the
> Etoile project suggested to use XGCairoXImageSurface and this has worked
> remarkably well for almost five years now. If transparency works now, even on
> old 24 bit displays, with XGCairoSurface then we should switch back to that.
> Otherwise we need to figure out a better way to determine which surface to
> use.
>
> Fred
Ah, I see. Transparent windows works fine for me with XGCairoSurface now -
perhaps it was a limitation in cairo that was fixed since then.
btw, I added the test to GSTest that I was meaning to write for a while, for
testing -[NSWindow setAlphaValue:] and -[NSWindow setBackgroundColor:] for
colors with an alpha < 1. It's called "Transparency-test".
Eric
- Linux-x86-64 and cairo crash, Riccardo Mottola, 2011/09/11
- Re: Linux-x86-64 and cairo crash, Eric Wasylishen, 2011/09/11
- Re: Linux-x86-64 and cairo crash, Fred Kiefer, 2011/09/12
- Re: Linux-x86-64 and cairo crash, Riccardo Mottola, 2011/09/12
- Re: Linux-x86-64 and cairo crash, Fred Kiefer, 2011/09/12
- Re: Linux-x86-64 and cairo crash, Eric Wasylishen, 2011/09/12
- Re: Linux-x86-64 and cairo crash, Philippe Roussel, 2011/09/12
- Re: Linux-x86-64 and cairo crash, Fred Kiefer, 2011/09/12
- Re: Linux-x86-64 and cairo crash,
Eric Wasylishen <=
- Re: Linux-x86-64 and cairo crash, Fred Kiefer, 2011/09/13
- Re: Linux-x86-64 and cairo crash, Wolfgang Lux, 2011/09/13
- cairo xlib surface (was: Re: Linux-x86-64 and cairo crash), Eric Wasylishen, 2011/09/13
- Re: cairo xlib surface (was: Re: Linux-x86-64 and cairo crash), Eric Wasylishen, 2011/09/13
- Re: cairo xlib surface, Fred Kiefer, 2011/09/14
- Re: Linux-x86-64 and cairo crash, Riccardo Mottola, 2011/09/15
- Re: Linux-x86-64 and cairo crash, Wolfgang Lux, 2011/09/15
- Re: Linux-x86-64 and cairo crash, Eric Wasylishen, 2011/09/15
- Re: Linux-x86-64 and cairo crash, Riccardo Mottola, 2011/09/15
Re: Linux-x86-64 and cairo crash, Riccardo Mottola, 2011/09/13