[Note Cc's to potentially interested parties added - Neale]

On Wed, 25 Sep 2002, Bill Soudan wrote:

[...]
> One silly thing I noticed is that the code used to write the blitter
> source pitch to the ring buffer in I810SubsequentScreenToScreenCopy:
> 
>       OUT_RING( pI810->BR[13] & 0xFFFF );
> 
> should really only write 13 bits, 14-32 are reserved according to my copy
> of the specs.  Does the i810 get cranky about its reserved bits?

Ah, "that's interesting".  A few of us have been plagued by a crash which
happens with i810 when running two servers - and goes away when
XaaNoSolidFillRect is set on.  In
i810_accel.c:I810SubsequentSolidFillRect() we find:

        OUT_RING( pI810->BR[13] );
and
        OUT_RING( pI810->BR[16]);

Hmm... similar code fragments...

I810SubsequentScreenToScreenCopy():
===================================8<===================================
   {
      BEGIN_LP_RING(6);
      OUT_RING( BR00_BITBLT_CLIENT | BR00_OP_SRC_COPY_BLT | 0x4 );
      OUT_RING( pI810->BR[13] );

      OUT_RING( (h << 16) | (w * pI810->cpp));
      OUT_RING( pI810->bufferOffset + dst );

      OUT_RING( pI810->BR[13] & 0xFFFF );
      OUT_RING( pI810->bufferOffset + src );
      ADVANCE_LP_RING();
   }
===================================8<===================================

I810SubsequentSolidFillRect():
===================================8<===================================
   {
      BEGIN_LP_RING(6);

      OUT_RING( BR00_BITBLT_CLIENT | BR00_OP_COLOR_BLT | 0x3 );
      OUT_RING( pI810->BR[13] );
      OUT_RING( (h << 16) | (w * pI810->cpp));
      OUT_RING( pI810->bufferOffset +
                (y * pScrn->displayWidth + x) * pI810->cpp);

      OUT_RING( pI810->BR[16]);
      OUT_RING( 0 );            /* pad to quadword */

      ADVANCE_LP_RING();
   }
===================================8<===================================

Any chance that these two problems are different manifestations of the
same coding oversight?

If so, what would be the correct constructs here?

Thanks,
Neale.

_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to