From 3486f6f31b8cdb01e480cfbd8814c1e4222d26b0 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 6 Jan 2014 12:50:43 -0700 Subject: mesa: implement missing glGet(GL_RGBA_SIGNED_COMPONENTS_EXT) query This is part of the GL_EXT_packed_float extension. Bugzilla: http://bugs.freedesktop.org/show_bug.cgi?id=73096 Cc: 10.0 Reviewed-by: Kenneth Graunke Reviewed-by: Chris Forbes --- src/mesa/main/formats.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/mesa/main/formats.c') diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c index 07d2a72406b..eb2a07ea5f6 100644 --- a/src/mesa/main/formats.c +++ b/src/mesa/main/formats.c @@ -1966,6 +1966,25 @@ _mesa_is_format_unsigned(gl_format format) } +/** + * Does the given format store signed values? + */ +GLboolean +_mesa_is_format_signed(gl_format format) +{ + if (format == MESA_FORMAT_R11_G11_B10_FLOAT) { + /* this packed float format only stores unsigned values */ + return GL_FALSE; + } + else { + const struct gl_format_info *info = _mesa_get_format_info(format); + return (info->DataType == GL_SIGNED_NORMALIZED || + info->DataType == GL_INT || + info->DataType == GL_FLOAT); + } +} + + /** * Return color encoding for given format. * \return GL_LINEAR or GL_SRGB -- cgit v1.2.3