| 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 #include "components/bitmap_uploader/bitmap_uploader.h" | 5 #include "components/bitmap_uploader/bitmap_uploader.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 45 format_(BGRA), | 45 format_(BGRA), |
| 46 next_resource_id_(1u), | 46 next_resource_id_(1u), |
| 47 id_namespace_(0u), | 47 id_namespace_(0u), |
| 48 surface_client_binding_(this) {} | 48 surface_client_binding_(this) {} |
| 49 | 49 |
| 50 BitmapUploader::~BitmapUploader() { | 50 BitmapUploader::~BitmapUploader() { |
| 51 MojoGLES2DestroyContext(gles2_context_); | 51 MojoGLES2DestroyContext(gles2_context_); |
| 52 } | 52 } |
| 53 | 53 |
| 54 void BitmapUploader::Init(mojo::Shell* shell) { | 54 void BitmapUploader::Init(mojo::Shell* shell) { |
| 55 surface_ = window_->RequestSurface(mus::mojom::SURFACE_TYPE_DEFAULT); | 55 surface_ = window_->RequestSurface(mus::mojom::SurfaceType::DEFAULT); |
| 56 surface_->BindToThread(); | 56 surface_->BindToThread(); |
| 57 | 57 |
| 58 mojo::ServiceProviderPtr gpu_service_provider; | 58 mojo::ServiceProviderPtr gpu_service_provider; |
| 59 mojo::URLRequestPtr request2(mojo::URLRequest::New()); | 59 mojo::URLRequestPtr request2(mojo::URLRequest::New()); |
| 60 request2->url = mojo::String::From("mojo:mus"); | 60 request2->url = mojo::String::From("mojo:mus"); |
| 61 shell->ConnectToApplication(std::move(request2), | 61 shell->ConnectToApplication(std::move(request2), |
| 62 mojo::GetProxy(&gpu_service_provider), nullptr, | 62 mojo::GetProxy(&gpu_service_provider), nullptr, |
| 63 mojo::CreatePermissiveCapabilityFilter(), | 63 mojo::CreatePermissiveCapabilityFilter(), |
| 64 base::Bind(&OnGotContentHandlerID)); | 64 base::Bind(&OnGotContentHandlerID)); |
| 65 ConnectToService(gpu_service_provider.get(), &gpu_service_); | 65 ConnectToService(gpu_service_provider.get(), &gpu_service_); |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 135 const GLuint64 fence_sync = glInsertFenceSyncCHROMIUM(); | 135 const GLuint64 fence_sync = glInsertFenceSyncCHROMIUM(); |
| 136 glShallowFlushCHROMIUM(); | 136 glShallowFlushCHROMIUM(); |
| 137 | 137 |
| 138 gpu::SyncToken sync_token; | 138 gpu::SyncToken sync_token; |
| 139 glGenSyncTokenCHROMIUM(fence_sync, sync_token.GetData()); | 139 glGenSyncTokenCHROMIUM(fence_sync, sync_token.GetData()); |
| 140 | 140 |
| 141 mus::mojom::TransferableResourcePtr resource = | 141 mus::mojom::TransferableResourcePtr resource = |
| 142 mus::mojom::TransferableResource::New(); | 142 mus::mojom::TransferableResource::New(); |
| 143 resource->id = next_resource_id_++; | 143 resource->id = next_resource_id_++; |
| 144 resource_to_texture_id_map_[resource->id] = texture_id; | 144 resource_to_texture_id_map_[resource->id] = texture_id; |
| 145 resource->format = mus::mojom::RESOURCE_FORMAT_RGBA_8888; | 145 resource->format = mus::mojom::ResourceFormat::RGBA_8888; |
| 146 resource->filter = GL_LINEAR; | 146 resource->filter = GL_LINEAR; |
| 147 resource->size = bitmap_size.Clone(); | 147 resource->size = bitmap_size.Clone(); |
| 148 mus::mojom::MailboxHolderPtr mailbox_holder = | 148 mus::mojom::MailboxHolderPtr mailbox_holder = |
| 149 mus::mojom::MailboxHolder::New(); | 149 mus::mojom::MailboxHolder::New(); |
| 150 mailbox_holder->mailbox = mus::mojom::Mailbox::New(); | 150 mailbox_holder->mailbox = mus::mojom::Mailbox::New(); |
| 151 for (int i = 0; i < GL_MAILBOX_SIZE_CHROMIUM; ++i) | 151 for (int i = 0; i < GL_MAILBOX_SIZE_CHROMIUM; ++i) |
| 152 mailbox_holder->mailbox->name.push_back(mailbox[i]); | 152 mailbox_holder->mailbox->name.push_back(mailbox[i]); |
| 153 mailbox_holder->texture_target = GL_TEXTURE_2D; | 153 mailbox_holder->texture_target = GL_TEXTURE_2D; |
| 154 mailbox_holder->sync_token = | 154 mailbox_holder->sync_token = |
| 155 mus::mojom::SyncToken::From<gpu::SyncToken>(sync_token); | 155 mus::mojom::SyncToken::From<gpu::SyncToken>(sync_token); |
| 156 resource->mailbox_holder = std::move(mailbox_holder); | 156 resource->mailbox_holder = std::move(mailbox_holder); |
| 157 resource->read_lock_fences_enabled = false; | 157 resource->read_lock_fences_enabled = false; |
| 158 resource->is_software = false; | 158 resource->is_software = false; |
| 159 resource->is_overlay_candidate = false; | 159 resource->is_overlay_candidate = false; |
| 160 | 160 |
| 161 mus::mojom::QuadPtr quad = mus::mojom::Quad::New(); | 161 mus::mojom::QuadPtr quad = mus::mojom::Quad::New(); |
| 162 quad->material = mus::mojom::MATERIAL_TEXTURE_CONTENT; | 162 quad->material = mus::mojom::Material::TEXTURE_CONTENT; |
| 163 | 163 |
| 164 mojo::RectPtr rect = mojo::Rect::New(); | 164 mojo::RectPtr rect = mojo::Rect::New(); |
| 165 if (width_ <= bounds.width() && height_ <= bounds.height()) { | 165 if (width_ <= bounds.width() && height_ <= bounds.height()) { |
| 166 rect->width = width_; | 166 rect->width = width_; |
| 167 rect->height = height_; | 167 rect->height = height_; |
| 168 } else { | 168 } else { |
| 169 // The source bitmap is larger than the viewport. Resize it while | 169 // The source bitmap is larger than the viewport. Resize it while |
| 170 // maintaining the aspect ratio. | 170 // maintaining the aspect ratio. |
| 171 float width_ratio = static_cast<float>(width_) / bounds.width(); | 171 float width_ratio = static_cast<float>(width_) / bounds.width(); |
| 172 float height_ratio = static_cast<float>(height_) / bounds.height(); | 172 float height_ratio = static_cast<float>(height_) / bounds.height(); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 198 texture_state->vertex_opacity.push_back(1.f); | 198 texture_state->vertex_opacity.push_back(1.f); |
| 199 texture_state->y_flipped = false; | 199 texture_state->y_flipped = false; |
| 200 | 200 |
| 201 frame->resources.push_back(std::move(resource)); | 201 frame->resources.push_back(std::move(resource)); |
| 202 quad->texture_quad_state = std::move(texture_state); | 202 quad->texture_quad_state = std::move(texture_state); |
| 203 pass->quads.push_back(std::move(quad)); | 203 pass->quads.push_back(std::move(quad)); |
| 204 } | 204 } |
| 205 | 205 |
| 206 if (color_ != g_transparent_color) { | 206 if (color_ != g_transparent_color) { |
| 207 mus::mojom::QuadPtr quad = mus::mojom::Quad::New(); | 207 mus::mojom::QuadPtr quad = mus::mojom::Quad::New(); |
| 208 quad->material = mus::mojom::MATERIAL_SOLID_COLOR; | 208 quad->material = mus::mojom::Material::SOLID_COLOR; |
| 209 quad->rect = mojo::Rect::From(bounds); | 209 quad->rect = mojo::Rect::From(bounds); |
| 210 quad->opaque_rect = mojo::Rect::New(); | 210 quad->opaque_rect = mojo::Rect::New(); |
| 211 quad->visible_rect = mojo::Rect::From(bounds); | 211 quad->visible_rect = mojo::Rect::From(bounds); |
| 212 quad->needs_blending = true; | 212 quad->needs_blending = true; |
| 213 quad->shared_quad_state_index = 0u; | 213 quad->shared_quad_state_index = 0u; |
| 214 | 214 |
| 215 mus::mojom::SolidColorQuadStatePtr color_state = | 215 mus::mojom::SolidColorQuadStatePtr color_state = |
| 216 mus::mojom::SolidColorQuadState::New(); | 216 mus::mojom::SolidColorQuadState::New(); |
| 217 color_state->color = mus::mojom::Color::New(); | 217 color_state->color = mus::mojom::Color::New(); |
| 218 color_state->color->rgba = color_; | 218 color_state->color->rgba = color_; |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 262 glWaitSyncTokenCHROMIUM( | 262 glWaitSyncTokenCHROMIUM( |
| 263 resource->sync_token.To<gpu::SyncToken>().GetConstData()); | 263 resource->sync_token.To<gpu::SyncToken>().GetConstData()); |
| 264 uint32_t texture_id = resource_to_texture_id_map_[resource->id]; | 264 uint32_t texture_id = resource_to_texture_id_map_[resource->id]; |
| 265 DCHECK_NE(0u, texture_id); | 265 DCHECK_NE(0u, texture_id); |
| 266 resource_to_texture_id_map_.erase(resource->id); | 266 resource_to_texture_id_map_.erase(resource->id); |
| 267 glDeleteTextures(1, &texture_id); | 267 glDeleteTextures(1, &texture_id); |
| 268 } | 268 } |
| 269 } | 269 } |
| 270 | 270 |
| 271 } // namespace bitmap_uploader | 271 } // namespace bitmap_uploader |
| OLD | NEW |