Added 32 bit integer output types

As long as there's no floating point arithmetic, 32 bit integer
types are computationally equivalent to 32 bit floating point.

Change-Id: I5ab19da440f52617a9bc64dff6fcaf8eff796aeb
Reviewed-on: https://swiftshader-review.googlesource.com/4717
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/Shader/PixelProgram.cpp b/src/Shader/PixelProgram.cpp
index 41a0324..203387c 100644
--- a/src/Shader/PixelProgram.cpp
+++ b/src/Shader/PixelProgram.cpp
@@ -598,6 +598,12 @@
 			case FORMAT_R32F:
 			case FORMAT_G32R32F:
 			case FORMAT_A32B32G32R32F:
+			case FORMAT_R32I:
+			case FORMAT_G32R32I:
+			case FORMAT_A32B32G32R32I:
+			case FORMAT_R32UI:
+			case FORMAT_G32R32UI:
+			case FORMAT_A32B32G32R32UI:
 				for(unsigned int q = 0; q < state.multiSample; q++)
 				{
 					Pointer<Byte> buffer = cBuffer[index] + q * *Pointer<Int>(data + OFFSET(DrawData, colorSliceB[index]));
@@ -697,6 +703,12 @@
 			case FORMAT_R32F:
 			case FORMAT_G32R32F:
 			case FORMAT_A32B32G32R32F:
+			case FORMAT_R32I:
+			case FORMAT_G32R32I:
+			case FORMAT_A32B32G32R32I:
+			case FORMAT_R32UI:
+			case FORMAT_G32R32UI:
+			case FORMAT_A32B32G32R32UI:
 				break;
 			default:
 				ASSERT(false);