mesa/get: Add TYPE_UINT for casting through a GLuint.
authorKenneth Graunke <kenneth@whitecape.org>
Sun, 18 Dec 2016 03:55:53 +0000 (19:55 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Mon, 19 Dec 2016 19:33:40 +0000 (11:33 -0800)
commit9f93afb9a5586cb90e127ba7d63de3b416d08821
treec094498968eef87b494e8acaf39c62d26353bc86
parent78a391ed8311fc5215347f8775bf0aa29568b78d
mesa/get: Add TYPE_UINT for casting through a GLuint.

The "State Tables" section of the OpenGL specification lists many values
as belonging to Z+ (non-negative integers), not Z (all integers).

For ordinary glGetInteger queries, this doesn't matter.  However, when
accessing Z+ values via glGetFloat or glGetInteger64, we need to treat
the source value as an unsigned value.  Otherwise, we'll produce a
negative number when bit 31 is set.

This commit merely adds the plumbing.  It doesn't convert any values.

v2: Gotta catch 'em all (add missing cases caught by Ilia)

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/mesa/main/get.c