<div dir="ltr"><div>Nevermind, you're correct. This is the odd case where the two do interfere. I've checked the spec and mesa's implementation, and all seems to be correct.<br><br></div><div>In that case,<br><br></div><div>Reviewed-by: Chris Forbes <<a href="mailto:chrisf@ijw.co.nz">chrisf@ijw.co.nz</a>><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 30, 2015 at 5:11 PM, Jordan Justen <span dir="ltr"><<a href="mailto:jordan.l.justen@intel.com" target="_blank">jordan.l.justen@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 2015-09-29 20:30:48, Chris Forbes wrote:<br>
> I don't think this is correct. The non-indexed binding point (which<br>
> BindBuffer, BufferData uses) is distinct from the 0'th indexed binding<br>
> point (which BindBuffer{Base,Range} use).<br>
<br>
</span>You mean that the BindBufferBase is not sufficient to bind the buffer<br>
before using BufferData?<br>
<br>
If I understand your concern correctly, then the man page seems to<br>
disagree:<br>
<br>
<a href="https://www.opengl.org/sdk/docs/man/docbook4/xhtml/glBindBufferBase.xml" rel="noreferrer" target="_blank">https://www.opengl.org/sdk/docs/man/docbook4/xhtml/glBindBufferBase.xml</a><br>
<br>
"In addition to binding buffer to the indexed buffer binding target,<br>
glBindBufferBase also binds buffer to the generic buffer binding<br>
point specified by target."<br>
<span class="HOEnZb"><font color="#888888"><br>
-Jordan<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
> - Chris<br>
> On Wed, Sep 30, 2015 at 1:10 PM, Jordan Justen <<a href="mailto:jordan.l.justen@intel.com">jordan.l.justen@intel.com</a>><br>
> wrote:<br>
><br>
> The command is:<br>
><br>
> ssbo <size><br>
><br>
> where <size> is the size in bytes to allocate for the SSBO buffer.<br>
><br>
> This command only sets of a buffer for SSBO index 0.<br>
><br>
> Signed-off-by: Jordan Justen <<a href="mailto:jordan.l.justen@intel.com">jordan.l.justen@intel.com</a>><br>
> ---<br>
> tests/shaders/shader_runner.c | 8 ++++++++<br>
> 1 file changed, 8 insertions(+)<br>
><br>
> diff --git a/tests/shaders/shader_runner.c<br>
> b/tests/shaders/shader_runner.c<br>
> index e8c3aaa..32ac7bd 100644<br>
> --- a/tests/shaders/shader_runner.c<br>
> +++ b/tests/shaders/shader_runner.c<br>
> @@ -113,6 +113,7 @@ GLenum geometry_layout_input_type = GL_TRIANGLES;<br>
> GLenum geometry_layout_output_type = GL_TRIANGLE_STRIP;<br>
> GLint geometry_layout_vertices_out = 0;<br>
> GLuint atomics_bo = 0;<br>
> +GLuint ssbo = 0;<br>
><br>
> #define SHADER_TYPES 6<br>
> static GLuint *subuniform_locations[SHADER_TYPES];<br>
> @@ -2898,6 +2899,13 @@ piglit_display(void)<br>
> glShadeModel(GL_SMOOTH);<br>
> } else if (string_match("shade model flat", line)) {<br>
> glShadeModel(GL_FLAT);<br>
> + } else if (sscanf(line, "ssbo %d", &x) == 1) {<br>
> + GLuint *ssbo_init = calloc(x, 1);<br>
> + glGenBuffers(1, &ssbo);<br>
> + glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 0,<br>
> ssbo);<br>
> + glBufferData(GL_SHADER_STORAGE_BUFFER, x,<br>
> + ssbo_init, GL_DYNAMIC_DRAW);<br>
> + free(ssbo_init);<br>
> } else if (sscanf(line, "texture rgbw %d ( %d", &tex,<br>
> &w) == 2) {<br>
> GLenum int_fmt = GL_RGBA;<br>
> int num_scanned =<br>
> --<br>
> 2.5.1<br>
><br>
> _______________________________________________<br>
> Piglit mailing list<br>
> <a href="mailto:Piglit@lists.freedesktop.org">Piglit@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/piglit" rel="noreferrer" target="_blank">http://lists.freedesktop.org/mailman/listinfo/piglit</a><br>
</div></div></blockquote></div><br></div>