mesa: use simplified _BaseFormat value in render-to-texture code

Fixes fd.o bug 26762.

(cherry picked from commit c9e8ff1976)
This commit is contained in:
Brian Paul 2010-02-26 09:10:27 -07:00
parent c0e8d443fe
commit b0e84e22d5

View file

@ -499,21 +499,24 @@ update_wrapper(GLcontext *ctx, const struct gl_renderbuffer_attachment *att)
if (trb->TexImage->TexFormat == MESA_FORMAT_Z24_S8) {
trb->Base.Format = MESA_FORMAT_Z24_S8;
trb->Base.DataType = GL_UNSIGNED_INT_24_8_EXT;
trb->Base._BaseFormat = GL_DEPTH_STENCIL;
}
else if (trb->TexImage->TexFormat == MESA_FORMAT_Z16) {
trb->Base.Format = MESA_FORMAT_Z16;
trb->Base.DataType = GL_UNSIGNED_SHORT;
trb->Base._BaseFormat = GL_DEPTH_STENCIL;
}
else if (trb->TexImage->TexFormat == MESA_FORMAT_Z32) {
trb->Base.Format = MESA_FORMAT_Z32;
trb->Base.DataType = GL_UNSIGNED_INT;
trb->Base._BaseFormat = GL_DEPTH_COMPONENT;
}
else {
trb->Base.Format = trb->TexImage->TexFormat;
trb->Base.DataType = CHAN_TYPE;
trb->Base._BaseFormat = GL_RGBA;
}
trb->Base.Data = trb->TexImage->Data;
trb->Base._BaseFormat = _mesa_base_fbo_format(ctx, trb->Base.InternalFormat);
}