If the last counter returned is a 32-bit value, reading a uint64_t might go past the end of the buffer. So, delay reading the 64-bit value until we know the type is 64-bit.
Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> --- tests/spec/amd_performance_monitor/measure.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/spec/amd_performance_monitor/measure.c b/tests/spec/amd_performance_monitor/measure.c index bc39c84..61c98b1 100644 --- a/tests/spec/amd_performance_monitor/measure.c +++ b/tests/spec/amd_performance_monitor/measure.c @@ -194,7 +194,6 @@ test_basic_measurement(unsigned group) /* Counter values */ uint32_t u32 = p[2]; float f = ((float *) p)[2]; - uint64_t u64 = ((uint64_t *) p)[1]; /* Query results */ GLenum counter_type = GL_NONE; @@ -226,6 +225,7 @@ test_basic_measurement(unsigned group) break; } case GL_UNSIGNED_INT64_AMD: { + uint64_t u64 = ((uint64_t *) p)[1]; verify(u64 >= range[0]); verify(u64 <= range[1]); break; -- 1.8.3.4 _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit