Diff
Modified: trunk/Source/WebCore/ChangeLog (222984 => 222985)
--- trunk/Source/WebCore/ChangeLog 2017-10-06 16:40:53 UTC (rev 222984)
+++ trunk/Source/WebCore/ChangeLog 2017-10-06 16:49:50 UTC (rev 222985)
@@ -1,3 +1,20 @@
+2017-10-06 Ms2ger <[email protected]>
+
+ Create bindings for WebGL2's versions of texImage2D.
+ https://bugs.webkit.org/show_bug.cgi?id=178006
+
+ Reviewed by Dean Jackson.
+
+ No new tests: not much point in adding tests now; this method doesn't
+ do anything anyway.
+
+ * html/canvas/WebGL2RenderingContext.cpp:
+ (WebCore::WebGL2RenderingContext::texImage2D):
+ * html/canvas/WebGL2RenderingContext.h:
+ * html/canvas/WebGL2RenderingContext.idl:
+ * html/canvas/WebGLRenderingContext.idl:
+ * html/canvas/WebGLRenderingContextBase.idl:
+
2017-10-06 Brady Eidson <[email protected]>
Add (entirely incorrect) fetching of ServiceWorker scripts.
Modified: trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp (222984 => 222985)
--- trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp 2017-10-06 16:40:53 UTC (rev 222984)
+++ trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp 2017-10-06 16:49:50 UTC (rev 222985)
@@ -479,6 +479,18 @@
{
}
+void WebGL2RenderingContext::texImage2D(GC3Denum, GC3Dint, GC3Dint, GC3Dsizei, GC3Dsizei, GC3Dint, GC3Denum, GC3Denum, GC3Dint64)
+{
+}
+
+void WebGL2RenderingContext::texImage2D(GC3Denum, GC3Dint, GC3Dint, GC3Dsizei, GC3Dsizei, GC3Dint, GC3Denum, GC3Denum, TexImageSource&&)
+{
+}
+
+void WebGL2RenderingContext::texImage2D(GC3Denum, GC3Dint, GC3Dint, GC3Dsizei, GC3Dsizei, GC3Dint, GC3Denum, GC3Denum, RefPtr<ArrayBufferView>&&, GC3Duint)
+{
+}
+
void WebGL2RenderingContext::texImage3D(GC3Denum, GC3Dint, GC3Dint, GC3Dsizei, GC3Dsizei, GC3Dsizei, GC3Dint, GC3Denum, GC3Denum, RefPtr<ArrayBufferView>&&)
{
}
Modified: trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.h (222984 => 222985)
--- trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.h 2017-10-06 16:40:53 UTC (rev 222984)
+++ trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.h 2017-10-06 16:49:50 UTC (rev 222985)
@@ -65,6 +65,12 @@
// Texture objects
void texStorage2D(GC3Denum target, GC3Dsizei levels, GC3Denum internalFormat, GC3Dsizei width, GC3Dsizei height);
void texStorage3D(GC3Denum target, GC3Dsizei levels, GC3Denum internalFormat, GC3Dsizei width, GC3Dsizei height, GC3Dsizei depth);
+
+ using WebGLRenderingContextBase::texImage2D;
+ void texImage2D(GC3Denum target, GC3Dint level, GC3Dint internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dint border, GC3Denum format, GC3Denum type, GC3Dint64 pboOffset);
+ void texImage2D(GC3Denum target, GC3Dint level, GC3Dint internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dint border, GC3Denum format, GC3Denum type, TexImageSource&&);
+ void texImage2D(GC3Denum target, GC3Dint level, GC3Dint internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dint border, GC3Denum format, GC3Denum type, RefPtr<ArrayBufferView>&& srcData, GC3Duint srcOffset);
+
void texImage3D(GC3Denum target, GC3Dint level, GC3Dint internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dsizei depth, GC3Dint border, GC3Denum format, GC3Denum type, RefPtr<ArrayBufferView>&& pixels);
void texSubImage3D(GC3Denum target, GC3Dint level, GC3Dint xoffset, GC3Dint yoffset, GC3Dint zoffset, GC3Dsizei width, GC3Dsizei height, GC3Dsizei depth, GC3Denum format, GC3Denum type, RefPtr<ArrayBufferView>&& pixels);
Modified: trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.idl (222984 => 222985)
--- trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.idl 2017-10-06 16:40:53 UTC (rev 222984)
+++ trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.idl 2017-10-06 16:49:50 UTC (rev 222985)
@@ -363,6 +363,16 @@
/* Texture objects */
void texStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
void texStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
+
+ // WebGL1 legacy entrypoints:
+ void texImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, ArrayBufferView? pixels);
+ [MayThrowException] void texImage2D(GLenum target, GLint level, GLenum internalformat, GLenum format, GLenum type, TexImageSource? source);
+
+ // WebGL2 entrypoints:
+ void texImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLintptr pboOffset);
+ void texImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, TexImageSource source);
+ void texImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, ArrayBufferView srcData, GLuint srcOffset);
+
void texImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, ArrayBufferView? pixels);
void texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, ArrayBufferView? pixels);
Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContext.idl (222984 => 222985)
--- trunk/Source/WebCore/html/canvas/WebGLRenderingContext.idl 2017-10-06 16:40:53 UTC (rev 222984)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContext.idl 2017-10-06 16:49:50 UTC (rev 222985)
@@ -27,6 +27,13 @@
typedef long GLint;
typedef long GLsizei;
+// FIXME: Should allow ImageBitmap too.
+#ifdef ENABLE_VIDEO
+typedef (ImageData or HTMLImageElement or HTMLCanvasElement or HTMLVideoElement) TexImageSource;
+#else
+typedef (ImageData or HTMLImageElement or HTMLCanvasElement) TexImageSource;
+#endif
+
[
Conditional=WEBGL,
JSCustomMarkFunction,
@@ -35,8 +42,12 @@
ExportMacro=WEBCORE_EXPORT,
CallTracingCallback=recordCanvasAction,
] interface WebGLRenderingContext {
- // This method is placed outside of WebGLRenderingContextBase to avoid
+ // These methods are placed outside of WebGLRenderingContextBase to avoid
// conficts with overloads in WebGL2RenderingContext.
+
+ void texImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, ArrayBufferView? pixels);
+ [MayThrowException] void texImage2D(GLenum target, GLint level, GLenum internalformat, GLenum format, GLenum type, TexImageSource? source);
+
void compressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, ArrayBufferView data);
};
Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.idl (222984 => 222985)
--- trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.idl 2017-10-06 16:40:53 UTC (rev 222984)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.idl 2017-10-06 16:49:50 UTC (rev 222985)
@@ -623,9 +623,6 @@
void texParameteri(GLenum target, GLenum pname, GLint param);
// Supported forms:
- void texImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, ArrayBufferView? pixels);
- [MayThrowException] void texImage2D(GLenum target, GLint level, GLenum internalformat, GLenum format, GLenum type, TexImageSource? source);
-
void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, ArrayBufferView? pixels);
[MayThrowException] void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLenum format, GLenum type, TexImageSource? source);