|
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 } |