| 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 |