On Sat, 20 Apr 2002, José Fonseca wrote:

> On 2002.04.20 21:21 Leif Delgass wrote:
> > Jose,
> > 
> > I added the remaining bits to copy the agp texture region info to the
> > drm.
> > It's not used, but the information is there in case we need it later.
> > 
> > I hope you don't mind, but I took the liberty of converting your drm
> > emit_state functions to use the DMA* macros, which ensures that enough
> > fifo entries are present before doing the state reg. writes, so we avoid
> 
> I don't mind at all. In fact I also did the same here, and I was about to 
> check when I received your email, and things started to work again! *ufh*
> 
> > potential lockups.  BTW, I haven't noticed any texture problems, even
> > after disabling the UploadHWStateLocked in
> > mach64_ioctl.c:FlushVerticesLocked
> > (this is redundant if the kernel is emitting state).  Were you seeing the
> > 
> > problem with UploadHWStateLocked enabled?  I tried UT with
> > UploadHWStateLocked enabled and without the DMA* macros, and with
> > UploadHWStateLocked disabled and _with_ the DMA* macros.  Both of those
> > combinations worked fine.  I haven't tried with UploadHWStateLocked
> > disabled and without the DMA* macros yet, though.
> > 
> 
> Yep. that seems to be the problem...
> 
> > --
> > Leif Delgass
> > http://www.retinalburn.net
> > 
> 
> Now I'll merge your changes with some code cleanups I did here.
> 
> The question is what do next? These are some things that we could do:
>   - check the FIFO when PseudoDMAing (as in Utah)
>   - Texture Uploads through the DRM (blits)
>   - DMA buffer aging (even though we don't have DMA we gonna need this I 
> suppose )
>   - AGP texturing (this can be done without DMA, can't it?)
>   - optimize the DMA buffer construction in the primitive drawings
> 
> I think there are more. What do you think we (each one) should focus next?
> 
> José Fonseca
> 

Well, I think it would be good to combine the first and last option.  A 
few small changes will enable checking the FIFO (which I see as a high 
priority), and handling sequential register writes in a flush function for 
pseudo-DMA.  For sequential writes, we need to detect where these occur in 
a buffer and then increment the register address with each write, like the 
utah-glx pseudo-DMA flush.  I think we need this in place before we start 
to work on new ioctls.  These changes will allow streamlining the vertex 
buffers.  Then I think we should think about how to handle the descriptor 
tables.  I'd like to stablilize the structures, so we have everthing we'll 
need there.  I'm not too familiar with how the buffer aging works, I'll 
have to look at that.  I think we could put off texture blits for a while.  
I was thinking that it might be easiest to start off the DMA testing on 
swaps, clears and state, and then move on to the vertex buffers, etc.

I can continue looking at the AGP texturing, and I think you're right that 
almost everthing is in place for that already now.  I believe we can do 
this without blits, by just copying textures into the AGP region.

What are your thoughts?

-- 
Leif Delgass 
http://www.retinalburn.net


_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to