[Mesa-dev] [PATCH 00/74] ARB_shader_storage_buffer_object (mesa, i965)

Jordan Justen jordan.l.justen at intel.com
Mon May 18 15:49:21 PDT 2015

On 2015-05-14 07:06:03, Iago Toral Quiroga wrote:
> Because SSBOs are very similar to UBOs the implementation attempts to
> reuse the code we already have for UBOs wherever we can. There is a lot
> of code in the GLSL compiler to deal with UBOs, so we do not want to
> exactly duplicate that. An "is buffer" flag is added if needed when

Isn't UBO uniform buffer object?

So, maybe 'is uniform' or 'is shared storage' would be better?

> reusing UBO data structures so we can tell if a given instance
> represents uniforms or buffers.

Yeah, I guess 'interface blocks' are what UBO's generalized into.

This series leverages the UBO code for SSBO, but I think it would be
nice to rename shared data structures to reflect the common interface
block name.

For example:
struct gl_uniform_block => struct gl_iblk_buffer

struct gl_shader::UniformBlocks => IblkBuffers

lower_ubo_reference => lower_iblk_buffer_reference

Regarding sharing gl_shader::UniformBlocks with UBO and SSBOs, is this
a good idea? I guess I can't see a problem using the same array for
both, but it would be less confusing if we renamed it to a more
generic name.

I think this series could get stuck in rebase hell unless we all agree
beforehand what names make sense. Maybe based on that we should just
leave a potential rename until after SSBO lands.


What do you think?


More information about the mesa-dev mailing list