nanogui: Re: pixmaps and XOR not working]


Previous by date: 13 May 2010 03:09:38 -0000 Re: pixmaps and XOR not working], Jim Ham
Next by date: 13 May 2010 03:09:38 -0000 Re: pixmaps and XOR not working] - NXLIB, Greg Haerr
Previous in thread: 13 May 2010 03:09:38 -0000 Re: pixmaps and XOR not working], Jim Ham
Next in thread: 13 May 2010 03:09:38 -0000 Re: pixmaps and XOR not working], Jim Ham

Subject: Re: [nanogui] pixmaps and XOR not working]
From: "Greg Haerr" ####@####.####
Date: 13 May 2010 03:09:38 -0000
Message-Id: <0a8301caf249$8b23bcf0$6564a8c0@winXP>

: There is one other place in the code that uses GrCopyArea() and XOR, and
: it shows the same behavior. Different pixmaps, but the result is the
: same - GR_MODE_COPY apparently.


Jim - I thought I had sent you some help on this last week.

The problem is likely that the framebuffer you're running
doesn't implement the blit XOR opcode, and copies instead.
To debug this, I need to know the bits per pixel (bpp)
that you're screen is configured for.  From this I can
determine the driver nano-X is using.

The call chain will look like this, (go ahead and try debugging):

nanox/srvfunc.c::GrCopyArea is called.  

GrCopyArea checks its last parameter, op, to see
whether its MWROP_USE_GC_MODE.  If so, then
the op is taken from the passed gc.  If not, then
the op is used directly.  You are passing FALSE,
so this is in error.

GrCopyArea then calls engine/devdraw.c::GdBlit with the opcode.

GdBlit calls the driver Blit() entry point.  If
you're running 32bpp, this would be
drivers/fblin32.c::linear32_blit().  There is a case statement
that handles the XOR case using ApplyOp.

Hope this helps!

Regards,

Greg

Previous by date: 13 May 2010 03:09:38 -0000 Re: pixmaps and XOR not working], Jim Ham
Next by date: 13 May 2010 03:09:38 -0000 Re: pixmaps and XOR not working] - NXLIB, Greg Haerr
Previous in thread: 13 May 2010 03:09:38 -0000 Re: pixmaps and XOR not working], Jim Ham
Next in thread: 13 May 2010 03:09:38 -0000 Re: pixmaps and XOR not working], Jim Ham


Powered by ezmlm-browse 0.20.