diff options
Diffstat (limited to 'HLSL2GLSLConverter/testshaders/SelectArraySlice.gsh')
| -rw-r--r-- | HLSL2GLSLConverter/testshaders/SelectArraySlice.gsh | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/HLSL2GLSLConverter/testshaders/SelectArraySlice.gsh b/HLSL2GLSLConverter/testshaders/SelectArraySlice.gsh new file mode 100644 index 0000000..a2176ec --- /dev/null +++ b/HLSL2GLSLConverter/testshaders/SelectArraySlice.gsh @@ -0,0 +1,27 @@ +#include "CommonShaderStructs.shinc" + +struct SelectArraySliceGSOut +{ + QuadVSOut VSOutput; + int RenderTargetIndex : SV_RenderTargetArrayIndex; +}; + +cbuffer cbTileAttribs +{ + int g_TileArrayIndex[4]; +} + +[maxvertexcount(3)] +void SelectArraySliceGS(triangle QuadVSOut In[3], + inout TriangleStream<SelectArraySliceGSOut> triStream ) +{ + uint InstID = In[0].m_uiInstID; + int RTIndex = g_TileArrayIndex[InstID]; + for(int i=0; i<3; i++) + { + SelectArraySliceGSOut Out; + Out.VSOutput = In[i]; + Out.RenderTargetIndex = RTIndex; + triStream.Append( Out ); + } +} |
