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

Side by Side Diff: Source/core/html/canvas/WebGL2RenderingContextBase.h

Issue 981913002: update getFramebufferAttachmentParameter for WebGL 2 (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: addressed kbr@'s feedback + rebased code Created 5 years, 7 months 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
« no previous file with comments | « no previous file | Source/core/html/canvas/WebGL2RenderingContextBase.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "core/html/canvas/WebGLExtension.h" 8 #include "core/html/canvas/WebGLExtension.h"
9 #include "core/html/canvas/WebGLRenderingContextBase.h" 9 #include "core/html/canvas/WebGLRenderingContextBase.h"
10 #include "wtf/PassRefPtr.h" 10 #include "wtf/PassRefPtr.h"
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 PassRefPtrWillBeRawPtr<WebGLVertexArrayObjectOES> createVertexArray(); 157 PassRefPtrWillBeRawPtr<WebGLVertexArrayObjectOES> createVertexArray();
158 void deleteVertexArray(WebGLVertexArrayObjectOES*); 158 void deleteVertexArray(WebGLVertexArrayObjectOES*);
159 GLboolean isVertexArray(WebGLVertexArrayObjectOES*); 159 GLboolean isVertexArray(WebGLVertexArrayObjectOES*);
160 void bindVertexArray(WebGLVertexArrayObjectOES*); 160 void bindVertexArray(WebGLVertexArrayObjectOES*);
161 161
162 /* WebGLRenderingContextBase overrides */ 162 /* WebGLRenderingContextBase overrides */
163 void initializeNewContext() override; 163 void initializeNewContext() override;
164 void bindFramebuffer(GLenum target, WebGLFramebuffer*) override; 164 void bindFramebuffer(GLenum target, WebGLFramebuffer*) override;
165 ScriptValue getParameter(ScriptState*, GLenum pname) override; 165 ScriptValue getParameter(ScriptState*, GLenum pname) override;
166 ScriptValue getTexParameter(ScriptState*, GLenum target, GLenum pname) overr ide; 166 ScriptValue getTexParameter(ScriptState*, GLenum target, GLenum pname) overr ide;
167 ScriptValue getFramebufferAttachmentParameter(ScriptState*, GLenum target, G Lenum attachment, GLenum pname) override;
167 168
168 DECLARE_VIRTUAL_TRACE(); 169 DECLARE_VIRTUAL_TRACE();
169 170
170 protected: 171 protected:
171 WebGL2RenderingContextBase(HTMLCanvasElement*, PassOwnPtr<WebGraphicsContext 3D>, const WebGLContextAttributes& requestedAttributes); 172 WebGL2RenderingContextBase(HTMLCanvasElement*, PassOwnPtr<WebGraphicsContext 3D>, const WebGLContextAttributes& requestedAttributes);
172 173
174 // Helper function to validate target and the attachment combination for get FramebufferAttachmentParameters.
175 // Generate GL error and return false if parameters are illegal.
176 bool validateGetFramebufferAttachmentParameterFunc(const char* functionName, GLenum target, GLenum attachment);
177
173 bool validateClearBuffer(const char* functionName, GLenum buffer, GLsizei le ngth); 178 bool validateClearBuffer(const char* functionName, GLenum buffer, GLsizei le ngth);
174 179
175 ScriptValue getInt64Parameter(ScriptState*, GLenum); 180 ScriptValue getInt64Parameter(ScriptState*, GLenum);
176 181
177 void texSubImage3DImpl(GLenum, GLint, GLint, GLint, GLint, GLenum, GLenum, I mage*, WebGLImageConversion::ImageHtmlDomSource, bool, bool); 182 void texSubImage3DImpl(GLenum, GLint, GLint, GLint, GLint, GLenum, GLenum, I mage*, WebGLImageConversion::ImageHtmlDomSource, bool, bool);
178 183
179 /* WebGLRenderingContextBase overrides */ 184 /* WebGLRenderingContextBase overrides */
180 bool validateCapability(const char* functionName, GLenum) override; 185 bool validateCapability(const char* functionName, GLenum) override;
181 bool validateBufferTarget(const char* functionName, GLenum target) override; 186 bool validateBufferTarget(const char* functionName, GLenum target) override;
182 bool validateAndUpdateBufferBindTarget(const char* functionName, GLenum, Web GLBuffer*) override; 187 bool validateAndUpdateBufferBindTarget(const char* functionName, GLenum, Web GLBuffer*) override;
183 WebGLTexture* validateTextureBinding(const char* functionName, GLenum target , bool useSixEnumsForCubeMap) override; 188 WebGLTexture* validateTextureBinding(const char* functionName, GLenum target , bool useSixEnumsForCubeMap) override;
184 bool validateFramebufferTarget(GLenum target) override; 189 bool validateFramebufferTarget(GLenum target) override;
185 WebGLFramebuffer* getFramebufferBinding(GLenum target) override; 190 WebGLFramebuffer* getFramebufferBinding(GLenum target) override;
186 191
187 RefPtrWillBeMember<WebGLFramebuffer> m_readFramebufferBinding; 192 RefPtrWillBeMember<WebGLFramebuffer> m_readFramebufferBinding;
188 }; 193 };
189 194
190 DEFINE_TYPE_CASTS(WebGL2RenderingContextBase, CanvasRenderingContext, context, 195 DEFINE_TYPE_CASTS(WebGL2RenderingContextBase, CanvasRenderingContext, context,
191 context->is3d() && WebGLRenderingContextBase::getWebGLVersion(context) >= 2, 196 context->is3d() && WebGLRenderingContextBase::getWebGLVersion(context) >= 2,
192 context.is3d() && WebGLRenderingContextBase::getWebGLVersion(&context) >= 2) ; 197 context.is3d() && WebGLRenderingContextBase::getWebGLVersion(&context) >= 2) ;
193 198
194 } // namespace blink 199 } // namespace blink
195 200
196 #endif 201 #endif
OLDNEW
« no previous file with comments | « no previous file | Source/core/html/canvas/WebGL2RenderingContextBase.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698