Minor bug fixes and cleanup

- Removed unused variables
- Fixed member initialization order in a few classes
- Fixed Surface::setSwapBehavior()
- Removed unused mPixelPackingStateDirty members
- Fixed initialization of "size" member in LinkedVarying class
- Fixed constness of a string
- Removed unused static functions
- Added parenthesis to fix && / || order ambiguity

Change-Id: Ia9ad8eaca335c60871fdc58037e441aa2010a641
Reviewed-on: https://swiftshader-review.googlesource.com/4301
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/Main/FrameBufferX11.cpp b/src/Main/FrameBufferX11.cpp
index d4286f1..245805f 100644
--- a/src/Main/FrameBufferX11.cpp
+++ b/src/Main/FrameBufferX11.cpp
@@ -41,7 +41,7 @@
 		}

 	}

 

-	FrameBufferX11::FrameBufferX11(Display *display, Window window, int width, int height) : FrameBuffer(width, height, false, false), x_window(window), x_display(display), ownX11(!display)

+	FrameBufferX11::FrameBufferX11(Display *display, Window window, int width, int height) : FrameBuffer(width, height, false, false), ownX11(!display), x_display(display), x_window(window)

 	{

 		if(!x_display)

 		{

diff --git a/src/OpenGL/libEGL/Surface.cpp b/src/OpenGL/libEGL/Surface.cpp
index f85c42d..c4dfeeb 100644
--- a/src/OpenGL/libEGL/Surface.cpp
+++ b/src/OpenGL/libEGL/Surface.cpp
@@ -144,7 +144,7 @@
 

 void Surface::setSwapBehavior(EGLenum swapBehavior)

 {

-	swapBehavior = swapBehavior;

+	this->swapBehavior = swapBehavior;

 }

 

 void Surface::setSwapInterval(EGLint interval)

diff --git a/src/OpenGL/libGLES_CM/Context.h b/src/OpenGL/libGLES_CM/Context.h
index fc15144..b41ecb4 100644
--- a/src/OpenGL/libGLES_CM/Context.h
+++ b/src/OpenGL/libGLES_CM/Context.h
@@ -624,7 +624,6 @@
     // state caching flags

     bool mDepthStateDirty;

     bool mMaskStateDirty;

-    bool mPixelPackingStateDirty;

     bool mBlendStateDirty;

     bool mStencilStateDirty;

     bool mPolygonOffsetStateDirty;

diff --git a/src/OpenGL/libGLESv2/Context.h b/src/OpenGL/libGLESv2/Context.h
index 59d8263..9defd50 100644
--- a/src/OpenGL/libGLESv2/Context.h
+++ b/src/OpenGL/libGLESv2/Context.h
@@ -747,7 +747,6 @@
     // state caching flags

     bool mDepthStateDirty;

     bool mMaskStateDirty;

-    bool mPixelPackingStateDirty;

     bool mBlendStateDirty;

     bool mStencilStateDirty;

     bool mPolygonOffsetStateDirty;

diff --git a/src/OpenGL/libGLESv2/IndexDataManager.cpp b/src/OpenGL/libGLESv2/IndexDataManager.cpp
index f7ac6fd..3f45936 100644
--- a/src/OpenGL/libGLESv2/IndexDataManager.cpp
+++ b/src/OpenGL/libGLESv2/IndexDataManager.cpp
@@ -162,7 +162,7 @@
     }

 }

 

-StreamingIndexBuffer::StreamingIndexBuffer(unsigned int initialSize) : mBufferSize(initialSize), mIndexBuffer(NULL)

