On Mon, 2002-07-01 at 23:23, Tim Smith wrote:
> On Monday 01 Jul 2002 9:06 pm, Michel Dänzer scribed numinously:"
> > On Mon, 2002-07-01 at 21:28, Tim Smith wrote:
> > > - BEGIN_RING( 4 );
> > > - OUT_RING( CP_PACKET0( RADEON_RE_TOP_LEFT, 0 ) );
> > > - OUT_RING( (box->y1 << 16) | box->x1 );
> > > - OUT_RING( CP_PACKET0( RADEON_RE_WIDTH_HEIGHT, 0 ) );
> > > -/*       OUT_RING( ((box->y2 - 1) << 16) | (box->x2 - 1) );*/
> > > - OUT_RING( (box->y2 << 16) | box->x2 );
> > > - ADVANCE_RING();
> > > +        BEGIN_RING( 3 );
> > > +        OUT_RING( CP_PACKET3( RADEON_CCE_SET_SCISSORS, 1 ));
> > > +        OUT_RING( (box->y1 << 16) | box->x1 );
> > > +        OUT_RING( (box->y2 << 16) | box->x2 );
> > > +        ADVANCE_RING();
> >
> > Add Jacek's fix to use the commented out variant with -1, and it's
> > perfect! :) Or does the command account for that? Either way, great job.
> 
> As far as I can tell, the command simply causes the CCE to put the same 
> register writes on the command FIFO itself. However, it gets to manage its 
> own state better while doing that because it knows what's going on, rather 
> than having to recognise a write to RE_TOP_LEFT and put itself into a 
> different state waiting for a write to RE_WIDTH_HEIGHT to happen (eek!).
> 
> I wondered about that commented-out line. I assumed (yeah, I know :-) that 
> it was there because someone was trying different things, and left the one 
> that didn't work commented out. The question I presume being whether the 
> rectangle is bottom-right inclusive of bottom-right exclusive. I think it's 
> inclusive, myself (unlike normal drawing of rectangles when you specify a 
> bottom-right corner; I think they want you to use width/height) because 
> otherwise it would be possible to have a screen whose bottom right lines 
> could never be included in the clipping rectangle; you could put a pixel at 
> 0x1FFF, 0x1FFF, but never set up a clipping rectangle that allowed it to be 
> drawn.

Why not? If you have to specify w-1 and h-1, w and h can be up to 1<<16.

> Also, the screen seems correct as-is; if the bottom/right were being 
> specified too wide, I would expect the top left of my menus to be 
> overwritten, which would be quite obvious as they're bevelled. Am I missing 
> something?

Apparently yes, though I can't tell you exactly what. You should see the
problem with a fullscreen app, I saw it particularly well with
BillardGL.


> > Also, 'CCE' makes me think of a Rage128, the Radeon engine is usually
> > called 'CP', and the existing commands in the file are simply called
> > RADEON_CNTL_* .
> 
> Oops. Cut 'n' paste -itis. Yes, call it RADEON_CNTL_SET_SCISSORS. Much more 
> sensible. The way I read the docs, the CP reads the command FIFO (as 
> opposed to PIO mode where you manipulate the registers directly), and the 
> CCE reads the ring buffer and feeds the command FIFO.

I saw a sentence along the lines of 'CP aka CCE' in there, and they seem
to use both acronyms interchangeably. The register names all seem to
contain CP though, I guess that's why I was (mis?)lead to thinking that
what used to be called CCE for the Rage128 was called CP for the Radeon.


-- 
Earthling Michel Dänzer (MrCooper)/ Debian GNU/Linux (powerpc) developer
XFree86 and DRI project member   /  CS student, Free Software enthusiast


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to