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