| OLD | NEW | 
|    1 // Copyright 2013 The Chromium Authors. All rights reserved. |    1 // Copyright 2013 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 #include "components/test_runner/test_plugin.h" |    5 #include "components/test_runner/test_plugin.h" | 
|    6  |    6  | 
|    7 #include <stddef.h> |    7 #include <stddef.h> | 
|    8 #include <stdint.h> |    8 #include <stdint.h> | 
|    9 #include <utility> |    9 #include <utility> | 
|   10  |   10  | 
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  257                          GL_RGBA, |  257                          GL_RGBA, | 
|  258                          GL_UNSIGNED_BYTE, |  258                          GL_UNSIGNED_BYTE, | 
|  259                          0); |  259                          0); | 
|  260     gl_->BindFramebuffer(GL_FRAMEBUFFER, framebuffer_); |  260     gl_->BindFramebuffer(GL_FRAMEBUFFER, framebuffer_); | 
|  261     gl_->FramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, |  261     gl_->FramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, | 
|  262                               GL_TEXTURE_2D, color_texture_, 0); |  262                               GL_TEXTURE_2D, color_texture_, 0); | 
|  263  |  263  | 
|  264     DrawSceneGL(); |  264     DrawSceneGL(); | 
|  265  |  265  | 
|  266     gpu::Mailbox mailbox; |  266     gpu::Mailbox mailbox; | 
|  267     context_->genMailboxCHROMIUM(mailbox.name); |  267     gl_->GenMailboxCHROMIUM(mailbox.name); | 
|  268     context_->produceTextureCHROMIUM(GL_TEXTURE_2D, mailbox.name); |  268     gl_->ProduceTextureCHROMIUM(GL_TEXTURE_2D, mailbox.name); | 
|  269     const GLuint64 fence_sync = gl_->InsertFenceSyncCHROMIUM(); |  269     const GLuint64 fence_sync = gl_->InsertFenceSyncCHROMIUM(); | 
|  270     context_->flush(); |  270     gl_->Flush(); | 
|  271  |  271  | 
|  272     gpu::SyncToken sync_token; |  272     gpu::SyncToken sync_token; | 
|  273     context_->genSyncTokenCHROMIUM(fence_sync, sync_token.GetData()); |  273     context_->genSyncTokenCHROMIUM(fence_sync, sync_token.GetData()); | 
|  274     texture_mailbox_ = cc::TextureMailbox(mailbox, sync_token, GL_TEXTURE_2D); |  274     texture_mailbox_ = cc::TextureMailbox(mailbox, sync_token, GL_TEXTURE_2D); | 
|  275   } else { |  275   } else { | 
|  276     scoped_ptr<cc::SharedBitmap> bitmap = |  276     scoped_ptr<cc::SharedBitmap> bitmap = | 
|  277         delegate_->GetSharedBitmapManager()->AllocateSharedBitmap( |  277         delegate_->GetSharedBitmapManager()->AllocateSharedBitmap( | 
|  278             gfx::Rect(rect_).size()); |  278             gfx::Rect(rect_).size()); | 
|  279     if (!bitmap) { |  279     if (!bitmap) { | 
|  280       texture_mailbox_ = cc::TextureMailbox(); |  280       texture_mailbox_ = cc::TextureMailbox(); | 
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  456       "precision mediump float; \n" |  456       "precision mediump float; \n" | 
|  457       "uniform vec4 color;      \n" |  457       "uniform vec4 color;      \n" | 
|  458       "void main() {            \n" |  458       "void main() {            \n" | 
|  459       "  gl_FragColor = color;  \n" |  459       "  gl_FragColor = color;  \n" | 
|  460       "}                        \n"); |  460       "}                        \n"); | 
|  461  |  461  | 
|  462   scene_.program = LoadProgram(vertex_source, fragment_source); |  462   scene_.program = LoadProgram(vertex_source, fragment_source); | 
|  463   if (!scene_.program) |  463   if (!scene_.program) | 
|  464     return false; |  464     return false; | 
|  465  |  465  | 
|  466   scene_.color_location = context_->getUniformLocation(scene_.program, "color"); |  466   scene_.color_location = gl_->GetUniformLocation(scene_.program, "color"); | 
|  467   scene_.position_location = |  467   scene_.position_location = gl_->GetAttribLocation(scene_.program, "position"); | 
|  468       context_->getAttribLocation(scene_.program, "position"); |  | 
|  469   return true; |  468   return true; | 
|  470 } |  469 } | 
|  471  |  470  | 
|  472 bool TestPlugin::InitPrimitive() { |  471 bool TestPlugin::InitPrimitive() { | 
|  473   DCHECK_EQ(scene_.primitive, PrimitiveTriangle); |  472   DCHECK_EQ(scene_.primitive, PrimitiveTriangle); | 
|  474  |  473  | 
|  475   scene_.vbo = context_->createBuffer(); |  474   scene_.vbo = context_->createBuffer(); | 
|  476   if (!scene_.vbo) |  475   if (!scene_.vbo) | 
|  477     return false; |  476     return false; | 
|  478  |  477  | 
| (...skipping 26 matching lines...) Expand all  Loading... | 
|  505   gl_->DrawArrays(GL_TRIANGLES, 0, 3); |  504   gl_->DrawArrays(GL_TRIANGLES, 0, 3); | 
|  506 } |  505 } | 
|  507  |  506  | 
|  508 unsigned TestPlugin::LoadShader(unsigned type, const std::string& source) { |  507 unsigned TestPlugin::LoadShader(unsigned type, const std::string& source) { | 
|  509   unsigned shader = context_->createShader(type); |  508   unsigned shader = context_->createShader(type); | 
|  510   if (shader) { |  509   if (shader) { | 
|  511     context_->shaderSource(shader, source.data()); |  510     context_->shaderSource(shader, source.data()); | 
|  512     gl_->CompileShader(shader); |  511     gl_->CompileShader(shader); | 
|  513  |  512  | 
|  514     int compiled = 0; |  513     int compiled = 0; | 
|  515     context_->getShaderiv(shader, GL_COMPILE_STATUS, &compiled); |  514     gl_->GetShaderiv(shader, GL_COMPILE_STATUS, &compiled); | 
|  516     if (!compiled) { |  515     if (!compiled) { | 
|  517       context_->deleteShader(shader); |  516       context_->deleteShader(shader); | 
|  518       shader = 0; |  517       shader = 0; | 
|  519     } |  518     } | 
|  520   } |  519   } | 
|  521   return shader; |  520   return shader; | 
|  522 } |  521 } | 
|  523  |  522  | 
|  524 unsigned TestPlugin::LoadProgram(const std::string& vertex_source, |  523 unsigned TestPlugin::LoadProgram(const std::string& vertex_source, | 
|  525                                  const std::string& fragment_source) { |  524                                  const std::string& fragment_source) { | 
|  526   unsigned vertex_shader = LoadShader(GL_VERTEX_SHADER, vertex_source); |  525   unsigned vertex_shader = LoadShader(GL_VERTEX_SHADER, vertex_source); | 
|  527   unsigned fragment_shader = LoadShader(GL_FRAGMENT_SHADER, fragment_source); |  526   unsigned fragment_shader = LoadShader(GL_FRAGMENT_SHADER, fragment_source); | 
|  528   unsigned program = context_->createProgram(); |  527   unsigned program = context_->createProgram(); | 
|  529   if (vertex_shader && fragment_shader && program) { |  528   if (vertex_shader && fragment_shader && program) { | 
|  530     gl_->AttachShader(program, vertex_shader); |  529     gl_->AttachShader(program, vertex_shader); | 
|  531     gl_->AttachShader(program, fragment_shader); |  530     gl_->AttachShader(program, fragment_shader); | 
|  532     context_->linkProgram(program); |  531     gl_->LinkProgram(program); | 
|  533  |  532  | 
|  534     int linked = 0; |  533     int linked = 0; | 
|  535     context_->getProgramiv(program, GL_LINK_STATUS, &linked); |  534     gl_->GetProgramiv(program, GL_LINK_STATUS, &linked); | 
|  536     if (!linked) { |  535     if (!linked) { | 
|  537       context_->deleteProgram(program); |  536       context_->deleteProgram(program); | 
|  538       program = 0; |  537       program = 0; | 
|  539     } |  538     } | 
|  540   } |  539   } | 
|  541   if (vertex_shader) |  540   if (vertex_shader) | 
|  542     context_->deleteShader(vertex_shader); |  541     context_->deleteShader(vertex_shader); | 
|  543   if (fragment_shader) |  542   if (fragment_shader) | 
|  544     context_->deleteShader(fragment_shader); |  543     context_->deleteShader(fragment_shader); | 
|  545  |  544  | 
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  732   return kPluginPersistsMimeType; |  731   return kPluginPersistsMimeType; | 
|  733 } |  732 } | 
|  734  |  733  | 
|  735 bool TestPlugin::IsSupportedMimeType(const blink::WebString& mime_type) { |  734 bool TestPlugin::IsSupportedMimeType(const blink::WebString& mime_type) { | 
|  736   return mime_type == TestPlugin::MimeType() || |  735   return mime_type == TestPlugin::MimeType() || | 
|  737          mime_type == PluginPersistsMimeType() || |  736          mime_type == PluginPersistsMimeType() || | 
|  738          mime_type == CanCreateWithoutRendererMimeType(); |  737          mime_type == CanCreateWithoutRendererMimeType(); | 
|  739 } |  738 } | 
|  740  |  739  | 
|  741 }  // namespace test_runner |  740 }  // namespace test_runner | 
| OLD | NEW |