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

Side by Side Diff: ui/gl/gl_image_io_surface.mm

Issue 1269503007: Unify graphics buffer format & usage enums for GpuMemoryBuffer & SurfaceFactoryOzone (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add header to BUILD.gn 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 | « ui/gl/gl_image_io_surface.h ('k') | ui/gl/gl_image_memory.h » ('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 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 "ui/gl/gl_image_io_surface.h" 5 #include "ui/gl/gl_image_io_surface.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/mac/foundation_util.h" 10 #include "base/mac/foundation_util.h"
(...skipping 13 matching lines...) Expand all
24 bool ValidInternalFormat(unsigned internalformat) { 24 bool ValidInternalFormat(unsigned internalformat) {
25 switch (internalformat) { 25 switch (internalformat) {
26 case GL_R8: 26 case GL_R8:
27 case GL_BGRA_EXT: 27 case GL_BGRA_EXT:
28 return true; 28 return true;
29 default: 29 default:
30 return false; 30 return false;
31 } 31 }
32 } 32 }
33 33
34 bool ValidFormat(GpuMemoryBuffer::Format format) { 34 bool ValidFormat(BufferFormat format) {
35 switch (format) { 35 switch (format) {
36 case GpuMemoryBuffer::R_8: 36 case BufferFormat::R_8:
37 case GpuMemoryBuffer::BGRA_8888: 37 case BufferFormat::BGRA_8888:
38 return true; 38 return true;
39 case GpuMemoryBuffer::ATC: 39 case BufferFormat::ATC:
40 case GpuMemoryBuffer::ATCIA: 40 case BufferFormat::ATCIA:
41 case GpuMemoryBuffer::DXT1: 41 case BufferFormat::DXT1:
42 case GpuMemoryBuffer::DXT5: 42 case BufferFormat::DXT5:
43 case GpuMemoryBuffer::ETC1: 43 case BufferFormat::ETC1:
44 case GpuMemoryBuffer::RGBA_4444: 44 case BufferFormat::RGBA_4444:
45 case GpuMemoryBuffer::RGBA_8888: 45 case BufferFormat::RGBA_8888:
46 case GpuMemoryBuffer::RGBX_8888: 46 case BufferFormat::RGBX_8888:
47 case GpuMemoryBuffer::YUV_420: 47 case BufferFormat::YUV_420:
48 return false; 48 return false;
49 } 49 }
50 50
51 NOTREACHED(); 51 NOTREACHED();
52 return false; 52 return false;
53 } 53 }
54 54
55 GLenum TextureFormat(GpuMemoryBuffer::Format format) { 55 GLenum TextureFormat(BufferFormat format) {
56 switch (format) { 56 switch (format) {
57 case GpuMemoryBuffer::R_8: 57 case BufferFormat::R_8:
58 return GL_RED; 58 return GL_RED;
59 case GpuMemoryBuffer::BGRA_8888: 59 case BufferFormat::BGRA_8888:
60 return GL_RGBA; 60 return GL_RGBA;
61 case GpuMemoryBuffer::ATC: 61 case BufferFormat::ATC:
62 case GpuMemoryBuffer::ATCIA: 62 case BufferFormat::ATCIA:
63 case GpuMemoryBuffer::DXT1: 63 case BufferFormat::DXT1:
64 case GpuMemoryBuffer::DXT5: 64 case BufferFormat::DXT5:
65 case GpuMemoryBuffer::ETC1: 65 case BufferFormat::ETC1:
66 case GpuMemoryBuffer::RGBA_4444: 66 case BufferFormat::RGBA_4444:
67 case GpuMemoryBuffer::RGBA_8888: 67 case BufferFormat::RGBA_8888:
68 case GpuMemoryBuffer::RGBX_8888: 68 case BufferFormat::RGBX_8888:
69 case GpuMemoryBuffer::YUV_420: 69 case BufferFormat::YUV_420:
70 NOTREACHED(); 70 NOTREACHED();
71 return 0; 71 return 0;
72 } 72 }
73 73
74 NOTREACHED(); 74 NOTREACHED();
75 return 0; 75 return 0;
76 } 76 }
77 77
78 GLenum DataFormat(GpuMemoryBuffer::Format format) { 78 GLenum DataFormat(BufferFormat format) {
79 switch (format) { 79 switch (format) {
80 case GpuMemoryBuffer::R_8: 80 case BufferFormat::R_8:
81 return GL_RED; 81 return GL_RED;
82 case GpuMemoryBuffer::BGRA_8888: 82 case BufferFormat::BGRA_8888:
83 return GL_BGRA; 83 return GL_BGRA;
84 case GpuMemoryBuffer::ATC: 84 case BufferFormat::ATC:
85 case GpuMemoryBuffer::ATCIA: 85 case BufferFormat::ATCIA:
86 case GpuMemoryBuffer::DXT1: 86 case BufferFormat::DXT1:
87 case GpuMemoryBuffer::DXT5: 87 case BufferFormat::DXT5:
88 case GpuMemoryBuffer::ETC1: 88 case BufferFormat::ETC1:
89 case GpuMemoryBuffer::RGBA_4444: 89 case BufferFormat::RGBA_4444:
90 case GpuMemoryBuffer::RGBA_8888: 90 case BufferFormat::RGBA_8888:
91 case GpuMemoryBuffer::RGBX_8888: 91 case BufferFormat::RGBX_8888:
92 case GpuMemoryBuffer::YUV_420: 92 case BufferFormat::YUV_420:
93 NOTREACHED(); 93 NOTREACHED();
94 return 0; 94 return 0;
95 } 95 }
96 96
97 NOTREACHED(); 97 NOTREACHED();
98 return 0; 98 return 0;
99 } 99 }
100 100
101 GLenum DataType(GpuMemoryBuffer::Format format) { 101 GLenum DataType(BufferFormat format) {
102 switch (format) { 102 switch (format) {
103 case GpuMemoryBuffer::R_8: 103 case BufferFormat::R_8:
104 return GL_UNSIGNED_BYTE; 104 return GL_UNSIGNED_BYTE;
105 case GpuMemoryBuffer::BGRA_8888: 105 case BufferFormat::BGRA_8888:
106 return GL_UNSIGNED_INT_8_8_8_8_REV; 106 return GL_UNSIGNED_INT_8_8_8_8_REV;
107 case GpuMemoryBuffer::ATC: 107 case BufferFormat::ATC:
108 case GpuMemoryBuffer::ATCIA: 108 case BufferFormat::ATCIA:
109 case GpuMemoryBuffer::DXT1: 109 case BufferFormat::DXT1:
110 case GpuMemoryBuffer::DXT5: 110 case BufferFormat::DXT5:
111 case GpuMemoryBuffer::ETC1: 111 case BufferFormat::ETC1:
112 case GpuMemoryBuffer::RGBA_4444: 112 case BufferFormat::RGBA_4444:
113 case GpuMemoryBuffer::RGBA_8888: 113 case BufferFormat::RGBA_8888:
114 case GpuMemoryBuffer::RGBX_8888: 114 case BufferFormat::RGBX_8888:
115 case GpuMemoryBuffer::YUV_420: 115 case BufferFormat::YUV_420:
116 NOTREACHED(); 116 NOTREACHED();
117 return 0; 117 return 0;
118 } 118 }
119 119
120 NOTREACHED(); 120 NOTREACHED();
121 return 0; 121 return 0;
122 } 122 }
123 123
124 } // namespace 124 } // namespace
125 125
126 GLImageIOSurface::GLImageIOSurface(const gfx::Size& size, 126 GLImageIOSurface::GLImageIOSurface(const gfx::Size& size,
127 unsigned internalformat) 127 unsigned internalformat)
128 : size_(size), 128 : size_(size),
129 internalformat_(internalformat), 129 internalformat_(internalformat),
130 format_(GpuMemoryBuffer::RGBA_8888) { 130 format_(BufferFormat::RGBA_8888) {}
131 }
132 131
133 GLImageIOSurface::~GLImageIOSurface() { 132 GLImageIOSurface::~GLImageIOSurface() {
134 DCHECK(thread_checker_.CalledOnValidThread()); 133 DCHECK(thread_checker_.CalledOnValidThread());
135 DCHECK(!io_surface_); 134 DCHECK(!io_surface_);
136 } 135 }
137 136
138 bool GLImageIOSurface::Initialize(IOSurfaceRef io_surface, 137 bool GLImageIOSurface::Initialize(IOSurfaceRef io_surface,
139 GpuMemoryBuffer::Format format) { 138 BufferFormat format) {
140 DCHECK(thread_checker_.CalledOnValidThread()); 139 DCHECK(thread_checker_.CalledOnValidThread());
141 DCHECK(!io_surface_); 140 DCHECK(!io_surface_);
142 141
143 if (!ValidInternalFormat(internalformat_)) { 142 if (!ValidInternalFormat(internalformat_)) {
144 LOG(ERROR) << "Invalid internalformat: " << internalformat_; 143 LOG(ERROR) << "Invalid internalformat: " << internalformat_;
145 return false; 144 return false;
146 } 145 }
147 146
148 if (!ValidFormat(format)) { 147 if (!ValidFormat(format)) {
149 LOG(ERROR) << "Invalid format: " << format; 148 LOG(ERROR) << "Invalid format: " << static_cast<int>(format);
150 return false; 149 return false;
151 } 150 }
152 151
153 format_ = format; 152 format_ = format;
154 io_surface_.reset(io_surface, base::scoped_policy::RETAIN); 153 io_surface_.reset(io_surface, base::scoped_policy::RETAIN);
155 return true; 154 return true;
156 } 155 }
157 156
158 void GLImageIOSurface::Destroy(bool have_context) { 157 void GLImageIOSurface::Destroy(bool have_context) {
159 DCHECK(thread_checker_.CalledOnValidThread()); 158 DCHECK(thread_checker_.CalledOnValidThread());
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 // static 220 // static
222 void GLImageIOSurface::SetLayerForWidget( 221 void GLImageIOSurface::SetLayerForWidget(
223 gfx::AcceleratedWidget widget, CALayer* layer) { 222 gfx::AcceleratedWidget widget, CALayer* layer) {
224 if (layer) 223 if (layer)
225 g_widget_to_layer_map.Pointer()->insert(std::make_pair(widget, layer)); 224 g_widget_to_layer_map.Pointer()->insert(std::make_pair(widget, layer));
226 else 225 else
227 g_widget_to_layer_map.Pointer()->erase(widget); 226 g_widget_to_layer_map.Pointer()->erase(widget);
228 } 227 }
229 228
230 } // namespace gfx 229 } // namespace gfx
OLDNEW
« no previous file with comments | « ui/gl/gl_image_io_surface.h ('k') | ui/gl/gl_image_memory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698