es2_info prints: 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 :)
Pushed as commit 0396eaaf80c5d7955d7926c4e448f006c7682d2e Author: Ilia Mirkin <imirkin@alum.mit.edu> Date: Thu Nov 26 10:32:57 2015 -0500 mesa: support GL_RED/GL_RG in ES2 contexts when driver support exists Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93126 Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Eduardo Lima Mitev <elima@igalia.com> Cc: "11.0 11.1" <mesa-stable@lists.freedesktop.org>
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.