Not deferred, still immediate-mode

Article: Tile-based Rasterization in Nvidia GPUs
By: Philip Taylor (philip.delete@this.zaynar.co.uk), August 1, 2016 3:55 pm
Room: Moderated Discussions
Rob Clark (robdclark.delete@this.gmail.com) on August 1, 2016 10:12 am wrote:
> Rob Clark (robdclark.delete@this.gmail.com) on August 1, 2016 9:44 am wrote:
> > David Kanter (dkanter.delete@this.realworldtech.com) on August 1, 2016 7:25 am wrote:
> > > Gionatan Danti (g.danti.delete@this.assyoma.it) on August 1, 2016 3:20 am wrote:
> > > > The problem with tile based deferred rendering is that both applications
> > > > and APIs are really meant for immediate mode rendering.
> > >
> > > This is a tile-based immediate mode rasterizer. Its not deferred.
> >
> > from the PoV of how the driver turns GL api into stuff the hw executes,
> > tile based deferred and tile based immediate are the same thing.
> >
> > http://bloggingthemonkey.blogspot.com/2016/07/dirty-tricks-for-moar-fps.html
> >
>
> hmm, that said, the test program used only seems to do a single draw. You can't really
> conclude that the gpu is a tiler from that. It is a tiler if draw #1 for tile #2 happens
> after draw #2 for tile #1. (Regardless of whether it is TBIM or TBDR.)

