mesa: Round float param in glTexparameterf() to nearest integer
authorAnuj Phogat <anuj.phogat@gmail.com>
Mon, 7 Jan 2013 05:00:11 +0000 (10:30 +0530)
committerIan Romanick <ian.d.romanick@intel.com>
Tue, 15 Jan 2013 23:09:37 +0000 (15:09 -0800)
commitd0ce8d6ceb5f597e9cb132e6395bce8fbd51b58e
treed67a7e69cf39be9dc9b4f504b706de2f737bbc19
parentbed997dabaada5e7c8081db08f93a6f1b5932e8b
mesa: Round float param in glTexparameterf() to nearest integer

OpenGL 4.2 specification suggests rounding the float data to nearest
integer when the type of internal state is integer. Out of range floats
should be clamped to {INT_MIN, INT_MAX}. This is not specified anywhere
in gl/gles spec but below test expects this behavior.  This patch makes
gles3 conformance sgis_texture_lod_basic_getter.test pass.

A GL spec bug will be raised to include clamping of out of range floats.

V2: Round float to nearest integer for all cases where
_mesa_Texparameterf() converts float param to int. Use the same block of
float to int conversion code for GL_TEXTURE_SWIZZLE_{R,G,B,A}_EXT cases
as well.

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/mesa/main/texparam.c