Shading Tiles with Larrabee (With Extra Goodies)

We've looked at the way we get from triangles to tiles a bit. Intel shared a bit of a deeper look at how they are organizing their software render on the back end (from the tiles to the screen).

First, full tiles are fetched into cache. Reaching back to understanding how threads are organized, we can have four simulatneous threads running, and keeping all four of these threads working on parts of the same data set will help keep from thrashing the cache. Intel has indicated that the organization of software rendering threads durring back end processing will be as illustrated in the following diagram.

We see that there are 4 thread with one acting as a fragment setup thread which takes all the geometry in the tile and creating fragments from it for further processing. There are then three work threads that take ready fragments (or more like groups of 4 to 16 fragments each -- just a guess for now), check to see if they are visible, shade the fragment (load textures and run associated shader programs), perform any antialiasing and handle blend operations. Remember that this is all just software. It doesn't have to happen this way, but this is the direction Intel had indicated they have taken for their software renderer and for implementing DirectX and OpenGL.

By the time Larrabee arrives as a product, I certainly hope that we'll get a deeper look at what's really going on under the hood and how everything is organized. I suppose the holy grail would be if Intel decides to release it's software renderer source code to the general public, but even if we don't get that we'll try to get information on all the different types of threads, fibers and strands that are spawned to handle all the different steps in the rendering pipeline.

Beyond just taking traditionally fixed function features and running them in software, Intel can do a few cool things that are difficult with current hardware. In order to get layered transparency to work right, game developers need to sort objects and polygons as best then can from back to front (rendendering the furthest object to the screen first). If this isn't done, we can get some funky artifacts that don't look right. Since all this is software, Intel can do a few cool things to help developers out: where there is transparency, they can maintain an list of fragments at that screen position with z info attached rather than just blending or discarding data immediately. This way, when the blend is performed, it can be done properly no matter what order the geometry was rendered in.

Additionally, Irregular Z-buffers (which can allow for the creation of screen resolution shadow maps to avoid artifacts) and other complex data structures that can't easily or efficiently be implemented on traditional GPU hardware can be implemented on Larrabee without a second thought. Some of this stuff Intel can do on the back end to improve quality and performance in all applications, but some of it really won't make a difference until developers start to embrace the new architecture. And it's not just doing new things -- there are probably plenty of devs out there who would love to entirely skip the step of sorting their polygons when dealing with layered transparency.

Building an Optimized Rasterizer for Larrabee The Future of Larrabee: The Many Core Era and Launch Questions


View All Comments

  • del - Friday, August 15, 2008 - link

    Don't be a hater. :P Intel has got it goin' on right now. Believe in the POWAH of Larrabee... unless it proves to be a failure upon release.

  • Thatguy97 - Sunday, June 28, 2015 - link

  • atlmann10 - Saturday, August 9, 2008 - link

    Think about this ok AMD originally was a private IBM cpu manufacturer. Then bought out and run as a side unit of INTEL, that was dropped after they were done with them. So in a way the were partners and I'm sure there was some friendliness. As it's always been said keep your friends close but your enemies closer. There have been some things especially in these past two years that struck me kind of odd. Such as AMD's graphics chips running fine on a x38/48 chipset and the physics collaboration things as well as a few other rumors. Then Nvidia starts spouting off about how they could kick INTELS A77 etc. Now AMD has a definite GPU coprocessor in ATI and they wanna break into the market of GPU's etc. They know that there will be graphics competition with Nvidia being there largest competitior because there dedicated to GPU's solely and have a reputation. However now AMD has some chips that compete straight on weakening Nvidia to a point. Then AMD is getting more and more out of there cpu's gpu's and chipsets so INTEl jumps in the CPU GPU market just like AMD. Either way it turns out more are going to go with INTEL cpu's and many other products where AMD is kind of a fringe player. Who would you rather compete against full on 2 major GPU manufacturers or attempt to kind of co-align yourself with there competetitor while the somewhat down. Then throw out a whole new way to do graphics that performs well Nvidia is already loosing market share. So more people try it and the same number of people go with ATI. That leaves a much lower market for Nvidia plus there paying back what some 200 million dollars in bad GPU's right now as well and a few other problems they been having. Now this is not anything I know but knowing INTEL loves to stick it to competitors when there weak think about it. Reply
  • benkantor - Wednesday, August 6, 2008 - link

    if you could fit 10 Larrabees on 143 mm^2, you could fit 40 Larrabees on 286 mm^2, not 20... :P Reply
  • MamiyaOtaru - Saturday, August 9, 2008 - link

    For the love of education. We've already been through this. See the end of page 6 through page 7 in the comments section.

    143mm^2 doesn't mean 143*143. It means 143 square millimeters. 286 square millimeters is twice as many, allowing twice as many cores.">

    The article is right and you are so very wrong.
  • Barack Obama - Wednesday, August 6, 2008 - link

    Derek and Anand deliver again! Reply
  • KGR - Wednesday, August 6, 2008 - link

    I am not a profeesional about software and hardware that is why maybe this question can sound nonsense .
    If larrabee will have a software renderer and programmed by C++ is it possible that it is not depended on windows? I mean if it doesnt need direct X can we run the games on Linux also??
  • npoe1 - Tuesday, August 5, 2008 - link

    I enjoyed reading this so much. I think that this kind of articles is what Anandtech needs; I usually go to Arstechnica to read things like this one.

    Again, thanks!
  • TrEmEnDo - Tuesday, August 5, 2008 - link

    I am definitely impressed with this new development and I expect that this technology will be disruptive down the road, however I feel that somehow they are about to commit another of their megalomaniac mistakes.
    Has anyone stopped for a sec and look where all gaming industry is heading into? Are PCs the future gaming platform? Maybe I am missing something but aren't the big guys already struggling to retain a 'decent' percentage of the multibillion gaming pie (PC gaming alliance anyone...)? I believe that whether us, tech enthusiast, hardcore pc gamers like it or not, it is the console arena where the big guns are going to be playing in a few years from now.
    Guys, we are seeing this happening everyday, we see tittles appearing and disappearing everyday b/c companies don't want to commit the resources to develop games for more than one or two platforms (normally doing a sloppy work BTW). Now that the grandpas of graphic hardware had manage to get DX/D3D derived engines into the last gen consoles (xenos, RSX) and a terribly inertial and rigid developer community avoids and whines about how difficult is to program for the few hardware 'jewels' that we have already in our hands (Cell/RV770/G200) do you think anyone except Intel is in the mood for yet another graphics industry spin?

    I have no doubt that this new development will have its own niche application or someone will definitely find something appropriate for it, but to say that Larrabee CAN do graphics and to say larrabee will kick ass so bad that in 3 years from now we all will be gaming from a Larrabee containing computer are two very different things.
    Congrats to Intel as the fathers of the creature, and congrats to us to see the tech world moving on....but just don't think this will change the world as we know it.
  • hooflung - Tuesday, August 5, 2008 - link

    They are doing something very AMD like and taking it a step further and tossing in a few Power ideals in. I just wonder what the power profile will look like and who will partner up with Intel for it.

    I am sure they will have 4+ of these cores built into integrated chip sets for OEMs and laptops to really boost those areas. And people who buy laptops will see that they can get a desktop with 'bigger larrabee' and play their games faster than their budget/laptop computer.

    So it does make sense. However, it is an empire made on a lot of ifs. It will be fun to watch. Thanks anandtech for the informative article.

Log in

Don't have an account? Sign up now