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