+StreamingIndexBuffer::StreamingIndexBuffer(unsigned int initialSize) : mIndexBuffer(NULL), mBufferSize(initialSize)

 {

 	if(initialSize > 0)

     {

diff --git a/src/OpenGL/libGLESv2/Program.cpp b/src/OpenGL/libGLESv2/Program.cpp
index 800e82d..fb63e50 100644
--- a/src/OpenGL/libGLESv2/Program.cpp
+++ b/src/OpenGL/libGLESv2/Program.cpp
@@ -147,12 +147,12 @@
 	{

 	}

 

-	LinkedVarying::LinkedVarying(const std::string &name, GLenum type, GLsizei sizet)

+	LinkedVarying::LinkedVarying(const std::string &name, GLenum type, GLsizei size)

 	 : name(name), type(type), size(size)

 	{

 	}

 

-	Program::Program(ResourceManager *manager, GLuint handle) : resourceManager(manager), handle(handle), serial(issueSerial())

+	Program::Program(ResourceManager *manager, GLuint handle) : serial(issueSerial()), resourceManager(manager), handle(handle)

 	{

 		device = getDevice();

 

@@ -1700,7 +1700,6 @@
 

 		if(blockIndex == GL_INVALID_INDEX)

 		{

-			const glsl::ActiveUniforms &activeUniforms = shader->activeUniforms;

 			const std::vector<int>& fields = block.fields;

 			std::vector<unsigned int> memberUniformIndexes;

 			for(size_t i = 0; i < fields.size(); ++i)

diff --git a/src/OpenGL/libGLESv2/Shader.cpp b/src/OpenGL/libGLESv2/Shader.cpp
index ffba4ba..580a91d 100644
--- a/src/OpenGL/libGLESv2/Shader.cpp
+++ b/src/OpenGL/libGLESv2/Shader.cpp
@@ -199,7 +199,7 @@
 	TranslatorASM *compiler = createCompiler(getType());
 
 	// Ensure we don't pass a NULL source to the compiler
-    char *source = "\0";
+    const char *source = "\0";
 	if(mSource)
     {
         source = mSource;
diff --git a/src/OpenGL/libGLESv2/libGLESv3.cpp b/src/OpenGL/libGLESv2/libGLESv3.cpp
index 3408039..5c5e1c2 100644
--- a/src/OpenGL/libGLESv2/libGLESv3.cpp
+++ b/src/OpenGL/libGLESv2/libGLESv3.cpp
@@ -46,41 +46,6 @@
 	return true;

 }

 

-static bool validateSubImageParams(bool compressed, GLsizei width, GLsizei height, GLint xoffset, GLint yoffset, GLenum target, GLint level, GLenum format, es2::Texture *texture)

-{

-	if(!texture)

-	{

-		return error(GL_INVALID_OPERATION, false);

-	}

-

-	if(compressed != texture->isCompressed(target, level))

-	{

-		return error(GL_INVALID_OPERATION, false);

-	}

-

-	if(format != GL_NONE && format != texture->getFormat(target, level))

-	{

-		return error(GL_INVALID_OPERATION, false);

-	}

-

-	if(compressed)

-	{

-		if((width % 4 != 0 && width != texture->getWidth(target, 0)) ||

-		   (height % 4 != 0 && height != texture->getHeight(target, 0)))

-		{

-			return error(GL_INVALID_OPERATION, false);

-		}

-	}

-

-	if(xoffset + width > texture->getWidth(target, level) ||

-	   yoffset + height > texture->getHeight(target, level))

-	{

-		return error(GL_INVALID_VALUE, false);

-	}

-

-	return true;

-}

-

 static bool validateSubImageParams(bool compressed, GLsizei width, GLsizei height, GLsizei depth, GLint xoffset, GLint yoffset, GLint zoffset, GLenum target, GLint level, GLenum format, es2::Texture *texture)

 {

 	if(!texture)

@@ -415,26 +380,6 @@
 	return true;

 }

 

-static bool ValidateBufferTarget(GLenum target)

-{

-	switch(target)

-	{

-	case GL_ARRAY_BUFFER:

-	case GL_COPY_READ_BUFFER:

-	case GL_COPY_WRITE_BUFFER:

-	case GL_ELEMENT_ARRAY_BUFFER:

-	case GL_PIXEL_PACK_BUFFER:

-	case GL_PIXEL_UNPACK_BUFFER:

-	case GL_TRANSFORM_FEEDBACK_BUFFER:

-	case GL_UNIFORM_BUFFER:

-		break;

-	default:

-		return false;

-	}

-

-	return true;

-}

-

 bool ValidateTexParamParameters(GLenum pname, GLint param)

 {

 	switch(pname)

@@ -1624,7 +1569,11 @@
 	TRACE("(GLenum target = 0x%X, GLenum attachment = 0x%X, GLuint texture = %d, GLint level = %d, GLint layer = %d)",

 	      target, attachment, texture, level, layer);

 	

-	if(texture != 0 && layer < 0 || level < 0)

+	// GLES 3.0.4 spec, p.209, section 4.4.2

+	// If texture is zero, any image or array of images attached to the attachment point

+	// named by attachment is detached. Any additional parameters(level, textarget,

+	// and / or layer) are ignored when texture is zero.

+	if(texture != 0 && (layer < 0 || level < 0))

 	{

 		return error(GL_INVALID_VALUE);

 	}

@@ -2814,12 +2763,16 @@
 		{

 			return error(GL_INVALID_OPERATION);

 		}

-		if((readBuffer == writeBuffer) && // If same buffer, check for overlap

-		   ((readOffset >= writeOffset) && (readOffset < (writeOffset + size)) ||

-		    (writeOffset >= readOffset) && (writeOffset < (readOffset + size))))

+		if(readBuffer == writeBuffer)

 		{

-			return error(GL_INVALID_VALUE);

+			// If same buffer, check for overlap

+			if(((readOffset >= writeOffset) && (readOffset < (writeOffset + size))) ||

+			   ((writeOffset >= readOffset) && (writeOffset < (readOffset + size))))

+			{

+				return error(GL_INVALID_VALUE);

+			}

 		}

+

 		if((static_cast<size_t>(readOffset + size) > readBuffer->size()) ||

 		   (static_cast<size_t>(writeOffset + size) > writeBuffer->size()))

 		{

diff --git a/src/Renderer/Matrix.cpp b/src/Renderer/Matrix.cpp
index 68aa549..3c3567a 100644
--- a/src/Renderer/Matrix.cpp
+++ b/src/Renderer/Matrix.cpp
@@ -343,9 +343,9 @@
 		float sxsy = sx * sy;
 		float sxcy = sx * cy;
 
-		return Matrix(cy * cz - sy * sx * sz, -cy * sz - sy * sx * cz, -sy * cx,
-		              cx * sz,                 cx * cz,                -sx,
-		              sy * cz + cy * sx * sz, -sy * sz + cy * sx * cz,  cy * cx);
+		return Matrix(cy * cz - sxsy * sz, -cy * sz - sxsy * cz, -sy * cx,
+		              cx * sz,              cx * cz,             -sx,
+		              sy * cz + sxcy * sz, -sy * sz + sxcy * cz,  cy * cx);
 	}
 
 	Matrix Matrix::eulerRotate(float x, float y, float z)