-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Keith Whitwell wrote:
> Ian Romanick wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Keith Whitwell wrote:
>>> OK, the first round of work on the VBO branch seems to have gone quite 
>>> smoothly.  It'd be great if a couple of the key r200/r300 people could 
>>> check the branch out and verify whether I've broken those drivers or not.
>>>
>>> It'd be particularly interesting to see if someone (Aapo?) can take a 
>>> look at the disabled vtxfmt_a code and see if it is easy to port that 
>>> over to the new archiecture.  I've got a feeling it should be fairly 
>>> straight-forward, as it's simple to fallback to the tnl/ module for any 
>>> unexpected or non-handled situations.
>> How hard would it be to add some quick-and-dirty acceleration for CVAs
>> in this branch?  I ask for a couple reasons.  First, it's on my Mesa
>> wish-list. ;)  Second, I think that the lack of acceleration for CVAs is
>> a big part of the reason that fglrx beats the pants off r300 in Quake3
>> based games.
>>
>> According to the Phoronix review (below), gets nearly *DOUBLE* the
>> framerate in Enemy Territory at 640x480 on an X300.  Ouch. :(  The gap
>> closes as resolution increases.  It stands to reason that we're not fill
>> rate limited but geometry limited.
>>
>> It seems like we ought to be able to do something generic that could be
>> enabled by any driver that provides real VBOs.  Thoughts?
> 
> That's the catch.  I don't know how many drivers do provide real VBO's - 
> does the r300 actually manage this?

In a limited sense, yes.

> Until the i965 gets ported to the TTM memory manager, it is still using 
> a fake-plus implementation of VBO's - it has backing store in regular 
> memory which gets copied to AGP on usage, just like textures in the old 
> DRI scheme.  It may stay there for several usages, but can be knocked 
> out at any time by another context.
> 
> You run into a similar situation if you try to make the VBO module turn 
> *all* incoming data into VBO's, like I thought would be clever when I 
> started writing it:
> 
> The upload path using VBO's would look like:
> 
>       - Identify locked array situation.
>       - Copy locked arrays to VBO.
>       - Inside the driver: Copy VBO to AGP.
> 
> So you get a double copy.  Compare to just leaving them alone:
> 
>       - Pass regular arrays to driver
>       - Inside the driver: Copy arrays to AGP.
> 
> Only one upload.
> 
> With CVA, maybe the arrays will get used again in a subsequent drawing 
> command, in which case you don't lose, or maybe 2 subsequent commands, 
> in which case you win.

I wonder if we could avoid one of the copies in the CVA case by
implicitly using some APPLE_client_memory type functionality.  Do some
sort of a lazy copy.  Hmm...

> If the driver actually does real VBOs and it allows us access to real 
> AGP memory, we can do:
>       
>       - Identify locked array situation
>       - Copy locked arrays to VBO in AGP space.
> 
> Which is what you want.

Right.  Which is why the driver would have to flip the switch to enable
that code path.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQFFS6OjX1gOwKyEAw8RApt7AJsFwPJMs8NyMLG2n5MEMymgw5vYtwCaAxoF
yHG2ExDHP4lHRdv4hpNmz7A=
=IPdn
-----END PGP SIGNATURE-----

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to