diff --git a/glslang/MachineIndependent/Initialize.cpp b/glslang/MachineIndependent/Initialize.cpp
index 0dd9be95bbe5b6b5bb133ff17b5b2dc45da48116..3075d5e8b1ac1d3259fa4e7500aef76c6c59bc89 100644
--- a/glslang/MachineIndependent/Initialize.cpp
+++ b/glslang/MachineIndependent/Initialize.cpp
@@ -386,73 +386,77 @@ void TBuiltIns::initialize(int version, EProfile profile)
         s.append(TString("bvec3 not(bvec3 x);"));
         s.append(TString("bvec4 not(bvec4 x);"));
 
+        s.append(TString("\n"));
+
         //
         // Texture Functions.
         //
         if (profile != EEsProfile || version == 100) {
-            s.append(TString("vec4 texture2D(sampler2D sampler, vec2 coord);"));
-            s.append(TString("vec4 texture2D(sampler2D sampler, vec2 coord, float bias);"));
+            s.append(TString("vec4 texture2D(sampler2D, vec2);"));
+            s.append(TString("vec4 texture2D(sampler2D, vec2, float);"));
 
-            s.append(TString("vec4 texture2DProj(sampler2D sampler, vec3 coord);"));
-            s.append(TString("vec4 texture2DProj(sampler2D sampler, vec4 coord);"));
-            s.append(TString("vec4 texture2DProj(sampler2D sampler, vec3 coord, float bias);"));
-            s.append(TString("vec4 texture2DProj(sampler2D sampler, vec4 coord, float bias);"));
+            s.append(TString("vec4 texture2DProj(sampler2D, vec3);"));
+            s.append(TString("vec4 texture2DProj(sampler2D, vec4);"));
+            s.append(TString("vec4 texture2DProj(sampler2D, vec3, float);"));
+            s.append(TString("vec4 texture2DProj(sampler2D, vec4, float);"));
         
-            s.append(TString("vec4 texture2DLod(sampler2D sampler, vec2 coord, float lod);"));
+            s.append(TString("vec4 texture2DLod(sampler2D, vec2, float);"));
 
-            s.append(TString("vec4 texture2DProjLod(sampler2D sampler, vec3 coord, float lod);"));
-            s.append(TString("vec4 texture2DProjLod(sampler2D sampler, vec4 coord, float lod);"));
+            s.append(TString("vec4 texture2DProjLod(sampler2D, vec3, float);"));
+            s.append(TString("vec4 texture2DProjLod(sampler2D, vec4, float);"));
 
-            s.append(TString("vec4 textureCube(samplerCube sampler, vec3 coord);"));
-            s.append(TString("vec4 textureCube(samplerCube sampler, vec3 coord, float bias);"));
+            s.append(TString("vec4 textureCube(samplerCube, vec3);"));
+            s.append(TString("vec4 textureCube(samplerCube, vec3, float);"));
 
-            s.append(TString("vec4 textureCubeLod(samplerCube sampler, vec3 coord, float lod);"));
+            s.append(TString("vec4 textureCubeLod(samplerCube, vec3, float);"));
         }
 
