Turning on warnings as error in Visual Studio

Disabled a few warnings and fixed a few warnings to enable
turning 'warnings as errors' on in Visual Studio.

Change-Id: I91e8e2d4d71794b73178f8d59c2f6fc872ad3085
Reviewed-on: https://swiftshader-review.googlesource.com/5710
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/OpenGL/compiler/Compiler.vcxproj b/src/OpenGL/compiler/Compiler.vcxproj
index 2407878..e1c7a23 100644
--- a/src/OpenGL/compiler/Compiler.vcxproj
+++ b/src/OpenGL/compiler/Compiler.vcxproj
@@ -123,6 +123,7 @@
       <WarningLevel>Level3</WarningLevel>

       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

       <BrowseInformation>true</BrowseInformation>

+      <TreatWarningAsError>true</TreatWarningAsError>

     </ClCompile>

   </ItemDefinitionGroup>

   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

@@ -137,6 +138,8 @@
       <WarningLevel>Level3</WarningLevel>

       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

       <BrowseInformation>true</BrowseInformation>

+      <TreatWarningAsError>true</TreatWarningAsError>

+      <DisableSpecificWarnings>4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>

     </ClCompile>

   </ItemDefinitionGroup>

   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

@@ -150,6 +153,7 @@
       </PrecompiledHeader>

       <WarningLevel>Level3</WarningLevel>

       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <TreatWarningAsError>true</TreatWarningAsError>

     </ClCompile>

   </ItemDefinitionGroup>

   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

@@ -163,6 +167,8 @@
       </PrecompiledHeader>

       <WarningLevel>Level3</WarningLevel>

       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <TreatWarningAsError>true</TreatWarningAsError>

+      <DisableSpecificWarnings>4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>

     </ClCompile>

   </ItemDefinitionGroup>

   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">

@@ -177,6 +183,7 @@
       <WarningLevel>Level3</WarningLevel>

       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

       <OmitFramePointers>false</OmitFramePointers>

+      <TreatWarningAsError>true</TreatWarningAsError>

     </ClCompile>

   </ItemDefinitionGroup>

   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|x64'">

@@ -191,6 +198,8 @@
       <WarningLevel>Level3</WarningLevel>

       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

       <OmitFramePointers>false</OmitFramePointers>

+      <TreatWarningAsError>true</TreatWarningAsError>

+      <DisableSpecificWarnings>4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>

     </ClCompile>

   </ItemDefinitionGroup>

   <ItemGroup>

diff --git a/src/OpenGL/compiler/ParseHelper.cpp b/src/OpenGL/compiler/ParseHelper.cpp
index 1201edc..a15fb0f 100644
--- a/src/OpenGL/compiler/ParseHelper.cpp
+++ b/src/OpenGL/compiler/ParseHelper.cpp
@@ -2153,8 +2153,9 @@
 
 	ConstantUnion* constArray = new ConstantUnion[fields.num];
 
