Commit cd040841 authored by zmo@chromium.org's avatar zmo@chromium.org

Enable drawBuffers() also on ES3

BUG=525930
TEST=conformance2/rendering/draw_buffers.html
R=bajones@chromium.org,kbr@chromium.org

Review URL: https://codereview.chromium.org/1315193013

git-svn-id: svn://svn.chromium.org/blink/trunk@201585 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 12de0600
...@@ -605,26 +605,27 @@ void WebGLFramebuffer::drawBuffers(const Vector<GLenum>& bufs) ...@@ -605,26 +605,27 @@ void WebGLFramebuffer::drawBuffers(const Vector<GLenum>& bufs)
void WebGLFramebuffer::drawBuffersIfNecessary(bool force) void WebGLFramebuffer::drawBuffersIfNecessary(bool force)
{ {
if (!context()->extensionEnabled(WebGLDrawBuffersName)) if (context()->isWebGL2OrHigher()
return; || context()->extensionEnabled(WebGLDrawBuffersName)) {
bool reset = force; bool reset = force;
// This filtering works around graphics driver bugs on Mac OS X. // This filtering works around graphics driver bugs on Mac OS X.
for (size_t i = 0; i < m_drawBuffers.size(); ++i) { for (size_t i = 0; i < m_drawBuffers.size(); ++i) {
if (m_drawBuffers[i] != GL_NONE && getAttachment(m_drawBuffers[i])) { if (m_drawBuffers[i] != GL_NONE && getAttachment(m_drawBuffers[i])) {
if (m_filteredDrawBuffers[i] != m_drawBuffers[i]) { if (m_filteredDrawBuffers[i] != m_drawBuffers[i]) {
m_filteredDrawBuffers[i] = m_drawBuffers[i]; m_filteredDrawBuffers[i] = m_drawBuffers[i];
reset = true; reset = true;
} }
} else { } else {
if (m_filteredDrawBuffers[i] != GL_NONE) { if (m_filteredDrawBuffers[i] != GL_NONE) {
m_filteredDrawBuffers[i] = GL_NONE; m_filteredDrawBuffers[i] = GL_NONE;
reset = true; reset = true;
}
} }
} }
} if (reset) {
if (reset) { context()->webContext()->drawBuffersEXT(
context()->webContext()->drawBuffersEXT( m_filteredDrawBuffers.size(), m_filteredDrawBuffers.data());
m_filteredDrawBuffers.size(), m_filteredDrawBuffers.data()); }
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment