The main change is that we now use round*() instead of IROUND*() which only worked for signed integer cases. I have also made it so we write converted unsigned values the unsigned field in the destination union and to cast the result from round*() to the target integer type explicitly (this is redundant now that we we write to the appropriate union field, but shouldn't hurt).
The series drops the patch that added IROUNDD64 since we no longer need that macro and adds another patch at the end to remove the remaining uses of IROUND macros in this function (still used for signed integer cases) for the sake of consistency. Iago Toral Quiroga (5): mesa/main: fix indentation in _mesa_get_uniform() mesa/main: Clamp GetUniformui64v values to be >= 0 mesa/main: Add conversion from double to uint64/int64 in GetUniform*i64v() mesa/main: conversion from float in GetUniformi64v requires rounding to nearest mesa/main: replace remaining uses of IROUND() in GetUniform*() by round() Kenneth Graunke (1): mesa/main: Clamp GetUniformuiv values to be >= 0 src/mesa/main/uniform_query.cpp | 303 ++++++++++++++++++++++++++-------------- 1 file changed, 202 insertions(+), 101 deletions(-) -- 2.9.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev