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; | |
179 void readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum form
at, GLenum type, DOMArrayBufferView* pixels) override; | 178 void readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum form
at, GLenum type, DOMArrayBufferView* pixels) override; |
180 void restoreCurrentFramebuffer() override; | 179 void restoreCurrentFramebuffer() override; |
181 | 180 |
182 EAGERLY_FINALIZE(); | 181 EAGERLY_FINALIZE(); |
183 DECLARE_VIRTUAL_TRACE(); | 182 DECLARE_VIRTUAL_TRACE(); |
184 | 183 |
185 protected: | 184 protected: |
186 WebGL2RenderingContextBase(HTMLCanvasElement*, PassOwnPtr<WebGraphicsContext
3D>, const WebGLContextAttributes& requestedAttributes); | 185 WebGL2RenderingContextBase(HTMLCanvasElement*, PassOwnPtr<WebGraphicsContext
3D>, const WebGLContextAttributes& requestedAttributes); |
187 | 186 |
188 // Helper function to validate target and the attachment combination for get
FramebufferAttachmentParameters. | 187 // 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... |
228 WebGLFramebuffer* getFramebufferBinding(GLenum target) override; | 227 WebGLFramebuffer* getFramebufferBinding(GLenum target) override; |
229 GLint getMaxTextureLevelForTarget(GLenum target) override; | 228 GLint getMaxTextureLevelForTarget(GLenum target) override; |
230 void renderbufferStorageImpl(GLenum target, GLsizei samples, GLenum internal
format, GLsizei width, GLsizei height, const char* functionName) override; | 229 void renderbufferStorageImpl(GLenum target, GLsizei samples, GLenum internal
format, GLsizei width, GLsizei height, const char* functionName) override; |
231 GLenum boundFramebufferColorFormat() override; | 230 GLenum boundFramebufferColorFormat() override; |
232 | 231 |
233 WebGLBuffer* validateBufferDataTarget(const char* functionName, GLenum targe
t) override; | 232 WebGLBuffer* validateBufferDataTarget(const char* functionName, GLenum targe
t) override; |
234 bool validateBufferDataUsage(const char* functionName, GLenum usage) overrid
e; | 233 bool validateBufferDataUsage(const char* functionName, GLenum usage) overrid
e; |
235 | 234 |
236 void removeBoundBuffer(WebGLBuffer*) override; | 235 void removeBoundBuffer(WebGLBuffer*) override; |
237 | 236 |
238 void resetUnpackParameters() override; | |
239 void restoreUnpackParameters() override; | |
240 | |
241 PersistentWillBeMember<WebGLFramebuffer> m_readFramebufferBinding; | 237 PersistentWillBeMember<WebGLFramebuffer> m_readFramebufferBinding; |
242 PersistentWillBeMember<WebGLTransformFeedback> m_transformFeedbackBinding; | 238 PersistentWillBeMember<WebGLTransformFeedback> m_transformFeedbackBinding; |
243 GLint m_maxArrayTextureLayers; | 239 GLint m_maxArrayTextureLayers; |
244 | 240 |
245 std::set<GLenum> m_supportedInternalFormatsStorage; | 241 std::set<GLenum> m_supportedInternalFormatsStorage; |
246 std::set<GLenum> m_compressedTextureFormatsETC2EAC; | 242 std::set<GLenum> m_compressedTextureFormatsETC2EAC; |
247 | 243 |
248 PersistentWillBeMember<WebGLBuffer> m_boundCopyReadBuffer; | 244 PersistentWillBeMember<WebGLBuffer> m_boundCopyReadBuffer; |
249 PersistentWillBeMember<WebGLBuffer> m_boundCopyWriteBuffer; | 245 PersistentWillBeMember<WebGLBuffer> m_boundCopyWriteBuffer; |
250 PersistentWillBeMember<WebGLBuffer> m_boundPixelPackBuffer; | 246 PersistentWillBeMember<WebGLBuffer> m_boundPixelPackBuffer; |
251 PersistentWillBeMember<WebGLBuffer> m_boundPixelUnpackBuffer; | 247 PersistentWillBeMember<WebGLBuffer> m_boundPixelUnpackBuffer; |
252 PersistentWillBeMember<WebGLBuffer> m_boundTransformFeedbackBuffer; | 248 PersistentWillBeMember<WebGLBuffer> m_boundTransformFeedbackBuffer; |
253 PersistentWillBeMember<WebGLBuffer> m_boundUniformBuffer; | 249 PersistentWillBeMember<WebGLBuffer> m_boundUniformBuffer; |
254 | 250 |
255 PersistentHeapVectorWillBeHeapVector<Member<WebGLBuffer>> m_boundIndexedTran
sformFeedbackBuffers; | 251 PersistentHeapVectorWillBeHeapVector<Member<WebGLBuffer>> m_boundIndexedTran
sformFeedbackBuffers; |
256 PersistentHeapVectorWillBeHeapVector<Member<WebGLBuffer>> m_boundIndexedUnif
ormBuffers; | 252 PersistentHeapVectorWillBeHeapVector<Member<WebGLBuffer>> m_boundIndexedUnif
ormBuffers; |
257 size_t m_maxBoundUniformBufferIndex; | 253 size_t m_maxBoundUniformBufferIndex; |
258 | 254 |
259 PersistentWillBeMember<WebGLQuery> m_currentBooleanOcclusionQuery; | 255 PersistentWillBeMember<WebGLQuery> m_currentBooleanOcclusionQuery; |
260 PersistentWillBeMember<WebGLQuery> m_currentTransformFeedbackPrimitivesWritt
enQuery; | 256 PersistentWillBeMember<WebGLQuery> m_currentTransformFeedbackPrimitivesWritt
enQuery; |
261 PersistentHeapVectorWillBeHeapVector<Member<WebGLSampler>> m_samplerUnits; | 257 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; | |
271 }; | 258 }; |
272 | 259 |
273 DEFINE_TYPE_CASTS(WebGL2RenderingContextBase, CanvasRenderingContext, context, | 260 DEFINE_TYPE_CASTS(WebGL2RenderingContextBase, CanvasRenderingContext, context, |
274 context->is3d() && WebGLRenderingContextBase::getWebGLVersion(context) >= 2, | 261 context->is3d() && WebGLRenderingContextBase::getWebGLVersion(context) >= 2, |
275 context.is3d() && WebGLRenderingContextBase::getWebGLVersion(&context) >= 2)
; | 262 context.is3d() && WebGLRenderingContextBase::getWebGLVersion(&context) >= 2)
; |
276 | 263 |
277 } // namespace blink | 264 } // namespace blink |
278 | 265 |
279 #endif | 266 #endif |
OLD | NEW |