Mesa (master): mesa/main: handle double uniform matrices properly

Samuel Iglesias Gonsálvez samuelig at kemper.freedesktop.org
Wed May 4 06:17:30 UTC 2016


Module: Mesa
Branch: master
Commit: 97989059b9472b4055ff72dac02b0e6c6f4afeb7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=97989059b9472b4055ff72dac02b0e6c6f4afeb7

Author: Juan A. Suarez Romero <jasuarez at igalia.com>
Date:   Tue Feb  9 12:51:03 2016 +0100

mesa/main: handle double uniform matrices properly

When computing the offset in the uniform storage table, take into account
the size multiplier so double precision matrices are handled correctly.

Signed-off-by: Juan A. Suarez Romero <jasuarez at igalia.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/mesa/main/uniform_query.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/mesa/main/uniform_query.cpp b/src/mesa/main/uniform_query.cpp
index ab5c3cd..997b0cb 100644
--- a/src/mesa/main/uniform_query.cpp
+++ b/src/mesa/main/uniform_query.cpp
@@ -993,7 +993,7 @@ _mesa_uniform_matrix(struct gl_context *ctx, struct gl_shader_program *shProg,
    elements = components * vectors;
 
    if (!transpose) {
-      memcpy(&uni->storage[elements * offset], values,
+      memcpy(&uni->storage[size_mul * elements * offset], values,
 	     sizeof(uni->storage[0]) * elements * count * size_mul);
    } else if (basicType == GLSL_TYPE_FLOAT) {
       /* Copy and transpose the matrix.




More information about the mesa-commit mailing list