Edit

kc3-lang/angle/src/compiler/Initialize.h

Branch :

  • Show log

    Commit

  • Author : shannonwoods@chromium.org
    Date : 2013-05-30 00:02:27
    Hash : 2ac0be9d
    Message : Place built-in intrinsics into their corresponding symbol table level. TRAC #22954 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2270 736b8ea6-26fd-11df-bfd4-992fa37f6226

  • src/compiler/Initialize.h
  • //
    // Copyright (c) 2002-2013 The ANGLE Project Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style license that can be
    // found in the LICENSE file.
    //
    
    #ifndef _INITIALIZE_INCLUDED_
    #define _INITIALIZE_INCLUDED_
    
    #include "compiler/Common.h"
    #include "compiler/ShHandle.h"
    #include "compiler/SymbolTable.h"
    
    typedef TVector<TString> TBuiltInStrings;
    
    class TBuiltIns {
    public:
        POOL_ALLOCATOR_NEW_DELETE(GlobalPoolAllocator)
    
        void initialize(ShShaderType type, ShShaderSpec spec,
                        const ShBuiltInResources& resources,
                        const TExtensionBehavior& extensionBehavior);
        const TBuiltInStrings &getCommonBuiltIns() const { return commonBuiltIns; }
        const TBuiltInStrings &getEssl1BuiltIns() const { return essl1BuiltIns; }
        const TBuiltInStrings &getEssl3BuiltIns() const { return essl3BuiltIns; }
    
    protected:
        TBuiltInStrings commonBuiltIns;
        TBuiltInStrings essl1BuiltIns;
        TBuiltInStrings essl3BuiltIns;
    };
    
    void IdentifyBuiltIns(ShShaderType type, ShShaderSpec spec,
                          const ShBuiltInResources& resources,
                          TSymbolTable& symbolTable);
    
    void InitExtensionBehavior(const ShBuiltInResources& resources,
                               TExtensionBehavior& extensionBehavior);
    
    #endif // _INITIALIZE_INCLUDED_