Index: third_party/WebKit/Source/modules/webgl/WebGLFramebuffer.cpp |
diff --git a/third_party/WebKit/Source/modules/webgl/WebGLFramebuffer.cpp b/third_party/WebKit/Source/modules/webgl/WebGLFramebuffer.cpp |
index 4c8d58a08a46ff01f7b5b2f4e2067330ed7213a1..d7dd0397c6d09d39f1858ce8dad877f3179227ef 100644 |
--- a/third_party/WebKit/Source/modules/webgl/WebGLFramebuffer.cpp |
+++ b/third_party/WebKit/Source/modules/webgl/WebGLFramebuffer.cpp |
@@ -25,6 +25,7 @@ |
#include "modules/webgl/WebGLFramebuffer.h" |
+#include "gpu/command_buffer/client/gles2_interface.h" |
#include "modules/webgl/WebGLRenderbuffer.h" |
#include "modules/webgl/WebGLRenderingContextBase.h" |
#include "modules/webgl/WebGLTexture.h" |
@@ -48,8 +49,8 @@ private: |
bool isSharedObject(WebGLSharedObject*) const override; |
bool valid() const override; |
void onDetached(WebGraphicsContext3D*) override; |
- void attach(WebGraphicsContext3D*, GLenum target, GLenum attachment) override; |
- void unattach(WebGraphicsContext3D*, GLenum target, GLenum attachment) override; |
+ void attach(gpu::gles2::GLES2Interface*, GLenum target, GLenum attachment) override; |
+ void unattach(gpu::gles2::GLES2Interface*, GLenum target, GLenum attachment) override; |
Member<WebGLRenderbuffer> m_renderbuffer; |
}; |
@@ -90,15 +91,15 @@ void WebGLRenderbufferAttachment::onDetached(WebGraphicsContext3D* context) |
m_renderbuffer->onDetached(context); |
} |
-void WebGLRenderbufferAttachment::attach(WebGraphicsContext3D* context, GLenum target, GLenum attachment) |
+void WebGLRenderbufferAttachment::attach(gpu::gles2::GLES2Interface* gl, GLenum target, GLenum attachment) |
{ |
Platform3DObject object = objectOrZero(m_renderbuffer.get()); |
- context->framebufferRenderbuffer(target, attachment, GL_RENDERBUFFER, object); |
+ gl->FramebufferRenderbuffer(target, attachment, GL_RENDERBUFFER, object); |
} |
-void WebGLRenderbufferAttachment::unattach(WebGraphicsContext3D* context, GLenum target, GLenum attachment) |
+void WebGLRenderbufferAttachment::unattach(gpu::gles2::GLES2Interface* gl, GLenum target, GLenum attachment) |
{ |
- context->framebufferRenderbuffer(target, attachment, GL_RENDERBUFFER, 0); |
+ gl->FramebufferRenderbuffer(target, attachment, GL_RENDERBUFFER, 0); |
} |
class WebGLTextureAttachment final : public WebGLFramebuffer::WebGLAttachment { |
@@ -115,8 +116,8 @@ private: |
bool isSharedObject(WebGLSharedObject*) const override; |
bool valid() const override; |
void onDetached(WebGraphicsContext3D*) override; |
- void attach(WebGraphicsContext3D*, GLenum target, GLenum attachment) override; |
- void unattach(WebGraphicsContext3D*, GLenum target, GLenum attachment) override; |
+ void attach(gpu::gles2::GLES2Interface*, GLenum target, GLenum attachment) override; |
+ void unattach(gpu::gles2::GLES2Interface*, GLenum target, GLenum attachment) override; |
Member<WebGLTexture> m_texture; |
GLenum m_target; |
@@ -163,23 +164,23 @@ void WebGLTextureAttachment::onDetached(WebGraphicsContext3D* context) |
m_texture->onDetached(context); |
} |
-void WebGLTextureAttachment::attach(WebGraphicsContext3D* context, GLenum target, GLenum attachment) |
+void WebGLTextureAttachment::attach(gpu::gles2::GLES2Interface* gl, GLenum target, GLenum attachment) |
{ |
Platform3DObject object = objectOrZero(m_texture.get()); |
if (m_target == GL_TEXTURE_3D || m_target == GL_TEXTURE_2D_ARRAY) { |
- context->framebufferTextureLayer(target, attachment, object, m_level, m_layer); |
+ gl->FramebufferTextureLayer(target, attachment, object, m_level, m_layer); |
} else { |
- context->framebufferTexture2D(target, attachment, m_target, object, m_level); |
+ gl->FramebufferTexture2D(target, attachment, m_target, object, m_level); |
} |
} |
-void WebGLTextureAttachment::unattach(WebGraphicsContext3D* context, GLenum target, GLenum attachment) |
+void WebGLTextureAttachment::unattach(gpu::gles2::GLES2Interface* gl, GLenum target, GLenum attachment) |
{ |
// GL_DEPTH_STENCIL_ATTACHMENT attachment is valid in ES3. |
if (m_target == GL_TEXTURE_3D || m_target == GL_TEXTURE_2D_ARRAY) { |
- context->framebufferTextureLayer(target, attachment, 0, m_level, m_layer); |
+ gl->FramebufferTextureLayer(target, attachment, 0, m_level, m_layer); |
} else { |
- context->framebufferTexture2D(target, attachment, m_target, 0, m_level); |
+ gl->FramebufferTexture2D(target, attachment, m_target, 0, m_level); |
} |
} |
@@ -249,7 +250,7 @@ void WebGLFramebuffer::attach(GLenum target, GLenum attachment, GLenum attachmen |
ASSERT(isBound(target)); |
WebGLAttachment* attachmentObject = getAttachment(attachment); |
if (attachmentObject) |
- attachmentObject->attach(context()->webContext(), target, attachmentPoint); |
+ attachmentObject->attach(context()->contextGL(), target, attachmentPoint); |
} |
WebGLSharedObject* WebGLFramebuffer::getAttachmentObject(GLenum attachment) const |
@@ -305,7 +306,7 @@ void WebGLFramebuffer::removeAttachmentFromBoundFramebuffer(GLenum target, WebGL |
WebGLAttachment* attachmentObject = it.value.get(); |
if (attachmentObject->isSharedObject(attachment)) { |
GLenum attachmentType = it.key; |
- attachmentObject->unattach(context()->webContext(), target, attachmentType); |
+ attachmentObject->unattach(context()->contextGL(), target, attachmentType); |
removeAttachmentFromBoundFramebuffer(target, attachmentType); |
checkMore = true; |
break; |