Partially Resident Textures: Not Your Father’s Megatexture

John Carmack’s id Software may not be the engine licensing powerhouse it was back in the Quake 3 days, but that hasn’t changed the revolutionary nature of his engine designs. The reason we bring this up is because there’s a great deal of GPU technology that can be directly mapped to concepts Carmack first implemented. For id Tech 4 Carmack implemented shadow volume technology, which was then first implemented in hardware by NVIDIA as their UltraShadow technology, and has since then been implemented in a number of GPUs. For id Tech 5 the trend has continued, now with AMD doing a hardware implementation of a Carmack inspired technology.

Among the features added to Graphics Core Next that were explicitly for gaming, the final feature was Partially Resident Textures, which many of you are probably more familiar with in concept as Carmack’s MegaTexture technology. The concept behind PRT/Megatexture is that rather than being treated as singular entities, due to their size textures should be broken down into smaller tiles, and then the tiles can be used as necessary. If a complete texture isn’t needed, then rather than loading the entire texture only the relevant tiles can be loaded while the irrelevant tiles can be skipped or loaded at a low quality. Ultimately this technology is designed to improve texture streaming by streaming tiles instead of whole textures, reducing the amount of unnecessary texture data that is streamed.

Currently MegaTexture does this entirely in software using existing OpenGL 3.2 APIs, but AMD believes that more next-generation game engines will use this type of texturing technology. Which makes it something worth targeting, as if they can implement it faster in hardware and get developers to use it, then it will improve game performance on their cards. Again this is similar to volume shadows, where hardware implementations sped up the process.

In order to implement this in hardware AMD has to handle two things: texture conversion, and cache management. With texture conversion, textures need to be read and broken up into tiles; AMD is going with a texture format agnostic method here that can simply chunk textures as they stand, keeping the resulting tiles in the same format. For AMD’s technology each tile will be 64KB, which for an uncompressed 32bit texture would be enough room for a 128 x 128 chunk.

The second aspect of PRT is managing the tiles. In essence PRT reduces local video memory to a very large cache, where tiles are mapped/pinned as necessary and then evicted as per the cache rules, and elsewhere the hardware handles page/tile translation should a tile not already be in the cache. Large tomes have been written on caching methods, and this aspect is of particular interest to AMD because what they learn about caching here they can apply to graphical workloads (i.e. professional) and not just gaming.

To that end AMD put together a technology demo for PRT based on Per-Face Texture Mapping (PTEX), a Disney-developed texture mapping technique that maps textures to polygons in a 1:1 ratio. Disney uses this technique for production rendering, as by constraining textures to a single polygon they don’t have to deal with any complexities that arise as a result of mapping a texture over multiple polygons. In the case of AMD’s demo it not only benefits for the reasons that Disney uses it, but also because when combined with tessellation it trivializes vector displacement, making art generation for tessellated games much easier to create. Finally, PRT fits into all of this by improving the efficiency of accessing and storing the Ptex texture chunks.

Wrapping things up, for the time being while Southern Islands will bring hardware support for PRT software support will remain limited. As D3D is not normally extensible it’s really only possible to easily access the feature from other APIs (e.g. OpenGL), which when it comes to games is going to greatly limit the adoption of the technology. AMD of course is working on the issue, but there are few ways around D3D’s tight restrictions on non-standard features.

Tahiti: The First Direct3D 11.1 GPU Display Tech: HD3D Eyefinity, MST Hubs, & DDM Audio
Comments Locked

292 Comments

