[Mesa-dev] [PATCH 1/3] mesa/get: Make GetFloat/GetDouble of TYPE_INT_N not normalize things.
Ilia Mirkin
imirkin at alum.mit.edu
Sun Dec 18 05:09:50 UTC 2016
I think you missed the one in _mesa_GetFloati_v. With that fixed,
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
On Sun, Dec 18, 2016 at 12:02 AM, Kenneth Graunke <kenneth at whitecape.org> wrote:
> GetFloat of integer valued things is supposed to perform a simple
> int -> float conversion. INT_TO_FLOAT is not that. Instead, it
> converts [-2147483648, 2147483647] to a normalized [-1.0, 1.0] float.
>
> This is only used for COMPRESSED_TEXTURE_FORMATS, which nobody in
> their right mind would try and access via glGetFloat(), but we may
> as well fix it.
>
> Found by inspection.
>
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> ---
> src/mesa/main/get.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
> index ba02cb2..25444e7 100644
> --- a/src/mesa/main/get.c
> +++ b/src/mesa/main/get.c
> @@ -1564,7 +1564,7 @@ _mesa_GetFloatv(GLenum pname, GLfloat *params)
>
> case TYPE_INT_N:
> for (i = 0; i < v.value_int_n.n; i++)
> - params[i] = INT_TO_FLOAT(v.value_int_n.ints[i]);
> + params[i] = (GLfloat) v.value_int_n.ints[i];
> break;
>
> case TYPE_INT64:
> @@ -2536,7 +2536,7 @@ _mesa_GetDoublei_v(GLenum pname, GLuint index, GLdouble *params)
>
> case TYPE_INT_N:
> for (i = 0; i < v.value_int_n.n; i++)
> - params[i] = (GLdouble) INT_TO_FLOAT(v.value_int_n.ints[i]);
> + params[i] = (GLdouble) v.value_int_n.ints[i];
> break;
>
> case TYPE_INT64:
> --
> 2.10.2
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list