| 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); |
| 37 void framebufferTextureLayer(ScriptState*, GLenum, GLenum, WebGLTexture*, GL
int, GLint); | 37 void framebufferTextureLayer(ScriptState*, GLenum, GLenum, WebGLTexture*, GL
int, GLint); |
| 38 ScriptValue getInternalformatParameter(ScriptState*, GLenum, GLenum, GLenum)
; | 38 ScriptValue getInternalformatParameter(ScriptState*, GLenum, GLenum, GLenum)
; |
| 39 void invalidateFramebuffer(GLenum, const Vector<GLenum>&); | 39 void invalidateFramebuffer(GLenum, const Vector<GLenum>&); |
| 40 void invalidateSubFramebuffer(GLenum, const Vector<GLenum>&, GLint, GLint, G
Lsizei, GLsizei); | 40 void invalidateSubFramebuffer(GLenum, const Vector<GLenum>&, GLint, GLint, G
Lsizei, GLsizei); |
| 41 void readBuffer(GLenum); | 41 void readBuffer(GLenum); |
| 42 | 42 |
| 43 /* Renderbuffer objects */ | 43 /* Renderbuffer objects */ |
| 44 void renderbufferStorageMultisample(GLenum, GLsizei, GLenum, GLsizei, GLsize
i); | 44 void renderbufferStorageMultisample(GLenum, GLsizei, GLenum, GLsizei, GLsize
i); |
| 45 | 45 |
| 46 /* Texture objects */ | 46 /* Texture objects */ |
| 47 void texStorage2D(GLenum, GLsizei, GLenum, GLsizei, GLsizei); | 47 void texStorage2D(GLenum, GLsizei, GLenum, GLsizei, GLsizei); |
| 48 void texStorage3D(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); | 48 void texStorage3D(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); |
| 49 void texImage3D(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLen
um, GLenum, DOMArrayBufferView*); | 49 void texImage3D(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLen
um, GLenum, DOMArrayBufferView*); |
| 50 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLs
izei, GLenum, GLenum, DOMArrayBufferView*); | 50 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLs
izei, GLenum, GLenum, DOMArrayBufferView*); |
| 51 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLenum, GLenum, Image
Data*); | 51 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLenum, GLenum, Image
Data*); |
| 52 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLenum, GLenum, HTMLI
mageElement*, ExceptionState&); | 52 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLenum, GLenum, HTMLI
mageElement*, ExceptionState&); |
| 53 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLenum, GLenum, HTMLC
anvasElement*, ExceptionState&); | 53 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLenum, GLenum, HTMLC
anvasElement*, ExceptionState&); |
| 54 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLenum, GLenum, HTMLV
ideoElement*, ExceptionState&); | 54 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLenum, GLenum, HTMLV
ideoElement*, ExceptionState&); |
| 55 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLenum, GLenum, PassR
efPtrWillBeRawPtr<ImageBitmap>, ExceptionState&); | 55 void texSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLenum, GLenum, RawPt
r<ImageBitmap>, ExceptionState&); |
| 56 void copyTexSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLs
izei, GLsizei); | 56 void copyTexSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLs
izei, GLsizei); |
| 57 void compressedTexImage3D(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei,
GLint, DOMArrayBufferView*); | 57 void compressedTexImage3D(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei,
GLint, DOMArrayBufferView*); |
| 58 void compressedTexSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLsizei, GL
sizei, GLsizei, GLenum, DOMArrayBufferView*); | 58 void compressedTexSubImage3D(GLenum, GLint, GLint, GLint, GLint, GLsizei, GL
sizei, GLsizei, GLenum, DOMArrayBufferView*); |
| 59 | 59 |
| 60 /* Programs and shaders */ | 60 /* Programs and shaders */ |
| 61 GLint getFragDataLocation(WebGLProgram*, const String&); | 61 GLint getFragDataLocation(WebGLProgram*, const String&); |
| 62 | 62 |
| 63 /* Uniforms and attributes */ | 63 /* Uniforms and attributes */ |
| 64 void uniform1ui(const WebGLUniformLocation*, GLuint); | 64 void uniform1ui(const WebGLUniformLocation*, GLuint); |
| 65 void uniform2ui(const WebGLUniformLocation*, GLuint, GLuint); | 65 void uniform2ui(const WebGLUniformLocation*, GLuint, GLuint); |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 244 void removeBoundBuffer(WebGLBuffer*) override; | 244 void removeBoundBuffer(WebGLBuffer*) override; |
| 245 | 245 |
| 246 void resetUnpackParameters() override; | 246 void resetUnpackParameters() override; |
| 247 void restoreUnpackParameters() override; | 247 void restoreUnpackParameters() override; |
| 248 | 248 |
| 249 bool transformFeedbackActive() const override; | 249 bool transformFeedbackActive() const override; |
| 250 bool transformFeedbackPaused() const override; | 250 bool transformFeedbackPaused() const override; |
| 251 void setTransformFeedbackActive(bool); | 251 void setTransformFeedbackActive(bool); |
| 252 void setTransformFeedbackPaused(bool); | 252 void setTransformFeedbackPaused(bool); |
| 253 | 253 |
| 254 PersistentWillBeMember<WebGLFramebuffer> m_readFramebufferBinding; | 254 Member<WebGLFramebuffer> m_readFramebufferBinding; |
| 255 PersistentWillBeMember<WebGLTransformFeedback> m_transformFeedbackBinding; | 255 Member<WebGLTransformFeedback> m_transformFeedbackBinding; |
| 256 | 256 |
| 257 std::set<GLenum> m_supportedInternalFormatsStorage; | 257 std::set<GLenum> m_supportedInternalFormatsStorage; |
| 258 std::set<GLenum> m_compressedTextureFormatsETC2EAC; | 258 std::set<GLenum> m_compressedTextureFormatsETC2EAC; |
| 259 | 259 |
| 260 PersistentWillBeMember<WebGLBuffer> m_boundCopyReadBuffer; | 260 Member<WebGLBuffer> m_boundCopyReadBuffer; |
| 261 PersistentWillBeMember<WebGLBuffer> m_boundCopyWriteBuffer; | 261 Member<WebGLBuffer> m_boundCopyWriteBuffer; |
| 262 PersistentWillBeMember<WebGLBuffer> m_boundPixelPackBuffer; | 262 Member<WebGLBuffer> m_boundPixelPackBuffer; |
| 263 PersistentWillBeMember<WebGLBuffer> m_boundPixelUnpackBuffer; | 263 Member<WebGLBuffer> m_boundPixelUnpackBuffer; |
| 264 PersistentWillBeMember<WebGLBuffer> m_boundTransformFeedbackBuffer; | 264 Member<WebGLBuffer> m_boundTransformFeedbackBuffer; |
| 265 PersistentWillBeMember<WebGLBuffer> m_boundUniformBuffer; | 265 Member<WebGLBuffer> m_boundUniformBuffer; |
| 266 | 266 |
| 267 PersistentHeapVectorWillBeHeapVector<Member<WebGLBuffer>> m_boundIndexedTran
sformFeedbackBuffers; | 267 HeapVector<Member<WebGLBuffer>> m_boundIndexedTransformFeedbackBuffers; |
| 268 PersistentHeapVectorWillBeHeapVector<Member<WebGLBuffer>> m_boundIndexedUnif
ormBuffers; | 268 HeapVector<Member<WebGLBuffer>> m_boundIndexedUniformBuffers; |
| 269 GLint m_maxTransformFeedbackSeparateAttribs; | 269 GLint m_maxTransformFeedbackSeparateAttribs; |
| 270 size_t m_maxBoundUniformBufferIndex; | 270 size_t m_maxBoundUniformBufferIndex; |
| 271 | 271 |
| 272 PersistentWillBeMember<WebGLQuery> m_currentBooleanOcclusionQuery; | 272 Member<WebGLQuery> m_currentBooleanOcclusionQuery; |
| 273 PersistentWillBeMember<WebGLQuery> m_currentTransformFeedbackPrimitivesWritt
enQuery; | 273 Member<WebGLQuery> m_currentTransformFeedbackPrimitivesWrittenQuery; |
| 274 PersistentHeapVectorWillBeHeapVector<Member<WebGLSampler>> m_samplerUnits; | 274 HeapVector<Member<WebGLSampler>> m_samplerUnits; |
| 275 | 275 |
| 276 GLint m_packRowLength; | 276 GLint m_packRowLength; |
| 277 GLint m_packSkipPixels; | 277 GLint m_packSkipPixels; |
| 278 GLint m_packSkipRows; | 278 GLint m_packSkipRows; |
| 279 GLint m_unpackRowLength; | 279 GLint m_unpackRowLength; |
| 280 GLint m_unpackImageHeight; | 280 GLint m_unpackImageHeight; |
| 281 GLint m_unpackSkipPixels; | 281 GLint m_unpackSkipPixels; |
| 282 GLint m_unpackSkipRows; | 282 GLint m_unpackSkipRows; |
| 283 GLint m_unpackSkipImages; | 283 GLint m_unpackSkipImages; |
| 284 }; | 284 }; |
| 285 | 285 |
| 286 DEFINE_TYPE_CASTS(WebGL2RenderingContextBase, CanvasRenderingContext, context, | 286 DEFINE_TYPE_CASTS(WebGL2RenderingContextBase, CanvasRenderingContext, context, |
| 287 context->is3d() && WebGLRenderingContextBase::getWebGLVersion(context) >= 2, | 287 context->is3d() && WebGLRenderingContextBase::getWebGLVersion(context) >= 2, |
| 288 context.is3d() && WebGLRenderingContextBase::getWebGLVersion(&context) >= 2)
; | 288 context.is3d() && WebGLRenderingContextBase::getWebGLVersion(&context) >= 2)
; |
| 289 | 289 |
| 290 } // namespace blink | 290 } // namespace blink |
| 291 | 291 |
| 292 #endif | 292 #endif |
| OLD | NEW |