Fix Chromium build.

Change-Id: If8871d9286ef7c4d09fd075ad5c7b707079158dd
Reviewed-on: https://swiftshader-review.googlesource.com/17108
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4caad12..834d4c1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -150,6 +150,8 @@
 else()
     set_cpp_flag("--std=c++11")
     set_cpp_flag("-Wall")
+    set_cpp_flag("-Werror=reorder")
+    set_cpp_flag("-Werror=sign-compare")
     set_cpp_flag("-fno-exceptions")
 
     # Don't allow symbols to be overridden by another module.
diff --git a/src/OpenGL/compiler/SymbolTable.cpp b/src/OpenGL/compiler/SymbolTable.cpp
index 2a285fc..3e6cae8 100644
--- a/src/OpenGL/compiler/SymbolTable.cpp
+++ b/src/OpenGL/compiler/SymbolTable.cpp
@@ -34,9 +34,9 @@
 int TSymbolTableLevel::uniqueId = 0;
 
 TType::TType(const TPublicType &p) :
-	type(p.type), precision(p.precision), qualifier(p.qualifier), layoutQualifier(p.layoutQualifier),
+	type(p.type), precision(p.precision), qualifier(p.qualifier),
 	primarySize(p.primarySize), secondarySize(p.secondarySize), array(p.array), arraySize(p.arraySize), maxArraySize(0),
-	arrayInformationType(0), interfaceBlock(0), structure(0), mangled(0)
+	arrayInformationType(0), interfaceBlock(0), layoutQualifier(p.layoutQualifier), structure(0), mangled(0)
 {
 	if (p.userDef)
 	{
diff --git a/src/OpenGL/compiler/Types.h b/src/OpenGL/compiler/Types.h
index 6c82f80..5318e39 100644
--- a/src/OpenGL/compiler/Types.h
+++ b/src/OpenGL/compiler/Types.h
@@ -240,35 +240,38 @@
 {
 public:
 	POOL_ALLOCATOR_NEW_DELETE();
+
 	TType(TBasicType t, int s0 = 1, int s1 = 1) :
-		type(t), precision(EbpUndefined), qualifier(EvqGlobal), layoutQualifier(TLayoutQualifier::create()),
-		primarySize(s0), secondarySize(s1), array(false), arraySize(0), maxArraySize(0), arrayInformationType(0), interfaceBlock(0),
+		type(t), precision(EbpUndefined), qualifier(EvqGlobal),
+		primarySize(s0), secondarySize(s1), array(false), arraySize(0), maxArraySize(0), arrayInformationType(0), interfaceBlock(0), layoutQualifier(TLayoutQualifier::create()),
 		structure(0), mangled(0)
 	{
 	}
+
 	TType(TBasicType t, TPrecision p, TQualifier q = EvqTemporary, int s0 = 1, int s1 = 1, bool a = false) :
-		type(t), precision(p), qualifier(q), layoutQualifier(TLayoutQualifier::create()),
-		primarySize(s0), secondarySize(s1), array(a), arraySize(0), maxArraySize(0), arrayInformationType(0), interfaceBlock(0),
+		type(t), precision(p), qualifier(q),
+		primarySize(s0), secondarySize(s1), array(a), arraySize(0), maxArraySize(0), arrayInformationType(0), interfaceBlock(0), layoutQualifier(TLayoutQualifier::create()),
 		structure(0), mangled(0)
 	{
 	}
-	explicit TType(const TPublicType &p);
+
 	TType(TStructure* userDef, TPrecision p = EbpUndefined) :
-		type(EbtStruct), precision(p), qualifier(EvqTemporary), layoutQualifier(TLayoutQualifier::create()),
-		primarySize(1), secondarySize(1), array(false), arraySize(0), maxArraySize(0), arrayInformationType(0), interfaceBlock(0),
-		structure(userDef),mangled(0)
+		type(EbtStruct), precision(p), qualifier(EvqTemporary),
+		primarySize(1), secondarySize(1), array(false), arraySize(0), maxArraySize(0), arrayInformationType(0), interfaceBlock(0), layoutQualifier(TLayoutQualifier::create()),
+		structure(userDef), mangled(0)
 	{
 	}
 
 	TType(TInterfaceBlock *interfaceBlockIn, TQualifier qualifierIn,
 		TLayoutQualifier layoutQualifierIn, int arraySizeIn)
 		: type(EbtInterfaceBlock), precision(EbpUndefined), qualifier(qualifierIn),
-		layoutQualifier(layoutQualifierIn),
 		primarySize(1), secondarySize(1), array(arraySizeIn > 0), arraySize(arraySizeIn), maxArraySize(0), arrayInformationType(0),
-		interfaceBlock(interfaceBlockIn), structure(0), mangled(0)
+		interfaceBlock(interfaceBlockIn), layoutQualifier(layoutQualifierIn), structure(0), mangled(0)
 	{
 	}
 
+	explicit TType(const TPublicType &p);
+
 	TBasicType getBasicType() const { return type; }
 	void setBasicType(TBasicType t) { type = t; }
 
diff --git a/src/OpenGL/libGLES_CM/Context.cpp b/src/OpenGL/libGLES_CM/Context.cpp
index 635d256..ca2984c 100644
--- a/src/OpenGL/libGLES_CM/Context.cpp
+++ b/src/OpenGL/libGLES_CM/Context.cpp
@@ -2435,7 +2435,7 @@
 	sw::Rect rect = {x, y, x + width, y + height};
 	rect.clip(0, 0, renderTarget->getWidth(), renderTarget->getHeight());
 
-	unsigned char *source = (unsigned char*)renderTarget->lock(rect.x0, rect.y0, sw::LOCK_READONLY);
+	unsigned char *source = (unsigned char*)renderTarget->lock(rect.x0, rect.y0, 0, sw::LOCK_READONLY);
 	unsigned char *dest = (unsigned char*)pixels;
 	int inputPitch = (int)renderTarget->getPitch();
 
diff --git a/src/OpenGL/libGLES_CM/Texture.cpp b/src/OpenGL/libGLES_CM/Texture.cpp
index 6f223a6..9386f3f 100644
--- a/src/OpenGL/libGLES_CM/Texture.cpp
+++ b/src/OpenGL/libGLES_CM/Texture.cpp
@@ -231,7 +231,7 @@
 {
 	if(pixels && image)
 	{
-		egl::Image::PixelStorageModes unpackParameters;
+		egl::PixelStorageModes unpackParameters;
 		unpackParameters.alignment = unpackAlignment;
 		image->loadImageData(context, 0, 0, 0, image->getWidth(), image->getHeight(), 1, format, type, unpackParameters, pixels);
 	}
@@ -269,7 +269,7 @@
 
 	if(pixels)
 	{
-		egl::Image::PixelStorageModes unpackParameters;
+		egl::PixelStorageModes unpackParameters;
 		unpackParameters.alignment = unpackAlignment;
 		image->loadImageData(context, xoffset, yoffset, 0, width, height, 1, format, type, unpackParameters, pixels);
 	}