Home | History | Annotate | Download | only in compiler
      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 #include "compiler/TranslatorGLSL.h"
      8 #include "compiler/TranslatorESSL.h"
      9 
     10 //
     11 // This function must be provided to create the actual
     12 // compile object used by higher level code.  It returns
     13 // a subclass of TCompiler.
     14 //
     15 TCompiler* ConstructCompiler(
     16     ShShaderType type, ShShaderSpec spec, ShShaderOutput output)
     17 {
     18     switch (output) {
     19       case SH_GLSL_OUTPUT:
     20         return new TranslatorGLSL(type, spec);
     21       case SH_ESSL_OUTPUT:
     22         return new TranslatorESSL(type, spec);
     23       default:
     24         return NULL;
     25     }
     26 }
     27 
     28 //
     29 // Delete the compiler made by ConstructCompiler
     30 //
     31 void DeleteCompiler(TCompiler* compiler)
     32 {
     33     delete compiler;
     34 }
     35