[Mesa-dev] non-16byte-aligned constant buffers in gallium?

Marek Olšák maraeo at gmail.com
Sat Apr 18 03:03:02 PDT 2015


Hi Roland,

GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT or
PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENT is what you're looking for.
I guess the test shouldn't ignore that. The value is 256 for R600 and
4 for GCN.

Marek

On Sat, Apr 18, 2015 at 5:46 AM, Roland Scheidegger <sroland at vmware.com> wrote:
> Hi,
>
> when looking at a regression (piglit
> ext_transform_feedback-immediate-reuse-uniform-buffer, bug 90081) I
> realized that behavior wrt non-size-aligned constant buffers doesn't
> seem to be all that clear cut. In particular I'm wondering if what the
> test (or rather the state tracker) does is actually ok?
> Constant buffers were always really considered to have been consisting
> of vec4 of floats (they are accessed with xyzw semantics after all),
> hence having a constant buffer with a size not a multiple of 16 bytes
> seems rather odd. I wonder though if they need to be handled gracefully
> somehow (of course, in usual GL fashion, nobody has any idea that this
> spiffy 4-byte transform feedback or whatever different bind point buffer
> is going to be used as a constant buffer later), or if this is something
> which should be addressed elsewhere.
>
> Roland
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list