+	int objSize = static_cast<int>(node->getType().getObjectSize());
 	for (int i = 0; i < fields.num; i++) {
-		if (fields.offsets[i] >= node->getType().getObjectSize()) {
+		if (fields.offsets[i] >= objSize) {
 			std::stringstream extraInfoStream;
 			extraInfoStream << "vector field selection out of range '" << fields.offsets[i] << "'";
 			std::string extraInfo = extraInfoStream.str();
diff --git a/src/OpenGL/compiler/preprocessor/preprocessor.vcxproj b/src/OpenGL/compiler/preprocessor/preprocessor.vcxproj
index f25e879..16fb077 100644
--- a/src/OpenGL/compiler/preprocessor/preprocessor.vcxproj
+++ b/src/OpenGL/compiler/preprocessor/preprocessor.vcxproj
@@ -86,6 +86,7 @@
       <WarningLevel>Level3</WarningLevel>

       <Optimization>Disabled</Optimization>

       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>

+      <TreatWarningAsError>true</TreatWarningAsError>

     </ClCompile>

     <Link>

       <GenerateDebugInformation>true</GenerateDebugInformation>

@@ -96,6 +97,8 @@
       <WarningLevel>Level3</WarningLevel>

       <Optimization>Disabled</Optimization>

       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>

+      <TreatWarningAsError>true</TreatWarningAsError>

+      <DisableSpecificWarnings>4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>

     </ClCompile>

     <Link>

       <GenerateDebugInformation>true</GenerateDebugInformation>

@@ -108,6 +111,7 @@
       <FunctionLevelLinking>true</FunctionLevelLinking>

       <IntrinsicFunctions>true</IntrinsicFunctions>

       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>

+      <TreatWarningAsError>true</TreatWarningAsError>

     </ClCompile>

     <Link>

       <GenerateDebugInformation>true</GenerateDebugInformation>

@@ -122,6 +126,8 @@
       <FunctionLevelLinking>true</FunctionLevelLinking>

       <IntrinsicFunctions>true</IntrinsicFunctions>

       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>

+      <TreatWarningAsError>true</TreatWarningAsError>

+      <DisableSpecificWarnings>4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>

     </ClCompile>

     <Link>

       <GenerateDebugInformation>true</GenerateDebugInformation>

diff --git a/src/OpenGL/libEGL/libEGL.cpp b/src/OpenGL/libEGL/libEGL.cpp
index 4fa1cf3..297ef6c 100644
--- a/src/OpenGL/libEGL/libEGL.cpp
+++ b/src/OpenGL/libEGL/libEGL.cpp
@@ -989,7 +989,7 @@
 		}
 	#endif
 
-	GLuint name = reinterpret_cast<intptr_t>(buffer);
+	GLuint name = reinterpret_cast<GLuint>(buffer);
 
 	if(name == 0)
 	{
diff --git a/src/OpenGL/libEGL/libEGL.vcxproj b/src/OpenGL/libEGL/libEGL.vcxproj
index e2375fd..27b928b 100644
--- a/src/OpenGL/libEGL/libEGL.vcxproj
+++ b/src/OpenGL/libEGL/libEGL.vcxproj
@@ -128,6 +128,7 @@
       <WarningLevel>Level3</WarningLevel>

       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

       <BrowseInformation>true</BrowseInformation>

+      <TreatWarningAsError>true</TreatWarningAsError>

     </ClCompile>

     <Link>

       <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>

@@ -156,6 +157,7 @@
       <WarningLevel>Level3</WarningLevel>

       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

       <BrowseInformation>true</BrowseInformation>

+      <TreatWarningAsError>true</TreatWarningAsError>

     </ClCompile>

     <Link>

       <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>

@@ -185,6 +187,7 @@
       </PrecompiledHeader>

       <WarningLevel>Level3</WarningLevel>

       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <TreatWarningAsError>true</TreatWarningAsError>

     </ClCompile>

     <Link>

       <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>

@@ -214,6 +217,7 @@
       </PrecompiledHeader>

       <WarningLevel>Level3</WarningLevel>

       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <TreatWarningAsError>true</TreatWarningAsError>

     </ClCompile>

     <Link>

       <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>

@@ -246,6 +250,7 @@
       <WarningLevel>Level3</WarningLevel>

       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

       <OmitFramePointers>false</OmitFramePointers>

+      <TreatWarningAsError>true</TreatWarningAsError>

     </ClCompile>

     <Link>

       <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>

@@ -276,6 +281,7 @@
       <WarningLevel>Level3</WarningLevel>

       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

       <OmitFramePointers>false</OmitFramePointers>

+      <TreatWarningAsError>true</TreatWarningAsError>

     </ClCompile>

     <Link>

       <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>

diff --git a/src/OpenGL/libGLESv2/libGLESv2.vcxproj b/src/OpenGL/libGLESv2/libGLESv2.vcxproj
index 5958a88..dd549ca 100644
--- a/src/OpenGL/libGLESv2/libGLESv2.vcxproj
+++ b/src/OpenGL/libGLESv2/libGLESv2.vcxproj
@@ -134,6 +134,8 @@
       <WarningLevel>Level3</WarningLevel>

       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

       <BrowseInformation>true</BrowseInformation>

+      <TreatWarningAsError>true</TreatWarningAsError>

+      <DisableSpecificWarnings>4316;%(DisableSpecificWarnings)</DisableSpecificWarnings>

     </ClCompile>

     <Link>

       <AdditionalDependencies>dxguid.lib;WS2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>

@@ -161,6 +163,8 @@
       <WarningLevel>Level3</WarningLevel>

       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

       <BrowseInformation>true</BrowseInformation>

+      <TreatWarningAsError>true</TreatWarningAsError>

+      <DisableSpecificWarnings>4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>

     </ClCompile>

     <Link>

       <AdditionalDependencies>dxguid.lib;WS2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>

@@ -195,6 +199,8 @@
       <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>

       <WholeProgramOptimization>true</WholeProgramOptimization>

       <IntrinsicFunctions>false</IntrinsicFunctions>

+      <TreatWarningAsError>true</TreatWarningAsError>

+      <DisableSpecificWarnings>4316;%(DisableSpecificWarnings)</DisableSpecificWarnings>

     </ClCompile>

     <Link>

       <AdditionalDependencies>dxguid.lib;WS2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>

@@ -230,6 +236,8 @@
       <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>

       <WholeProgramOptimization>true</WholeProgramOptimization>

       <IntrinsicFunctions>false</IntrinsicFunctions>

+      <TreatWarningAsError>true</TreatWarningAsError>

+      <DisableSpecificWarnings>4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>

     </ClCompile>

     <Link>

       <AdditionalDependencies>dxguid.lib;WS2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>

@@ -266,6 +274,8 @@
       <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>

       <WholeProgramOptimization>true</WholeProgramOptimization>

       <IntrinsicFunctions>false</IntrinsicFunctions>

+      <TreatWarningAsError>true</TreatWarningAsError>

+      <DisableSpecificWarnings>4316;%(DisableSpecificWarnings)</DisableSpecificWarnings>

     </ClCompile>

     <Link>

       <AdditionalDependencies>dxguid.lib;WS2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>

@@ -300,6 +310,8 @@
       <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>

       <WholeProgramOptimization>true</WholeProgramOptimization>

       <IntrinsicFunctions>false</IntrinsicFunctions>

+      <TreatWarningAsError>true</TreatWarningAsError>

+      <DisableSpecificWarnings>4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>

     </ClCompile>

     <Link>

       <AdditionalDependencies>dxguid.lib;WS2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>

diff --git a/src/OpenGL/libGLESv2/libGLESv3.cpp b/src/OpenGL/libGLESv2/libGLESv3.cpp
index 7f362bf..f4bef0f 100644
--- a/src/OpenGL/libGLESv2/libGLESv3.cpp
+++ b/src/OpenGL/libGLESv2/libGLESv3.cpp
@@ -3481,7 +3481,7 @@
 		return error(GL_INVALID_ENUM);
 	}
 
-	if(!ValidateTexParamParameters(pname, *param))
+	if(!ValidateTexParamParameters(pname, static_cast<GLint>(roundf(*param))))
 	{
 		return;
 	}