Browse Source

Merge 40c4d9edd4 into 23646e6690

pull/134/merge
Sam Spilsbury 10 years ago
parent
commit
f1850635e8
  1. 22
      src/Magnum/AbstractFramebuffer.cpp
  2. 12
      src/Magnum/AbstractFramebuffer.h

22
src/Magnum/AbstractFramebuffer.cpp

@ -105,9 +105,13 @@ void AbstractFramebuffer::bind() {
}
void AbstractFramebuffer::bindInternal(FramebufferTarget target) {
#if defined(MAGNUM_TARGET_GLES2) && !defined(MAGNUM_TARGET_WEBGL)
#if defined(MAGNUM_TARGET_GLES2)
#if !defined(MAGNUM_TARGET_WEBGL)
(this->*Context::current().state().framebuffer->bindImplementation)(target);
#else
bindImplementationSingle();
#endif
#else
bindImplementationDefault(target);
#endif
}
@ -122,7 +126,7 @@ void AbstractFramebuffer::bindImplementationSingle(FramebufferTarget) {
/* Binding the framebuffer finally creates it */
_flags |= ObjectFlag::Created;
glBindFramebuffer(GL_FRAMEBUFFER, _id);
glBindFramebuffer(GLenum(FramebufferTarget::Draw), _id);
}
#endif
@ -146,9 +150,13 @@ void AbstractFramebuffer::bindImplementationDefault(FramebufferTarget target) {
}
FramebufferTarget AbstractFramebuffer::bindInternal() {
#if defined(MAGNUM_TARGET_GLES2) && !defined(MAGNUM_TARGET_WEBGL)
#if defined(MAGNUM_TARGET_GLES2)
#if !defined(MAGNUM_TARGET_WEBGL)
return (this->*Context::current().state().framebuffer->bindInternalImplementation)();
#else
return bindImplementationSingle();
#endif
#else
return bindImplementationDefault();
#endif
}
@ -164,10 +172,10 @@ FramebufferTarget AbstractFramebuffer::bindImplementationSingle() {
/* Binding the framebuffer finally creates it */
_flags |= ObjectFlag::Created;
glBindFramebuffer(GL_FRAMEBUFFER, _id);
glBindFramebuffer(GLenum(FramebufferTarget::Draw), _id);
}
return FramebufferTarget{};
return FramebufferTarget::Draw;
}
#endif
@ -367,8 +375,8 @@ GLenum AbstractFramebuffer::checkStatusImplementationDefault(const FramebufferTa
#ifdef MAGNUM_TARGET_GLES2
GLenum AbstractFramebuffer::checkStatusImplementationSingle(FramebufferTarget) {
bindInternal(FramebufferTarget{});
return glCheckFramebufferStatus(GL_FRAMEBUFFER);
bindInternal(FramebufferTarget::Draw);
return glCheckFramebufferStatus(GLenum(FramebufferTarget::Draw));
}
#endif

12
src/Magnum/AbstractFramebuffer.h

@ -117,19 +117,19 @@ enum class FramebufferTarget: GLenum {
/** Frambebuffer reading target */
#ifndef MAGNUM_TARGET_GLES2
Read = GL_READ_FRAMEBUFFER,
#elif !defined(MAGNUM_TARGET_WEBGL)
#elif defined(CORRADE_TARGET_APPLE)
Read = GL_READ_FRAMEBUFFER_APPLE,
#else
Read,
Read = GL_FRAMEBUFFER,
#endif
/** Framebuffer drawing target */
#ifndef MAGNUM_TARGET_GLES2
Draw = GL_DRAW_FRAMEBUFFER,
#elif !defined(MAGNUM_TARGET_WEBGL)
#elif defined(CORRADE_TARGET_APPLE)
Draw = GL_DRAW_FRAMEBUFFER_APPLE,
#else
Draw,
Draw = GL_FRAMEBUFFER,
#endif
#ifdef MAGNUM_BUILD_DEPRECATED
@ -140,10 +140,10 @@ enum class FramebufferTarget: GLenum {
ReadDraw CORRADE_DEPRECATED_ENUM("use FramebufferTarget::Draw instead") =
#ifndef MAGNUM_TARGET_GLES2
GL_DRAW_FRAMEBUFFER
#elif !defined(MAGNUM_TARGET_WEBGL)
#elif defined(MAGNUM_TARGET_APPLE)
GL_DRAW_FRAMEBUFFER_APPLE
#else
1
GL_FRAMEBUFFER
#endif
#endif
};

Loading…
Cancel
Save