Quantcast
Channel: AMD Developer Forums: Message List - OpenGL & Vulkan
Viewing all articles
Browse latest Browse all 631

Re: AMD buffer binding bug?

$
0
0

Same here.

 

It must be a bug concerning the shader storage buffers.

My shader storage buffer bindings stop working until I render something with a fragment shader before the actual dispathCompute. When I remove the draw-call or disable the fragmentshader (only vertex shader remains) it works.

 

This cost me 3 days 'till now to figure out. It's a shame ...

You can see my simplified code to get a picture:

 

 

 

InterfaceBlockBuffer sourceBuffer = new InterfaceBlockBuffer(resourcePool, "SourceBuffer", BUFFER_USAGE.DYNAMIC_DRAW);
InterfaceBlockBuffer destBuffer= new InterfaceBlockBuffer(resourcePool, "DestBuffer", BUFFER_USAGE.DYNAMIC_DRAW);
sourceBuffer.shaderStorageBlockBindingr(Bindings.BUF_SOURCE);
destBuffer.shaderStorageBlockBinding(Bindings.BUF_DEST);
sourceBuffer.bufferSubData(mySourceData);


// ***** If this is commented out - it works *****
Joogl.setProgram(renderProgram);
Joogl.setVertexArray(someVertexArray);
Joogl.draw(DRAW_MODE.TRIANGLE_FAN, 0, 4);
// ***********************************************


Joogl.setProgram(copyProgram); // Copy from sourceBuffer to destBuffer
Joogl.compute(MAX_FACES, 1, 1);


destBuffer.getBufferData(myDestData);
// print out myDestData ... on so on
//myDestData all zero when render call is beeing made
























 

 

I wrote some tests.When inserting the draw-call you cannot read OR write from a SSBO anymore.


Viewing all articles
Browse latest Browse all 631

Trending Articles