Add a field to uniforms to track which element within a register the uniform should be uploaded to.

This is necessary to support HLSL-backed uniform structs.

TRAC #23750

Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
diff --git a/src/libGLESv2/ProgramBinary.cpp b/src/libGLESv2/ProgramBinary.cpp
index b0fef82..66c94c5 100644
--- a/src/libGLESv2/ProgramBinary.cpp
+++ b/src/libGLESv2/ProgramBinary.cpp
@@ -1725,6 +1725,7 @@
         stream.read(&mUniforms[i]->psRegisterIndex);
         stream.read(&mUniforms[i]->vsRegisterIndex);
         stream.read(&mUniforms[i]->registerCount);
+        stream.read(&mUniforms[i]->registerElement);
     }
 
     stream.read(&size);
@@ -1898,6 +1899,7 @@
         stream.write(uniform.psRegisterIndex);
         stream.write(uniform.vsRegisterIndex);
         stream.write(uniform.registerCount);
+        stream.write(uniform.registerElement);
     }
 
     stream.write(mUniformBlocks.size());