Beispiel #1
0
 internal TShader(InfoSink sink, ShaderLanguage language, GLSLIntermediate intermediate, SymbolLookup symbols)
 {
     mInfoSink     = sink;
     mLanguage     = language;
     mIntermediate = intermediate;
     mSymbols      = symbols;
 }
 public void TestCase()
 {
     var debug = new InfoSinkBase (SinkType.String);
     var info = new InfoSinkBase (SinkType.String);
     var infoSink = new InfoSink(info, debug);
     var intermediate = new GLSLIntermediate ();
     var symbols = new SymbolLookup ();
     symbols.SetPreambleManually (Profile.CoreProfile);
     symbols.DefineAs ("GL_ARB_shader_storage_buffer_object", 1);
     var preprocessor = new Standalone (infoSink, intermediate, symbols);
     string result;
     Assert.IsTrue(preprocessor.Run("Sample.vert", out result));
     Assert.IsNotNull (result);
 }
Beispiel #3
0
 internal ParseContext(
     int version,
     Profile profile,
     InfoSink infoSink,
     bool forwardCompatible,
     SymbolLookup symbols,
     GLSLIntermediate intermediate)
 {
     mIntermediate       = intermediate;
     mVersion            = version;
     mProfile            = profile;
     mInfoSink           = infoSink;
     mExtensionBehaviors = new Dictionary <string, ExtensionBehavior> ();
     contextPragma       = new Pragma(true, false);
     mSymbols            = symbols;
 }
        public PreprocessorContext(ParseContext pc, SymbolLookup symbols)
        {
            Symbols = symbols;
            parseContext = pc;
            inComment = false;

            InitAtomTable();
            InitScanner();

            ifdepth = 0;
            elseSeen = new bool[MAXIFNESTING];
            for (elsetracker = 0; elsetracker < MAXIFNESTING; elsetracker++)
                elseSeen[elsetracker] = false;
            elsetracker = 0;

            inputStack = new Stack<BasePreprocessorInput> ();

            buffer = new StringInputBuffer{ name = new char[StringInputBuffer.MAX_TOKEN_LENGTH], tokenText = new char[StringInputBuffer.MAX_TOKEN_LENGTH]};
        }
Beispiel #5
0
 public Standalone(InfoSink infoSink, GLSLIntermediate intermediate, SymbolLookup symbols)
 {
     mInfoSink     = infoSink;
     mIntermediate = intermediate;
     mSymbols      = symbols;
 }
Beispiel #6
0
 static Standalone InitialisePreprocessor(InfoSink infoSink)
 {
     var intermediate = new GLSLIntermediate ();
     var symbols = new SymbolLookup ();
     symbols.SetPreambleManually (Profile.CoreProfile);
     symbols.DefineAs ("GL_ARB_shader_storage_buffer_object", 1);
     return new Standalone (infoSink, intermediate, symbols);
 }
Beispiel #7
0
 public Standalone(InfoSink infoSink, GLSLIntermediate intermediate, SymbolLookup symbols)
 {
     mInfoSink = infoSink;
     mIntermediate = intermediate;
     mSymbols = symbols;
 }
Beispiel #8
0
        internal ParseContext(
			int version,
			Profile profile,
			InfoSink infoSink,
			bool forwardCompatible,
			SymbolLookup symbols,
			GLSLIntermediate intermediate)
        {
            mIntermediate = intermediate;
            mVersion = version;
            mProfile = profile;
            mInfoSink = infoSink;
            mExtensionBehaviors = new Dictionary<string, ExtensionBehavior> ();
            contextPragma = new Pragma (true, false);
            mSymbols = symbols;
        }