#include <msp/gl/extensions/arb_draw_buffers.h>
#include <msp/gl/extensions/ext_framebuffer_blit.h>
#include <msp/gl/extensions/ext_framebuffer_object.h>
+#include <msp/gl/extensions/msp_draw_buffer.h>
#include "error.h"
#include "framebuffer.h"
#include "misc.h"
color_bufs.push_back(attch.attachment);
}
- if(color_bufs.empty())
- {
- glDrawBuffer(GL_NONE);
- glReadBuffer(GL_NONE);
- }
- else if(color_bufs.size()==1)
- {
- glDrawBuffer(color_bufs.front());
- glReadBuffer(color_bufs.front());
- }
- else
- {
+ if(color_bufs.size()>1)
static Require _req(ARB_draw_buffers);
+
+ GLenum first_buffer = (color_bufs.empty() ? GL_NONE : color_bufs.front());
+ if(ARB_draw_buffers)
glDrawBuffers(color_bufs.size(), &color_bufs[0]);
- glReadBuffer(color_bufs.front());
- }
+ else if(MSP_draw_buffer)
+ glDrawBuffer(first_buffer);
+
+ if(MSP_draw_buffer)
+ glReadBuffer(first_buffer);
}
else
dirty |= mask;