Combine translator_common, translator_hlsl, translator_glsl into one target translator.
Because right now webkit is depending on translator_glsl, so we will create a duplication of translator as translator_glsl, which will be removed once we fix the webkit side.
BUG=
R=shannonwoods@chromium.org
Review URL: https://codereview.appspot.com/13850043
diff --git a/src/build_angle.gypi b/src/build_angle.gypi
index 178fda0..7f502e0 100644
--- a/src/build_angle.gypi
+++ b/src/build_angle.gypi
@@ -53,7 +53,7 @@
],
},
{
- 'target_name': 'translator_common',
+ 'target_name': 'translator_static',
'type': 'static_library',
'dependencies': ['preprocessor'],
'include_dirs': [
@@ -67,6 +67,7 @@
'compiler/BaseTypes.h',
'compiler/BuiltInFunctionEmulator.cpp',
'compiler/BuiltInFunctionEmulator.h',
+ 'compiler/CodeGen.cpp',
'compiler/Common.h',
'compiler/Compiler.cpp',
'compiler/ConstantUnion.h',
@@ -74,6 +75,8 @@
'compiler/debug.h',
'compiler/DetectCallDepth.cpp',
'compiler/DetectCallDepth.h',
+ 'compiler/DetectDiscontinuity.cpp',
+ 'compiler/DetectDiscontinuity.h',
'compiler/Diagnostics.h',
'compiler/Diagnostics.cpp',
'compiler/DirectiveHandler.h',
@@ -106,6 +109,14 @@
'compiler/MapLongVariableNames.h',
'compiler/MMap.h',
'compiler/osinclude.h',
+ 'compiler/OutputESSL.cpp',
+ 'compiler/OutputESSL.h',
+ 'compiler/OutputGLSLBase.cpp',
+ 'compiler/OutputGLSLBase.h',
+ 'compiler/OutputGLSL.cpp',
+ 'compiler/OutputGLSL.h',
+ 'compiler/OutputHLSL.cpp',
+ 'compiler/OutputHLSL.h',
'compiler/parseConst.cpp',
'compiler/ParseHelper.cpp',
'compiler/ParseHelper.h',
@@ -116,10 +127,21 @@
'compiler/RemoveTree.cpp',
'compiler/RemoveTree.h',
'compiler/RenameFunction.h',
+ 'compiler/SearchSymbol.cpp',
+ 'compiler/SearchSymbol.h',
+ 'compiler/ShaderLang.cpp',
'compiler/ShHandle.h',
'compiler/SymbolTable.cpp',
'compiler/SymbolTable.h',
+ 'compiler/TranslatorESSL.cpp',
+ 'compiler/TranslatorESSL.h',
+ 'compiler/TranslatorGLSL.cpp',
+ 'compiler/TranslatorGLSL.h',
+ 'compiler/TranslatorHLSL.cpp',
+ 'compiler/TranslatorHLSL.h',
'compiler/Types.h',
+ 'compiler/UnfoldShortCircuit.cpp',
+ 'compiler/UnfoldShortCircuit.h',
'compiler/Uniform.cpp',
'compiler/Uniform.h',
'compiler/util.cpp',
@@ -130,6 +152,8 @@
'compiler/VariableInfo.h',
'compiler/VariablePacker.cpp',
'compiler/VariablePacker.h',
+ 'compiler/VersionGLSL.cpp',
+ 'compiler/VersionGLSL.h',
# Dependency graph
'compiler/depgraph/DependencyGraph.cpp',
'compiler/depgraph/DependencyGraph.h',
@@ -146,10 +170,10 @@
'third_party/compiler/ArrayBoundsClamper.cpp',
'third_party/compiler/ArrayBoundsClamper.h',
],
+ # TODO(jschuh): http://crbug.com/167187 size_t -> int
+ 'msvs_disabled_warnings': [ 4267 ],
'conditions': [
['OS=="win"', {
- # TODO(jschuh): http://crbug.com/167187 size_t -> int
- 'msvs_disabled_warnings': [ 4267 ],
'sources': ['compiler/ossource_win.cpp'],
}, { # else: posix
'sources': ['compiler/ossource_posix.cpp'],
@@ -157,71 +181,25 @@
],
},
{
+ 'target_name': 'translator',
+ 'type': '<(component)',
+ 'dependencies': ['translator_static'],
+ },
+ # TODO(zmo): once we rid the webkit dependency to tranlator_glsl,
+ # we can get rid of this translator_glsl.
+ {
'target_name': 'translator_glsl',
'type': '<(component)',
- 'dependencies': ['translator_common'],
- 'include_dirs': [
- '.',
- '../include',
- ],
- 'defines': [
- 'COMPILER_IMPLEMENTATION',
- ],
- 'sources': [
- 'compiler/CodeGenGLSL.cpp',
- 'compiler/OutputESSL.cpp',
- 'compiler/OutputESSL.h',
- 'compiler/OutputGLSLBase.cpp',
- 'compiler/OutputGLSLBase.h',
- 'compiler/OutputGLSL.cpp',
- 'compiler/OutputGLSL.h',
- 'compiler/ShaderLang.cpp',
- 'compiler/TranslatorESSL.cpp',
- 'compiler/TranslatorESSL.h',
- 'compiler/TranslatorGLSL.cpp',
- 'compiler/TranslatorGLSL.h',
- 'compiler/VersionGLSL.cpp',
- 'compiler/VersionGLSL.h',
- ],
- # TODO(jschuh): http://crbug.com/167187 size_t -> int
- 'msvs_disabled_warnings': [ 4267 ],
+ 'dependencies': ['translator_static'],
},
],
'conditions': [
['OS=="win"', {
'targets': [
{
- 'target_name': 'translator_hlsl',
- 'type': '<(component)',
- 'dependencies': ['translator_common'],
- 'include_dirs': [
- '.',
- '../include',
- ],
- 'defines': [
- 'COMPILER_IMPLEMENTATION',
- ],
- 'sources': [
- 'compiler/ShaderLang.cpp',
- 'compiler/DetectDiscontinuity.cpp',
- 'compiler/DetectDiscontinuity.h',
- 'compiler/CodeGenHLSL.cpp',
- 'compiler/OutputHLSL.cpp',
- 'compiler/OutputHLSL.h',
- 'compiler/TranslatorHLSL.cpp',
- 'compiler/TranslatorHLSL.h',
- 'compiler/UnfoldShortCircuit.cpp',
- 'compiler/UnfoldShortCircuit.h',
- 'compiler/SearchSymbol.cpp',
- 'compiler/SearchSymbol.h',
- ],
- # TODO(jschuh): http://crbug.com/167187 size_t -> int
- 'msvs_disabled_warnings': [ 4267 ],
- },
- {
'target_name': 'libGLESv2',
'type': 'shared_library',
- 'dependencies': ['translator_hlsl'],
+ 'dependencies': ['translator'],
'include_dirs': [
'.',
'../include',
diff --git a/src/compiler/CodeGenGLSL.cpp b/src/compiler/CodeGen.cpp
similarity index 84%
rename from src/compiler/CodeGenGLSL.cpp
rename to src/compiler/CodeGen.cpp
index 226bf8f..24f21b8 100644
--- a/src/compiler/CodeGenGLSL.cpp
+++ b/src/compiler/CodeGen.cpp
@@ -4,8 +4,9 @@
// found in the LICENSE file.
//
-#include "compiler/TranslatorGLSL.h"
#include "compiler/TranslatorESSL.h"
+#include "compiler/TranslatorGLSL.h"
+#include "compiler/TranslatorHLSL.h"
//
// This function must be provided to create the actual
@@ -16,10 +17,13 @@
ShShaderType type, ShShaderSpec spec, ShShaderOutput output)
{
switch (output) {
- case SH_GLSL_OUTPUT:
- return new TranslatorGLSL(type, spec);
case SH_ESSL_OUTPUT:
return new TranslatorESSL(type, spec);
+ case SH_GLSL_OUTPUT:
+ return new TranslatorGLSL(type, spec);
+ case SH_HLSL9_OUTPUT:
+ case SH_HLSL11_OUTPUT:
+ return new TranslatorHLSL(type, spec, output);
default:
return NULL;
}
diff --git a/src/compiler/CodeGenHLSL.cpp b/src/compiler/CodeGenHLSL.cpp
deleted file mode 100644
index 637ccc5..0000000
--- a/src/compiler/CodeGenHLSL.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-//
-// 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.
-//
-
-#include "compiler/TranslatorHLSL.h"
-
-//
-// This function must be provided to create the actual
-// compile object used by higher level code. It returns
-// a subclass of TCompiler.
-//
-TCompiler* ConstructCompiler(
- ShShaderType type, ShShaderSpec spec, ShShaderOutput output)
-{
- switch (output)
- {
- case SH_HLSL9_OUTPUT:
- case SH_HLSL11_OUTPUT:
- return new TranslatorHLSL(type, spec, output);
- default:
- return NULL;
- }
-}
-
-//
-// Delete the compiler made by ConstructCompiler
-//
-void DeleteCompiler(TCompiler* compiler)
-{
- delete compiler;
-}