I tried changing the test program a bit, and tested on a GTX 970. It looks like it flushes all the tiles after every draw call, even with no state changes. (i.e. it doesn't start any fragment shaders for draw 1 until all fragment shaders for draw 0 have completed). But it doesn't flush between instances in an instanced draw.

It seems to collect something on the order of 64KB of (compressed) primitives (per raster unit, I guess) - if you have more than that in a single draw call then it will start flushing partially-rendered tiles (i.e. it will run the fragment shader for the first N primitives in the first few 16x16px tiles, then will move on to the rest of the tiles, before going back to the first tile with the next N primitives). (The big ~256x512px blocks just indicate the order that it flushes the small tiles in, I think.)

That seems a significantly simpler and smaller amount of deferring than TBDR, so it doesn't have to bother collecting huge batches. From a driver perspective it sounds identical to non-tile-based immediate mode.
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Article: Tile-based Rasterization in Nvidia GPUsDavid Kanter2016/07/31 11:01 PM
  Article: Tile-based Rasterization in Nvidia GPUsBenjamin2016/08/01 01:22 AM
    GM, M = Maxwell, Tile = YesJohn H2016/08/01 04:59 AM
      GM, M = Maxwell, Tile = YesDavid Kanter2016/08/01 07:33 AM
        Updated articleDavid Kanter2016/08/01 07:35 AM
    Article: Tile-based Rasterization in Nvidia GPUsDavid Kanter2017/01/17 04:56 PM
      Optimus (d*mn, it isn't blue now)blue2017/01/19 05:34 PM
    Probably not in earlier MaxwellsDavid Kanter2017/01/17 04:56 PM
  Article: Tile-based Rasterization in Nvidia GPUsDan2016/08/01 02:12 AM
    Article: Tile-based Rasterization in Nvidia GPUsGionatan Danti2016/08/01 02:20 AM
      Article: Tile-based Rasterization in Nvidia GPUsSimon Farnsworth2016/08/01 03:00 AM
      Article: Tile-based Rasterization in Nvidia GPUsGiGNiC2016/08/01 03:30 AM
      Not deferred, still immediate-modeDavid Kanter2016/08/01 06:25 AM
        Not deferred, still immediate-modeRob Clark2016/08/01 08:44 AM
          Not deferred, still immediate-modeRob Clark2016/08/01 09:12 AM
            Not deferred, still immediate-modeSeni2016/08/01 11:25 AM
              Not deferred, still immediate-modeRob Clark2016/08/01 01:38 PM
              Not deferred, still immediate-modevvid2016/08/02 11:59 PM
            Not deferred, still immediate-modePhilip Taylor2016/08/01 03:55 PM
              Not deferred, still immediate-modeRob Clark2016/08/01 04:56 PM
                Not deferred, still immediate-modePhilip Taylor2016/08/01 06:33 PM
                  Not deferred, still immediate-modePhilip Taylor2016/08/02 03:46 PM
                    Not deferred, still immediate-modePhilip Taylor2016/08/03 12:36 PM
    Article: Tile-based Rasterization in Nvidia GPUsGabriele Svelto2016/08/01 05:48 AM
      Article: Tile-based Rasterization in Nvidia GPUsExophase2016/08/01 10:35 AM
        Article: Tile-based Rasterization in Nvidia GPUsGabriele Svelto2016/08/04 12:22 AM
  Article: Tile-based Rasterization in Nvidia GPUsGionatan Danti2016/08/01 02:16 AM
    Not deferred, still immediate-modeDavid Kanter2016/08/01 06:40 AM
  Article: Tile-based Rasterization in Nvidia GPUsJohn H2016/08/01 05:13 AM
    Article: Tile-based Rasterization in Nvidia GPUsAndrei Frumusanu2016/08/01 05:21 AM
      Article: Tile-based Rasterization in Nvidia GPUsblue2016/08/01 07:58 AM
        Article: Tile-based Rasterization in Nvidia GPUsAndrei Frumusanu2016/08/01 09:38 AM
          Article: Tile-based Rasterization in Nvidia GPUsblue2016/08/01 12:02 PM
  Article: Tile-based Rasterization in Nvidia GPUsKlimax2016/08/01 06:14 AM
    Article: Tile-based Rasterization in Nvidia GPUsAaron Spink2016/08/01 06:29 AM
  Everybody using tilesvvid2016/08/01 08:45 AM
    Everybody using tilesRob Clark2016/08/01 08:49 AM
      Everybody using tileswumpus2016/08/01 10:29 AM
        Everybody using tilesSimon Farnsworth2016/08/01 12:01 PM
          Everybody using tileswumpus2016/08/02 06:57 AM
            Everybody using tilesSimon Farnsworth2016/08/02 07:12 AM
  Testing MethodologyDavid2016/08/01 12:22 PM
    Testing MethodologyJoel H2016/08/01 12:57 PM
      Testing MethodologyDavid2016/08/01 03:09 PM
  Flicker?Wanderer2016/08/01 04:08 PM
    Flicker?Philip Taylor2016/08/01 04:30 PM
      Flicker?Beastian2016/08/01 08:33 PM
    Flicker?David Kanter2016/08/01 05:19 PM
      Flicker?Wanderer2016/08/02 06:14 AM
  Article: Tile-based Rasterization in Nvidia GPUsPM2016/08/01 05:39 PM
    Article: Tile-based Rasterization in Nvidia GPUsGiGNiC2016/08/02 11:03 AM
    GCN Imagesvvid2016/08/02 11:22 PM
      GCN ImagesVertexMaster2016/08/04 09:06 AM
        GCN Imagesvvid2016/08/04 10:30 AM
          GCN ImagesVertexMaster2016/08/04 03:38 PM
            GCN Imagesvvid2016/08/05 02:30 AM
              GCN ImagesVertexMaster2016/08/05 04:16 AM
                TBDRvvid2016/08/05 08:15 AM
                GCN1.2?vvid2016/08/07 03:33 AM
  Sorry, this is not a tile based renderer.Peter McGuinness2016/08/02 07:11 AM
    Render != RasterizeDavid Kanter2016/08/02 07:30 AM
      Render != RasterizePeter McGuinness2016/08/02 07:43 AM
        Render != RasterizeDavid Kanter2016/08/02 08:45 AM
          Render != RasterizePeter McGuinness2016/08/02 09:05 AM
            Render != RasterizePhilip Taylor2016/08/02 05:53 PM
              Render != RasterizePeter McGuinness2016/08/02 08:41 PM
                Render != RasterizePhilip Taylor2016/08/03 02:41 AM
                  Render != RasterizePeter McGuinness2016/08/04 11:34 AM
                    Render != RasterizePhilip Taylor2016/08/04 03:06 PM
                      Render != RasterizeMontaray Jack2016/08/05 01:26 PM
                        Render != RasterizeJouni Osmala2016/08/05 10:49 PM
                          Render != RasterizeMegol2016/08/06 02:30 AM
                            Render != RasterizeJouni Osmala2016/08/06 08:08 AM
                              Scratching that itchMontaray Jack2016/08/06 09:42 AM
                            Render != RasterizeMontaray Jack2016/08/06 09:08 AM
  Article: Tile-based Rasterization in Nvidia GPUsDoug Patel2016/08/02 08:39 AM
  Article: Tile-based Rasterization in Nvidia GPUsMontaray Jack2016/08/02 09:35 AM
    Article: Tile-based Rasterization in Nvidia GPUsdglow2016/08/02 04:08 PM
      Article: Tile-based Rasterization in Nvidia GPUsMontaray Jack2016/08/03 03:43 AM
        Article: Tile-based Rasterization in Nvidia GPUsdglow2016/08/03 06:04 AM
          Article: Tile-based Rasterization in Nvidia GPUsmarees2016/08/03 11:46 AM
      Article: Tile-based Rasterization in Nvidia GPUsDavid Kanter2016/08/04 07:03 AM
        Article: Tile-based Rasterization in Nvidia GPUsMontaray Jack2016/08/04 10:47 AM
    Oh god, the spambots have finally found us (NT)Anon2017/01/17 04:27 AM
      Delete the messages ASAPGtoo2017/01/17 02:19 PM
  Article: Tile-based Rasterization in Nvidia GPUssteve m2017/05/10 04:16 PM
    Article: Tile-based Rasterization in Nvidia GPUsGabriele Svelto2017/05/10 06:15 PM
      Article: Tile-based Rasterization in Nvidia GPUssteve m2017/05/11 09:11 AM
        Article: Tile-based Rasterization in Nvidia GPUsGabriele Svelto2017/05/12 01:15 AM
          Article: Tile-based Rasterization in Nvidia GPUssteve m2017/05/16 10:49 AM
            Article: Tile-based Rasterization in Nvidia GPUsGabriele Svelto2017/05/17 04:43 AM
              Article: Tile-based Rasterization in Nvidia GPUssteve m2017/05/17 07:35 PM
                Article: Tile-based Rasterization in Nvidia GPUspocak2017/05/18 03:19 PM
                  Article: Tile-based Rasterization in Nvidia GPUsDavid Kanter2017/05/20 06:55 AM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell green?