shader storage buffer objects within geometry shader


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;


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:

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.