Hi, this series implements GL_EXT_texture_shared_exponent.
The file rgb9e5.h has all its functions inline, because it's shared between classic and gallium. In that file, there are functions rgb9e5_to_float3 and float3_to_rgb9e5, which are used pretty much everywhere. I usually do some hardware support and the driver of my choice was so far r300g. Because r500 hw can't do this extension, I am adding support to r600g instead. There is swrast, softpipe, llvmpipe, and r600g support. There is no renderbuffer support, because r600 can't do it and the spec doesn't require it anyway. (I guess it wasn't meant to be used as a renderbuffer) Please review. Marek Olšák (5): mesa: set reasonable defaults in update_wrapper mesa: implement EXT_texture_shared_exponent st/mesa: support EXT_texture_shared_exponent util: implement R9G9B9E5 pack and unpack functions r600g: trivially implement EXT_texture_shared_exponent src/gallium/auxiliary/util/u_format_other.c | 87 +++++++++++++- src/gallium/drivers/r600/r600_texture.c | 5 + src/mesa/main/extensions.c | 1 + src/mesa/main/fbobject.c | 11 ++ src/mesa/main/formats.c | 16 +++- src/mesa/main/formats.h | 2 + src/mesa/main/image.c | 11 ++ src/mesa/main/mipmap.c | 49 ++++++++ src/mesa/main/pack.c | 82 ++++++++++++- src/mesa/main/rgb9e5.h | 173 +++++++++++++++++++++++++++ src/mesa/main/texfetch.c | 8 ++ src/mesa/main/texfetch_tmp.h | 21 ++++ src/mesa/main/texformat.c | 10 ++ src/mesa/main/texparam.c | 8 +- src/mesa/main/texrender.c | 7 +- src/mesa/main/texstore.c | 57 +++++++++ src/mesa/state_tracker/st_cb_drawpixels.c | 4 + src/mesa/state_tracker/st_extensions.c | 6 + src/mesa/state_tracker/st_format.c | 13 ++ 19 files changed, 553 insertions(+), 18 deletions(-) create mode 100644 src/mesa/main/rgb9e5.h Marek _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev