| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef WebGL2RenderingContextBase_h | 5 #ifndef WebGL2RenderingContextBase_h |
| 6 #define WebGL2RenderingContextBase_h | 6 #define WebGL2RenderingContextBase_h |
| 7 | 7 |
| 8 #include "modules/webgl/WebGLExtension.h" | 8 #include "modules/webgl/WebGLExtension.h" |
| 9 #include "modules/webgl/WebGLRenderingContextBase.h" | 9 #include "modules/webgl/WebGLRenderingContextBase.h" |
| 10 | 10 |
| 11 namespace blink { | 11 namespace blink { |
| 12 | 12 |
| 13 class WebGLTexture; | 13 class WebGLTexture; |
| 14 | 14 |
| 15 class WebGLActiveInfo; | 15 class WebGLActiveInfo; |
| 16 class WebGLBuffer; | 16 class WebGLBuffer; |
| 17 class WebGLProgram; | 17 class WebGLProgram; |
| 18 class WebGLQuery; | 18 class WebGLQuery; |
| 19 class WebGLSampler; | 19 class WebGLSampler; |
| 20 class WebGLSync; | 20 class WebGLSync; |
| 21 class WebGLTransformFeedback; | 21 class WebGLTransformFeedback; |
| 22 class WebGLUniformLocation; | 22 class WebGLUniformLocation; |
| 23 class WebGLVertexArrayObject; | 23 class WebGLVertexArrayObject; |
| 24 | 24 |
| 25 class WebGL2RenderingContextBase : public WebGLRenderingContextBase { | 25 class WebGL2RenderingContextBase : public WebGLRenderingContextBase { |
| 26 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(WebGL2RenderingContextBase); | 26 USING_GARBAGE_COLLECTED_MIXIN(WebGL2RenderingContextBase); |
| 27 public: | 27 public: |
| 28 ~WebGL2RenderingContextBase() override; | 28 ~WebGL2RenderingContextBase() override; |
| 29 | 29 |
| 30 /* Buffer objects */ | 30 /* Buffer objects */ |
| 31 void copyBufferSubData(GLenum, GLenum, long long, long long, long long); | 31 void copyBufferSubData(GLenum, GLenum, long long, long long, long long); |
| 32 void getBufferSubData(GLenum target, long long offset, DOMArrayBuffer* retur
nedData); | 32 void getBufferSubData(GLenum target, long long offset, DOMArrayBuffer* retur
nedData); |
| 33 | 33 |
| 34 /* Framebuffer objects */ | 34 /* Framebuffer objects */ |
| 35 bool validateTexFuncLayer(const char*, GLenum texTarget, GLint layer); | 35 bool validateTexFuncLayer(const char*, GLenum texTarget, GLint layer); |
| 36 void blitFramebuffer(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint,
GLbitfield, GLenum); | 36 void blitFramebuffer(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint,
GLbitfield, GLenum); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 53 GLenum format, GLenum type, DOMArrayBufferView*); | 53 GLenum format, GLenum type, DOMArrayBufferView*); |
| 54 void texImage2D(GLenum target, GLint level, GLint internalformat, | 54 void texImage2D(GLenum target, GLint level, GLint internalformat, |
| 55 GLenum format, GLenum type, ImageData*); | 55 GLenum format, GLenum type, ImageData*); |
| 56 void texImage2D(GLenum target, GLint level, GLint internalformat, | 56 void texImage2D(GLenum target, GLint level, GLint internalformat, |
| 57 GLenum format, GLenum type, HTMLImageElement*, ExceptionState&); | 57 GLenum format, GLenum type, HTMLImageElement*, ExceptionState&); |
| 58 void texImage2D(GLenum target, GLint level, GLint internalformat, | 58 void texImage2D(GLenum target, GLint level, GLint internalformat, |
| 59 GLenum format, GLenum type, HTMLCanvasElement*, ExceptionState&); | 59 GLenum format, GLenum type, HTMLCanvasElement*, ExceptionState&); |
| 60 void texImage2D(GLenum target, GLint level, GLint internalformat, | 60 void texImage2D(GLenum target, GLint level, GLint internalformat, |
| 61 GLenum format, GLenum type, HTMLVideoElement*, ExceptionState&); | 61 GLenum format, GLenum type, HTMLVideoElement*, ExceptionState&); |
| 62 void texImage2D(GLenum target, GLint level, GLint internalformat, | 62 void texImage2D(GLenum target, GLint level, GLint internalformat, |
| 63 GLenum format, GLenum type, PassRefPtrWillBeRawPtr<ImageBitmap>, Excepti
onState&); | 63 GLenum format, GLenum type, RawPtr<ImageBitmap>, ExceptionState&); |
| 64 void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, | 64 void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, |
| 65 GLsizei width, GLsizei height, | 65 GLsizei width, GLsizei height, |
| 66 GLenum format, GLenum type, DOMArrayBufferView*); | 66 GLenum format, GLenum type, DOMArrayBufferView*); |
| 67 void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, | 67 void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, |
| 68 GLenum format, GLenum type, ImageData*); | 68 GLenum format, GLenum type, ImageData*); |
| 69 void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, | 69 void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, |
| 70 GLenum format, GLenum type, HTMLImageElement*, ExceptionState&); | 70 GLenum format, GLenum type, HTMLImageElement*, ExceptionState&); |
| 71 void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, | 71 void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, |
| 72 GLenum format, GLenum type, HTMLCanvasElement*, ExceptionState&); | 72 GLenum format, GLenum type, HTMLCanvasElement*, ExceptionState&); |
| 73 void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, | 73 void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, |
| 74 GLenum format, GLenum type, HTMLVideoElement*, ExceptionState&); | 74 GLenum format, GLenum type, HTMLVideoElement*, ExceptionState&); |
| 75 void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, | 75 void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, |
| 76 GLenum format, GLenum type, PassRefPtrWillBeRawPtr<ImageBitmap>, Excepti
onState&); | 76 GLenum format, GLenum type, RawPtr<ImageBitmap>, ExceptionState&); |
| 77 | 77 |
| 78 void texStorage2D(GLenum, GLsizei, GLenum, GLsizei, GLsizei); | 78 void texStorage2D(GLenum, GLsizei, GLenum, GLsizei, GLsizei); |
| 79 void texStorage3D(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); | 79 void texStorage3D(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); |
| 80 void texImage3D(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLen
um, GLenum, DOMArrayBufferView*); | 80 void texImage3D(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLen
um, GLenum, DOMArrayBufferView*); |
| 81 void texImage3D(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLen
um, GLenum, GLintptr); | 81 void texImage3D(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLen
um, GLenum, GLintptr); |
| 82 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLs
izei, GLenum, GLenum, DOMArrayBufferView*); | 82 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLs
izei, GLenum, GLenum, DOMArrayBufferView*); |
| 83 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLs
izei, GLenum, GLenum, GLintptr); | 83 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLs
izei, GLenum, GLenum, GLintptr); |
| 84 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLenum, GLenum, Image
Data*); | 84 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLenum, GLenum, Image
Data*); |
| 85 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLenum, GLenum, HTMLI
mageElement*, ExceptionState&); | 85 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLenum, GLenum, HTMLI
mageElement*, ExceptionState&); |
| 86 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLenum, GLenum, HTMLC
anvasElement*, ExceptionState&); | 86 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLenum, GLenum, HTMLC
anvasElement*, ExceptionState&); |
| 87 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLenum, GLenum, HTMLV
ideoElement*, ExceptionState&); | 87 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLenum, GLenum, HTMLV
ideoElement*, ExceptionState&); |
| 88 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLenum, GLenum, PassR
efPtrWillBeRawPtr<ImageBitmap>, ExceptionState&); | 88 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLenum, GLenum, RawPt
r<ImageBitmap>, ExceptionState&); |
| 89 void copyTexSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLs
izei, GLsizei); | 89 void copyTexSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLs
izei, GLsizei); |
| 90 void compressedTexImage3D(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei,
GLint, DOMArrayBufferView*); | 90 void compressedTexImage3D(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei,
GLint, DOMArrayBufferView*); |
| 91 void compressedTexSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLsizei, GL
sizei, GLsizei, GLenum, DOMArrayBufferView*); | 91 void compressedTexSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLsizei, GL
sizei, GLsizei, GLenum, DOMArrayBufferView*); |
| 92 | 92 |
| 93 /* Programs and shaders */ | 93 /* Programs and shaders */ |
| 94 GLint getFragDataLocation(WebGLProgram*, const String&); | 94 GLint getFragDataLocation(WebGLProgram*, const String&); |
| 95 | 95 |
| 96 /* Uniforms and attributes */ | 96 /* Uniforms and attributes */ |
| 97 void uniform1ui(const WebGLUniformLocation*, GLuint); | 97 void uniform1ui(const WebGLUniformLocation*, GLuint); |
| 98 void uniform2ui(const WebGLUniformLocation*, GLuint, GLuint); | 98 void uniform2ui(const WebGLUniformLocation*, GLuint, GLuint); |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 275 void removeBoundBuffer(WebGLBuffer*) override; | 275 void removeBoundBuffer(WebGLBuffer*) override; |
| 276 | 276 |
| 277 void resetUnpackParameters() override; | 277 void resetUnpackParameters() override; |
| 278 void restoreUnpackParameters() override; | 278 void restoreUnpackParameters() override; |
| 279 | 279 |
| 280 bool transformFeedbackActive() const override; | 280 bool transformFeedbackActive() const override; |
| 281 bool transformFeedbackPaused() const override; | 281 bool transformFeedbackPaused() const override; |
| 282 void setTransformFeedbackActive(bool); | 282 void setTransformFeedbackActive(bool); |
| 283 void setTransformFeedbackPaused(bool); | 283 void setTransformFeedbackPaused(bool); |
| 284 | 284 |
| 285 PersistentWillBeMember<WebGLFramebuffer> m_readFramebufferBinding; | 285 Member<WebGLFramebuffer> m_readFramebufferBinding; |
| 286 PersistentWillBeMember<WebGLTransformFeedback> m_transformFeedbackBinding; | 286 Member<WebGLTransformFeedback> m_transformFeedbackBinding; |
| 287 | 287 |
| 288 std::set<GLenum> m_supportedInternalFormatsStorage; | 288 std::set<GLenum> m_supportedInternalFormatsStorage; |
| 289 std::set<GLenum> m_compressedTextureFormatsETC2EAC; | 289 std::set<GLenum> m_compressedTextureFormatsETC2EAC; |
| 290 | 290 |
| 291 PersistentWillBeMember<WebGLBuffer> m_boundCopyReadBuffer; | 291 Member<WebGLBuffer> m_boundCopyReadBuffer; |
| 292 PersistentWillBeMember<WebGLBuffer> m_boundCopyWriteBuffer; | 292 Member<WebGLBuffer> m_boundCopyWriteBuffer; |
| 293 PersistentWillBeMember<WebGLBuffer> m_boundPixelPackBuffer; | 293 Member<WebGLBuffer> m_boundPixelPackBuffer; |
| 294 PersistentWillBeMember<WebGLBuffer> m_boundPixelUnpackBuffer; | 294 Member<WebGLBuffer> m_boundPixelUnpackBuffer; |
| 295 PersistentWillBeMember<WebGLBuffer> m_boundTransformFeedbackBuffer; | 295 Member<WebGLBuffer> m_boundTransformFeedbackBuffer; |
| 296 PersistentWillBeMember<WebGLBuffer> m_boundUniformBuffer; | 296 Member<WebGLBuffer> m_boundUniformBuffer; |
| 297 | 297 |
| 298 PersistentHeapVectorWillBeHeapVector<Member<WebGLBuffer>> m_boundIndexedTran
sformFeedbackBuffers; | 298 HeapVector<Member<WebGLBuffer>> m_boundIndexedTransformFeedbackBuffers; |
| 299 PersistentHeapVectorWillBeHeapVector<Member<WebGLBuffer>> m_boundIndexedUnif
ormBuffers; | 299 HeapVector<Member<WebGLBuffer>> m_boundIndexedUniformBuffers; |
| 300 GLint m_maxTransformFeedbackSeparateAttribs; | 300 GLint m_maxTransformFeedbackSeparateAttribs; |
| 301 size_t m_maxBoundUniformBufferIndex; | 301 size_t m_maxBoundUniformBufferIndex; |
| 302 | 302 |
| 303 PersistentWillBeMember<WebGLQuery> m_currentBooleanOcclusionQuery; | 303 Member<WebGLQuery> m_currentBooleanOcclusionQuery; |
| 304 PersistentWillBeMember<WebGLQuery> m_currentTransformFeedbackPrimitivesWritt
enQuery; | 304 Member<WebGLQuery> m_currentTransformFeedbackPrimitivesWrittenQuery; |
| 305 PersistentHeapVectorWillBeHeapVector<Member<WebGLSampler>> m_samplerUnits; | 305 HeapVector<Member<WebGLSampler>> m_samplerUnits; |
| 306 | 306 |
| 307 GLint m_packRowLength; | 307 GLint m_packRowLength; |
| 308 GLint m_packSkipPixels; | 308 GLint m_packSkipPixels; |
| 309 GLint m_packSkipRows; | 309 GLint m_packSkipRows; |
| 310 GLint m_unpackRowLength; | 310 GLint m_unpackRowLength; |
| 311 GLint m_unpackImageHeight; | 311 GLint m_unpackImageHeight; |
| 312 GLint m_unpackSkipPixels; | 312 GLint m_unpackSkipPixels; |
| 313 GLint m_unpackSkipRows; | 313 GLint m_unpackSkipRows; |
| 314 GLint m_unpackSkipImages; | 314 GLint m_unpackSkipImages; |
| 315 }; | 315 }; |
| 316 | 316 |
| 317 DEFINE_TYPE_CASTS(WebGL2RenderingContextBase, CanvasRenderingContext, context, | 317 DEFINE_TYPE_CASTS(WebGL2RenderingContextBase, CanvasRenderingContext, context, |
| 318 context->is3d() && WebGLRenderingContextBase::getWebGLVersion(context) >= 2, | 318 context->is3d() && WebGLRenderingContextBase::getWebGLVersion(context) >= 2, |
| 319 context.is3d() && WebGLRenderingContextBase::getWebGLVersion(&context) >= 2)
; | 319 context.is3d() && WebGLRenderingContextBase::getWebGLVersion(&context) >= 2)
; |
| 320 | 320 |
| 321 } // namespace blink | 321 } // namespace blink |
| 322 | 322 |
| 323 #endif | 323 #endif |
| OLD | NEW |