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

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

Issue 1341133002: Add GL_TRANSFORM_FEEDBACK_BUFFER_MODE to GetProgramiv query. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@uniform
Patch Set: rebase Created 5 years, 3 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/gles2_cmd_decoder.h" 5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/strings/string_number_conversions.h" 8 #include "base/strings/string_number_conversions.h"
9 #include "gpu/command_buffer/common/gles2_cmd_format.h" 9 #include "gpu/command_buffer/common/gles2_cmd_format.h"
10 #include "gpu/command_buffer/common/gles2_cmd_utils.h" 10 #include "gpu/command_buffer/common/gles2_cmd_utils.h"
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 bucket->GetDataAs<UniformsES3Header*>(0, sizeof(UniformsES3Header)); 156 bucket->GetDataAs<UniformsES3Header*>(0, sizeof(UniformsES3Header));
157 ASSERT_TRUE(header != NULL); 157 ASSERT_TRUE(header != NULL);
158 EXPECT_EQ(0u, header->num_uniforms); 158 EXPECT_EQ(0u, header->num_uniforms);
159 } 159 }
160 160
161 TEST_P(GLES2DecoderWithShaderTest, 161 TEST_P(GLES2DecoderWithShaderTest,
162 GetTransformFeedbackVaryingsCHROMIUMValidArgs) { 162 GetTransformFeedbackVaryingsCHROMIUMValidArgs) {
163 const uint32 kBucketId = 123; 163 const uint32 kBucketId = 123;
164 GetTransformFeedbackVaryingsCHROMIUM cmd; 164 GetTransformFeedbackVaryingsCHROMIUM cmd;
165 cmd.Init(client_program_id_, kBucketId); 165 cmd.Init(client_program_id_, kBucketId);
166 EXPECT_CALL(*(gl_.get()),
167 GetProgramiv(kServiceProgramId,
168 GL_TRANSFORM_FEEDBACK_BUFFER_MODE,
169 _))
170 .WillOnce(SetArgPointee<2>(GL_INTERLEAVED_ATTRIBS))
171 .RetiresOnSaturation();
166 EXPECT_CALL(*gl_, GetProgramiv(kServiceProgramId, GL_LINK_STATUS, _)) 172 EXPECT_CALL(*gl_, GetProgramiv(kServiceProgramId, GL_LINK_STATUS, _))
167 .WillOnce(SetArgPointee<2>(GL_TRUE)) 173 .WillOnce(SetArgPointee<2>(GL_TRUE))
168 .RetiresOnSaturation(); 174 .RetiresOnSaturation();
169 EXPECT_CALL(*gl_, 175 EXPECT_CALL(*gl_,
170 GetProgramiv( 176 GetProgramiv(
171 kServiceProgramId, GL_TRANSFORM_FEEDBACK_VARYINGS, _)) 177 kServiceProgramId, GL_TRANSFORM_FEEDBACK_VARYINGS, _))
172 .WillOnce(SetArgPointee<2>(0)) 178 .WillOnce(SetArgPointee<2>(0))
173 .RetiresOnSaturation(); 179 .RetiresOnSaturation();
174 decoder_->set_unsafe_es3_apis_enabled(true); 180 decoder_->set_unsafe_es3_apis_enabled(true);
175 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 181 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
176 CommonDecoder::Bucket* bucket = decoder_->GetBucket(kBucketId); 182 CommonDecoder::Bucket* bucket = decoder_->GetBucket(kBucketId);
177 EXPECT_EQ(sizeof(TransformFeedbackVaryingsHeader), bucket->size()); 183 EXPECT_EQ(sizeof(TransformFeedbackVaryingsHeader), bucket->size());
178 TransformFeedbackVaryingsHeader* header = 184 TransformFeedbackVaryingsHeader* header =
179 bucket->GetDataAs<TransformFeedbackVaryingsHeader*>( 185 bucket->GetDataAs<TransformFeedbackVaryingsHeader*>(
180 0, sizeof(TransformFeedbackVaryingsHeader)); 186 0, sizeof(TransformFeedbackVaryingsHeader));
181 EXPECT_TRUE(header != NULL); 187 EXPECT_TRUE(header != NULL);
188 EXPECT_EQ(static_cast<uint32_t>(GL_INTERLEAVED_ATTRIBS),
189 header->transform_feedback_buffer_mode);
182 EXPECT_EQ(0u, header->num_transform_feedback_varyings); 190 EXPECT_EQ(0u, header->num_transform_feedback_varyings);
183 decoder_->set_unsafe_es3_apis_enabled(false); 191 decoder_->set_unsafe_es3_apis_enabled(false);
184 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd)); 192 EXPECT_EQ(error::kUnknownCommand, ExecuteCmd(cmd));
185 } 193 }
186 194
187 TEST_P(GLES2DecoderWithShaderTest, 195 TEST_P(GLES2DecoderWithShaderTest,
188 GetTransformFeedbackVaryingsCHROMIUMInvalidArgs) { 196 GetTransformFeedbackVaryingsCHROMIUMInvalidArgs) {
189 const uint32 kBucketId = 123; 197 const uint32 kBucketId = 123;
190 CommonDecoder::Bucket* bucket = decoder_->GetBucket(kBucketId); 198 CommonDecoder::Bucket* bucket = decoder_->GetBucket(kBucketId);
191 EXPECT_TRUE(bucket == NULL); 199 EXPECT_TRUE(bucket == NULL);
(...skipping 2086 matching lines...) Expand 10 before | Expand all | Expand 10 after
2278 } 2286 }
2279 2287
2280 // TODO(gman): DeleteProgram 2288 // TODO(gman): DeleteProgram
2281 2289
2282 // TODO(gman): UseProgram 2290 // TODO(gman): UseProgram
2283 2291
2284 // TODO(gman): DeleteShader 2292 // TODO(gman): DeleteShader
2285 2293
2286 } // namespace gles2 2294 } // namespace gles2
2287 } // namespace gpu 2295 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/common/gles2_cmd_format.h ('k') | gpu/command_buffer/service/program_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698