On Fri, Oct 09, 2015 at 03:23:33PM +0200, Iago Toral Quiroga wrote: > See the rationale for this in [1], no piglit regressions observed in my > IvyBridge laptop. > > Patch 1: Renames {Num}UniformBlocks to {Num}BufferInterfaceBlocks. This is > more consistent with the current implementation, since right now > UniformBlocks contains both UBOs and SSBOs. > > Patch 2: Adds separate UniformBlocks and ShaderStorageBlocks arrays. > > Patch 3: Changes lower_ubo_reference pass to use UniformBlocks and > ShaderStorageBlocks instead of BufferInterfaceBlocks so we get > block indices in separate index spaces. > > Patch 4: Changes i965 to work with separate index spaces. > > I think there are other places that use BufferInterfaceBlocks after > linking that can be rewritten to use UniformBlocks or ShaderStorageBlocks > more efficiently. I'd like to tackle that too, but I think it makes sense > to land this first I think.
Sure, that sounds good. I wasn't sure about the name 'BufferInterfaceBlocks', but thinking about it, I think it's just right. They're interface blocks that are backed by buffers (as opposed to input or output interface blocks). Series Reviewed-by: Kristian Høgsberg <k...@bitplanet.net> > [1] http://lists.freedesktop.org/archives/mesa-dev/2015-October/095951.html > > Iago Toral Quiroga (4): > mesa: Rename {Num}UniformBlocks to {Num}BufferInterfaceBlocks > mesa: Add {Num}UniformBlocks and {Num}ShaderStorageBlocks to > gl_shader{_program} > glsl/lower_ubo_reference: lower UBOs and SSBOs to separate index > spaces > i965: Adapt SSBOs to work with their own separate index space > > src/glsl/link_uniform_initializers.cpp | 4 +- > src/glsl/link_uniforms.cpp | 22 ++--- > src/glsl/linker.cpp | 105 > ++++++++++++++++++----- > src/glsl/lower_ubo_reference.cpp | 22 +++-- > src/glsl/nir/glsl_to_nir.cpp | 2 +- > src/glsl/standalone_scaffolding.cpp | 11 ++- > src/mesa/drivers/dri/i965/brw_context.h | 4 +- > src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 24 +++--- > src/mesa/drivers/dri/i965/brw_shader.cpp | 7 +- > src/mesa/drivers/dri/i965/brw_vec4_nir.cpp | 24 +++--- > src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 79 +++++++++-------- > src/mesa/main/mtypes.h | 53 +++++++++++- > src/mesa/main/shader_query.cpp | 4 +- > src/mesa/main/shaderapi.c | 4 +- > src/mesa/main/shaderobj.c | 4 +- > src/mesa/main/uniforms.c | 12 +-- > src/mesa/state_tracker/st_atom_constbuf.c | 4 +- > src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 4 +- > 18 files changed, 257 insertions(+), 132 deletions(-) > > -- > 1.9.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev