On Mit, 2002-01-30 at 10:32, Vladimir Dergachev wrote: > > On 30 Jan 2002, Michel [ISO-8859-1] Dänzer wrote: > > > > Btw, while I've been sleeping I thought how we could get CCE support into > > > Xvideo. The thing I am really against is duplicating code for case with > > > CCE and without. > > > > Very much agreed. Eliminating that would also do the 2D acceleration > > much good, where a lot of functions are exact duplicates for both cases. > > > > > So, I thought, what about having "Software CCE" ? I.e. always use CCE > > > commands except that in case when dri driver is not availabe emulate > > > it. I am fairly certain emulating indirect buffer and 2d commands > > > would be pretty easy.
I'm not sure it's so easy BTW. Have you looked at what CCE commands are available? I wouldn't want to implement a software emulation, but if you want to, have fun. :) > > I think that's taking it too far (CCE commands are mostly normal > > register writes or complex commands which can be hard to translate into > > normal register access), but R128WaitForFifo() and OUTREG() shouldn't be > > hard to modify such that they use BEGIN_RING(), OUT_RING_REG() and > > ADVANCE_RING() for the CCE case? > > > > Yes, but I would much rather have everything look like CCE, but use > OUTREG/INREG when not available. The reason is that > > a) CCE is really the perfomance case > b) It might turn out that emulating CCE in software is faster then usual > OUTREGs How? The CCE doesn't do anything besides programming registers, does it? > c) This paves the way for PIO 3d support (i.e. when DMA is not available > for some reason) Why would one want that? No DMA means no DRM means no DRI. > d) this sounds cool > e) provides reference implementation.. to check cce behaviour against I don't see the use of this either. > f) the real problem is not outregs in the code, but INREGs - we'll need > to make them CCE aware anyways Are you sure that's a problem at all? IIRC the DRM code reads registers without special precautions about the CCE, but I don't have time to check right now. > g) CCE code is actually _cleaner_ than OUTREGs. I know I looked. I know I've written some. :) -- Earthling Michel Dänzer (MrCooper)/ Debian GNU/Linux (powerpc) developer XFree86 and DRI project member / CS student, Free Software enthusiast _______________________________________________ Xpert mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/xpert