Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(261)

Side by Side Diff: third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.h

Issue 1492013002: Reland of Upgrade PixelStorei to ES3/WebGL2. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698