Made FBO's on linux work again

This commit is contained in:
rdb 2009-02-19 13:21:38 +00:00
parent 2982ca3187
commit afb4776754
2 changed files with 4 additions and 8 deletions

View File

@ -227,7 +227,7 @@ rebuild_bitplanes() {
Texture *attach[RTP_COUNT]; Texture *attach[RTP_COUNT];
attach[RTP_color] = 0; attach[RTP_color] = 0;
attach[RTP_depth] = 0; //attach[RTP_depth] = 0;
attach[RTP_depth_stencil] = 0; attach[RTP_depth_stencil] = 0;
for (int i=0; i<_fb_properties.get_aux_rgba(); i++) { for (int i=0; i<_fb_properties.get_aux_rgba(); i++) {
attach[RTP_aux_rgba_0+i] = 0; attach[RTP_aux_rgba_0+i] = 0;
@ -270,7 +270,7 @@ rebuild_bitplanes() {
// For all slots, update the slot. // For all slots, update the slot.
bind_slot(rb_resize, attach, RTP_depth, GL_DEPTH_ATTACHMENT_EXT); //bind_slot(rb_resize, attach, RTP_depth, GL_DEPTH_ATTACHMENT_EXT);
bind_slot(rb_resize, attach, RTP_depth_stencil, GL_DEPTH_ATTACHMENT_EXT); bind_slot(rb_resize, attach, RTP_depth_stencil, GL_DEPTH_ATTACHMENT_EXT);
bind_slot(rb_resize, attach, RTP_color, GL_COLOR_ATTACHMENT0_EXT); bind_slot(rb_resize, attach, RTP_color, GL_COLOR_ATTACHMENT0_EXT);
int next = GL_COLOR_ATTACHMENT1_EXT; int next = GL_COLOR_ATTACHMENT1_EXT;
@ -493,10 +493,7 @@ bind_slot(bool rb_resize, Texture **attach, RenderTexturePlane slot, GLenum atta
GL_RENDERBUFFER_EXT, rb); GL_RENDERBUFFER_EXT, rb);
} }
} else { } else {
GLenum internal_format; glgsg->_glRenderbufferStorage(GL_RENDERBUFFER_EXT, GL_RGBA8_EXT,
internal_format = glgsg -> get_internal_image_format(tex);
glgsg->_glRenderbufferStorage(GL_RENDERBUFFER_EXT, internal_format,
_rb_size_x, _rb_size_y); _rb_size_x, _rb_size_y);
glgsg->_glBindRenderbuffer(GL_RENDERBUFFER_EXT, 0); glgsg->_glBindRenderbuffer(GL_RENDERBUFFER_EXT, 0);
glgsg->_glFramebufferRenderbuffer(GL_FRAMEBUFFER_EXT, attachpoint, glgsg->_glFramebufferRenderbuffer(GL_FRAMEBUFFER_EXT, attachpoint,

View File

@ -242,9 +242,8 @@ make_output(const string &name,
// Second thing to try: a GLGraphicsBuffer // Second thing to try: a GLGraphicsBuffer
if (retry == 1) { if (retry == 1) {
if ((!support_rtt)|| if ((host==0)||
// (!gl_support_fbo)|| // (!gl_support_fbo)||
(host==0)||
((flags&BF_require_parasite)!=0)|| ((flags&BF_require_parasite)!=0)||
((flags&BF_require_window)!=0)) { ((flags&BF_require_window)!=0)) {
return NULL; return NULL;