Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(24)

Side by Side Diff: gpu/command_buffer/tests/gl_manager.cc

Issue 1281043006: Move NumberOfPlanesForGpuMemoryBufferFormat to gfx (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/common/gpu/client/gpu_memory_buffer_impl_unittest.cc ('k') | ui/gfx/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include "gpu/command_buffer/tests/gl_manager.h" 5 #include "gpu/command_buffer/tests/gl_manager.h"
6 6
7 #include <GLES2/gl2.h> 7 #include <GLES2/gl2.h>
8 #include <GLES2/gl2ext.h> 8 #include <GLES2/gl2ext.h>
9 #include <GLES2/gl2extchromium.h> 9 #include <GLES2/gl2extchromium.h>
10 10
(...skipping 12 matching lines...) Expand all
23 #include "gpu/command_buffer/service/command_buffer_service.h" 23 #include "gpu/command_buffer/service/command_buffer_service.h"
24 #include "gpu/command_buffer/service/context_group.h" 24 #include "gpu/command_buffer/service/context_group.h"
25 #include "gpu/command_buffer/service/gl_context_virtual.h" 25 #include "gpu/command_buffer/service/gl_context_virtual.h"
26 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" 26 #include "gpu/command_buffer/service/gles2_cmd_decoder.h"
27 #include "gpu/command_buffer/service/gpu_scheduler.h" 27 #include "gpu/command_buffer/service/gpu_scheduler.h"
28 #include "gpu/command_buffer/service/image_manager.h" 28 #include "gpu/command_buffer/service/image_manager.h"
29 #include "gpu/command_buffer/service/mailbox_manager_impl.h" 29 #include "gpu/command_buffer/service/mailbox_manager_impl.h"
30 #include "gpu/command_buffer/service/memory_tracking.h" 30 #include "gpu/command_buffer/service/memory_tracking.h"
31 #include "gpu/command_buffer/service/valuebuffer_manager.h" 31 #include "gpu/command_buffer/service/valuebuffer_manager.h"
32 #include "testing/gtest/include/gtest/gtest.h" 32 #include "testing/gtest/include/gtest/gtest.h"
33 #include "ui/gfx/buffer_format_util.h"
33 #include "ui/gfx/gpu_memory_buffer.h" 34 #include "ui/gfx/gpu_memory_buffer.h"
34 #include "ui/gl/gl_context.h" 35 #include "ui/gl/gl_context.h"
35 #include "ui/gl/gl_image_ref_counted_memory.h" 36 #include "ui/gl/gl_image_ref_counted_memory.h"
36 #include "ui/gl/gl_share_group.h" 37 #include "ui/gl/gl_share_group.h"
37 #include "ui/gl/gl_surface.h" 38 #include "ui/gl/gl_surface.h"
38 39
39 namespace gpu { 40 namespace gpu {
40 namespace { 41 namespace {
41 42
42 size_t NumberOfPlanesForGpuMemoryBufferFormat(gfx::BufferFormat format) {
43 switch (format) {
44 case gfx::BufferFormat::ATC:
45 case gfx::BufferFormat::ATCIA:
46 case gfx::BufferFormat::DXT1:
47 case gfx::BufferFormat::DXT5:
48 case gfx::BufferFormat::ETC1:
49 case gfx::BufferFormat::R_8:
50 case gfx::BufferFormat::RGBA_4444:
51 case gfx::BufferFormat::RGBA_8888:
52 case gfx::BufferFormat::RGBX_8888:
53 case gfx::BufferFormat::BGRA_8888:
54 return 1;
55 case gfx::BufferFormat::YUV_420:
56 return 3;
57 }
58 NOTREACHED();
59 return 0;
60 }
61
62 size_t SubsamplingFactor(gfx::BufferFormat format, int plane) { 43 size_t SubsamplingFactor(gfx::BufferFormat format, int plane) {
63 switch (format) { 44 switch (format) {
64 case gfx::BufferFormat::ATC: 45 case gfx::BufferFormat::ATC:
65 case gfx::BufferFormat::ATCIA: 46 case gfx::BufferFormat::ATCIA:
66 case gfx::BufferFormat::DXT1: 47 case gfx::BufferFormat::DXT1:
67 case gfx::BufferFormat::DXT5: 48 case gfx::BufferFormat::DXT5:
68 case gfx::BufferFormat::ETC1: 49 case gfx::BufferFormat::ETC1:
69 case gfx::BufferFormat::R_8: 50 case gfx::BufferFormat::R_8:
70 case gfx::BufferFormat::RGBA_4444: 51 case gfx::BufferFormat::RGBA_4444:
71 case gfx::BufferFormat::RGBA_8888: 52 case gfx::BufferFormat::RGBA_8888:
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 case gfx::BufferFormat::YUV_420: 90 case gfx::BufferFormat::YUV_420:
110 return width / SubsamplingFactor(format, plane); 91 return width / SubsamplingFactor(format, plane);
111 } 92 }
112 93
113 NOTREACHED(); 94 NOTREACHED();
114 return 0; 95 return 0;
115 } 96 }
116 97
117 size_t BufferSizeInBytes(const gfx::Size& size, gfx::BufferFormat format) { 98 size_t BufferSizeInBytes(const gfx::Size& size, gfx::BufferFormat format) {
118 size_t size_in_bytes = 0; 99 size_t size_in_bytes = 0;
119 size_t num_planes = NumberOfPlanesForGpuMemoryBufferFormat(format); 100 size_t num_planes = gfx::NumberOfPlanesForBufferFormat(format);
120 for (size_t i = 0; i < num_planes; ++i) { 101 for (size_t i = 0; i < num_planes; ++i) {
121 size_in_bytes += StrideInBytes(size.width(), format, i) * 102 size_in_bytes += StrideInBytes(size.width(), format, i) *
122 (size.height() / SubsamplingFactor(format, i)); 103 (size.height() / SubsamplingFactor(format, i));
123 } 104 }
124 return size_in_bytes; 105 return size_in_bytes;
125 } 106 }
126 107
127 class GpuMemoryBufferImpl : public gfx::GpuMemoryBuffer { 108 class GpuMemoryBufferImpl : public gfx::GpuMemoryBuffer {
128 public: 109 public:
129 GpuMemoryBufferImpl(base::RefCountedBytes* bytes, 110 GpuMemoryBufferImpl(base::RefCountedBytes* bytes,
130 const gfx::Size& size, 111 const gfx::Size& size,
131 gfx::BufferFormat format) 112 gfx::BufferFormat format)
132 : bytes_(bytes), size_(size), format_(format), mapped_(false) {} 113 : bytes_(bytes), size_(size), format_(format), mapped_(false) {}
133 114
134 static GpuMemoryBufferImpl* FromClientBuffer(ClientBuffer buffer) { 115 static GpuMemoryBufferImpl* FromClientBuffer(ClientBuffer buffer) {
135 return reinterpret_cast<GpuMemoryBufferImpl*>(buffer); 116 return reinterpret_cast<GpuMemoryBufferImpl*>(buffer);
136 } 117 }
137 118
138 // Overridden from gfx::GpuMemoryBuffer: 119 // Overridden from gfx::GpuMemoryBuffer:
139 bool Map(void** data) override { 120 bool Map(void** data) override {
140 size_t offset = 0; 121 size_t offset = 0;
141 size_t num_planes = NumberOfPlanesForGpuMemoryBufferFormat(format_); 122 size_t num_planes = gfx::NumberOfPlanesForBufferFormat(format_);
142 for (size_t i = 0; i < num_planes; ++i) { 123 for (size_t i = 0; i < num_planes; ++i) {
143 data[i] = reinterpret_cast<uint8*>(&bytes_->data().front()) + offset; 124 data[i] = reinterpret_cast<uint8*>(&bytes_->data().front()) + offset;
144 offset += StrideInBytes(size_.width(), format_, i) * 125 offset += StrideInBytes(size_.width(), format_, i) *
145 (size_.height() / SubsamplingFactor(format_, i)); 126 (size_.height() / SubsamplingFactor(format_, i));
146 } 127 }
147 mapped_ = true; 128 mapped_ = true;
148 return true; 129 return true;
149 } 130 }
150 void Unmap() override { mapped_ = false; } 131 void Unmap() override { mapped_ = false; }
151 bool IsMapped() const override { return mapped_; } 132 bool IsMapped() const override { return mapped_; }
152 gfx::BufferFormat GetFormat() const override { return format_; } 133 gfx::BufferFormat GetFormat() const override { return format_; }
153 void GetStride(int* stride) const override { 134 void GetStride(int* stride) const override {
154 size_t num_planes = NumberOfPlanesForGpuMemoryBufferFormat(format_); 135 size_t num_planes = gfx::NumberOfPlanesForBufferFormat(format_);
155 for (size_t i = 0; i < num_planes; ++i) 136 for (size_t i = 0; i < num_planes; ++i)
156 stride[i] = StrideInBytes(size_.width(), format_, i); 137 stride[i] = StrideInBytes(size_.width(), format_, i);
157 } 138 }
158 gfx::GpuMemoryBufferId GetId() const override { 139 gfx::GpuMemoryBufferId GetId() const override {
159 NOTREACHED(); 140 NOTREACHED();
160 return 0; 141 return 0;
161 } 142 }
162 gfx::GpuMemoryBufferHandle GetHandle() const override { 143 gfx::GpuMemoryBufferHandle GetHandle() const override {
163 NOTREACHED(); 144 NOTREACHED();
164 return gfx::GpuMemoryBufferHandle(); 145 return gfx::GpuMemoryBufferHandle();
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after
518 void GLManager::SetLock(base::Lock*) { 499 void GLManager::SetLock(base::Lock*) {
519 NOTIMPLEMENTED(); 500 NOTIMPLEMENTED();
520 } 501 }
521 502
522 bool GLManager::IsGpuChannelLost() { 503 bool GLManager::IsGpuChannelLost() {
523 NOTIMPLEMENTED(); 504 NOTIMPLEMENTED();
524 return false; 505 return false;
525 } 506 }
526 507
527 } // namespace gpu 508 } // namespace gpu
OLDNEW
« no previous file with comments | « content/common/gpu/client/gpu_memory_buffer_impl_unittest.cc ('k') | ui/gfx/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698