Mesa (master): glsl/nir: Fix copying 64-bit values in uniform storage
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Jun 24 18:40:16 UTC 2019
Module: Mesa
Branch: master
Commit: 6e2ff108865545557cc8dae11b911a1ebddb61c3
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6e2ff108865545557cc8dae11b911a1ebddb61c3
Author: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
Date: Fri Jun 21 17:11:54 2019 -0700
glsl/nir: Fix copying 64-bit values in uniform storage
The iterator `i` already walks the right amount now that is
incremented by `dmul`, so no need to `* 2`. Fixes invalid memory
access in upcoming ARB_gl_spirv tests.
Failure bisected by Arcady Goldmints-Orlov.
Fixes: b019fe8a5b6 "glsl/nir: Fix handling of 64-bit values in uniform storage"
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
---
src/compiler/glsl/gl_nir_link_uniform_initializers.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/compiler/glsl/gl_nir_link_uniform_initializers.c b/src/compiler/glsl/gl_nir_link_uniform_initializers.c
index 1d2938dca01..53a3ab9a0a2 100644
--- a/src/compiler/glsl/gl_nir_link_uniform_initializers.c
+++ b/src/compiler/glsl/gl_nir_link_uniform_initializers.c
@@ -145,7 +145,7 @@ copy_constant_to_storage(union gl_constant_value *storage,
case GLSL_TYPE_UINT64:
case GLSL_TYPE_INT64:
/* XXX need to check on big-endian */
- memcpy(&storage[i * 2].u, &val->values[row].f64, sizeof(double));
+ memcpy(&storage[i].u, &val->values[row].f64, sizeof(double));
break;
case GLSL_TYPE_BOOL:
storage[i].b = val->values[row].u32 ? boolean_true : 0;
More information about the mesa-commit
mailing list