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

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

Issue 913603003: Make WebGL2 objects Oilpan compatible. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 10 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 | Annotate | Revision Log
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 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 void drawBuffers(const Vector<GLenum>&); 97 void drawBuffers(const Vector<GLenum>&);
98 void clearBufferiv(GLenum, GLint, DOMInt32Array*); 98 void clearBufferiv(GLenum, GLint, DOMInt32Array*);
99 void clearBufferiv(GLenum, GLint, const Vector<GLint>&); 99 void clearBufferiv(GLenum, GLint, const Vector<GLint>&);
100 void clearBufferuiv(GLenum, GLint, DOMUint32Array*); 100 void clearBufferuiv(GLenum, GLint, DOMUint32Array*);
101 void clearBufferuiv(GLenum, GLint, const Vector<GLuint>&); 101 void clearBufferuiv(GLenum, GLint, const Vector<GLuint>&);
102 void clearBufferfv(GLenum, GLint, DOMFloat32Array*); 102 void clearBufferfv(GLenum, GLint, DOMFloat32Array*);
103 void clearBufferfv(GLenum, GLint, const Vector<GLfloat>&); 103 void clearBufferfv(GLenum, GLint, const Vector<GLfloat>&);
104 void clearBufferfi(GLenum, GLint, GLfloat, GLint); 104 void clearBufferfi(GLenum, GLint, GLfloat, GLint);
105 105
106 /* Query Objects */ 106 /* Query Objects */
107 PassRefPtr<WebGLQuery> createQuery(); 107 PassRefPtrWillBeRawPtr<WebGLQuery> createQuery();
108 void deleteQuery(WebGLQuery*); 108 void deleteQuery(WebGLQuery*);
109 GLboolean isQuery(WebGLQuery*); 109 GLboolean isQuery(WebGLQuery*);
110 void beginQuery(GLenum, WebGLQuery*); 110 void beginQuery(GLenum, WebGLQuery*);
111 void endQuery(GLenum); 111 void endQuery(GLenum);
112 PassRefPtr<WebGLQuery> getQuery(GLenum, GLenum); 112 PassRefPtrWillBeRawPtr<WebGLQuery> getQuery(GLenum, GLenum);
113 ScriptValue getQueryParameter(ScriptState*, WebGLQuery*, GLenum); 113 ScriptValue getQueryParameter(ScriptState*, WebGLQuery*, GLenum);
114 114
115 /* Sampler Objects */ 115 /* Sampler Objects */
116 PassRefPtr<WebGLSampler> createSampler(); 116 PassRefPtrWillBeRawPtr<WebGLSampler> createSampler();
117 void deleteSampler(WebGLSampler*); 117 void deleteSampler(WebGLSampler*);
118 GLboolean isSampler(WebGLSampler*); 118 GLboolean isSampler(WebGLSampler*);
119 void bindSampler(GLuint, WebGLSampler*); 119 void bindSampler(GLuint, WebGLSampler*);
120 void samplerParameteri(WebGLSampler*, GLenum, GLint); 120 void samplerParameteri(WebGLSampler*, GLenum, GLint);
121 void samplerParameterf(WebGLSampler*, GLenum, GLfloat); 121 void samplerParameterf(WebGLSampler*, GLenum, GLfloat);
122 ScriptValue getSamplerParameter(ScriptState*, WebGLSampler*, GLenum); 122 ScriptValue getSamplerParameter(ScriptState*, WebGLSampler*, GLenum);
123 123
124 /* Sync objects */ 124 /* Sync objects */
125 PassRefPtr<WebGLSync> fenceSync(GLenum, GLbitfield); 125 PassRefPtrWillBeRawPtr<WebGLSync> fenceSync(GLenum, GLbitfield);
126 GLboolean isSync(WebGLSync*); 126 GLboolean isSync(WebGLSync*);
127 void deleteSync(WebGLSync*); 127 void deleteSync(WebGLSync*);
128 GLenum clientWaitSync(WebGLSync*, GLbitfield, GLuint); 128 GLenum clientWaitSync(WebGLSync*, GLbitfield, GLuint);
129 void waitSync(WebGLSync*, GLbitfield, GLuint); 129 void waitSync(WebGLSync*, GLbitfield, GLuint);
130 130
131 ScriptValue getSyncParameter(ScriptState*, WebGLSync*, GLenum); 131 ScriptValue getSyncParameter(ScriptState*, WebGLSync*, GLenum);
132 132
133 /* Transform Feedback */ 133 /* Transform Feedback */
134 PassRefPtr<WebGLTransformFeedback> createTransformFeedback(); 134 PassRefPtrWillBeRawPtr<WebGLTransformFeedback> createTransformFeedback();
135 void deleteTransformFeedback(WebGLTransformFeedback*); 135 void deleteTransformFeedback(WebGLTransformFeedback*);
136 GLboolean isTransformFeedback(WebGLTransformFeedback*); 136 GLboolean isTransformFeedback(WebGLTransformFeedback*);
137 void bindTransformFeedback(GLenum, WebGLTransformFeedback*); 137 void bindTransformFeedback(GLenum, WebGLTransformFeedback*);
138 void beginTransformFeedback(GLenum); 138 void beginTransformFeedback(GLenum);
139 void endTransformFeedback(); 139 void endTransformFeedback();
140 void transformFeedbackVaryings(WebGLProgram*, const Vector<String>&, GLenum) ; 140 void transformFeedbackVaryings(WebGLProgram*, const Vector<String>&, GLenum) ;
141 PassRefPtr<WebGLActiveInfo> getTransformFeedbackVarying(WebGLProgram*, GLuin t); 141 PassRefPtrWillBeRawPtr<WebGLActiveInfo> getTransformFeedbackVarying(WebGLPro gram*, GLuint);
142 void pauseTransformFeedback(); 142 void pauseTransformFeedback();
143 void resumeTransformFeedback(); 143 void resumeTransformFeedback();
144 144
145 /* Uniform Buffer Objects and Transform Feedback Buffers */ 145 /* Uniform Buffer Objects and Transform Feedback Buffers */
146 void bindBufferBase(GLenum, GLuint, WebGLBuffer*); 146 void bindBufferBase(GLenum, GLuint, WebGLBuffer*);
147 void bindBufferRange(GLenum, GLuint, WebGLBuffer*, GLintptr, GLsizeiptr); 147 void bindBufferRange(GLenum, GLuint, WebGLBuffer*, GLintptr, GLsizeiptr);
148 ScriptValue getIndexedParameter(ScriptState*, GLenum, GLuint); 148 ScriptValue getIndexedParameter(ScriptState*, GLenum, GLuint);
149 Vector<GLuint> getUniformIndices(WebGLProgram*, const Vector<String>&); 149 Vector<GLuint> getUniformIndices(WebGLProgram*, const Vector<String>&);
150 Vector<GLint> getActiveUniforms(WebGLProgram*, const Vector<GLuint>&, GLenum ); 150 Vector<GLint> getActiveUniforms(WebGLProgram*, const Vector<GLuint>&, GLenum );
151 GLuint getUniformBlockIndex(WebGLProgram*, const String&); 151 GLuint getUniformBlockIndex(WebGLProgram*, const String&);
152 ScriptValue getActiveUniformBlockParameter(ScriptState*, WebGLProgram*, GLui nt, GLenum); 152 ScriptValue getActiveUniformBlockParameter(ScriptState*, WebGLProgram*, GLui nt, GLenum);
153 String getActiveUniformBlockName(WebGLProgram*, GLuint); 153 String getActiveUniformBlockName(WebGLProgram*, GLuint);
154 void uniformBlockBinding(WebGLProgram*, GLuint, GLuint); 154 void uniformBlockBinding(WebGLProgram*, GLuint, GLuint);
155 155
156 /* Vertex Array Objects */ 156 /* Vertex Array Objects */
157 PassRefPtr<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 void trace(Visitor*) override; 162 void trace(Visitor*) override;
163 163
164 protected: 164 protected:
165 WebGL2RenderingContextBase(HTMLCanvasElement*, PassOwnPtr<blink::WebGraphics Context3D>, const WebGLContextAttributes& requestedAttributes); 165 WebGL2RenderingContextBase(HTMLCanvasElement*, PassOwnPtr<blink::WebGraphics Context3D>, const WebGLContextAttributes& requestedAttributes);
166 166
167 bool validateClearBuffer(const char* functionName, GLenum buffer, GLsizei le ngth); 167 bool validateClearBuffer(const char* functionName, GLenum buffer, GLsizei le ngth);
168 }; 168 };
169 169
170 DEFINE_TYPE_CASTS(WebGL2RenderingContextBase, CanvasRenderingContext, context, 170 DEFINE_TYPE_CASTS(WebGL2RenderingContextBase, CanvasRenderingContext, context,
171 context->is3d() && WebGLRenderingContextBase::getWebGLVersion(context) >= 2, 171 context->is3d() && WebGLRenderingContextBase::getWebGLVersion(context) >= 2,
172 context.is3d() && WebGLRenderingContextBase::getWebGLVersion(&context) >= 2) ; 172 context.is3d() && WebGLRenderingContextBase::getWebGLVersion(&context) >= 2) ;
173 173
174 } // namespace blink 174 } // namespace blink
175 175
176 #endif 176 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698