On Mon, 28 Feb 2005 10:05:28 -0500 (EST), Vladimir Dergachev <[EMAIL PROTECTED]> wrote: > > >>> > >>> tiling is disabled by default on r3/4xx cards so it shouldn't affect > >>> you. someone needs to figure out how to properly enable it on r3/4xx > >>> cards (for both 2d and 3d). Once it is figured out it should provide > >>> a nice boost in performance. > >> > >> Alex, > >> > >> Could you explain to me what tiling is ? I thought it is simply a way > >> to render images larger than 2048x2048, in which case I do not see how it > >> can increase performance (ignoring things like cache sizes) > >> > >> There is a "TILING" register in R300 which we set, but I believe it > >> refers to something different - partioning rendering into small squares > >> (like 16x16) for the benefit of the rendering engine. > >> > > > > that's pretty much what tiling is. you can represent the framebuffer > > either linearly, or as a series of fixed size tiles. for example, you > > might bave fixed size tiles of 1024 bytes. so each tile would be 16 > > pixels x 16 pixels x 4 bytes for depth 24 and 32x16x2 for depth 16. > > > > linear framebuffer: > > _________________ > > | | > > | | > > |________________| > > > > tiled framebuffer: > > > > _________________ > > |__|__|__|__|__|__|__ | > > |__|__|__|__|__|__|__ | > > |__|__|__|__|__|__|__ | > > > > > > when you use tiles you usually need to make allocation in units of full > > tiles. > > fixed sized tiles can speed up rendering as tiles probably better > > utilize the cache and redeuces the amount of framebuffer that has to > > be processed as only affected tiles need to be updated. > > Ahh, thank you Alex and Nicolai, now I am less confused. > > Just FYI, R300/R350 chips support 16 pixel square tiling only for zbuffer and > colorbuffer, there are also options to have 8 pixel wide and 16 pixel wide > tiling - probably for textures, but I can't imagine a situation where we > read from textures but do not touch colorbuffer or zbuffer (I assume the > limit for zbuffer is also valid for stencil buffer, maybe I am wrong). > > By default r300_demo and r300_driver have tiling enabled at 16x16 pixel > squares, in fact the card should come up with this on by default.. > > Now on to the next question - how can one fix the 2048x2048 limit ? >
check out this thread: http://marc.theaimsgroup.com/?t=106703195300003&r=1&w=2 another option would be to adjust the 3d engine offset: http://marc.theaimsgroup.com/?t=110690272200007&r=1&w=2 however, as I said in another email yesterday, the max width of a tiled surface is 2048. I think long term though, a better solution would be to get rid of mergedfb and handle each head separately but just change the 2d/3d engines offsets depending on which head you are rendering to. then you wouldn't have to worry about the limits so much (although some of these new super hi-res LCDs would still need some work). Alex > thank you ! > > Vladimir Dergachev > ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click -- _______________________________________________ Dri-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dri-devel
