[Mesa-dev] [PATCH 0/4] Reserve binding table space for SSBOs

Iago Toral Quiroga itoral at igalia.com
Wed Sep 30 03:06:38 PDT 2015


This fixes a bug that Curro pointed out: we only allocate entries for
UBOs at the moment. This a problem when a shader defines more
than 12 combined UBO and SSBO surfaces. This is done with patch 3.

patch 4 simply adds an assertion to make sure that we never try to exceed
that limit for some reason. It should be impossible since the compiler
checks the individual limits, but if that actually were to happen because
of some bug in the future I guess we want to detect that with the assert
better.

I also replace all the hardcoded limits for UBO and SSBOS, that follows
what we have done for other things like images or ABOs and it is just
better. This is done with patches 1-2.

Although we are discussing that we probably want to have separated index
spaces for UBOs and SSBOs I think we should probably land at least patches
1-3 since these would not be affected by that change.

I also think that we want to land [1], even if that one would be affected,
since that fixes a current problem in master.

[1] https://patchwork.freedesktop.org/patch/60654/

Iago Toral Quiroga (4):
  i965: Define BRW_MAX_UBO
  i965: Define BRW_MAX_SSBO
  i965: Reserve binding table space for SSBO surfaces
  i965: Assert on the number of combined UBO and SSBO binding table
    entries

 src/mesa/drivers/dri/i965/brw_context.c  | 18 +++++++++---------
 src/mesa/drivers/dri/i965/brw_context.h  | 12 +++++++++++-
 src/mesa/drivers/dri/i965/brw_shader.cpp |  1 +
 3 files changed, 21 insertions(+), 10 deletions(-)

-- 
1.9.1



More information about the mesa-dev mailing list