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

Side by Side Diff: gpu/command_buffer/common/gles2_cmd_utils_unittest.cc

Issue 10012057: Add GL_EXT_unpack_subimage support to command buffer client code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/common/gles2_cmd_utils.h" 5 #include "gpu/command_buffer/common/gles2_cmd_utils.h"
6 6
7 #include <GLES2/gl2.h> 7 #include <GLES2/gl2.h>
8 #include <GLES2/gl2ext.h> 8 #include <GLES2/gl2ext.h>
9 9
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 16 matching lines...) Expand all
27 util_.set_num_compressed_texture_formats(1); 27 util_.set_num_compressed_texture_formats(1);
28 util_.set_num_shader_binary_formats(2); 28 util_.set_num_shader_binary_formats(2);
29 29
30 EXPECT_EQ(1, util_.GLGetNumValuesReturned(GL_COMPRESSED_TEXTURE_FORMATS)); 30 EXPECT_EQ(1, util_.GLGetNumValuesReturned(GL_COMPRESSED_TEXTURE_FORMATS));
31 EXPECT_EQ(2, util_.GLGetNumValuesReturned(GL_SHADER_BINARY_FORMATS)); 31 EXPECT_EQ(2, util_.GLGetNumValuesReturned(GL_SHADER_BINARY_FORMATS));
32 32
33 EXPECT_EQ(1, util_.num_compressed_texture_formats()); 33 EXPECT_EQ(1, util_.num_compressed_texture_formats());
34 EXPECT_EQ(2, util_.num_shader_binary_formats()); 34 EXPECT_EQ(2, util_.num_shader_binary_formats());
35 } 35 }
36 36
37 TEST_F(GLES2UtilTest, ComputeImageDataSizeFormats) { 37 TEST_F(GLES2UtilTest, ComputeImageDataSizesFormats) {
38 const uint32 kWidth = 16; 38 const uint32 kWidth = 16;
39 const uint32 kHeight = 12; 39 const uint32 kHeight = 12;
40 uint32 size; 40 uint32 size;
41 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( 41 uint32 unpadded_row_size;
42 kWidth, kHeight, GL_RGB, GL_UNSIGNED_BYTE, 1, &size)); 42 uint32 padded_row_size;
43 EXPECT_TRUE(GLES2Util::ComputeImageDataSizes(
44 kWidth, kHeight, GL_RGB, GL_UNSIGNED_BYTE, 1, &size, &unpadded_row_size,
45 &padded_row_size));
43 EXPECT_EQ(kWidth * kHeight * 3, size); 46 EXPECT_EQ(kWidth * kHeight * 3, size);
44 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( 47 EXPECT_EQ(kWidth * 3, padded_row_size);
45 kWidth, kHeight, GL_RGBA, GL_UNSIGNED_BYTE, 1, &size)); 48 EXPECT_EQ(padded_row_size, unpadded_row_size);
49 EXPECT_TRUE(GLES2Util::ComputeImageDataSizes(
50 kWidth, kHeight, GL_RGBA, GL_UNSIGNED_BYTE, 1, &size, &unpadded_row_size,
51 &padded_row_size));
46 EXPECT_EQ(kWidth * kHeight * 4, size); 52 EXPECT_EQ(kWidth * kHeight * 4, size);
47 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( 53 EXPECT_EQ(kWidth * 4, padded_row_size);
48 kWidth, kHeight, GL_LUMINANCE, GL_UNSIGNED_BYTE, 1, &size)); 54 EXPECT_EQ(padded_row_size, unpadded_row_size);
55 EXPECT_TRUE(GLES2Util::ComputeImageDataSizes(
56 kWidth, kHeight, GL_LUMINANCE, GL_UNSIGNED_BYTE, 1, &size,
57 &unpadded_row_size, &padded_row_size));
49 EXPECT_EQ(kWidth * kHeight * 1, size); 58 EXPECT_EQ(kWidth * kHeight * 1, size);
50 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( 59 EXPECT_EQ(kWidth * 1, padded_row_size);
51 kWidth, kHeight, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, 1, &size)); 60 EXPECT_EQ(padded_row_size, unpadded_row_size);
61 EXPECT_TRUE(GLES2Util::ComputeImageDataSizes(
62 kWidth, kHeight, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, 1, &size,
63 &unpadded_row_size, &padded_row_size));
52 EXPECT_EQ(kWidth * kHeight * 2, size); 64 EXPECT_EQ(kWidth * kHeight * 2, size);
53 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( 65 EXPECT_EQ(kWidth * 2, padded_row_size);
54 kWidth, kHeight, GL_BGRA_EXT, GL_UNSIGNED_BYTE, 1, &size)); 66 EXPECT_EQ(padded_row_size, unpadded_row_size);
67 EXPECT_TRUE(GLES2Util::ComputeImageDataSizes(
68 kWidth, kHeight, GL_BGRA_EXT, GL_UNSIGNED_BYTE, 1, &size,
69 &unpadded_row_size, &padded_row_size));
55 EXPECT_EQ(kWidth * kHeight * 4, size); 70 EXPECT_EQ(kWidth * kHeight * 4, size);
56 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( 71 EXPECT_EQ(kWidth * 4, padded_row_size);
57 kWidth, kHeight, GL_ALPHA, GL_UNSIGNED_BYTE, 1, &size)); 72 EXPECT_EQ(padded_row_size, unpadded_row_size);
73 EXPECT_TRUE(GLES2Util::ComputeImageDataSizes(
74 kWidth, kHeight, GL_ALPHA, GL_UNSIGNED_BYTE, 1, &size, &unpadded_row_size,
75 &padded_row_size));
58 EXPECT_EQ(kWidth * kHeight * 1, size); 76 EXPECT_EQ(kWidth * kHeight * 1, size);
59 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( 77 EXPECT_EQ(kWidth * 1, padded_row_size);
60 kWidth, kHeight, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, 1, &size)); 78 EXPECT_EQ(padded_row_size, unpadded_row_size);
79 EXPECT_TRUE(GLES2Util::ComputeImageDataSizes(
80 kWidth, kHeight, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, 1, &size,
81 &unpadded_row_size, &padded_row_size));
61 EXPECT_EQ(kWidth * kHeight * 2, size); 82 EXPECT_EQ(kWidth * kHeight * 2, size);
62 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( 83 EXPECT_EQ(kWidth * 2, padded_row_size);
84 EXPECT_EQ(padded_row_size, unpadded_row_size);
85 EXPECT_TRUE(GLES2Util::ComputeImageDataSizes(
63 kWidth, kHeight, GL_DEPTH_STENCIL_OES, GL_UNSIGNED_INT_24_8_OES, 1, 86 kWidth, kHeight, GL_DEPTH_STENCIL_OES, GL_UNSIGNED_INT_24_8_OES, 1,
64 &size)); 87 &size, &unpadded_row_size,
88 &padded_row_size));
65 EXPECT_EQ(kWidth * kHeight * 4, size); 89 EXPECT_EQ(kWidth * kHeight * 4, size);
90 EXPECT_EQ(kWidth * 4, padded_row_size);
91 EXPECT_EQ(padded_row_size, unpadded_row_size);
66 } 92 }
67 93
68 TEST_F(GLES2UtilTest, ComputeImageDataSizeTypes) { 94 TEST_F(GLES2UtilTest, ComputeImageDataSizeTypes) {
69 const uint32 kWidth = 16; 95 const uint32 kWidth = 16;
70 const uint32 kHeight = 12; 96 const uint32 kHeight = 12;
71 uint32 size; 97 uint32 size;
72 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( 98 uint32 unpadded_row_size;
73 kWidth, kHeight, GL_RGBA, GL_UNSIGNED_BYTE, 1, &size)); 99 uint32 padded_row_size;
100 EXPECT_TRUE(GLES2Util::ComputeImageDataSizes(
101 kWidth, kHeight, GL_RGBA, GL_UNSIGNED_BYTE, 1, &size, &unpadded_row_size,
102 &padded_row_size));
74 EXPECT_EQ(kWidth * kHeight * 4, size); 103 EXPECT_EQ(kWidth * kHeight * 4, size);
75 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( 104 EXPECT_EQ(kWidth * 4, padded_row_size);
76 kWidth, kHeight, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, 1, &size)); 105 EXPECT_EQ(padded_row_size, unpadded_row_size);
106 EXPECT_TRUE(GLES2Util::ComputeImageDataSizes(
107 kWidth, kHeight, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, 1, &size,
108 &unpadded_row_size, &padded_row_size));
77 EXPECT_EQ(kWidth * kHeight * 2, size); 109 EXPECT_EQ(kWidth * kHeight * 2, size);
78 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( 110 EXPECT_EQ(kWidth * 2, padded_row_size);
79 kWidth, kHeight, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1, 1, &size)); 111 EXPECT_EQ(padded_row_size, unpadded_row_size);
112 EXPECT_TRUE(GLES2Util::ComputeImageDataSizes(
113 kWidth, kHeight, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1, 1, &size,
114 &unpadded_row_size, &padded_row_size));
80 EXPECT_EQ(kWidth * kHeight * 2, size); 115 EXPECT_EQ(kWidth * kHeight * 2, size);
81 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( 116 EXPECT_EQ(kWidth * 2, padded_row_size);
82 kWidth, kHeight, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, 1, &size)); 117 EXPECT_EQ(padded_row_size, unpadded_row_size);
118 EXPECT_TRUE(GLES2Util::ComputeImageDataSizes(
119 kWidth, kHeight, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, 1, &size,
120 &unpadded_row_size, &padded_row_size));
83 EXPECT_EQ(kWidth * kHeight * 2, size); 121 EXPECT_EQ(kWidth * kHeight * 2, size);
84 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( 122 EXPECT_EQ(kWidth * 2, padded_row_size);
85 kWidth, kHeight, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, 1, &size)); 123 EXPECT_EQ(padded_row_size, unpadded_row_size);
124 EXPECT_TRUE(GLES2Util::ComputeImageDataSizes(
125 kWidth, kHeight, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, 1, &size,
126 &unpadded_row_size, &padded_row_size));
86 EXPECT_EQ(kWidth * kHeight * 4, size); 127 EXPECT_EQ(kWidth * kHeight * 4, size);
128 EXPECT_EQ(kWidth * 4, padded_row_size);
129 EXPECT_EQ(padded_row_size, unpadded_row_size);
87 } 130 }
88 131
89 TEST_F(GLES2UtilTest, ComputeImageDataSizeUnpackAlignment) { 132 TEST_F(GLES2UtilTest, ComputeImageDataSizesUnpackAlignment) {
90 const uint32 kWidth = 19; 133 const uint32 kWidth = 19;
91 const uint32 kHeight = 12; 134 const uint32 kHeight = 12;
92 uint32 size; 135 uint32 size;
93 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( 136 uint32 unpadded_row_size;
94 kWidth, kHeight, GL_RGB, GL_UNSIGNED_BYTE, 1, &size)); 137 uint32 padded_row_size;
138 EXPECT_TRUE(GLES2Util::ComputeImageDataSizes(
139 kWidth, kHeight, GL_RGB, GL_UNSIGNED_BYTE, 1, &size, &unpadded_row_size,
140 &padded_row_size));
95 EXPECT_EQ(kWidth * kHeight * 3, size); 141 EXPECT_EQ(kWidth * kHeight * 3, size);
96 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( 142 EXPECT_EQ(kWidth * 3, unpadded_row_size);
97 kWidth, kHeight, GL_RGB, GL_UNSIGNED_BYTE, 2, &size)); 143 EXPECT_EQ(kWidth * 3, padded_row_size);
144 EXPECT_TRUE(GLES2Util::ComputeImageDataSizes(
145 kWidth, kHeight, GL_RGB, GL_UNSIGNED_BYTE, 2, &size, &unpadded_row_size,
146 &padded_row_size));
98 EXPECT_EQ((kWidth * 3 + 1) * (kHeight - 1) + 147 EXPECT_EQ((kWidth * 3 + 1) * (kHeight - 1) +
99 kWidth * 3, size); 148 kWidth * 3, size);
100 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( 149 EXPECT_EQ(kWidth * 3, unpadded_row_size);
101 kWidth, kHeight, GL_RGB, GL_UNSIGNED_BYTE, 4, &size)); 150 EXPECT_EQ(kWidth * 3 + 1, padded_row_size);
151 EXPECT_TRUE(GLES2Util::ComputeImageDataSizes(
152 kWidth, kHeight, GL_RGB, GL_UNSIGNED_BYTE, 4, &size, &unpadded_row_size,
153 &padded_row_size));
102 EXPECT_EQ((kWidth * 3 + 3) * (kHeight - 1) + 154 EXPECT_EQ((kWidth * 3 + 3) * (kHeight - 1) +
103 kWidth * 3, size); 155 kWidth * 3, size);
104 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( 156 EXPECT_EQ(kWidth * 3, unpadded_row_size);
105 kWidth, kHeight, GL_RGB, GL_UNSIGNED_BYTE, 8, &size)); 157 EXPECT_EQ(kWidth * 3 + 3, padded_row_size);
158 EXPECT_TRUE(GLES2Util::ComputeImageDataSizes(
159 kWidth, kHeight, GL_RGB, GL_UNSIGNED_BYTE, 8, &size, &unpadded_row_size,
160 &padded_row_size));
106 EXPECT_EQ((kWidth * 3 + 7) * (kHeight - 1) + 161 EXPECT_EQ((kWidth * 3 + 7) * (kHeight - 1) +
107 kWidth * 3, size); 162 kWidth * 3, size);
163 EXPECT_EQ(kWidth * 3, unpadded_row_size);
164 EXPECT_EQ(kWidth * 3 + 7, padded_row_size);
108 } 165 }
109 166
110 TEST_F(GLES2UtilTest, RenderbufferBytesPerPixel) { 167 TEST_F(GLES2UtilTest, RenderbufferBytesPerPixel) {
111 EXPECT_EQ(1u, GLES2Util::RenderbufferBytesPerPixel(GL_STENCIL_INDEX8)); 168 EXPECT_EQ(1u, GLES2Util::RenderbufferBytesPerPixel(GL_STENCIL_INDEX8));
112 EXPECT_EQ(2u, GLES2Util::RenderbufferBytesPerPixel(GL_RGBA4)); 169 EXPECT_EQ(2u, GLES2Util::RenderbufferBytesPerPixel(GL_RGBA4));
113 EXPECT_EQ(2u, GLES2Util::RenderbufferBytesPerPixel(GL_RGB565)); 170 EXPECT_EQ(2u, GLES2Util::RenderbufferBytesPerPixel(GL_RGB565));
114 EXPECT_EQ(2u, GLES2Util::RenderbufferBytesPerPixel(GL_RGB5_A1)); 171 EXPECT_EQ(2u, GLES2Util::RenderbufferBytesPerPixel(GL_RGB5_A1));
115 EXPECT_EQ(2u, GLES2Util::RenderbufferBytesPerPixel(GL_DEPTH_COMPONENT16)); 172 EXPECT_EQ(2u, GLES2Util::RenderbufferBytesPerPixel(GL_DEPTH_COMPONENT16));
116 EXPECT_EQ(4u, GLES2Util::RenderbufferBytesPerPixel(GL_RGB)); 173 EXPECT_EQ(4u, GLES2Util::RenderbufferBytesPerPixel(GL_RGB));
117 EXPECT_EQ(4u, GLES2Util::RenderbufferBytesPerPixel(GL_RGBA)); 174 EXPECT_EQ(4u, GLES2Util::RenderbufferBytesPerPixel(GL_RGBA));
118 EXPECT_EQ( 175 EXPECT_EQ(
119 4u, GLES2Util::RenderbufferBytesPerPixel(GL_DEPTH24_STENCIL8_OES)); 176 4u, GLES2Util::RenderbufferBytesPerPixel(GL_DEPTH24_STENCIL8_OES));
120 EXPECT_EQ(4u, GLES2Util::RenderbufferBytesPerPixel(GL_RGB8_OES)); 177 EXPECT_EQ(4u, GLES2Util::RenderbufferBytesPerPixel(GL_RGB8_OES));
121 EXPECT_EQ(4u, GLES2Util::RenderbufferBytesPerPixel(GL_RGBA8_OES)); 178 EXPECT_EQ(4u, GLES2Util::RenderbufferBytesPerPixel(GL_RGBA8_OES));
122 EXPECT_EQ( 179 EXPECT_EQ(
123 4u, GLES2Util::RenderbufferBytesPerPixel(GL_DEPTH_COMPONENT24_OES)); 180 4u, GLES2Util::RenderbufferBytesPerPixel(GL_DEPTH_COMPONENT24_OES));
124 EXPECT_EQ(0u, GLES2Util::RenderbufferBytesPerPixel(-1)); 181 EXPECT_EQ(0u, GLES2Util::RenderbufferBytesPerPixel(-1));
125 } 182 }
126 183
127 } // namespace gles2 184 } // namespace gles2
128 } // namespace gpu 185 } // namespace gpu
129 186
OLDNEW
« no previous file with comments | « gpu/command_buffer/common/gles2_cmd_utils.cc ('k') | gpu/command_buffer/service/gles2_cmd_decoder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698