-        if (profile != EEsProfile || version > 100) {
-            s.append(TString("vec4 texture1D(sampler1D sampler, float coord);"));
-            s.append(TString("vec4 texture1D(sampler1D sampler, float coord, float bias);"));
+        if (profile != EEsProfile && version > 100) {
+            s.append(TString("vec4 texture1D(sampler1D, float);"));
+            s.append(TString("vec4 texture1D(sampler1D, float, float);"));
             
-            s.append(TString("vec4 texture1DProj(sampler1D sampler, vec2 coord);"));
-            s.append(TString("vec4 texture1DProj(sampler1D sampler, vec4 coord);"));
-            s.append(TString("vec4 texture1DProj(sampler1D sampler, vec2 coord, float bias);"));
-            s.append(TString("vec4 texture1DProj(sampler1D sampler, vec4 coord, float bias);"));
+            s.append(TString("vec4 texture1DProj(sampler1D, vec2);"));
+            s.append(TString("vec4 texture1DProj(sampler1D, vec4);"));
+            s.append(TString("vec4 texture1DProj(sampler1D, vec2, float);"));
+            s.append(TString("vec4 texture1DProj(sampler1D, vec4, float);"));
             
-            s.append(TString("vec4 texture1DProjLod(sampler1D sampler, vec2 coord, float lod);"));
-            s.append(TString("vec4 texture1DProjLod(sampler1D sampler, vec4 coord, float lod);"));
+            s.append(TString("vec4 texture1DProjLod(sampler1D, vec2, float);"));
+            s.append(TString("vec4 texture1DProjLod(sampler1D, vec4, float);"));
 
-            s.append(TString("vec4 texture3D(sampler3D sampler, vec3 coord);"));
-            s.append(TString("vec4 texture3D(sampler3D sampler, vec3 coord, float bias);"));
+            s.append(TString("vec4 texture3D(sampler3D, vec3);"));
+            s.append(TString("vec4 texture3D(sampler3D, vec3, float);"));
 
-            s.append(TString("vec4 texture3DProj(sampler3D sampler, vec4 coord);"));
-            s.append(TString("vec4 texture3DProj(sampler3D sampler, vec4 coord, float bias);"));
+            s.append(TString("vec4 texture3DProj(sampler3D, vec4);"));
+            s.append(TString("vec4 texture3DProj(sampler3D, vec4, float);"));
         
-            s.append(TString("vec4 texture3DLod(sampler3D sampler, vec3 coord, float lod);"));
+            s.append(TString("vec4 texture3DLod(sampler3D, vec3, float);"));
 
-            s.append(TString("vec4 texture3DProjLod(sampler3D sampler, vec4 coord, float lod);"));
+            s.append(TString("vec4 texture3DProjLod(sampler3D, vec4, float);"));
 
-            s.append(TString("vec4 shadow1D(sampler1DShadow sampler, vec3 coord);"));
-            s.append(TString("vec4 shadow1D(sampler1DShadow sampler, vec3 coord, float bias);"));
+            s.append(TString("vec4 shadow1D(sampler1DShadow, vec3);"));
+            s.append(TString("vec4 shadow1D(sampler1DShadow, vec3, float);"));
 
-            s.append(TString("vec4 shadow2D(sampler2DShadow sampler, vec3 coord);"));
-            s.append(TString("vec4 shadow2D(sampler2DShadow sampler, vec3 coord, float bias);"));
+            s.append(TString("vec4 shadow2D(sampler2DShadow, vec3);"));
+            s.append(TString("vec4 shadow2D(sampler2DShadow, vec3, float);"));
 
-            s.append(TString("vec4 shadow1DProj(sampler1DShadow sampler, vec4 coord);"));
-            s.append(TString("vec4 shadow1DProj(sampler1DShadow sampler, vec4 coord, float bias);"));
+            s.append(TString("vec4 shadow1DProj(sampler1DShadow, vec4);"));
+            s.append(TString("vec4 shadow1DProj(sampler1DShadow, vec4, float);"));
 
-            s.append(TString("vec4 shadow2DProj(sampler2DShadow sampler, vec4 coord);"));
-            s.append(TString("vec4 shadow2DProj(sampler2DShadow sampler, vec4 coord, float bias);"));
+            s.append(TString("vec4 shadow2DProj(sampler2DShadow, vec4);"));
+            s.append(TString("vec4 shadow2DProj(sampler2DShadow, vec4, float);"));
             
-            s.append(TString("vec4 shadow1DProjLod(sampler1DShadow sampler, vec4 coord, float lod);"));
-            s.append(TString("vec4 shadow2DProjLod(sampler2DShadow sampler, vec4 coord, float lod);"));
+            s.append(TString("vec4 shadow1DProjLod(sampler1DShadow, vec4, float);"));
+            s.append(TString("vec4 shadow2DProjLod(sampler2DShadow, vec4, float);"));
 
             // ARB_texture_rectangle
-            s.append(TString("vec4 texture2DRect(sampler2DRect sampler, vec2 coord);"));
-            s.append(TString("vec4 texture2DRectProj(sampler2DRect sampler, vec3 coord);"));
-            s.append(TString("vec4 texture2DRectProj(sampler2DRect sampler, vec4 coord);"));
-            s.append(TString("vec4 shadow2DRect(sampler2DRectShadow sampler, vec3 coord);"));
-            s.append(TString("vec4 shadow2DRectProj(sampler2DRectShadow sampler, vec4 coord);"));
+            s.append(TString("vec4 texture2DRect(sampler2DRect, vec2);"));
+            s.append(TString("vec4 texture2DRectProj(sampler2DRect, vec3);"));
+            s.append(TString("vec4 texture2DRectProj(sampler2DRect, vec4);"));
+            s.append(TString("vec4 shadow2DRect(sampler2DRectShadow, vec3);"));
+            s.append(TString("vec4 shadow2DRectProj(sampler2DRectShadow, vec4);"));
         }
+        
+        s.append(TString("\n"));
 
         //
         // Noise functions.
diff --git a/glslang/MachineIndependent/SymbolTable.h b/glslang/MachineIndependent/SymbolTable.h
index de956a59ce694d42564d7ec1c7a131c1ed5f22a0..836c83af2b06d1062ec0aa93d8bf61fd69f97c26 100644
--- a/glslang/MachineIndependent/SymbolTable.h
+++ b/glslang/MachineIndependent/SymbolTable.h
@@ -144,8 +144,12 @@ protected:
 struct TParameter {
     TString *name;
     TType* type;
-	void copyParam(const TParameter& param, const TStructureMap& remapper) {
-		name = NewPoolTString(param.name->c_str());
+	void copyParam(const TParameter& param, const TStructureMap& remapper) 
+    {
+		if (param.name)
+            name = NewPoolTString(param.name->c_str());
+        else
+            name = 0;
 		type = param.type->clone(remapper);
 	}
 };