On 11/09/2011 10:34 AM, Eric Anholt wrote:
On Tue,  8 Nov 2011 14:32:08 -0800, Kenneth Graunke<kenn...@whitecape.org>  
wrote:
Although the hardware supports separate binding tables for each pipeline
stage, we don't see much advantage over a single shared table.

Consider the contents of the binding table:
- Textures (16)
- Draw buffers (8)
- Pull constant buffers (1 for VS, 1 for WM)

OpenGL's texture bindings are global: the same set of textures is
available to all shader targets.  So our binding table entries for
textures would be exactly the same in every table.

There are only two pull constant buffers (not many), and although draw
buffers aren't interesting to the VS, it shouldn't hurt to have them in
the table.  The hardware supports up to 254 binding table entries, and
we currently only use 26.

Signed-off-by: Kenneth Graunke<kenn...@whitecape.org>

+   brw->state.dirty.brw |= BRW_NEW_VS_BINDING_TABLE;
     brw->state.dirty.brw |= BRW_NEW_PS_BINDING_TABLE;
  }

I was surprised you didn't fold these two state flags together, but I
guess it leaves us flexibility if we decide to go back on this later.

I meant to, actually, I just forgot. I wanted to do it in a separate patch though, since this one was already complicated enough. I'll have to make one and send it out. Thanks!
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to