summaryrefslogtreecommitdiff
path: root/src/mesa/main/fbobject.c
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2010-09-30 16:30:09 -0700
committerIan Romanick <ian.d.romanick@intel.com>2010-10-01 15:49:13 -0700
commit421f4d8dc1e324067534719fc096e82fd9ef3017 (patch)
tree22682efc2bad2f4f90d3f99f2fbfd3c5032ba38d /src/mesa/main/fbobject.c
parent5d1387b2da3626326410804026f8b92f1a121fdc (diff)
ARB_texture_rg: Allow RED and RG textures as FBO color buffer attachments
Diffstat (limited to 'src/mesa/main/fbobject.c')
-rw-r--r--src/mesa/main/fbobject.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index 5201f50252..f28846c4c9 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -451,7 +451,11 @@ test_attachment_completeness(const GLcontext *ctx, GLenum format,
if (baseFormat != GL_RGB &&
baseFormat != GL_RGBA &&
(!ctx->Extensions.ARB_framebuffer_object ||
- baseFormat != GL_ALPHA)) {
+ baseFormat != GL_ALPHA) &&
+ (!ctx->Extensions.ARB_texture_rg ||
+ baseFormat != GL_RED) &&
+ (!ctx->Extensions.ARB_texture_rg ||
+ baseFormat != GL_RG)) {
att_incomplete("bad format");
att->Complete = GL_FALSE;
return;
@@ -631,7 +635,9 @@ _mesa_test_framebuffer_completeness(GLcontext *ctx, struct gl_framebuffer *fb)
numImages++;
if (f != GL_RGB && f != GL_RGBA && f != GL_DEPTH_COMPONENT
&& f != GL_DEPTH_STENCIL_EXT
- && (!ctx->Extensions.ARB_framebuffer_object || f != GL_ALPHA)) {
+ && (!ctx->Extensions.ARB_framebuffer_object || f != GL_ALPHA)
+ && (!ctx->Extensions.ARB_texture_rg || f != GL_RED)
+ && (!ctx->Extensions.ARB_texture_rg || f != GL_RG)) {
fb->_Status = GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT;
fbo_incomplete("texture attachment incomplete", -1);
return;