| 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 "services/gfx/compositor/render/render_image.h" | 5 #include "services/gfx/compositor/render/render_image.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/location.h" | 8 #include "base/location.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "mojo/skia/ganesh_image_factory.h" | 10 #include "mojo/skia/ganesh_image_factory.h" |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 48 releaser_(releaser) { | 48 releaser_(releaser) { |
| 49 DCHECK(releaser_); | 49 DCHECK(releaser_); |
| 50 } | 50 } |
| 51 | 51 |
| 52 ~Generator() override {} | 52 ~Generator() override {} |
| 53 | 53 |
| 54 private: | 54 private: |
| 55 scoped_refptr<Releaser> releaser_; | 55 scoped_refptr<Releaser> releaser_; |
| 56 }; | 56 }; |
| 57 | 57 |
| 58 RenderImage::RenderImage(const skia::RefPtr<SkImage>& image, | 58 RenderImage::RenderImage(const sk_sp<SkImage>& image, |
| 59 const scoped_refptr<Releaser>& releaser) | 59 const scoped_refptr<Releaser>& releaser) |
| 60 : image_(image), releaser_(releaser) { | 60 : image_(image), releaser_(releaser) { |
| 61 DCHECK(image_); | 61 DCHECK(image_); |
| 62 DCHECK(releaser_); | 62 DCHECK(releaser_); |
| 63 } | 63 } |
| 64 | 64 |
| 65 RenderImage::~RenderImage() {} | 65 RenderImage::~RenderImage() {} |
| 66 | 66 |
| 67 scoped_refptr<RenderImage> RenderImage::CreateFromMailboxTexture( | 67 scoped_refptr<RenderImage> RenderImage::CreateFromMailboxTexture( |
| 68 const GLbyte mailbox_name[GL_MAILBOX_SIZE_CHROMIUM], | 68 const GLbyte mailbox_name[GL_MAILBOX_SIZE_CHROMIUM], |
| 69 GLuint sync_point, | 69 GLuint sync_point, |
| 70 uint32_t width, | 70 uint32_t width, |
| 71 uint32_t height, | 71 uint32_t height, |
| 72 mojo::gfx::composition::MailboxTextureResource::Origin origin, | 72 mojo::gfx::composition::MailboxTextureResource::Origin origin, |
| 73 const scoped_refptr<base::TaskRunner>& task_runner, | 73 const scoped_refptr<base::TaskRunner>& task_runner, |
| 74 const base::Closure& release_task) { | 74 const base::Closure& release_task) { |
| 75 scoped_refptr<Releaser> releaser = new Releaser(task_runner, release_task); | 75 scoped_refptr<Releaser> releaser = new Releaser(task_runner, release_task); |
| 76 skia::RefPtr<SkImage> image = skia::AdoptRef(SkImage::NewFromGenerator( | 76 sk_sp<SkImage> image = SkImage::MakeFromGenerator( |
| 77 new Generator(releaser, mailbox_name, sync_point, width, height, | 77 new Generator(releaser, mailbox_name, sync_point, width, height, |
| 78 origin == mojo::gfx::composition::MailboxTextureResource:: | 78 origin == mojo::gfx::composition::MailboxTextureResource:: |
| 79 Origin::BOTTOM_LEFT | 79 Origin::BOTTOM_LEFT |
| 80 ? kBottomLeft_GrSurfaceOrigin | 80 ? kBottomLeft_GrSurfaceOrigin |
| 81 : kTopLeft_GrSurfaceOrigin))); | 81 : kTopLeft_GrSurfaceOrigin)); |
| 82 if (!image) | 82 if (!image) |
| 83 return nullptr; | 83 return nullptr; |
| 84 | 84 |
| 85 return new RenderImage(image, releaser); | 85 return new RenderImage(image, releaser); |
| 86 } | 86 } |
| 87 | 87 |
| 88 } // namespace compositor | 88 } // namespace compositor |
| OLD | NEW |