7 #ifndef COMPILER_OUTPUTHLSL_H_
8 #define COMPILER_OUTPUTHLSL_H_
23 class UnfoldShortCircuit;
166 #endif // COMPILER_OUTPUTHLSL_H_
static TString initializer(const TType &type)
std::set< TString > StructNames
bool mUsesTextureCubeLod0
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum type
const ShShaderOutput mOutputType
ActiveUniforms mActiveUniforms
void visitConstantUnion(TIntermConstantUnion *)
bool mUsesTexture2DProj_bias
std::vector< Uniform > ActiveUniforms
void outputTriplet(Visit visit, const TString &preString, const TString &inString, const TString &postString)
TString textureString(const TType &type)
bool visitLoop(Visit visit, TIntermLoop *)
TString registerString(TIntermSymbol *operand)
EGLImageKHR EGLint * name
OutputHLSL(TParseContext &context, const ShBuiltInResources &resources, ShShaderOutput outputType)
bool mContainsLoopDiscontinuity
int uniformRegister(TIntermSymbol *uniform)
void outputLineDirective(int line)
static TString decorateField(const TString &string, const TType &structure)
bool handleExcessiveLoop(TIntermLoop *node)
bool mInsideDiscontinuousLoop
std::map< TString, TIntermSymbol * > ReferencedSymbols
std::set< TString > Constructors
StructDeclarations mStructDeclarations
int vectorSize(const TType &type) const
static GLenum glVariablePrecision(const TType &type)
static GLenum glVariableType(const TType &type)
bool mUsesTexture2DProjLod
static TString arrayString(const TType &type)
const ConstantUnion * writeConstantUnion(const TType &type, const ConstantUnion *constUnion)
const ActiveUniforms & getUniforms()
bool mUsesTextureCubeLod0_bias
bool visitUnary(Visit visit, TIntermUnary *)
void visitSymbol(TIntermSymbol *)
TInfoSinkBase & getBodyStream()
bool visitBranch(Visit visit, TIntermBranch *)
std::vector< int > ScopeBracket
UnfoldShortCircuit * mUnfoldShortCircuit
TString scopeString(unsigned int depthLimit)
std::basic_string< char, std::char_traits< char >, TStringAllocator > TString
TString scopedStruct(const TString &typeName)
static TString qualifierString(TQualifier qualifier)
ReferencedSymbols mReferencedAttributes
int samplerRegister(TIntermSymbol *sampler)
void declareUniform(const TType &type, const TString &name, int index)
bool mUsesTexture2DProjLod0
bool visitAggregate(Visit visit, TIntermAggregate *)
ReferencedSymbols mReferencedUniforms
bool visitSelection(Visit visit, TIntermSelection *)
ScopeBracket mScopeBracket
TString structLookup(const TString &typeName)
void traverseStatements(TIntermNode *node)
ReferencedSymbols mReferencedVaryings
void addConstructor(const TType &type, const TString &name, const TIntermSequence *parameters)
std::list< TString > StructDeclarations
bool mUsesTexture2DProjLod0_bias
bool isSingleStatement(TIntermNode *node)
Constructors mConstructors
bool mUsesTexture2DLod0_bias
bool mUsesTextureCube_bias
static TString decorate(const TString &string)
TString argumentString(const TIntermSymbol *symbol)
TIntermSymbol * mExcessiveLoopIndex
TString typeString(const TType &type)
static TString decorateUniform(const TString &string, const TType &type)
bool visitBinary(Visit visit, TIntermBinary *)