Implemented support for DX11 integer and boolean uniforms.

TRAC #22364
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens

git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1686 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/ProgramBinary.cpp b/src/libGLESv2/ProgramBinary.cpp
index e29b449..e66389f 100644
--- a/src/libGLESv2/ProgramBinary.cpp
+++ b/src/libGLESv2/ProgramBinary.cpp
@@ -965,10 +965,9 @@
                 int count = targetUniform->elementCount();
                 GLint *v = (GLint*)targetUniform->data;
 
-                if (targetUniform->ps.registerCount)
+                if (targetUniform->psRegisterIndex >= 0)
                 {
-                    ASSERT(targetUniform->ps.registerIndex >= 0);
-                    unsigned int firstIndex = targetUniform->ps.registerIndex;
+                    unsigned int firstIndex = targetUniform->psRegisterIndex;
 
                     for (int i = 0; i < count; i++)
                     {
@@ -982,10 +981,9 @@
                     }
                 }
 
-                if (targetUniform->vs.registerCount)
+                if (targetUniform->vsRegisterIndex >= 0)
                 {
-                    ASSERT(targetUniform->vs.registerIndex >= 0);
-                    unsigned int firstIndex = targetUniform->vs.registerIndex;
+                    unsigned int firstIndex = targetUniform->vsRegisterIndex;
 
                     for (int i = 0; i < count; i++)
                     {
@@ -1581,11 +1579,9 @@
 
         mUniforms[i] = new Uniform(type, name, arraySize);
         
-        stream.read(&mUniforms[i]->ps.registerIndex);
-        stream.read(&mUniforms[i]->ps.registerCount);
-
-        stream.read(&mUniforms[i]->vs.registerIndex);
-        stream.read(&mUniforms[i]->vs.registerCount);
+        stream.read(&mUniforms[i]->psRegisterIndex);
+        stream.read(&mUniforms[i]->vsRegisterIndex);
+        stream.read(&mUniforms[i]->registerCount);
     }
 
     stream.read(&size);
@@ -1687,11 +1683,9 @@
         stream.write(mUniforms[i]->name);
         stream.write(mUniforms[i]->arraySize);
 
-        stream.write(mUniforms[i]->ps.registerIndex);
-        stream.write(mUniforms[i]->ps.registerCount);
-
-        stream.write(mUniforms[i]->vs.registerIndex);
-        stream.write(mUniforms[i]->vs.registerCount);
+        stream.write(mUniforms[i]->psRegisterIndex);
+        stream.write(mUniforms[i]->vsRegisterIndex);
+        stream.write(mUniforms[i]->registerCount);
     }
 
     stream.write(mUniformIndex.size());
@@ -1976,13 +1970,11 @@
 
     if (shader == GL_FRAGMENT_SHADER)
     {
-        uniform->ps.registerIndex = constant.registerIndex;
-        uniform->ps.registerCount = uniform->registerCount();
+        uniform->psRegisterIndex = constant.registerIndex;
     }
     else if (shader == GL_VERTEX_SHADER)
     {
-        uniform->vs.registerIndex = constant.registerIndex;
-        uniform->vs.registerCount = uniform->registerCount();
+        uniform->vsRegisterIndex = constant.registerIndex;
     }
     else UNREACHABLE();