Minor reshuffling of directory structure in preparation of ESSL to GLSL compiler work.
1. Added include/GLSLANG which includes compiler API
2. Deleted src/include and moved the header files to the same directory as the corresponding source files
3. Modied include path to be relative to src/. I have only fixed paths for files I moved. We should fix it for all new files at least. It is much easier to see where an included file is coming from.

I noticed that a few libGLESv2 source files include headers from libEGL project, which seems wrong. I think we should address this issue. Next step: move compiler source files to compiler/frontend and create two new projects compiler/glsl_backend and compiler/hlsl_backend.

Review URL: http://codereview.appspot.com/662042

git-svn-id: https://angleproject.googlecode.com/svn/trunk@62 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/compiler/Initialize.h b/src/compiler/Initialize.h
index 99b0dfc..1878cf3 100644
--- a/src/compiler/Initialize.h
+++ b/src/compiler/Initialize.h
@@ -7,7 +7,7 @@
 #ifndef _INITIALIZE_INCLUDED_
 #define _INITIALIZE_INCLUDED_
 
-#include "ResourceLimits.h"
+#include "GLSLANG/ResourceLimits.h"
 #include "Common.h"
 #include "ShHandle.h"
 #include "SymbolTable.h"
diff --git a/src/compiler/InitializeDll.cpp b/src/compiler/InitializeDll.cpp
index fd7c3ab..35a9829 100644
--- a/src/compiler/InitializeDll.cpp
+++ b/src/compiler/InitializeDll.cpp
@@ -8,7 +8,7 @@
 #include "InitializeGlobals.h"
 #include "InitializeParseContext.h"
 
-#include "ShaderLang.h"
+#include "GLSLANG/ShaderLang.h"
 
 OS_TLSIndex ThreadInitializeIndex = OS_INVALID_TLS_INDEX;
 
diff --git a/src/compiler/OutputHLSL.cpp b/src/compiler/OutputHLSL.cpp
index f17f086..719802b 100644
--- a/src/compiler/OutputHLSL.cpp
+++ b/src/compiler/OutputHLSL.cpp
@@ -6,8 +6,8 @@
 
 #include "OutputHLSL.h"
 
+#include "common/debug.h"
 #include "InfoSink.h"
