| 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 |