Compute shaders. Buffers number limit


I’m writing compute shaders on google version 2.79. When Google update to 81 version, my shaders show error (with empty description) on linking program with shaders. In Google update log I did not find the information.

After testing i saw that error is shown when i try write in buffer with index 11 and more.

Has anyone encountered this error? Why does she appear? How to avoid it?

You haven’t really given the reader much to go on here.

Presumably you’re getting an error trying to link an OpenGL ES compute shader. However… Google version 2.79 (and 81) … of what exactly? On what OS/GPU/driver/driver version? What exactly is the error message that you do get with empty description? Buffer index 11 for what – UBOs or SSBOs? What is the shader source code you’re providing when you get this link error?

What values do GL_MAX_COMPUTE_UNIFORM_BLOCKS and GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS have on your patform? Are you exceeding these limits with your buffer binding? FWIW, the OpenGL ES 3.2 spec (if you were using a GLES 3.2 profile) only requires 12 and 4 for these, respectively. If you’re getting this error for UBO bindings, index 11 is suspiciously close to the former,

Thank you for the answer!

Working fine in Google version 79.0.3945.79
Error in versin 81.0.4044.138

OS: Windows 10 64 bit
Driver version: (date 01.06.2018)

I can not send the full code. If necessary, I can write a similar program and send it
When I created buffers, i take type “SHADER_STORAGE_BUFFER”. When i bind it to arg of shader program i switch it to texture:

   glBindTexture(GL_TEXTURE_BUFFER, type, buffer);
   glBindTexture(GL_TEXTURE_BUFFER, 0);
   glBindImageTexture(index, tex, 0, GL_FALSE, 0, GL_READ_WRITE, gl_type);
   glUniform1i(glGetUniformLocation(prog, name), index);

In shader code source (version 310 es) I get it like:

 layout (std430, binding = 12) buffer BBuffer
     Vector3 BData[]

and write ( if not write, error is not occur):

 BData[index] = vec3_to_Vectore3(value)