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.

In that case,

Reviewed-by: Chris Forbes <[email protected]>

On Wed, Sep 30, 2015 at 5:11 PM, Jordan Justen <[email protected]>
wrote:

> On 2015-09-29 20:30:48, Chris Forbes wrote:
> >    I don't think this is correct. The non-indexed binding point (which
> >    BindBuffer, BufferData uses) is distinct from the 0'th indexed binding
> >    point (which BindBuffer{Base,Range} use).
>
> You mean that the BindBufferBase is not sufficient to bind the buffer
> before using BufferData?
>
> If I understand your concern correctly, then the man page seems to
> disagree:
>
> https://www.opengl.org/sdk/docs/man/docbook4/xhtml/glBindBufferBase.xml
>
> "In addition to binding buffer to the indexed buffer binding target,
>  glBindBufferBase also binds buffer to the generic buffer binding
>  point specified by target."
>
> -Jordan
>
> >    - Chris
> >    On Wed, Sep 30, 2015 at 1:10 PM, Jordan Justen <
> [email protected]>
> >    wrote:
> >
> >      The command is:
> >
> >        ssbo <size>
> >
> >      where <size> is the size in bytes to allocate for the SSBO buffer.
> >
> >      This command only sets of a buffer for SSBO index 0.
> >
> >      Signed-off-by: Jordan Justen <[email protected]>
> >      ---
> >       tests/shaders/shader_runner.c | 8 ++++++++
> >       1 file changed, 8 insertions(+)
> >
> >      diff --git a/tests/shaders/shader_runner.c
> >      b/tests/shaders/shader_runner.c
> >      index e8c3aaa..32ac7bd 100644
> >      --- a/tests/shaders/shader_runner.c
> >      +++ b/tests/shaders/shader_runner.c
> >      @@ -113,6 +113,7 @@ GLenum geometry_layout_input_type =
> GL_TRIANGLES;
> >       GLenum geometry_layout_output_type = GL_TRIANGLE_STRIP;
> >       GLint geometry_layout_vertices_out = 0;
> >       GLuint atomics_bo = 0;
> >      +GLuint ssbo = 0;
> >
> >       #define SHADER_TYPES 6
> >       static GLuint *subuniform_locations[SHADER_TYPES];
> >      @@ -2898,6 +2899,13 @@ piglit_display(void)
> >                              glShadeModel(GL_SMOOTH);
> >                      } else if (string_match("shade model flat", line)) {
> >                              glShadeModel(GL_FLAT);
> >      +               } else if (sscanf(line, "ssbo %d", &x) == 1) {
> >      +                       GLuint *ssbo_init = calloc(x, 1);
> >      +                       glGenBuffers(1, &ssbo);
> >      +                       glBindBufferBase(GL_SHADER_STORAGE_BUFFER,
> 0,
> >      ssbo);
> >      +                       glBufferData(GL_SHADER_STORAGE_BUFFER, x,
> >      +                                    ssbo_init, GL_DYNAMIC_DRAW);
> >      +                       free(ssbo_init);
> >                      } else if (sscanf(line, "texture rgbw %d ( %d",
> &tex,
> >      &w) == 2) {
> >                              GLenum int_fmt = GL_RGBA;
> >                              int num_scanned =
> >      --
> >      2.5.1
> >
> >      _______________________________________________
> >      Piglit mailing list
> >      [email protected]
> >      http://lists.freedesktop.org/mailman/listinfo/piglit
>
_______________________________________________
Piglit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to