| Index: third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.h
|
| diff --git a/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.h b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.h
|
| index 23479a91c40c872683f81e18756676d6259718c6..e03d8f50567ea105f0a48bcc3885fccc8aaf6f2c 100644
|
| --- a/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.h
|
| +++ b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.h
|
| @@ -5,6 +5,7 @@
|
| #ifndef WebGL2RenderingContextBase_h
|
| #define WebGL2RenderingContextBase_h
|
|
|
| +#include "bindings/core/v8/ScriptPromise.h"
|
| #include "modules/webgl/WebGLExtension.h"
|
| #include "modules/webgl/WebGLRenderingContextBase.h"
|
| #include <memory>
|
| @@ -15,6 +16,7 @@ class WebGLTexture;
|
|
|
| class WebGLActiveInfo;
|
| class WebGLBuffer;
|
| +class WebGLGetBufferSubDataAsyncCallback;
|
| class WebGLProgram;
|
| class WebGLQuery;
|
| class WebGLSampler;
|
| @@ -27,6 +29,8 @@ class WebGL2RenderingContextBase : public WebGLRenderingContextBase {
|
| public:
|
| ~WebGL2RenderingContextBase() override;
|
|
|
| + void destroyContext() override;
|
| +
|
| /* Buffer objects */
|
| void bufferData(GLenum, DOMArrayBufferView*, GLenum, GLuint, GLuint);
|
| void bufferSubData(GLenum, GLintptr, DOMArrayBufferView*, GLuint, GLuint);
|
| @@ -43,6 +47,12 @@ class WebGL2RenderingContextBase : public WebGLRenderingContextBase {
|
|
|
| void copyBufferSubData(GLenum, GLenum, long long, long long, long long);
|
| void getBufferSubData(GLenum, long long, DOMArrayBufferView*, GLuint, GLuint);
|
| + ScriptPromise getBufferSubDataAsync(ScriptState*,
|
| + GLenum,
|
| + GLintptr,
|
| + DOMArrayBufferView*,
|
| + GLuint,
|
| + GLuint);
|
|
|
| /* Framebuffer objects */
|
| bool validateTexFuncLayer(const char*, GLenum texTarget, GLint layer);
|
| @@ -811,6 +821,29 @@ class WebGL2RenderingContextBase : public WebGLRenderingContextBase {
|
| GLenum target) override;
|
| bool validateBufferDataUsage(const char* functionName, GLenum usage) override;
|
|
|
| + const char* validateGetBufferSubData(const char*,
|
| + GLenum,
|
| + GLintptr,
|
| + DOMArrayBufferView*,
|
| + GLuint,
|
| + GLuint,
|
| + WebGLBuffer**,
|
| + void**,
|
| + long long*);
|
| + const char* validateGetBufferSubDataBounds(const char*,
|
| + WebGLBuffer*,
|
| + GLintptr,
|
| + long long);
|
| +
|
| + std::set<WebGLGetBufferSubDataAsyncCallback*>
|
| + m_getBufferSubDataAsyncCallbacks;
|
| +
|
| + friend class WebGLGetBufferSubDataAsyncCallback;
|
| + void registerGetBufferSubDataAsyncCallback(
|
| + WebGLGetBufferSubDataAsyncCallback*);
|
| + void unregisterGetBufferSubDataAsyncCallback(
|
| + WebGLGetBufferSubDataAsyncCallback*);
|
| +
|
| bool canUseTexImageByGPU(TexImageFunctionID,
|
| GLint internalformat,
|
| GLenum type) override;
|
|
|