On Mon, 2003-09-29 at 19:53, Alex Deucher wrote:
> --- Michel Dnzer <[EMAIL PROTECTED]> wrote:
> > On Sat, 2003-09-27 at 23:10, Alex Deucher wrote:
> > > --- Michel Dnzer <[EMAIL PROTECTED]> wrote:
> > > > 
> > > > As a bonus, once you've solved all the issues involved, adding
> > some
> > > > RENDER extension acceleration should be trivial. :) I played with
> > > > that a
> > > > little but never found the time to get it very far.
> > > 
> > > Do you have any code (however broken) I could look at?
> > 
> > Sure, http://penguinppc.org/~daenzer/DRI/radeon_render.c . It's for
> > the
> > R100 3D engine, and it doesn't render anything yet, or at least not
> > anything like what it's supposed to. :\
> 
> I've briefly looked over the code.  I've got a few questions.  
> How does this take care of the state sharing issue (2D and 3D) that Ian
> brought up yesterday?  

Not at all. I was going to worry about that once the rest worked more or
less as expected.


> SubsequentCPUToScreenTexture() looks like it sends the packets for
> creating a quad?

Yes, that's the idea.


> there are several places where you have code that looks like this:
>     BEGIN_RING( 8 );
> 
>     OUT_RING_REG( RADEON_PP_TXFORMAT_0, RADEON_TXFORMAT_RGBA8888
>                                     | RADEON_TXFORMAT_ALPHA_IN_MAP
>                                     | RADEON_TXFORMAT_NON_POWER2
>                                     | RADEON_TXFORMAT_ALPHA_MASK_ENABLE );
>     OUT_RING_REG( RADEON_PP_TXOFFSET_0, offset );
>     OUT_RING_REG( RADEON_PP_TXPITCH_0, pitch - 32 );
>     OUT_RING_REG( RADEON_PP_TXSIZE_0, (width-1) | ((height-1) << 16) );
> 
>     ADVANCE_RING();
> 
> Why did you use 8 rather than 4?  it seems to me you are only issuing 4
> commands, or is the code just in an incomplete/testing state?

BEGIN_RING() takes the number of 32 bit words you're going to write to
the ring. OUT_RING() writes one word to the ring. A register write
consists of two words, the first one basically denotes the register
address and the second one the value to be written to it. OUT_RING_REG()
is a convenience macro for that.


-- 
Earthling Michel Dänzer   \  Debian (powerpc), XFree86 and DRI developer
Software libre enthusiast  \     http://svcs.affero.net/rm.php?r=daenzer



-------------------------------------------------------
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