| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 GPU_BLINK_WEBGRAPHICSCONTEXT3D_IMPL_H_ | 5 #ifndef GPU_BLINK_WEBGRAPHICSCONTEXT3D_IMPL_H_ |
| 6 #define GPU_BLINK_WEBGRAPHICSCONTEXT3D_IMPL_H_ | 6 #define GPU_BLINK_WEBGRAPHICSCONTEXT3D_IMPL_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <string> | 10 #include <string> |
| (...skipping 22 matching lines...) Expand all Loading... |
| 33 : public NON_EXPORTED_BASE(blink::WebGraphicsContext3D) { | 33 : public NON_EXPORTED_BASE(blink::WebGraphicsContext3D) { |
| 34 public: | 34 public: |
| 35 ~WebGraphicsContext3DImpl() override; | 35 ~WebGraphicsContext3DImpl() override; |
| 36 | 36 |
| 37 //---------------------------------------------------------------------- | 37 //---------------------------------------------------------------------- |
| 38 // WebGraphicsContext3D methods | 38 // WebGraphicsContext3D methods |
| 39 | 39 |
| 40 bool genSyncTokenCHROMIUM(blink::WGC3Duint64 fenceSync, | 40 bool genSyncTokenCHROMIUM(blink::WGC3Duint64 fenceSync, |
| 41 blink::WGC3Dbyte* syncToken) override; | 41 blink::WGC3Dbyte* syncToken) override; |
| 42 | 42 |
| 43 void drawElements(blink::WGC3Denum mode, | |
| 44 blink::WGC3Dsizei count, | |
| 45 blink::WGC3Denum type, | |
| 46 blink::WGC3Dintptr offset) override; | |
| 47 | |
| 48 bool getActiveAttrib(blink::WebGLId program, | 43 bool getActiveAttrib(blink::WebGLId program, |
| 49 blink::WGC3Duint index, | 44 blink::WGC3Duint index, |
| 50 ActiveInfo&) override; | 45 ActiveInfo&) override; |
| 51 bool getActiveUniform(blink::WebGLId program, | 46 bool getActiveUniform(blink::WebGLId program, |
| 52 blink::WGC3Duint index, | 47 blink::WGC3Duint index, |
| 53 ActiveInfo&) override; | 48 ActiveInfo&) override; |
| 54 | 49 |
| 55 blink::WGC3Denum getError() override; | 50 blink::WGC3Denum getError() override; |
| 56 blink::WebString getProgramInfoLog(blink::WebGLId program) override; | 51 blink::WebString getProgramInfoLog(blink::WebGLId program) override; |
| 57 blink::WebString getShaderInfoLog(blink::WebGLId shader) override; | 52 blink::WebString getShaderInfoLog(blink::WebGLId shader) override; |
| 58 blink::WebString getShaderSource(blink::WebGLId shader) override; | 53 blink::WebString getShaderSource(blink::WebGLId shader) override; |
| 59 blink::WebString getString(blink::WGC3Denum name) override; | 54 blink::WebString getString(blink::WGC3Denum name) override; |
| 60 | 55 |
| 61 void getSynciv(blink::WGC3Dsync sync, | |
| 62 blink::WGC3Denum pname, | |
| 63 blink::WGC3Dsizei bufSize, | |
| 64 blink::WGC3Dsizei *length, | |
| 65 blink::WGC3Dint *params) override; | |
| 66 | |
| 67 blink::WGC3Dsizeiptr getVertexAttribOffset(blink::WGC3Duint index, | |
| 68 blink::WGC3Denum pname) override; | |
| 69 | |
| 70 void shaderSource(blink::WebGLId shader, | 56 void shaderSource(blink::WebGLId shader, |
| 71 const blink::WGC3Dchar* string) override; | 57 const blink::WGC3Dchar* string) override; |
| 72 | 58 |
| 73 void vertexAttribPointer(blink::WGC3Duint index, | |
| 74 blink::WGC3Dint size, | |
| 75 blink::WGC3Denum type, | |
| 76 blink::WGC3Dboolean normalized, | |
| 77 blink::WGC3Dsizei stride, | |
| 78 blink::WGC3Dintptr offset) override; | |
| 79 | |
| 80 blink::WebGLId createBuffer() override; | 59 blink::WebGLId createBuffer() override; |
| 81 blink::WebGLId createFramebuffer() override; | 60 blink::WebGLId createFramebuffer() override; |
| 82 blink::WebGLId createRenderbuffer() override; | 61 blink::WebGLId createRenderbuffer() override; |
| 83 blink::WebGLId createTexture() override; | 62 blink::WebGLId createTexture() override; |
| 84 | 63 |
| 85 void deleteBuffer(blink::WebGLId) override; | 64 void deleteBuffer(blink::WebGLId) override; |
| 86 void deleteFramebuffer(blink::WebGLId) override; | 65 void deleteFramebuffer(blink::WebGLId) override; |
| 87 void deleteRenderbuffer(blink::WebGLId) override; | 66 void deleteRenderbuffer(blink::WebGLId) override; |
| 88 void deleteTexture(blink::WebGLId) override; | 67 void deleteTexture(blink::WebGLId) override; |
| 89 | 68 |
| 90 void synthesizeGLError(blink::WGC3Denum) override; | 69 void synthesizeGLError(blink::WGC3Denum) override; |
| 91 | 70 |
| 92 blink::WebString getRequestableExtensionsCHROMIUM() override; | 71 blink::WebString getRequestableExtensionsCHROMIUM() override; |
| 93 | 72 |
| 94 void blitFramebufferCHROMIUM(blink::WGC3Dint srcX0, | |
| 95 blink::WGC3Dint srcY0, | |
| 96 blink::WGC3Dint srcX1, | |
| 97 blink::WGC3Dint srcY1, | |
| 98 blink::WGC3Dint dstX0, | |
| 99 blink::WGC3Dint dstY0, | |
| 100 blink::WGC3Dint dstX1, | |
| 101 blink::WGC3Dint dstY1, | |
| 102 blink::WGC3Dbitfield mask, | |
| 103 blink::WGC3Denum filter) override; | |
| 104 blink::WebString getTranslatedShaderSourceANGLE( | 73 blink::WebString getTranslatedShaderSourceANGLE( |
| 105 blink::WebGLId shader) override; | 74 blink::WebGLId shader) override; |
| 106 | 75 |
| 107 void setContextLostCallback( | 76 void setContextLostCallback( |
| 108 WebGraphicsContext3D::WebGraphicsContextLostCallback* callback) override; | 77 WebGraphicsContext3D::WebGraphicsContextLostCallback* callback) override; |
| 109 | 78 |
| 110 void setErrorMessageCallback( | 79 void setErrorMessageCallback( |
| 111 WebGraphicsContext3D::WebGraphicsErrorMessageCallback* callback) override; | 80 WebGraphicsContext3D::WebGraphicsErrorMessageCallback* callback) override; |
| 112 | 81 |
| 113 blink::WebGLId createQueryEXT() override; | 82 blink::WebGLId createQueryEXT() override; |
| (...skipping 27 matching lines...) Expand all Loading... |
| 141 blink::WGC3Dint stencil) override; | 110 blink::WGC3Dint stencil) override; |
| 142 void clearBufferfv(blink::WGC3Denum buffer, | 111 void clearBufferfv(blink::WGC3Denum buffer, |
| 143 blink::WGC3Dint drawbuffer, | 112 blink::WGC3Dint drawbuffer, |
| 144 const blink::WGC3Dfloat* value) override; | 113 const blink::WGC3Dfloat* value) override; |
| 145 void clearBufferiv(blink::WGC3Denum buffer, | 114 void clearBufferiv(blink::WGC3Denum buffer, |
| 146 blink::WGC3Dint drawbuffer, | 115 blink::WGC3Dint drawbuffer, |
| 147 const blink::WGC3Dint* value) override; | 116 const blink::WGC3Dint* value) override; |
| 148 void clearBufferuiv(blink::WGC3Denum buffer, | 117 void clearBufferuiv(blink::WGC3Denum buffer, |
| 149 blink::WGC3Dint drawbuffer, | 118 blink::WGC3Dint drawbuffer, |
| 150 const blink::WGC3Duint* value) override; | 119 const blink::WGC3Duint* value) override; |
| 151 blink::WGC3Denum clientWaitSync(blink::WGC3Dsync sync, | |
| 152 blink::WGC3Dbitfield flags, | |
| 153 blink::WGC3Duint64 timeout) override; | |
| 154 void compressedTexImage3D(blink::WGC3Denum target, | 120 void compressedTexImage3D(blink::WGC3Denum target, |
| 155 blink::WGC3Dint level, | 121 blink::WGC3Dint level, |
| 156 blink::WGC3Denum internalformat, | 122 blink::WGC3Denum internalformat, |
| 157 blink::WGC3Dsizei width, | 123 blink::WGC3Dsizei width, |
| 158 blink::WGC3Dsizei height, | 124 blink::WGC3Dsizei height, |
| 159 blink::WGC3Dsizei depth, | 125 blink::WGC3Dsizei depth, |
| 160 blink::WGC3Dint border, | 126 blink::WGC3Dint border, |
| 161 blink::WGC3Dsizei imageSize, | 127 blink::WGC3Dsizei imageSize, |
| 162 const void *data) override; | 128 const void *data) override; |
| 163 void compressedTexSubImage3D(blink::WGC3Denum target, | 129 void compressedTexSubImage3D(blink::WGC3Denum target, |
| (...skipping 17 matching lines...) Expand all Loading... |
| 181 blink::WGC3Dint xoffset, | 147 blink::WGC3Dint xoffset, |
| 182 blink::WGC3Dint yoffset, | 148 blink::WGC3Dint yoffset, |
| 183 blink::WGC3Dint zoffset, | 149 blink::WGC3Dint zoffset, |
| 184 blink::WGC3Dint x, | 150 blink::WGC3Dint x, |
| 185 blink::WGC3Dint y, | 151 blink::WGC3Dint y, |
| 186 blink::WGC3Dsizei width, | 152 blink::WGC3Dsizei width, |
| 187 blink::WGC3Dsizei height) override; | 153 blink::WGC3Dsizei height) override; |
| 188 blink::WebGLId createSampler() override; | 154 blink::WebGLId createSampler() override; |
| 189 blink::WebGLId createTransformFeedback() override; | 155 blink::WebGLId createTransformFeedback() override; |
| 190 void deleteSampler(blink::WebGLId sampler) override; | 156 void deleteSampler(blink::WebGLId sampler) override; |
| 191 void deleteSync(blink::WGC3Dsync sync) override; | |
| 192 void deleteTransformFeedback(blink::WebGLId transformfeedback) override; | 157 void deleteTransformFeedback(blink::WebGLId transformfeedback) override; |
| 193 void drawRangeElements(blink::WGC3Denum mode, | |
| 194 blink::WGC3Duint start, | |
| 195 blink::WGC3Duint end, | |
| 196 blink::WGC3Dsizei count, | |
| 197 blink::WGC3Denum type, | |
| 198 blink::WGC3Dintptr offset) override; | |
| 199 void endTransformFeedback(void) override; | 158 void endTransformFeedback(void) override; |
| 200 blink::WGC3Dsync fenceSync(blink::WGC3Denum condition, | |
| 201 blink::WGC3Dbitfield flags) override; | |
| 202 void getActiveUniformBlockName(blink::WGC3Duint program, | 159 void getActiveUniformBlockName(blink::WGC3Duint program, |
| 203 blink::WGC3Duint uniformBlockIndex, | 160 blink::WGC3Duint uniformBlockIndex, |
| 204 blink::WGC3Dsizei bufSize, | 161 blink::WGC3Dsizei bufSize, |
| 205 blink::WGC3Dsizei* length, | 162 blink::WGC3Dsizei* length, |
| 206 blink::WGC3Dchar* uniformBlockName) override; | 163 blink::WGC3Dchar* uniformBlockName) override; |
| 207 void getActiveUniformBlockiv(blink::WGC3Duint program, | 164 void getActiveUniformBlockiv(blink::WGC3Duint program, |
| 208 blink::WGC3Duint uniformBlockIndex, | 165 blink::WGC3Duint uniformBlockIndex, |
| 209 blink::WGC3Denum pname, | 166 blink::WGC3Denum pname, |
| 210 blink::WGC3Dint* params) override; | 167 blink::WGC3Dint* params) override; |
| 211 void getActiveUniformsiv(blink::WGC3Duint program, | 168 void getActiveUniformsiv(blink::WGC3Duint program, |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 247 blink::WGC3Dsizei numAttachments, | 204 blink::WGC3Dsizei numAttachments, |
| 248 const blink::WGC3Denum* attachments) override; | 205 const blink::WGC3Denum* attachments) override; |
| 249 void invalidateSubFramebuffer(blink::WGC3Denum target, | 206 void invalidateSubFramebuffer(blink::WGC3Denum target, |
| 250 blink::WGC3Dsizei numAttachments, | 207 blink::WGC3Dsizei numAttachments, |
| 251 const blink::WGC3Denum* attachments, | 208 const blink::WGC3Denum* attachments, |
| 252 blink::WGC3Dint x, | 209 blink::WGC3Dint x, |
| 253 blink::WGC3Dint y, | 210 blink::WGC3Dint y, |
| 254 blink::WGC3Dsizei width, | 211 blink::WGC3Dsizei width, |
| 255 blink::WGC3Dsizei height) override; | 212 blink::WGC3Dsizei height) override; |
| 256 blink::WGC3Dboolean isSampler(blink::WebGLId sampler) override; | 213 blink::WGC3Dboolean isSampler(blink::WebGLId sampler) override; |
| 257 blink::WGC3Dboolean isSync(blink::WGC3Dsync sync) override; | |
| 258 blink::WGC3Dboolean isTransformFeedback(blink::WGC3Duint id) override; | 214 blink::WGC3Dboolean isTransformFeedback(blink::WGC3Duint id) override; |
| 259 void* mapBufferRange(blink::WGC3Denum target, | 215 void* mapBufferRange(blink::WGC3Denum target, |
| 260 blink::WGC3Dintptr offset, | 216 blink::WGC3Dintptr offset, |
| 261 blink::WGC3Dsizeiptr length, | 217 blink::WGC3Dsizeiptr length, |
| 262 blink::WGC3Dbitfield access) override; | 218 blink::WGC3Dbitfield access) override; |
| 263 void pauseTransformFeedback(void) override; | 219 void pauseTransformFeedback(void) override; |
| 264 //void programParameteri(blink::WGC3Duint program, | 220 //void programParameteri(blink::WGC3Duint program, |
| 265 // blink::WGC3Denum pname, | 221 // blink::WGC3Denum pname, |
| 266 // blink::WGC3Dint value) override; | 222 // blink::WGC3Dint value) override; |
| 267 void readBuffer(blink::WGC3Denum src) override; | 223 void readBuffer(blink::WGC3Denum src) override; |
| 268 void resumeTransformFeedback(void) override; | 224 void resumeTransformFeedback(void) override; |
| 269 void samplerParameterf(blink::WGC3Duint sampler, | 225 void samplerParameterf(blink::WGC3Duint sampler, |
| 270 blink::WGC3Denum pname, | 226 blink::WGC3Denum pname, |
| 271 blink::WGC3Dfloat param) override; | 227 blink::WGC3Dfloat param) override; |
| 272 void samplerParameterfv(blink::WGC3Duint sampler, | 228 void samplerParameterfv(blink::WGC3Duint sampler, |
| 273 blink::WGC3Denum pname, | 229 blink::WGC3Denum pname, |
| 274 const blink::WGC3Dfloat* param) override; | 230 const blink::WGC3Dfloat* param) override; |
| 275 void samplerParameteri(blink::WGC3Duint sampler, | 231 void samplerParameteri(blink::WGC3Duint sampler, |
| 276 blink::WGC3Denum pname, | 232 blink::WGC3Denum pname, |
| 277 blink::WGC3Dint param) override; | 233 blink::WGC3Dint param) override; |
| 278 void samplerParameteriv(blink::WGC3Duint sampler, | 234 void samplerParameteriv(blink::WGC3Duint sampler, |
| 279 blink::WGC3Denum pname, | 235 blink::WGC3Denum pname, |
| 280 const blink::WGC3Dint* param) override; | 236 const blink::WGC3Dint* param) override; |
| 281 void transformFeedbackVaryings( | 237 void transformFeedbackVaryings( |
| 282 blink::WGC3Duint program, | 238 blink::WGC3Duint program, |
| 283 blink::WGC3Dsizei count, | 239 blink::WGC3Dsizei count, |
| 284 const blink::WGC3Dchar* const* varyings, | 240 const blink::WGC3Dchar* const* varyings, |
| 285 blink::WGC3Denum bufferMode) override; | 241 blink::WGC3Denum bufferMode) override; |
| 286 blink::WGC3Dboolean unmapBuffer(blink::WGC3Denum target) override; | 242 blink::WGC3Dboolean unmapBuffer(blink::WGC3Denum target) override; |
| 287 void vertexAttribIPointer(blink::WGC3Duint index, | |
| 288 blink::WGC3Dint size, | |
| 289 blink::WGC3Denum type, | |
| 290 blink::WGC3Dsizei stride, | |
| 291 blink::WGC3Dintptr pointer) override; | |
| 292 void waitSync(blink::WGC3Dsync sync, | |
| 293 blink::WGC3Dbitfield flags, | |
| 294 blink::WGC3Duint64 timeout) override; | |
| 295 | 243 |
| 296 // WebGraphicsContext3D implementation. | 244 // WebGraphicsContext3D implementation. |
| 297 ::gpu::gles2::GLES2Interface* getGLES2Interface() override; | 245 ::gpu::gles2::GLES2Interface* getGLES2Interface() override; |
| 298 | 246 |
| 299 ::gpu::gles2::GLES2Interface* GetGLInterface() { | 247 ::gpu::gles2::GLES2Interface* GetGLInterface() { |
| 300 return gl_; | 248 return gl_; |
| 301 } | 249 } |
| 302 | 250 |
| 303 // Convert WebGL context creation attributes into command buffer / EGL size | 251 // Convert WebGL context creation attributes into command buffer / EGL size |
| 304 // requests. | 252 // requests. |
| (...skipping 25 matching lines...) Expand all Loading... |
| 330 // Errors raised by synthesizeGLError(). | 278 // Errors raised by synthesizeGLError(). |
| 331 std::vector<blink::WGC3Denum> synthetic_errors_; | 279 std::vector<blink::WGC3Denum> synthetic_errors_; |
| 332 | 280 |
| 333 ::gpu::gles2::GLES2Interface* gl_; | 281 ::gpu::gles2::GLES2Interface* gl_; |
| 334 bool lose_context_when_out_of_memory_; | 282 bool lose_context_when_out_of_memory_; |
| 335 }; | 283 }; |
| 336 | 284 |
| 337 } // namespace gpu_blink | 285 } // namespace gpu_blink |
| 338 | 286 |
| 339 #endif // GPU_BLINK_WEBGRAPHICSCONTEXT3D_IMPL_H_ | 287 #endif // GPU_BLINK_WEBGRAPHICSCONTEXT3D_IMPL_H_ |
| OLD | NEW |