[cairo] cairo-xlib-surface.c:402: _swap_ximage_to_native:Assertion`NOT_REACHED' failed.

Daniel Amelang daniel.amelang at gmail.com
Fri Dec 1 11:20:36 PST 2006


On 11/30/06, Erik Ohrnberger <erik at echohome.org> wrote:
> > -----Original Message-----
> > From: cairo-bounces at cairographics.org
> > [mailto:cairo-bounces at cairographics.org] On Behalf Of Damian Dixon
> > Sent: Wednesday, November 22, 2006 4:07 AM
> > To: Carl Worth; Daniel Amelang
> > Cc: cairo at cairographics.org
> > Subject: RE: [cairo] cairo-xlib-surface.c:402:
> > _swap_ximage_to_native:Assertion`NOT_REACHED' failed.
> >
> > On Tue, 21 Nov 2006 10:46:03 -0800, "Daniel Amelang" wrote:
> > >> Yes, but the issue is not the color depth, it's the bits per pixel.
> > It
> > >> is common to have 24-bit depth, yes, but less so to have
> > 24bpp. Cairo
> > >> is broken on X Servers that use 24bpp for Pixmaps, but it
> > works fine
> > >> on 32bpp servers that have 24-bit color depth.
> > >
> > >I wouldn't be very surprised to learn that that is the case.
> >
> > Sorry I should have been a lot clearer about my use of depth and bpp.
> >
> > I have a couple of X-Servers (6.4) running on Embedded
> > hardware that use
> > 5-6-5 format packed for the Pixmap. I have about 15 different
> > X-Servers running on a number of different OS's and
> > processors (SPARC, PA-RISC II, XScale, AMD x64, Intel, MIPS).
> >
> > I do admit that some of the systems I have are long in the
> > tooth but we have people using these systems...
> >
> > I could probably try cario with some of these combinations
> > and provide some feedback. I am just not sure if I can commit
> > any significant time.
> >
> >
> > >> At least that is my understanding. I'm a little concerned that Carl
> > or
> > >> Keith hasn't chimed in to give a more authoritative response.
> > >
> > >I haven't tested it at all, so you're already speaking from a more
> > >authoritative position I think. :-)
> > >
> > >As far as the idea of converting when transferring to/from the X
> > >server, I think that's what the patches here do (originally
> > written for
> > >the 8bpp case):
> > >
> > >     Cairo doesn't have 8-bit pseudocolor support
> > >     https://bugs.freedesktop.org/show_bug.cgi?id=4945
> > >
> >
> > I have had a look at patch for 1.2.4 and most of the patch is
> > fine in that what the patch does in isolation looks ok with
> > the following
> > observations:
> >
> > There is a thread issue at the top of _get_clut_r3g3b2 that
> > needs to be sorted.
> >
> > The patch should use XQueryColors rather then XQueryColor.
> >
> > If the colourmap changes then there is no way of picking up
> > the change.
> > Do we assume that the colourmap has been created specifically
> > for cairo and no-body else is using it? Possibly handle read
> > only colour maps differently from Read/Write colourmaps?
> >
> > The colour matching may be an issue. What has been done looks
> > reasonable but I would like to see a reference to why this
> > particular approach was taken.
> >
> > I don't know anything about Pixman and what formats it
> > supports to say if the checks made for the Visual class are
> > sufficient. I suspect that additional checks are required.
> >
> >
> >
> > I doubt that 8-bit pseudocolor will be useable when
> > anti-aliasing is turned on. Dithering of colours will also
> > introduce artefacts which may not be acceptable.
> >
> > I have found that when using 8-bit pseduocolour you want to
> > be able to specify the colour palette to ensure that you
> > don't get any odd fills or effects. In addition the colours
> > used by the program need to contained in the colourmap.
> >
> >
> > >I honestly haven't looked at the issue close enough to made
> > a judgement
> > >call on whether those patches are in the right direction or
> > not. I'd be
> > >glad to hear opinions from people here, (as well as results from
> > >testing these patches for the 24-bpp problem in this thread).
> > >
> > >-Carl
> >
> > Regards
> > Damian
> > _______________________________________________
>
> OK, I've returned from out of town, and I'm wondering where this discussion
> ended up.
>
> Should I start hunting around for a source tarball for cairo-0.1.6 and it's
> ebuild file for my gentoo system, or should I hang on and wait for a patch
> to test (which I'd be glad to do), or how should I best approach this?

If you're going to go back to cairo 0.1.6, you'll have to stick with
really old versions of GTK+ and friends, too. I don't think they will
work with such an old cairo.

You probably don't want to hear this, but one option is to use a
modern Win32 X server that doesn't force you to use 24bpp. XVision has
been unsupported for several years, AFAIK. Actually, now that I look
it up, XVision's decendant, the "Sun Secure Global Desktop" has the
same problem. But there are other Win32 X servers out there you can
maybe use as a workaround.

Regardless, the core problem needs to be solved. Have you tried any of
the patches here:

https://bugs.freedesktop.org/show_bug.cgi?id=4945

> I also noticed that the bug that I submitted to bugzilla isn't there
> anymore.  What happened?

I still see it:

https://bugs.freedesktop.org/show_bug.cgi?id=9102

Dan


More information about the cairo mailing list