-#include "debug.h"
 
 namespace sh
 {
diff --git a/src/compiler/ResourceLimits.h b/src/compiler/ResourceLimits.h
deleted file mode 100644
index 7b7a4b7..0000000
--- a/src/compiler/ResourceLimits.h
+++ /dev/null
@@ -1,21 +0,0 @@
-//
-// Copyright (c) 2002-2010 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 _RESOURCE_LIMITS_INCLUDED_
-#define _RESOURCE_LIMITS_INCLUDED_
-
-struct TBuiltInResource
-{
-	int maxVertexAttribs;
-	int maxVertexUniformVectors;
-	int maxVaryingVectors;
-	int maxVertexTextureImageUnits;
-	int maxCombinedTextureImageUnits;
-	int maxTextureImageUnits;
-	int maxFragmentUniformVectors;
-	int maxDrawBuffers;
-};
-#endif // _RESOURCE_LIMITS_INCLUDED_
diff --git a/src/compiler/ShHandle.h b/src/compiler/ShHandle.h
index cd6353e..3e71e85 100644
--- a/src/compiler/ShHandle.h
+++ b/src/compiler/ShHandle.h
@@ -14,7 +14,7 @@
 // This should not be included by driver code.
 //
 
-#include "ShaderLang.h"
+#include "GLSLANG/ShaderLang.h"
 
 #include "InfoSink.h"
 
diff --git a/src/compiler/ShaderLang.cpp b/src/compiler/ShaderLang.cpp
index 461604a..2e29d2c 100644
--- a/src/compiler/ShaderLang.cpp
+++ b/src/compiler/ShaderLang.cpp
@@ -8,16 +8,15 @@
 // Implement the top-level of interface to the compiler/linker,
 // as defined in ShaderLang.h
 //
-#include "SymbolTable.h"
-#include "ParseHelper.h"
 
-#include "ShHandle.h"
-#include "InitializeDll.h"
+#include "GLSLANG/ShaderLang.h"
 
-#include "ShaderLang.h"
 #include "Initialize.h"
-
+#include "InitializeDll.h"
 #include "OutputHLSL.h"
+#include "ParseHelper.h"
+#include "ShHandle.h"
+#include "SymbolTable.h"
 
 //
 // A symbol table for each language.  Each has a different
diff --git a/src/compiler/ShaderLang.h b/src/compiler/ShaderLang.h
deleted file mode 100644
index 6ddced5..0000000
--- a/src/compiler/ShaderLang.h
+++ /dev/null
@@ -1,175 +0,0 @@
-//
-// Copyright (c) 2002-2010 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 _COMPILER_INTERFACE_INCLUDED_
-#define _COMPILER_INTERFACE_INCLUDED_
-
-#include "ResourceLimits.h"
-
-#ifdef _WIN32
-#define C_DECL __cdecl
-#else
-#define __fastcall
-#define C_DECL
-#endif
-
-//
-// This is the platform independent interface between an OGL driver
-// and the shading language compiler/linker.
-//
-
-#ifdef __cplusplus
-	extern "C" {
-#endif
-//
-// Driver must call this first, once, before doing any other
-// compiler/linker operations.
-//
-int ShInitialize();
-//
-// Driver should call this at shutdown.
-//
-int __fastcall ShFinalize();
-//
-// Types of languages the compiler can consume.
-//
-typedef enum {
-	EShLangVertex,
-	EShLangFragment,
-	EShLangCount,
-} EShLanguage;
-
-//
-// Types of output the linker will create.
-//
-typedef enum {
-	EShExVertexFragment,
-	EShExFragment
-} EShExecutable;
-
-//
-// Optimization level for the compiler.
-//
-typedef enum {
-	EShOptNoGeneration,
-	EShOptNone,
-	EShOptSimple,       // Optimizations that can be done quickly
-	EShOptFull,         // Optimizations that will take more time
-} EShOptimizationLevel;
-
-//
-// Build a table for bindings.  This can be used for locating
-// attributes, uniforms, globals, etc., as needed.
-//
-typedef struct {
-	const char* name;
-	int binding;
-} ShBinding;
-
-typedef struct {
-	int numBindings;
-	ShBinding* bindings;  // array of bindings
-} ShBindingTable;
-
-//
-// ShHandle held by but opaque to the driver.  It is allocated,
-// managed, and de-allocated by the compiler/linker. It's contents 
-// are defined by and used by the compiler and linker.  For example,
-// symbol table information and object code passed from the compiler 
-// to the linker can be stored where ShHandle points.
-//
-// If handle creation fails, 0 will be returned.
-//
-typedef void* ShHandle;
-
-//
-// Driver calls these to create and destroy compiler/linker
-// objects.
-//
-ShHandle ShConstructCompiler(const EShLanguage, int debugOptions);  // one per shader
-ShHandle ShConstructLinker(const EShExecutable, int debugOptions);  // one per shader pair
-ShHandle ShConstructUniformMap();                 // one per uniform namespace (currently entire program object)
-void ShDestruct(ShHandle);
-
-//
-// The return value of ShCompile is boolean, indicating
-// success or failure.
-//
-// The info-log should be written by ShCompile into 
-// ShHandle, so it can answer future queries.
-//
-int ShCompile(
-	const ShHandle,
-	const char* const shaderStrings[],
-	const int numStrings,
-	const EShOptimizationLevel,
-	const TBuiltInResource *resources,
-	int debugOptions
-	);
-
-
-//
-// Similar to ShCompile, but accepts an opaque handle to an
-// intermediate language structure.
-//
-int ShCompileIntermediate(
-	ShHandle compiler,
-	ShHandle intermediate,
-	const EShOptimizationLevel,
-	int debuggable           // boolean
-	);
-
-int ShLink(
-	const ShHandle,               // linker object
-	const ShHandle h[],           // compiler objects to link together
-	const int numHandles,
-	ShHandle uniformMap,          // updated with new uniforms
-	short int** uniformsAccessed,  // returned with indexes of uniforms accessed
-	int* numUniformsAccessed); 	
-
-int ShLinkExt(
-	const ShHandle,               // linker object
-	const ShHandle h[],           // compiler objects to link together
-	const int numHandles);
-
-//
-// ShSetEncrpytionMethod is a place-holder for specifying
-// how source code is encrypted.
-//
-void ShSetEncryptionMethod(ShHandle);
-
-//
-// All the following return 0 if the information is not
-// available in the object passed down, or the object is bad.
-//
-const char* ShGetInfoLog(const ShHandle);
-const char* ShGetObjectCode(const ShHandle);
-const void* ShGetExecutable(const ShHandle);
-int ShSetVirtualAttributeBindings(const ShHandle, const ShBindingTable*);   // to detect user aliasing
-int ShSetFixedAttributeBindings(const ShHandle, const ShBindingTable*);     // to force any physical mappings
-int ShGetPhysicalAttributeBindings(const ShHandle, const ShBindingTable**); // for all attributes
-//
-// Tell the linker to never assign a vertex attribute to this list of physical attributes
-//
-int ShExcludeAttributes(const ShHandle, int *attributes, int count);
-
-//
-// Returns the location ID of the named uniform.
-// Returns -1 if error.
-//
-int ShGetUniformLocation(const ShHandle uniformMap, const char* name);
-
-enum TDebugOptions {
-	EDebugOpNone               = 0x000,
-	EDebugOpIntermediate       = 0x001,
-	EDebugOpAssembly           = 0x002,
-	EDebugOpObjectCode         = 0x004,
-	EDebugOpLinkMaps           = 0x008
-};
-#ifdef __cplusplus
-	}
-#endif
-
-#endif // _COMPILER_INTERFACE_INCLUDED_
diff --git a/src/compiler/compiler.vcproj b/src/compiler/compiler.vcproj
index 2c5024d..19b2150 100644
--- a/src/compiler/compiler.vcproj
+++ b/src/compiler/compiler.vcproj
@@ -41,7 +41,7 @@
 			<Tool

 				Name="VCCLCompilerTool"

 				Optimization="0"

-				AdditionalIncludeDirectories="./; ../include/"

+				AdditionalIncludeDirectories="./;../;../../include"

 				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE"

 				MinimalRebuild="true"

 				BasicRuntimeChecks="3"

@@ -104,7 +104,7 @@
 			/>

 			<Tool

 				Name="VCCLCompilerTool"

-				AdditionalIncludeDirectories="./; ../include/"

+				AdditionalIncludeDirectories="./;../;../../include/"

 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE"

 				RuntimeLibrary="0"

 				UsePrecompiledHeader="0"

@@ -386,11 +386,11 @@
 				>

 			</File>

 			<File

-				RelativePath=".\ResourceLimits.h"

+				RelativePath="..\..\include\GLSLANG\ResourceLimits.h"

 				>

 			</File>

 			<File

-				RelativePath=".\ShaderLang.h"

+				RelativePath="..\..\include\GLSLANG\ShaderLang.h"

 				>

 			</File>

 			<File

@@ -462,12 +462,6 @@
 				</File>

 			</Filter>

 		</Filter>

-		<Filter

-			Name="Resource Files"

-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"

-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"

-			>

-		</Filter>

 	</Files>

 	<Globals>

 	</Globals>

diff --git a/src/compiler/glslang.y b/src/compiler/glslang.y
index a163bea..84c0fb7 100644
--- a/src/compiler/glslang.y
+++ b/src/compiler/glslang.y
@@ -27,7 +27,7 @@
 
 #include "SymbolTable.h"
 #include "ParseHelper.h"
-#include "ShaderLang.h"
+#include "GLSLANG/ShaderLang.h"
 
 #ifdef _WIN32
     #define YYPARSE_PARAM parseContext
diff --git a/src/compiler/localintermediate.h b/src/compiler/localintermediate.h
index b9cd3f2..d234508 100644
--- a/src/compiler/localintermediate.h
+++ b/src/compiler/localintermediate.h
@@ -7,8 +7,8 @@
 #ifndef _LOCAL_INTERMEDIATE_INCLUDED_
 #define _LOCAL_INTERMEDIATE_INCLUDED_
 
+#include "GLSLANG/ShaderLang.h"
 #include "intermediate.h"
-#include "ShaderLang.h"
 #include "SymbolTable.h"
 
 struct TVectorFields {