OLD | NEW |
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/service/context_group.h" | 5 #include "gpu/command_buffer/service/context_group.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 TEST_F(ContextGroupTest, Basic) { | 55 TEST_F(ContextGroupTest, Basic) { |
56 // Test it starts off uninitialized. | 56 // Test it starts off uninitialized. |
57 EXPECT_EQ(0u, group_->max_vertex_attribs()); | 57 EXPECT_EQ(0u, group_->max_vertex_attribs()); |
58 EXPECT_EQ(0u, group_->max_texture_units()); | 58 EXPECT_EQ(0u, group_->max_texture_units()); |
59 EXPECT_EQ(0u, group_->max_texture_image_units()); | 59 EXPECT_EQ(0u, group_->max_texture_image_units()); |
60 EXPECT_EQ(0u, group_->max_vertex_texture_image_units()); | 60 EXPECT_EQ(0u, group_->max_vertex_texture_image_units()); |
61 EXPECT_EQ(0u, group_->max_fragment_uniform_vectors()); | 61 EXPECT_EQ(0u, group_->max_fragment_uniform_vectors()); |
62 EXPECT_EQ(0u, group_->max_varying_vectors()); | 62 EXPECT_EQ(0u, group_->max_varying_vectors()); |
63 EXPECT_EQ(0u, group_->max_vertex_uniform_vectors()); | 63 EXPECT_EQ(0u, group_->max_vertex_uniform_vectors()); |
64 EXPECT_TRUE(group_->buffer_manager() == NULL); | 64 EXPECT_TRUE(group_->buffer_manager() == NULL); |
65 EXPECT_TRUE(group_->framebuffer_manager() == NULL); | |
66 EXPECT_TRUE(group_->renderbuffer_manager() == NULL); | 65 EXPECT_TRUE(group_->renderbuffer_manager() == NULL); |
67 EXPECT_TRUE(group_->texture_manager() == NULL); | 66 EXPECT_TRUE(group_->texture_manager() == NULL); |
68 EXPECT_TRUE(group_->program_manager() == NULL); | 67 EXPECT_TRUE(group_->program_manager() == NULL); |
69 EXPECT_TRUE(group_->shader_manager() == NULL); | 68 EXPECT_TRUE(group_->shader_manager() == NULL); |
70 } | 69 } |
71 | 70 |
72 TEST_F(ContextGroupTest, InitializeNoExtensions) { | 71 TEST_F(ContextGroupTest, InitializeNoExtensions) { |
73 TestHelper::SetupContextGroupInitExpectations( | 72 TestHelper::SetupContextGroupInitExpectations( |
74 gl_.get(), DisallowedFeatures(), "", "", | 73 gl_.get(), DisallowedFeatures(), "", "", |
75 CONTEXT_TYPE_OPENGLES2, kBindGeneratesResource); | 74 CONTEXT_TYPE_OPENGLES2, kBindGeneratesResource); |
76 group_->Initialize(decoder_.get(), CONTEXT_TYPE_OPENGLES2, | 75 group_->Initialize(decoder_.get(), CONTEXT_TYPE_OPENGLES2, |
77 DisallowedFeatures()); | 76 DisallowedFeatures()); |
78 EXPECT_EQ(static_cast<uint32_t>(TestHelper::kNumVertexAttribs), | 77 EXPECT_EQ(static_cast<uint32_t>(TestHelper::kNumVertexAttribs), |
79 group_->max_vertex_attribs()); | 78 group_->max_vertex_attribs()); |
80 EXPECT_EQ(static_cast<uint32_t>(TestHelper::kNumTextureUnits), | 79 EXPECT_EQ(static_cast<uint32_t>(TestHelper::kNumTextureUnits), |
81 group_->max_texture_units()); | 80 group_->max_texture_units()); |
82 EXPECT_EQ(static_cast<uint32_t>(TestHelper::kMaxTextureImageUnits), | 81 EXPECT_EQ(static_cast<uint32_t>(TestHelper::kMaxTextureImageUnits), |
83 group_->max_texture_image_units()); | 82 group_->max_texture_image_units()); |
84 EXPECT_EQ(static_cast<uint32_t>(TestHelper::kMaxVertexTextureImageUnits), | 83 EXPECT_EQ(static_cast<uint32_t>(TestHelper::kMaxVertexTextureImageUnits), |
85 group_->max_vertex_texture_image_units()); | 84 group_->max_vertex_texture_image_units()); |
86 EXPECT_EQ(static_cast<uint32_t>(TestHelper::kMaxFragmentUniformVectors), | 85 EXPECT_EQ(static_cast<uint32_t>(TestHelper::kMaxFragmentUniformVectors), |
87 group_->max_fragment_uniform_vectors()); | 86 group_->max_fragment_uniform_vectors()); |
88 EXPECT_EQ(static_cast<uint32_t>(TestHelper::kMaxVaryingVectors), | 87 EXPECT_EQ(static_cast<uint32_t>(TestHelper::kMaxVaryingVectors), |
89 group_->max_varying_vectors()); | 88 group_->max_varying_vectors()); |
90 EXPECT_EQ(static_cast<uint32_t>(TestHelper::kMaxVertexUniformVectors), | 89 EXPECT_EQ(static_cast<uint32_t>(TestHelper::kMaxVertexUniformVectors), |
91 group_->max_vertex_uniform_vectors()); | 90 group_->max_vertex_uniform_vectors()); |
92 EXPECT_TRUE(group_->buffer_manager() != NULL); | 91 EXPECT_TRUE(group_->buffer_manager() != NULL); |
93 EXPECT_TRUE(group_->framebuffer_manager() != NULL); | |
94 EXPECT_TRUE(group_->renderbuffer_manager() != NULL); | 92 EXPECT_TRUE(group_->renderbuffer_manager() != NULL); |
95 EXPECT_TRUE(group_->texture_manager() != NULL); | 93 EXPECT_TRUE(group_->texture_manager() != NULL); |
96 EXPECT_TRUE(group_->program_manager() != NULL); | 94 EXPECT_TRUE(group_->program_manager() != NULL); |
97 EXPECT_TRUE(group_->shader_manager() != NULL); | 95 EXPECT_TRUE(group_->shader_manager() != NULL); |
98 | 96 |
99 group_->Destroy(decoder_.get(), false); | 97 group_->Destroy(decoder_.get(), false); |
100 EXPECT_TRUE(group_->buffer_manager() == NULL); | 98 EXPECT_TRUE(group_->buffer_manager() == NULL); |
101 EXPECT_TRUE(group_->framebuffer_manager() == NULL); | |
102 EXPECT_TRUE(group_->renderbuffer_manager() == NULL); | 99 EXPECT_TRUE(group_->renderbuffer_manager() == NULL); |
103 EXPECT_TRUE(group_->texture_manager() == NULL); | 100 EXPECT_TRUE(group_->texture_manager() == NULL); |
104 EXPECT_TRUE(group_->program_manager() == NULL); | 101 EXPECT_TRUE(group_->program_manager() == NULL); |
105 EXPECT_TRUE(group_->shader_manager() == NULL); | 102 EXPECT_TRUE(group_->shader_manager() == NULL); |
106 } | 103 } |
107 | 104 |
108 TEST_F(ContextGroupTest, MultipleContexts) { | 105 TEST_F(ContextGroupTest, MultipleContexts) { |
109 std::unique_ptr<MockGLES2Decoder> decoder2_(new MockGLES2Decoder()); | 106 std::unique_ptr<MockGLES2Decoder> decoder2_(new MockGLES2Decoder()); |
110 TestHelper::SetupContextGroupInitExpectations( | 107 TestHelper::SetupContextGroupInitExpectations( |
111 gl_.get(), DisallowedFeatures(), "", "", | 108 gl_.get(), DisallowedFeatures(), "", "", |
112 CONTEXT_TYPE_OPENGLES2, kBindGeneratesResource); | 109 CONTEXT_TYPE_OPENGLES2, kBindGeneratesResource); |
113 EXPECT_TRUE(group_->Initialize(decoder_.get(), CONTEXT_TYPE_OPENGLES2, | 110 EXPECT_TRUE(group_->Initialize(decoder_.get(), CONTEXT_TYPE_OPENGLES2, |
114 DisallowedFeatures())); | 111 DisallowedFeatures())); |
115 EXPECT_FALSE(group_->Initialize(decoder2_.get(), CONTEXT_TYPE_WEBGL1, | 112 EXPECT_FALSE(group_->Initialize(decoder2_.get(), CONTEXT_TYPE_WEBGL1, |
116 DisallowedFeatures())); | 113 DisallowedFeatures())); |
117 EXPECT_FALSE(group_->Initialize(decoder2_.get(), CONTEXT_TYPE_WEBGL2, | 114 EXPECT_FALSE(group_->Initialize(decoder2_.get(), CONTEXT_TYPE_WEBGL2, |
118 DisallowedFeatures())); | 115 DisallowedFeatures())); |
119 EXPECT_FALSE(group_->Initialize(decoder2_.get(), CONTEXT_TYPE_OPENGLES3, | 116 EXPECT_FALSE(group_->Initialize(decoder2_.get(), CONTEXT_TYPE_OPENGLES3, |
120 DisallowedFeatures())); | 117 DisallowedFeatures())); |
121 EXPECT_TRUE(group_->Initialize(decoder2_.get(), CONTEXT_TYPE_OPENGLES2, | 118 EXPECT_TRUE(group_->Initialize(decoder2_.get(), CONTEXT_TYPE_OPENGLES2, |
122 DisallowedFeatures())); | 119 DisallowedFeatures())); |
123 | 120 |
124 EXPECT_TRUE(group_->buffer_manager() != NULL); | 121 EXPECT_TRUE(group_->buffer_manager() != NULL); |
125 EXPECT_TRUE(group_->framebuffer_manager() != NULL); | |
126 EXPECT_TRUE(group_->renderbuffer_manager() != NULL); | 122 EXPECT_TRUE(group_->renderbuffer_manager() != NULL); |
127 EXPECT_TRUE(group_->texture_manager() != NULL); | 123 EXPECT_TRUE(group_->texture_manager() != NULL); |
128 EXPECT_TRUE(group_->program_manager() != NULL); | 124 EXPECT_TRUE(group_->program_manager() != NULL); |
129 EXPECT_TRUE(group_->shader_manager() != NULL); | 125 EXPECT_TRUE(group_->shader_manager() != NULL); |
130 | 126 |
131 group_->Destroy(decoder_.get(), false); | 127 group_->Destroy(decoder_.get(), false); |
132 | 128 |
133 EXPECT_TRUE(group_->buffer_manager() != NULL); | 129 EXPECT_TRUE(group_->buffer_manager() != NULL); |
134 EXPECT_TRUE(group_->framebuffer_manager() != NULL); | |
135 EXPECT_TRUE(group_->renderbuffer_manager() != NULL); | 130 EXPECT_TRUE(group_->renderbuffer_manager() != NULL); |
136 EXPECT_TRUE(group_->texture_manager() != NULL); | 131 EXPECT_TRUE(group_->texture_manager() != NULL); |
137 EXPECT_TRUE(group_->program_manager() != NULL); | 132 EXPECT_TRUE(group_->program_manager() != NULL); |
138 EXPECT_TRUE(group_->shader_manager() != NULL); | 133 EXPECT_TRUE(group_->shader_manager() != NULL); |
139 | 134 |
140 group_->Destroy(decoder2_.get(), false); | 135 group_->Destroy(decoder2_.get(), false); |
141 | 136 |
142 EXPECT_TRUE(group_->buffer_manager() == NULL); | 137 EXPECT_TRUE(group_->buffer_manager() == NULL); |
143 EXPECT_TRUE(group_->framebuffer_manager() == NULL); | |
144 EXPECT_TRUE(group_->renderbuffer_manager() == NULL); | 138 EXPECT_TRUE(group_->renderbuffer_manager() == NULL); |
145 EXPECT_TRUE(group_->texture_manager() == NULL); | 139 EXPECT_TRUE(group_->texture_manager() == NULL); |
146 EXPECT_TRUE(group_->program_manager() == NULL); | 140 EXPECT_TRUE(group_->program_manager() == NULL); |
147 EXPECT_TRUE(group_->shader_manager() == NULL); | 141 EXPECT_TRUE(group_->shader_manager() == NULL); |
148 } | 142 } |
149 | 143 |
150 } // namespace gles2 | 144 } // namespace gles2 |
151 } // namespace gpu | 145 } // namespace gpu |
152 | 146 |
153 | 147 |
OLD | NEW |