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

Side by Side Diff: gpu/command_buffer/service/context_group_unittest.cc

Issue 2826043002: Do not share FBOs/VAOs/Transform feedback objects across contexts (Closed)
Patch Set: added DeleteFramebuffers() expectation Created 3 years, 7 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 (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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698