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 |
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
168 /* Reading */ | 168 /* Reading */ |
169 void readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum form
at, GLenum type, long long offset); | 169 void readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum form
at, GLenum type, long long offset); |
170 | 170 |
171 /* WebGLRenderingContextBase overrides */ | 171 /* WebGLRenderingContextBase overrides */ |
172 void initializeNewContext() override; | 172 void initializeNewContext() override; |
173 void bindFramebuffer(ScriptState*, GLenum target, WebGLFramebuffer*) overrid
e; | 173 void bindFramebuffer(ScriptState*, GLenum target, WebGLFramebuffer*) overrid
e; |
174 void deleteFramebuffer(WebGLFramebuffer*) override; | 174 void deleteFramebuffer(WebGLFramebuffer*) override; |
175 ScriptValue getParameter(ScriptState*, GLenum pname) override; | 175 ScriptValue getParameter(ScriptState*, GLenum pname) override; |
176 ScriptValue getTexParameter(ScriptState*, GLenum target, GLenum pname) overr
ide; | 176 ScriptValue getTexParameter(ScriptState*, GLenum target, GLenum pname) overr
ide; |
177 ScriptValue getFramebufferAttachmentParameter(ScriptState*, GLenum target, G
Lenum attachment, GLenum pname) override; | 177 ScriptValue getFramebufferAttachmentParameter(ScriptState*, GLenum target, G
Lenum attachment, GLenum pname) override; |
| 178 void pixelStorei(GLenum pname, GLint param) override; |
178 void readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum form
at, GLenum type, DOMArrayBufferView* pixels) override; | 179 void readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum form
at, GLenum type, DOMArrayBufferView* pixels) override; |
179 void restoreCurrentFramebuffer() override; | 180 void restoreCurrentFramebuffer() override; |
180 | 181 |
181 EAGERLY_FINALIZE(); | 182 EAGERLY_FINALIZE(); |
182 DECLARE_VIRTUAL_TRACE(); | 183 DECLARE_VIRTUAL_TRACE(); |
183 | 184 |
184 protected: | 185 protected: |
185 WebGL2RenderingContextBase(HTMLCanvasElement*, PassOwnPtr<WebGraphicsContext
3D>, const WebGLContextAttributes& requestedAttributes); | 186 WebGL2RenderingContextBase(HTMLCanvasElement*, PassOwnPtr<WebGraphicsContext
3D>, const WebGLContextAttributes& requestedAttributes); |
186 | 187 |
187 // Helper function to validate target and the attachment combination for get
FramebufferAttachmentParameters. | 188 // Helper function to validate target and the attachment combination for get
FramebufferAttachmentParameters. |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
227 WebGLFramebuffer* getFramebufferBinding(GLenum target) override; | 228 WebGLFramebuffer* getFramebufferBinding(GLenum target) override; |
228 GLint getMaxTextureLevelForTarget(GLenum target) override; | 229 GLint getMaxTextureLevelForTarget(GLenum target) override; |
229 void renderbufferStorageImpl(GLenum target, GLsizei samples, GLenum internal
format, GLsizei width, GLsizei height, const char* functionName) override; | 230 void renderbufferStorageImpl(GLenum target, GLsizei samples, GLenum internal
format, GLsizei width, GLsizei height, const char* functionName) override; |
230 GLenum boundFramebufferColorFormat() override; | 231 GLenum boundFramebufferColorFormat() override; |
231 | 232 |
232 WebGLBuffer* validateBufferDataTarget(const char* functionName, GLenum targe
t) override; | 233 WebGLBuffer* validateBufferDataTarget(const char* functionName, GLenum targe
t) override; |
233 bool validateBufferDataUsage(const char* functionName, GLenum usage) overrid
e; | 234 bool validateBufferDataUsage(const char* functionName, GLenum usage) overrid
e; |
234 | 235 |
235 void removeBoundBuffer(WebGLBuffer*) override; | 236 void removeBoundBuffer(WebGLBuffer*) override; |
236 | 237 |
| 238 void resetUnpackParameters() override; |
| 239 void restoreUnpackParameters() override; |
| 240 |
237 PersistentWillBeMember<WebGLFramebuffer> m_readFramebufferBinding; | 241 PersistentWillBeMember<WebGLFramebuffer> m_readFramebufferBinding; |
238 PersistentWillBeMember<WebGLTransformFeedback> m_transformFeedbackBinding; | 242 PersistentWillBeMember<WebGLTransformFeedback> m_transformFeedbackBinding; |
239 GLint m_maxArrayTextureLayers; | 243 GLint m_maxArrayTextureLayers; |
240 | 244 |
241 std::set<GLenum> m_supportedInternalFormatsStorage; | 245 std::set<GLenum> m_supportedInternalFormatsStorage; |
242 std::set<GLenum> m_compressedTextureFormatsETC2EAC; | 246 std::set<GLenum> m_compressedTextureFormatsETC2EAC; |
243 | 247 |
244 PersistentWillBeMember<WebGLBuffer> m_boundCopyReadBuffer; | 248 PersistentWillBeMember<WebGLBuffer> m_boundCopyReadBuffer; |
245 PersistentWillBeMember<WebGLBuffer> m_boundCopyWriteBuffer; | 249 PersistentWillBeMember<WebGLBuffer> m_boundCopyWriteBuffer; |
246 PersistentWillBeMember<WebGLBuffer> m_boundPixelPackBuffer; | 250 PersistentWillBeMember<WebGLBuffer> m_boundPixelPackBuffer; |
247 PersistentWillBeMember<WebGLBuffer> m_boundPixelUnpackBuffer; | 251 PersistentWillBeMember<WebGLBuffer> m_boundPixelUnpackBuffer; |
248 PersistentWillBeMember<WebGLBuffer> m_boundTransformFeedbackBuffer; | 252 PersistentWillBeMember<WebGLBuffer> m_boundTransformFeedbackBuffer; |
249 PersistentWillBeMember<WebGLBuffer> m_boundUniformBuffer; | 253 PersistentWillBeMember<WebGLBuffer> m_boundUniformBuffer; |
250 | 254 |
251 PersistentHeapVectorWillBeHeapVector<Member<WebGLBuffer>> m_boundIndexedTran
sformFeedbackBuffers; | 255 PersistentHeapVectorWillBeHeapVector<Member<WebGLBuffer>> m_boundIndexedTran
sformFeedbackBuffers; |
252 PersistentHeapVectorWillBeHeapVector<Member<WebGLBuffer>> m_boundIndexedUnif
ormBuffers; | 256 PersistentHeapVectorWillBeHeapVector<Member<WebGLBuffer>> m_boundIndexedUnif
ormBuffers; |
253 size_t m_maxBoundUniformBufferIndex; | 257 size_t m_maxBoundUniformBufferIndex; |
254 | 258 |
255 PersistentWillBeMember<WebGLQuery> m_currentBooleanOcclusionQuery; | 259 PersistentWillBeMember<WebGLQuery> m_currentBooleanOcclusionQuery; |
256 PersistentWillBeMember<WebGLQuery> m_currentTransformFeedbackPrimitivesWritt
enQuery; | 260 PersistentWillBeMember<WebGLQuery> m_currentTransformFeedbackPrimitivesWritt
enQuery; |
257 PersistentHeapVectorWillBeHeapVector<Member<WebGLSampler>> m_samplerUnits; | 261 PersistentHeapVectorWillBeHeapVector<Member<WebGLSampler>> m_samplerUnits; |
| 262 |
| 263 GLint m_packRowLength; |
| 264 GLint m_packSkipPixels; |
| 265 GLint m_packSkipRows; |
| 266 GLint m_unpackRowLength; |
| 267 GLint m_unpackImageHeight; |
| 268 GLint m_unpackSkipPixels; |
| 269 GLint m_unpackSkipRows; |
| 270 GLint m_unpackSkipImages; |
258 }; | 271 }; |
259 | 272 |
260 DEFINE_TYPE_CASTS(WebGL2RenderingContextBase, CanvasRenderingContext, context, | 273 DEFINE_TYPE_CASTS(WebGL2RenderingContextBase, CanvasRenderingContext, context, |
261 context->is3d() && WebGLRenderingContextBase::getWebGLVersion(context) >= 2, | 274 context->is3d() && WebGLRenderingContextBase::getWebGLVersion(context) >= 2, |
262 context.is3d() && WebGLRenderingContextBase::getWebGLVersion(&context) >= 2)
; | 275 context.is3d() && WebGLRenderingContextBase::getWebGLVersion(&context) >= 2)
; |
263 | 276 |
264 } // namespace blink | 277 } // namespace blink |
265 | 278 |
266 #endif | 279 #endif |
OLD | NEW |