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