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 "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 Loading... |
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 |
OLD | NEW |