PDA

View Full Version : shader storage buffer objects within geometry shader



driver
07-14-2014, 07:43 AM
Hi


I have a shader storage buffer defined inside the geometry shader and I am running into problems. Although I know that geometry shaders take primitives as input and output on streams, I would think with the advent of shader storage objects, the SBOs would be accomodated inside the geometry shader. Is that not true? I updated my graphics driver to make sure I had the most up to date support. driver from may 19 2014.

Here's a detailed list of the problem

I create a struct
struct A
{

int a1;
int a2;
int a3;
}


I then initialize the struct with some default values and create a shader storage buffer with the struct feeding it at subbinding index 4.

Inside the geometry shader

layout(std430,binding=4) buffer ABuffer{
int a1;
int a2;
int a3;

}A;

However, the shader complains of the following errors:
error C5133: multiple outputs associated with semantic "SBO_BUFFER[0]"

However the line number it seems to be complaining about has this:
EmitStreamVertex(0);


Any ideas? My first thought was SBO are not supported inside geometry shaders. But i have read people say otherwise, so I am not certain.

thanks