diff options
author | Brian Paul <[email protected]> | 2005-06-07 15:03:40 +0000 |
---|---|---|
committer | Brian Paul <[email protected]> | 2005-06-07 15:03:40 +0000 |
commit | ed7f3aead819dfe089228363698b4860614e62e8 (patch) | |
tree | 02ef7e49b1c371621fea65c00f35a046884bb39d /src/mesa | |
parent | 395280bf8877b023e07045e30dad812e7c32f444 (diff) |
fix GL_ALPHA render-to-texture problem (Jon Smirl)
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/main/fbobject.c | 4 | ||||
-rw-r--r-- | src/mesa/main/texrender.c | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c index 6dae796620d..cbc3dccc6db 100644 --- a/src/mesa/main/fbobject.c +++ b/src/mesa/main/fbobject.c @@ -389,6 +389,10 @@ _mesa_test_framebuffer_completeness(GLcontext *ctx, struct gl_framebuffer *fb) h = att->Texture->Image[att->CubeMapFace][att->TextureLevel]->Height; f = att->Texture->Image[att->CubeMapFace][att->TextureLevel]->Format; numImages++; + if (f != GL_RGB && f != GL_RGBA && f != GL_DEPTH_COMPONENT) { + fb->_Status = GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT; + return; + } } else if (att->Type == GL_RENDERBUFFER_EXT) { w = att->Renderbuffer->Width; diff --git a/src/mesa/main/texrender.c b/src/mesa/main/texrender.c index 12afa93d01f..f7f3fdb4b0b 100644 --- a/src/mesa/main/texrender.c +++ b/src/mesa/main/texrender.c @@ -151,9 +151,12 @@ wrap_texture(GLcontext *ctx, struct gl_renderbuffer_attachment *att) trb->Base.Height = trb->TexImage->Height; trb->Base.InternalFormat = trb->TexImage->IntFormat; /* XXX fix? */ trb->Base._BaseFormat = trb->TexImage->TexFormat->BaseFormat; +#if 0 + /* fix/avoid this assertion someday */ assert(trb->Base._BaseFormat == GL_RGB || trb->Base._BaseFormat == GL_RGBA || trb->Base._BaseFormat == GL_DEPTH_COMPONENT); +#endif trb->Base.DataType = GL_UNSIGNED_BYTE; /* XXX fix! */ trb->Base.Data = trb->TexImage->Data; |