Index: Source/modules/webgl/WebGL2RenderingContextBase.cpp |
diff --git a/Source/modules/webgl/WebGL2RenderingContextBase.cpp b/Source/modules/webgl/WebGL2RenderingContextBase.cpp |
index 672270918c6d75a9ccdd2152dd3c76bb7ab830f9..234cbd6fbd2a8383012c72629f347131e8395dbd 100644 |
--- a/Source/modules/webgl/WebGL2RenderingContextBase.cpp |
+++ b/Source/modules/webgl/WebGL2RenderingContextBase.cpp |
@@ -593,8 +593,14 @@ void WebGL2RenderingContextBase::copyTexSubImage3D(GLenum target, GLint level, G |
{ |
if (isContextLost()) |
return; |
- |
- notImplemented(); |
+ if (!validateCopyTexSubImage("copyTexSubImage3D", target, level, xoffset, yoffset, zoffset, x, y, width, height)) |
+ return; |
+ WebGLFramebuffer* readFramebufferBinding = nullptr; |
+ if (!validateReadBufferAndGetInfo("copyTexSubImage3D", readFramebufferBinding, nullptr, nullptr)) |
+ return; |
+ clearIfComposited(); |
+ ScopedDrawingBufferBinder binder(drawingBuffer(), readFramebufferBinding); |
+ webContext()->copyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); |
} |
void WebGL2RenderingContextBase::compressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, DOMArrayBufferView* data) |