GL_ARB_enhanced_layouts, part 3: Semantics for xfb_*: where they can go, inheritance, etc., but not yet the backing arithmetic for offsets and strides.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24916 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich 2014-01-21 04:43:23 +00:00
parent 281958c21a
commit 44b807e1d0
9 changed files with 192 additions and 90 deletions

View file

@ -62,7 +62,7 @@ public:
explicit TIntermediate(EShLanguage l, int v = 0, EProfile p = ENoProfile) : language(l), treeRoot(0), profile(p), version(v),
numMains(0), numErrors(0), recursive(false),
invocations(0), vertices(0), inputPrimitive(ElgNone), outputPrimitive(ElgNone), pixelCenterInteger(false), originUpperLeft(false),
vertexSpacing(EvsNone), vertexOrder(EvoNone), pointMode(false) { }
vertexSpacing(EvsNone), vertexOrder(EvoNone), pointMode(false), xfbMode(false) { }
bool postProcess(TIntermNode*, EShLanguage);
void output(TInfoSink&, bool tree);
void removeTree();
@ -153,6 +153,7 @@ public:
return true;
}
void setPointMode() { pointMode = true; }
void setXfbMode() { xfbMode = true; }
bool setOutputPrimitive(TLayoutGeometry p)
{
if (outputPrimitive != ElgNone)
@ -202,6 +203,7 @@ protected:
TVertexSpacing vertexSpacing;
TVertexOrder vertexOrder;
bool pointMode;
bool xfbMode;
// for detecting recursion: pair is <caller, callee>
struct TCall {