OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "gpu/command_buffer/common/gles2_cmd_utils.h" | |
6 | |
7 #include <GLES2/gl2.h> | |
8 #include <GLES2/gl2ext.h> | |
9 #include <GLES2/gles2_command_buffer.h> | |
10 | |
11 #include "testing/gtest/include/gtest/gtest.h" | |
12 | |
13 namespace gpu { | |
14 namespace gles2 { | |
15 | |
16 class GLES2UtilTest : public testing:: Test { | |
17 public: | |
18 GLES2UtilTest() | |
19 : util_(0) { | |
20 } | |
21 | |
22 protected: | |
23 GLES2Util util_; | |
24 }; | |
25 | |
26 TEST_F(GLES2UtilTest, ComputeImageDataSizeFormats) { | |
27 const int kWidth = 16; | |
28 const int kHeight = 12; | |
29 uint32 size; | |
30 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( | |
31 kWidth, kHeight, GL_RGB, GL_UNSIGNED_BYTE, 1, &size)); | |
32 EXPECT_EQ(kWidth * kHeight * 3, size); | |
33 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( | |
34 kWidth, kHeight, GL_RGBA, GL_UNSIGNED_BYTE, 1, &size)); | |
35 EXPECT_EQ(kWidth * kHeight * 4, size); | |
36 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( | |
37 kWidth, kHeight, GL_LUMINANCE, GL_UNSIGNED_BYTE, 1, &size)); | |
38 EXPECT_EQ(kWidth * kHeight * 1, size); | |
39 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( | |
40 kWidth, kHeight, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, 1, &size)); | |
41 EXPECT_EQ(kWidth * kHeight * 2, size); | |
42 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( | |
43 kWidth, kHeight, GL_BGRA_EXT, GL_UNSIGNED_BYTE, 1, &size)); | |
44 EXPECT_EQ(kWidth * kHeight * 4, size); | |
45 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( | |
46 kWidth, kHeight, GL_ALPHA, GL_UNSIGNED_BYTE, 1, &size)); | |
47 EXPECT_EQ(kWidth * kHeight * 1, size); | |
48 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( | |
49 kWidth, kHeight, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, 1, &size)); | |
50 EXPECT_EQ(kWidth * kHeight * 2, size); | |
51 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( | |
52 kWidth, kHeight, GL_DEPTH_STENCIL_OES, GL_UNSIGNED_INT_24_8_OES, 1, | |
53 &size)); | |
54 EXPECT_EQ(kWidth * kHeight * 4, size); | |
55 } | |
56 | |
57 TEST_F(GLES2UtilTest, ComputeImageDataSizeTypes) { | |
58 const int kWidth = 16; | |
59 const int kHeight = 12; | |
60 uint32 size; | |
61 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( | |
62 kWidth, kHeight, GL_RGBA, GL_UNSIGNED_BYTE, 1, &size)); | |
63 EXPECT_EQ(kWidth * kHeight * 4, size); | |
64 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( | |
65 kWidth, kHeight, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, 1, &size)); | |
66 EXPECT_EQ(kWidth * kHeight * 2, size); | |
67 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( | |
68 kWidth, kHeight, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1, 1, &size)); | |
69 EXPECT_EQ(kWidth * kHeight * 2, size); | |
70 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( | |
71 kWidth, kHeight, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, 1, &size)); | |
72 EXPECT_EQ(kWidth * kHeight * 2, size); | |
73 } | |
74 | |
75 TEST_F(GLES2UtilTest, ComputeImageDataSizeUnpackAlignment) { | |
76 const int kWidth = 19; | |
77 const int kHeight = 12; | |
78 uint32 size; | |
79 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( | |
80 kWidth, kHeight, GL_RGB, GL_UNSIGNED_BYTE, 1, &size)); | |
81 EXPECT_EQ(kWidth * kHeight * 3, size); | |
82 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( | |
83 kWidth, kHeight, GL_RGB, GL_UNSIGNED_BYTE, 2, &size)); | |
84 EXPECT_EQ((kWidth * 3 + 1) * (kHeight - 1) + | |
85 kWidth * 3, size); | |
86 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( | |
87 kWidth, kHeight, GL_RGB, GL_UNSIGNED_BYTE, 4, &size)); | |
88 EXPECT_EQ((kWidth * 3 + 3) * (kHeight - 1) + | |
89 kWidth * 3, size); | |
90 EXPECT_TRUE(GLES2Util::ComputeImageDataSize( | |
91 kWidth, kHeight, GL_RGB, GL_UNSIGNED_BYTE, 8, &size)); | |
92 EXPECT_EQ((kWidth * 3 + 7) * (kHeight - 1) + | |
93 kWidth * 3, size); | |
94 } | |
95 | |
96 } // namespace gles2 | |
97 } // namespace gpu | |
98 | |
OLD | NEW |