GL_VERSION: OpenGL ES 2.0 Mesa 11.2.0-devel
GL_RENDERER: Gallium 0.4 on NVC1
GL_EXTENSIONS contains GL_EXT_texture_rg
But glTexImage2D(..., GL_RED_EXT, GL_UNSIGNED_BYTE, data) fails.
Indeed if GLES2.0 then http://cgit.freedesktop.org/mesa/mesa/tree/src/mesa/main/glformats.c#n2079 . There is no case for GL_RED_EXT in the switch so it defaults to GL_INVALID_VALUE.
I can see EXT(EXT_texture_rg, ARB_texture_rg, x , x , x , ES2, 2011) in extensions_table.h
Hardware: NVIDIA Corporation GF108 [GeForce GT 430] (rev a1)
Could it be that when querying dri2 for the gl version it returns 20 instead of 30 ?
Created attachment 120147 [details] [review]
fix rg support on es2
Does the attached patch fix it? Not sure how you're ending up with ES2 though... I thought it'd automatically get upgraded to ES3.0... Perhaps you built without float texture support? But that should still not be required for ES3...
I confirm your patch fixes the problem. (tested with glTexImage2D(..., GL_RED_EXT) + glCheckFramebufferStatusEXT). Thx Ilia :)
Author: Ilia Mirkin <email@example.com>
Date: Thu Nov 26 10:32:57 2015 -0500
mesa: support GL_RED/GL_RG in ES2 contexts when driver support exists
Signed-off-by: Ilia Mirkin <firstname.lastname@example.org>
Reviewed-by: Eduardo Lima Mitev <email@example.com>
Cc: "11.0 11.1" <firstname.lastname@example.org>