Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(472)

Unified Diff: third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp

Issue 2507863002: Implement texture uploads from ImageBitmap with sub source. (Closed)
Patch Set: rebase again Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp
diff --git a/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp
index b0e2964258793aae49e26a5b08765d1102333868..739a23f6d51e9088cce1f3c2e4f8fee42a299ad5 100644
--- a/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp
+++ b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp
@@ -1376,9 +1376,12 @@ void WebGL2RenderingContextBase::texImage2D(GLenum target,
GLint border,
GLenum format,
GLenum type,
- ImageBitmap* imageBitMap,
+ ImageBitmap* bitmap,
ExceptionState& exceptionState) {
- // TODO(zmo): To be implemented.
+ DCHECK(bitmap);
+ texImageHelperImageBitmap(
+ TexImage2D, target, level, internalformat, format, type, 0, 0, 0, bitmap,
+ getTextureSourceSubRectangle(width, height), 1, 0, exceptionState);
}
void WebGL2RenderingContextBase::texImage2D(GLenum target,
@@ -1534,7 +1537,11 @@ void WebGL2RenderingContextBase::texSubImage2D(GLenum target,
GLenum type,
ImageBitmap* bitmap,
ExceptionState& exceptionState) {
- // TODO(zmo): To be implemented.
+ DCHECK(bitmap);
+ texImageHelperImageBitmap(TexSubImage2D, target, level, 0, format, type,
+ xoffset, yoffset, 0, bitmap,
+ getTextureSourceSubRectangle(width, height), 1, 0,
+ exceptionState);
}
void WebGL2RenderingContextBase::texSubImage2D(GLenum target,
@@ -1766,9 +1773,12 @@ void WebGL2RenderingContextBase::texImage3D(GLenum target,
GLint border,
GLenum format,
GLenum type,
- ImageBitmap* imageBitMap,
+ ImageBitmap* bitmap,
ExceptionState& exceptionState) {
- // TODO(zmo): To be implemented.
+ texImageHelperImageBitmap(TexImage3D, target, level, internalformat, format,
+ type, 0, 0, 0, bitmap,
+ getTextureSourceSubRectangle(width, height), depth,
+ m_unpackImageHeight, exceptionState);
}
void WebGL2RenderingContextBase::texSubImage3D(GLenum target,
@@ -1832,12 +1842,10 @@ void WebGL2RenderingContextBase::texSubImage3D(GLenum target,
GLenum type,
ImageData* pixels) {
DCHECK(pixels);
- IntRect sourceImageRect;
- sourceImageRect.setLocation(IntPoint(m_unpackSkipPixels, m_unpackSkipRows));
- sourceImageRect.setSize(IntSize(width, height));
texImageHelperImageData(TexSubImage3D, target, level, 0, 0, format, type,
depth, xoffset, yoffset, zoffset, pixels,
- sourceImageRect, m_unpackImageHeight);
+ getTextureSourceSubRectangle(width, height),
+ m_unpackImageHeight);
}
void WebGL2RenderingContextBase::texSubImage3D(GLenum target,
@@ -1906,20 +1914,10 @@ void WebGL2RenderingContextBase::texSubImage3D(GLenum target,
GLenum type,
ImageBitmap* bitmap,
ExceptionState& exceptionState) {
- // TODO(zmo): To be implemented.
-}
-
-void WebGL2RenderingContextBase::texSubImage3D(GLenum target,
- GLint level,
- GLint xoffset,
- GLint yoffset,
- GLint zoffset,
- GLenum format,
- GLenum type,
- ImageBitmap* bitmap,
- ExceptionState& exceptionState) {
texImageHelperImageBitmap(TexSubImage3D, target, level, 0, format, type,
- xoffset, yoffset, zoffset, bitmap, exceptionState);
+ xoffset, yoffset, zoffset, bitmap,
+ getTextureSourceSubRectangle(width, height), depth,
+ m_unpackImageHeight, exceptionState);
}
void WebGL2RenderingContextBase::copyTexSubImage3D(GLenum target,

Powered by Google App Engine
This is Rietveld 408576698