On 01/14/2015 03:16 PM, Iago Toral Quiroga wrote:
Hi Tapani,
thanks for looking into this one, I certainly missed that extension...
On mié, 2015-01-14 at 14:04 +0200, Tapani Pälli wrote:
Commit 8ec6534 changed texture upload path and the way how texture
format is being checked, this commit adds support for GL_RGB with
GL_UNSIGNED_INT_2_10_10_10_REV as specified by the extension
EXT_texture_type_2_10_10_10_REV specification.
The extension mentions that when this is used with RGB, the alpha
channel assumes a value 1.0 when expanded...
This fixes regression in ES3 conformance test
ES3-CTS.gtf.GL3Tests.packed_pixels.packed_pixels
Signed-off-by: Tapani Pälli <tapani.pa...@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88385
---
src/mesa/main/glformats.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/mesa/main/glformats.c b/src/mesa/main/glformats.c
index 3e913ed..e54bb90 100644
--- a/src/mesa/main/glformats.c
+++ b/src/mesa/main/glformats.c
@@ -2666,7 +2666,8 @@ _mesa_format_from_format_and_type(GLenum format, GLenum
type)
return MESA_FORMAT_A2R10G10B10_UINT;
break;
case GL_UNSIGNED_INT_2_10_10_10_REV:
- if (format == GL_RGBA)
+ if (format == GL_RGB || /* GL_EXT_texture_type_2_10_10_10_REV */
+ format == GL_RGBA)
return MESA_FORMAT_R10G10B10A2_UNORM;
...so I think this is not correct: with this we will lose track that
this was RGB data and we will not ensure A=1.0 if this is stored as
RGBA.
I think what we want to do here is add a new mesa_format like
MESA_FORMAT_R10G10B10X2_UNORM, so we can use auto-generated pack/unpack
functions that take care of this. We would add that enum to formats.h,
then add the type description to formats.csv and then return that enum
here for the RGB case.
Ah right, seems fine for me. I just tried to do what was done
previously, which seemed to just enable GL_RGB usage. I'll check if
there exists a test for actually using the format and implement this.
Jason, what do you think?
else if (format == GL_RGBA_INTEGER)
return MESA_FORMAT_R10G10B10A2_UINT;
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev