Vulkan: Support of float uniform matrixes (2,3,4).

Bug:angleproject:2392

Change-Id: I97efea83e604d19b1745d9db4ab8f02997a1b7fc
Reviewed-on: https://chromium-review.googlesource.com/962666
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/ProgramVk.cpp b/src/libANGLE/renderer/vulkan/ProgramVk.cpp
index 2b6cfe3..7130d39 100644
--- a/src/libANGLE/renderer/vulkan/ProgramVk.cpp
+++ b/src/libANGLE/renderer/vulkan/ProgramVk.cpp
@@ -534,7 +534,13 @@
                                     GLboolean transpose,
                                     const GLfloat *value)
 {
-    UNIMPLEMENTED();
+    if (transpose == GL_TRUE)
+    {
+        UNIMPLEMENTED();
+        return;
+    }
+
+    setUniformImpl(location, count, value, GL_FLOAT_MAT2);
 }
 
 void ProgramVk::setUniformMatrix3fv(GLint location,
@@ -542,7 +548,12 @@
                                     GLboolean transpose,
                                     const GLfloat *value)
 {
-    UNIMPLEMENTED();
+    if (transpose == GL_TRUE)
+    {
+        UNIMPLEMENTED();
+        return;
+    }
+    setUniformImpl(location, count, value, GL_FLOAT_MAT3);
 }
 
 void ProgramVk::setUniformMatrix4fv(GLint location,
@@ -550,7 +561,13 @@
                                     GLboolean transpose,
                                     const GLfloat *value)
 {
-    UNIMPLEMENTED();
+    if (transpose == GL_TRUE)
+    {
+        UNIMPLEMENTED();
+        return;
+    }
+
+    setUniformImpl(location, count, value, GL_FLOAT_MAT4);
 }
 
 void ProgramVk::setUniformMatrix2x3fv(GLint location,