u_format: implement fetch_rgba_uint and fetch_rgba_sint for integer formats
authorMarek Olšák <maraeo@gmail.com>
Mon, 2 Jan 2012 01:59:51 +0000 (02:59 +0100)
committerMarek Olšák <maraeo@gmail.com>
Thu, 5 Jan 2012 17:29:11 +0000 (18:29 +0100)
commit1ba3240b281fcbbf03372a6e2db68292cb8a8907
treea57311a2af64840a44734c03278db57cf9bbdd90
parent0950086376b1c8b7fb89eda81ed7f2f06dee58bc
u_format: implement fetch_rgba_uint and fetch_rgba_sint for integer formats

Fetching int as float and vice versa is not allowed.
Fetching unsigned int as signed int and vice versa is not allowed either.
Doing conversions like that isn't allowed for samplers in OpenGL.

The three hooks could be consolidated into one fetch hook, which would fetch
uint as uint32, sint as sint32, and everything else as float. The receiving
parameter would be void*. This would be useful for implementing vertex fetches
for shader model 4.0, which has untyped registers.

Reviewed-by: Dave Airlie <airlied@redhat.com>
src/gallium/auxiliary/util/u_format.h
src/gallium/auxiliary/util/u_format_pack.py
src/gallium/auxiliary/util/u_format_table.py