1 // 2 // Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 // 6 7 #ifndef _INITIALIZE_INCLUDED_ 8 #define _INITIALIZE_INCLUDED_ 9 10 #include "compiler/Common.h" 11 #include "compiler/ShHandle.h" 12 #include "compiler/SymbolTable.h" 13 14 typedef TVector<TString> TBuiltInStrings; 15 16 class TBuiltIns { 17 public: 18 POOL_ALLOCATOR_NEW_DELETE(GlobalPoolAllocator) 19 20 void initialize(ShShaderType type, ShShaderSpec spec, 21 const ShBuiltInResources& resources); 22 const TBuiltInStrings& getBuiltInStrings() { return builtInStrings; } 23 24 protected: 25 TBuiltInStrings builtInStrings; 26 }; 27 28 void IdentifyBuiltIns(ShShaderType type, ShShaderSpec spec, 29 const ShBuiltInResources& resources, 30 TSymbolTable& symbolTable); 31 32 void InitExtensionBehavior(const ShBuiltInResources& resources, 33 TExtensionBehavior& extensionBehavior); 34 35 #endif // _INITIALIZE_INCLUDED_ 36