View All Comments

  • RussianSensation - Saturday, January 14, 2012 - link

    BF3 is not a 2012 game.......

    Also, most of us have been gaming on our older cards. Who in the world who has a previous high-end card is going to drop $600 for BF3 alone? No thanks.
  • SSIV - Saturday, February 18, 2012 - link

    Since there's a new driver out for there cards we can now regard these results with a grain of salt. Revise the benchmarks!
  • DaOGGuru - Thursday, March 1, 2012 - link

    I don't know why people keep forgeting about the 560ti 2win. Yes I said 2win = 2 560ti processors on one card. It still kills the 7970 numbers in BF3 by 20Fps. and is same price. It also beats the 580 and is cheaper. It's a single card with 50amp min. draw and it will smoke anything except 590 and the 6990...

    http://www.guru3d.com/article/evga-geforce-gtx-560...
  • CeriseCogburn - Thursday, March 8, 2012 - link

    Oh, right, well this isn't an nvidia card review, so we won't hear from 50 posts about how some CF (would be SLI of course in this case) combo will whip the crap out of it in performance and price...
    You know ?
    That's how it goes...
    Usually the articel itself rages on about how some amd CF combo is really so much good and better and blah blah blah.... then the rpice perf, then the results - on and on and on ....
    ---
    The angry ankle biters are swarmed up on the under red dog radeon side...
    --
    So you made a very good point, I'm just sorry it took 29 pages of reading to get to it, in it's glorious singularity.... you shouldn't strike out in independent thought like that it's dangerous.... not allowed unless the card being reviewed is an nvidia !!!!
  • DaOGGuru - Thursday, March 1, 2012 - link

    oops... forgot to say look at previous post links BF3 rating for the 560ti 2win and compare to this charts 7970 fps. The 2win is pumping out @20 more FPS and is $50.00 - $100.00 cheaper than the 7970... lame.. ATi is still behind Nvidia but proud of it! lol They are just now catching up to Nvidia's tessellations and oh and AFTER they changed to a "cuda core copy" architecture and posting it as big news... Evga's older 560ti 2win still dusts it by 20FPS.. lame.
  • DaOGGuru - Thursday, March 1, 2012 - link

    sorry 10FPS not 20.. it's late.
  • DaOGGuru - Thursday, March 1, 2012 - link

    I don't get what's the hub-bub about the 7970.. sure it's the fastest single cpu;BUT, for $50.00-$100.00 less you can get the 560Ti 2win (dual cpu) that smokes the 7970 and the 2win PCB does have an SLI bridge and is cabapable of doing SLI to a second card but it's currently locked by Nvidia (see paragraph 3).

    Also, the 2win draws a min of only 50amps (way less than most sli configurations) 1. has a considerably lower noise dba, 2. runs cooler and with less power than almost all the high end cards and 3. will run 3 montiors in Nvidia 2D and 3D surround off a single card! 4.Will kill the GTX 580 by @33-23% (depending on review) 5. Will beat the 590 in some sample testing for TDP. And finally 6. will kill the 7970 by 10-20FPS in BF3 including by 10FPS in 1920x1200 4AA-16AF Ultra high mode. So, why have people forgotten the 2win? It's a singlecard, multi-GPU, full 3D/2D surround without a second card in SLI, $500.00USD beast !

    OH and for those that say you can't SLI with a second 2win.... http://www.guru3d.com/article/evga-geforce-gtx-560... (this review states on conclusion page) > quote " you will have noticed there is a SLI connector on the PCB. Unfortunately you can not add a second card to go for quad-SLI mode. It's not a hardware limitation, yet a limitation set by NVIDIA, the GTX 560 Ti series is only allowed in 2-way SLI mode, which this card already is."

    ... So actually, the card is cabale 2card SLI but Nvidia for some (gosh aweful reason) won't let the dog off the chain. Probably because it will absolutely kill the need for a GTX580, 570, 560 Ti SLI configuration for ever!

    Resources: (pay attention to BF3 FPS and compare to 7970 FPS in this article.)
    http://www.anandtech.com/show/5048/evgas-geforce-g...
    http://www.guru3d.com/article/evga-geforce-gtx-560...
    Peace...
  • DaOGGuru - Thursday, March 1, 2012 - link

    I don't get what's the hub-bub about the 7970.. sure it's the fastest single CPU; BUT, for $50.00-$100.00 less you can get the 560Ti 2win (dualCPU) that smokes the 7970 and the 2win PCB does have an SLI bridge and is capable of doing SLI to a second card but it's currently locked by Nvidia (see paragraph 3).

    Also, the 2win draws a min of only 50amps (way less than most sli configurations) 1. Has a considerably lower noise DBA, 2. runs cooler and with less power than almost all the high end cards and 3. Will run 3 monitors in Nvidia 2D and 3D surround off a single card! 4.Will kill the GTX 580 by @33-23% (depending on review) 5. Will beat the 590 in some sample testing for TDP. And finally 6. will kill the 7970 by 10-20FPS in BF3 including by 10FPS in 1920x1200 4AA-16AF Ultra high mode. So, why have people forgotten the 2win? It's a single card, multi-GPU, full 3D/2D surround without a second card in SLI, $500.00USD beast !

    OH and for those that say you can't SLI with a second 2win.... http://www.guru3d.com/article/evga-geforce-gtx-560... (this review states on conclusion page) > quote " you will have noticed there is a SLI connector on the PCB. Unfortunately you cannot add a second card to go for quad-SLI mode. It's not a hardware limitation, yet a limitation set by NVIDIA, the GTX 560 Ti series is only allowed in 2-way SLI mode, which this card already is."

    ... So actually, the card is capable 2card SLI but Nvidia for some (gosh awful reason) won't let the dog off the chain. Probably because it will absolutely kill the need for a GTX580, 570, 560 Ti SLI configuration forever!

    Resources: (pay attention to BF3 FPS and compare to 7970 FPS in this article.)
    http://www.anandtech.com/show/5048/evgas-geforce-g...
    http://www.guru3d.com/article/evga-geforce-gtx-560...
    Peace...
  • CeriseCogburn - Thursday, March 8, 2012 - link

    Ummm.... I read you, I see your frustration with all the posts - just refer to my one above there - you really should not be dissing the new amd like that - they like are 1st and uhh... nvidia is evil... so no comparisons like that are allowed when the fanboy side content is like 100 to 1....
    Now next nvidia card review you will notice a hundred posts on how this or that CF beats the nvidia in price perf and overall perf, etc, and it will be memorized and screamed far and wide...
    Just like... your point "doesn't count", okay ?
    It's best to ignore you GREEN fanboy types... ( yes even if you point out gigantic savings, or rather especially when you do...)
    Thanks for waiting till page 30 - a wise choice.
  • CeriseCogburn - Sunday, March 11, 2012 - link

    Southern Islands is a whole generation late. AMD promised us this SI in the last generation 6000 series. Then right before that prior release, they told us they had changed everything and 6000 was not Southern Islands anymore. LOL
    Talk about late - it's what two years late ?
    Maybe it's three years....
    In every case here, Nvidia beat them to the core architecture by two years. Now amd is merely late to the party crashing copycats....
    That's late son, that's not original, that's not innovative, that's not superior, it's tag a long tu loo little sister style.

Log in

Don't have an account? Sign up now