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

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

Issue 1051503003: Add R_8 GPU memory buffers format. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merged on master. Created 5 years, 8 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <GLES2/gl2.h> 5 #include <GLES2/gl2.h>
6 #include <GLES2/gl2chromium.h> 6 #include <GLES2/gl2chromium.h>
7 #include <GLES2/gl2ext.h> 7 #include <GLES2/gl2ext.h>
8 #include <GLES2/gl2extchromium.h> 8 #include <GLES2/gl2extchromium.h>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 varying vec2 v_texCoord; 73 varying vec2 v_texCoord;
74 void main() { 74 void main() {
75 gl_FragColor = texture2D(a_texture, v_texCoord); 75 gl_FragColor = texture2D(a_texture, v_texCoord);
76 } 76 }
77 ); 77 );
78 // clang-format on 78 // clang-format on
79 79
80 std::vector<uint8> GetTexturePixel(const gfx::GpuMemoryBuffer::Format format) { 80 std::vector<uint8> GetTexturePixel(const gfx::GpuMemoryBuffer::Format format) {
81 std::vector<uint8> pixel; 81 std::vector<uint8> pixel;
82 switch (format) { 82 switch (format) {
83 case gfx::GpuMemoryBuffer::R_8:
84 pixel.push_back(255u);
85 return pixel;
83 case gfx::GpuMemoryBuffer::RGBA_8888: 86 case gfx::GpuMemoryBuffer::RGBA_8888:
84 pixel.push_back(255u); 87 pixel.push_back(255u);
85 pixel.push_back(0u); 88 pixel.push_back(0u);
86 pixel.push_back(0u); 89 pixel.push_back(0u);
87 pixel.push_back(255u); 90 pixel.push_back(255u);
88 return pixel; 91 return pixel;
89 case gfx::GpuMemoryBuffer::BGRA_8888: 92 case gfx::GpuMemoryBuffer::BGRA_8888:
90 pixel.push_back(0u); 93 pixel.push_back(0u);
91 pixel.push_back(0u); 94 pixel.push_back(0u);
92 pixel.push_back(255u); 95 pixel.push_back(255u);
(...skipping 11 matching lines...) Expand all
104 } 107 }
105 108
106 NOTREACHED(); 109 NOTREACHED();
107 return std::vector<uint8>(); 110 return std::vector<uint8>();
108 } 111 }
109 112
110 std::vector<uint8> GetFramebufferPixel( 113 std::vector<uint8> GetFramebufferPixel(
111 const gfx::GpuMemoryBuffer::Format format) { 114 const gfx::GpuMemoryBuffer::Format format) {
112 std::vector<uint8> pixel; 115 std::vector<uint8> pixel;
113 switch (format) { 116 switch (format) {
117 case gfx::GpuMemoryBuffer::R_8:
114 case gfx::GpuMemoryBuffer::RGBA_8888: 118 case gfx::GpuMemoryBuffer::RGBA_8888:
115 case gfx::GpuMemoryBuffer::BGRA_8888: 119 case gfx::GpuMemoryBuffer::BGRA_8888:
116 pixel.push_back(255u); 120 pixel.push_back(255u);
117 pixel.push_back(0u); 121 pixel.push_back(0u);
118 pixel.push_back(0u); 122 pixel.push_back(0u);
119 pixel.push_back(255u); 123 pixel.push_back(255u);
120 return pixel; 124 return pixel;
121 case gfx::GpuMemoryBuffer::ATC: 125 case gfx::GpuMemoryBuffer::ATC:
122 case gfx::GpuMemoryBuffer::ATCIA: 126 case gfx::GpuMemoryBuffer::ATCIA:
123 case gfx::GpuMemoryBuffer::DXT1: 127 case gfx::GpuMemoryBuffer::DXT1:
124 case gfx::GpuMemoryBuffer::DXT5: 128 case gfx::GpuMemoryBuffer::DXT5:
125 case gfx::GpuMemoryBuffer::ETC1: 129 case gfx::GpuMemoryBuffer::ETC1:
126 case gfx::GpuMemoryBuffer::RGBX_8888: 130 case gfx::GpuMemoryBuffer::RGBX_8888:
127 case gfx::GpuMemoryBuffer::YUV_420: 131 case gfx::GpuMemoryBuffer::YUV_420:
128 NOTREACHED(); 132 NOTREACHED();
129 return std::vector<uint8>(); 133 return std::vector<uint8>();
130 } 134 }
131 135
132 NOTREACHED(); 136 NOTREACHED();
133 return std::vector<uint8>(); 137 return std::vector<uint8>();
134 } 138 }
135 139
136 GLenum InternalFormat(gfx::GpuMemoryBuffer::Format format) { 140 GLenum InternalFormat(gfx::GpuMemoryBuffer::Format format) {
137 switch (format) { 141 switch (format) {
142 case gfx::GpuMemoryBuffer::R_8:
143 return GL_R8;
138 case gfx::GpuMemoryBuffer::RGBA_8888: 144 case gfx::GpuMemoryBuffer::RGBA_8888:
139 return GL_RGBA; 145 return GL_RGBA;
140 case gfx::GpuMemoryBuffer::BGRA_8888: 146 case gfx::GpuMemoryBuffer::BGRA_8888:
141 return GL_BGRA_EXT; 147 return GL_BGRA_EXT;
142 case gfx::GpuMemoryBuffer::ATC: 148 case gfx::GpuMemoryBuffer::ATC:
143 case gfx::GpuMemoryBuffer::ATCIA: 149 case gfx::GpuMemoryBuffer::ATCIA:
144 case gfx::GpuMemoryBuffer::DXT1: 150 case gfx::GpuMemoryBuffer::DXT1:
145 case gfx::GpuMemoryBuffer::DXT5: 151 case gfx::GpuMemoryBuffer::DXT5:
146 case gfx::GpuMemoryBuffer::ETC1: 152 case gfx::GpuMemoryBuffer::ETC1:
147 case gfx::GpuMemoryBuffer::RGBX_8888: 153 case gfx::GpuMemoryBuffer::RGBX_8888:
148 case gfx::GpuMemoryBuffer::YUV_420: 154 case gfx::GpuMemoryBuffer::YUV_420:
149 NOTREACHED(); 155 NOTREACHED();
150 return 0; 156 return 0;
151 } 157 }
152 158
153 NOTREACHED(); 159 NOTREACHED();
154 return 0; 160 return 0;
155 } 161 }
156 162
157 } // namespace 163 } // namespace
158 164
159 // An end to end test that tests the whole GpuMemoryBuffer lifecycle. 165 // An end to end test that tests the whole GpuMemoryBuffer lifecycle.
160 TEST_P(GpuMemoryBufferTest, Lifecycle) { 166 TEST_P(GpuMemoryBufferTest, Lifecycle) {
167 ASSERT_TRUE((GetParam() != gfx::GpuMemoryBuffer::R_8) ||
168 gl_.GetCapabilities().texture_rg);
169
161 GLuint texture_id = 0; 170 GLuint texture_id = 0;
162 glGenTextures(1, &texture_id); 171 glGenTextures(1, &texture_id);
163 ASSERT_NE(0u, texture_id); 172 ASSERT_NE(0u, texture_id);
164 glBindTexture(GL_TEXTURE_2D, texture_id); 173 glBindTexture(GL_TEXTURE_2D, texture_id);
165 glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); 174 glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
166 glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); 175 glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
167 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); 176 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
168 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); 177 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
169 178
170 // Create the gpu memory buffer. 179 // Create the gpu memory buffer.
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 glDeleteProgram(program); 245 glDeleteProgram(program);
237 glDeleteShader(vertex_shader); 246 glDeleteShader(vertex_shader);
238 glDeleteShader(fragment_shader); 247 glDeleteShader(fragment_shader);
239 glDeleteBuffers(1, &vbo); 248 glDeleteBuffers(1, &vbo);
240 glDestroyImageCHROMIUM(image_id); 249 glDestroyImageCHROMIUM(image_id);
241 glDeleteTextures(1, &texture_id); 250 glDeleteTextures(1, &texture_id);
242 } 251 }
243 252
244 INSTANTIATE_TEST_CASE_P(GpuMemoryBufferTests, 253 INSTANTIATE_TEST_CASE_P(GpuMemoryBufferTests,
245 GpuMemoryBufferTest, 254 GpuMemoryBufferTest,
246 ::testing::Values(gfx::GpuMemoryBuffer::RGBA_8888, 255 ::testing::Values(gfx::GpuMemoryBuffer::R_8,
256 gfx::GpuMemoryBuffer::RGBA_8888,
247 gfx::GpuMemoryBuffer::BGRA_8888)); 257 gfx::GpuMemoryBuffer::BGRA_8888));
248 258
249 } // namespace gles2 259 } // namespace gles2
250 } // namespace gpu 260 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/in_process_command_buffer.cc ('k') | gpu/command_buffer/tests/gl_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698