nanogui: blitting with more than 8bpp
Subject:
Re: blitting with more than 8bpp
From:
"Greg Haerr" ####@####.####
Date:
23 Dec 1999 17:47:40 -0000
Message-Id: <008f01bf4d5c$4c80c260$15320cd0@gregh>
Kyle -
Other folks have reported that 16bpp works, but perhaps
they're not running the blit demo.
Your patch also will fail in the for loop:
for(i=0; i<w; ++i)
*dst++ = *src++;
because you have doubled "w", and dst and src
are ADDR16's, not addr8's.
I sugguest you try a different patch, on the original code:
set "dst = dstpsd->addr; src = srcpsd->addr"
and then change the lines
dst = dstpsd->addr + dstx + ...
src = srcpsd->addr + srcx + ...
to
dst += dstx + ...
src+= srcx + ...
Let me know how this goes...
Greg
: --- fblin16.c Wed Dec 22 21:25:48 1999
: +++ fblin16.c~ Wed Dec 22 21:30:22 1999
: @@ -133,11 +133,8 @@
: assert (srcy+h <= srcpsd->yres);
:
: DRAWON;
: - dst = dstpsd->addr + (dstx + dsty * dlinelen)*2;
: - src = srcpsd->addr + (srcx + srcy * slinelen)*2;
: - w *= 2;
: - dlinelen *= 2;
: - slinelen *= 2;
: + dst = dstpsd->addr + dstx + dsty * dlinelen;
: + src = srcpsd->addr + srcx + srcy * slinelen;
: while(--h >= 0) {
: #if 0
: /* a _fast_ memcpy is a _must_ in this routine*/
:
:
: ---------------------------------------------------------------------
: To unsubscribe, e-mail: ####@####.####
: For additional commands, e-mail: ####@####.####
:
: