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

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

Issue 289993002: Remove shm versions of immediate commands from command buffer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@functions-with-extension-flag
Patch Set: try to avoid compiler warning on buffer overflow and template specialization linker problem with tw… Created 6 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 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 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 // itself. Necessary because vertex_array_objects are not sharable, and thus 253 // itself. Necessary because vertex_array_objects are not sharable, and thus
254 // not managed in the ContextGroup, meaning they will be destroyed during 254 // not managed in the ContextGroup, meaning they will be destroyed during
255 // test tear down 255 // test tear down
256 if (!vertex_array_deleted_manually_) { 256 if (!vertex_array_deleted_manually_) {
257 AddExpectationsForDeleteVertexArraysOES(); 257 AddExpectationsForDeleteVertexArraysOES();
258 } 258 }
259 259
260 GLES2DecoderWithShaderTest::TearDown(); 260 GLES2DecoderWithShaderTest::TearDown();
261 } 261 }
262 262
263 void GenVertexArraysOESValidArgs() {
264 AddExpectationsForGenVertexArraysOES();
265 GetSharedMemoryAs<GLuint*>()[0] = kNewClientId;
266 GenVertexArraysOES cmd;
267 cmd.Init(1, shared_memory_id_, shared_memory_offset_);
268 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
269 EXPECT_EQ(GL_NO_ERROR, GetGLError());
270 EXPECT_TRUE(GetVertexArrayInfo(kNewClientId) != NULL);
271 AddExpectationsForDeleteVertexArraysOES();
272 }
273
274 void GenVertexArraysOESInvalidArgs() {
275 EXPECT_CALL(*gl_, GenVertexArraysOES(_, _)).Times(0);
276 GetSharedMemoryAs<GLuint*>()[0] = client_vertexarray_id_;
277 GenVertexArraysOES cmd;
278 cmd.Init(1, shared_memory_id_, shared_memory_offset_);
279 EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(cmd));
280 }
281
282 void GenVertexArraysOESImmediateValidArgs() { 263 void GenVertexArraysOESImmediateValidArgs() {
283 AddExpectationsForGenVertexArraysOES(); 264 AddExpectationsForGenVertexArraysOES();
284 GenVertexArraysOESImmediate* cmd = 265 GenVertexArraysOESImmediate* cmd =
285 GetImmediateAs<GenVertexArraysOESImmediate>(); 266 GetImmediateAs<GenVertexArraysOESImmediate>();
286 GLuint temp = kNewClientId; 267 GLuint temp = kNewClientId;
287 cmd->Init(1, &temp); 268 cmd->Init(1, &temp);
288 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(*cmd, sizeof(temp))); 269 EXPECT_EQ(error::kNoError, ExecuteImmediateCmd(*cmd, sizeof(temp)));
289 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 270 EXPECT_EQ(GL_NO_ERROR, GetGLError());
290 EXPECT_TRUE(GetVertexArrayInfo(kNewClientId) != NULL); 271 EXPECT_TRUE(GetVertexArrayInfo(kNewClientId) != NULL);
291 AddExpectationsForDeleteVertexArraysOES(); 272 AddExpectationsForDeleteVertexArraysOES();
292 } 273 }
293 274
294 void GenVertexArraysOESImmediateInvalidArgs() { 275 void GenVertexArraysOESImmediateInvalidArgs() {
295 EXPECT_CALL(*gl_, GenVertexArraysOES(_, _)).Times(0); 276 EXPECT_CALL(*gl_, GenVertexArraysOES(_, _)).Times(0);
296 GenVertexArraysOESImmediate* cmd = 277 GenVertexArraysOESImmediate* cmd =
297 GetImmediateAs<GenVertexArraysOESImmediate>(); 278 GetImmediateAs<GenVertexArraysOESImmediate>();
298 cmd->Init(1, &client_vertexarray_id_); 279 cmd->Init(1, &client_vertexarray_id_);
299 EXPECT_EQ(error::kInvalidArguments, 280 EXPECT_EQ(error::kInvalidArguments,
300 ExecuteImmediateCmd(*cmd, sizeof(&client_vertexarray_id_))); 281 ExecuteImmediateCmd(*cmd, sizeof(&client_vertexarray_id_)));
301 } 282 }
302 283
303 void DeleteVertexArraysOESValidArgs() {
304 AddExpectationsForDeleteVertexArraysOES();
305 GetSharedMemoryAs<GLuint*>()[0] = client_vertexarray_id_;
306 DeleteVertexArraysOES cmd;
307 cmd.Init(1, shared_memory_id_, shared_memory_offset_);
308 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
309 EXPECT_EQ(GL_NO_ERROR, GetGLError());
310 EXPECT_TRUE(GetVertexArrayInfo(client_vertexarray_id_) == NULL);
311 vertex_array_deleted_manually_ = true;
312 }
313
314 void DeleteVertexArraysOESInvalidArgs() {
315 GetSharedMemoryAs<GLuint*>()[0] = kInvalidClientId;
316 DeleteVertexArraysOES cmd;
317 cmd.Init(1, shared_memory_id_, shared_memory_offset_);
318 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
319 }
320
321 void DeleteVertexArraysOESImmediateValidArgs() { 284 void DeleteVertexArraysOESImmediateValidArgs() {
322 AddExpectationsForDeleteVertexArraysOES(); 285 AddExpectationsForDeleteVertexArraysOES();
323 DeleteVertexArraysOESImmediate& cmd = 286 DeleteVertexArraysOESImmediate& cmd =
324 *GetImmediateAs<DeleteVertexArraysOESImmediate>(); 287 *GetImmediateAs<DeleteVertexArraysOESImmediate>();
325 cmd.Init(1, &client_vertexarray_id_); 288 cmd.Init(1, &client_vertexarray_id_);
326 EXPECT_EQ(error::kNoError, 289 EXPECT_EQ(error::kNoError,
327 ExecuteImmediateCmd(cmd, sizeof(client_vertexarray_id_))); 290 ExecuteImmediateCmd(cmd, sizeof(client_vertexarray_id_)));
328 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 291 EXPECT_EQ(GL_NO_ERROR, GetGLError());
329 EXPECT_TRUE(GetVertexArrayInfo(client_vertexarray_id_) == NULL); 292 EXPECT_TRUE(GetVertexArrayInfo(client_vertexarray_id_) == NULL);
330 vertex_array_deleted_manually_ = true; 293 vertex_array_deleted_manually_ = true;
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 369
407 vertex_array_deleted_manually_ = false; 370 vertex_array_deleted_manually_ = false;
408 } 371 }
409 }; 372 };
410 373
411 INSTANTIATE_TEST_CASE_P(Service, 374 INSTANTIATE_TEST_CASE_P(Service,
412 GLES2DecoderEmulatedVertexArraysOESTest, 375 GLES2DecoderEmulatedVertexArraysOESTest,
413 ::testing::Bool()); 376 ::testing::Bool());
414 377
415 // Test vertex array objects with native support 378 // Test vertex array objects with native support
416 TEST_P(GLES2DecoderVertexArraysOESTest, GenVertexArraysOESValidArgs) {
417 GenVertexArraysOESValidArgs();
418 }
419 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest, GenVertexArraysOESValidArgs) {
420 GenVertexArraysOESValidArgs();
421 }
422
423 TEST_P(GLES2DecoderVertexArraysOESTest, GenVertexArraysOESInvalidArgs) {
424 GenVertexArraysOESInvalidArgs();
425 }
426 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest, ) {
427 GenVertexArraysOESInvalidArgs();
428 }
429
430 TEST_P(GLES2DecoderVertexArraysOESTest, GenVertexArraysOESImmediateValidArgs) { 379 TEST_P(GLES2DecoderVertexArraysOESTest, GenVertexArraysOESImmediateValidArgs) {
431 GenVertexArraysOESImmediateValidArgs(); 380 GenVertexArraysOESImmediateValidArgs();
432 } 381 }
433 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest, 382 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest,
434 GenVertexArraysOESImmediateValidArgs) { 383 GenVertexArraysOESImmediateValidArgs) {
435 GenVertexArraysOESImmediateValidArgs(); 384 GenVertexArraysOESImmediateValidArgs();
436 } 385 }
437 386
438 TEST_P(GLES2DecoderVertexArraysOESTest, 387 TEST_P(GLES2DecoderVertexArraysOESTest,
439 GenVertexArraysOESImmediateInvalidArgs) { 388 GenVertexArraysOESImmediateInvalidArgs) {
440 GenVertexArraysOESImmediateInvalidArgs(); 389 GenVertexArraysOESImmediateInvalidArgs();
441 } 390 }
442 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest, 391 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest,
443 GenVertexArraysOESImmediateInvalidArgs) { 392 GenVertexArraysOESImmediateInvalidArgs) {
444 GenVertexArraysOESImmediateInvalidArgs(); 393 GenVertexArraysOESImmediateInvalidArgs();
445 } 394 }
446 395
447 TEST_P(GLES2DecoderVertexArraysOESTest, DeleteVertexArraysOESValidArgs) {
448 DeleteVertexArraysOESValidArgs();
449 }
450 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest,
451 DeleteVertexArraysOESValidArgs) {
452 DeleteVertexArraysOESValidArgs();
453 }
454
455 TEST_P(GLES2DecoderVertexArraysOESTest, DeleteVertexArraysOESInvalidArgs) {
456 DeleteVertexArraysOESInvalidArgs();
457 }
458 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest,
459 DeleteVertexArraysOESInvalidArgs) {
460 DeleteVertexArraysOESInvalidArgs();
461 }
462
463 TEST_P(GLES2DecoderVertexArraysOESTest, 396 TEST_P(GLES2DecoderVertexArraysOESTest,
464 DeleteVertexArraysOESImmediateValidArgs) { 397 DeleteVertexArraysOESImmediateValidArgs) {
465 DeleteVertexArraysOESImmediateValidArgs(); 398 DeleteVertexArraysOESImmediateValidArgs();
466 } 399 }
467 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest, 400 TEST_P(GLES2DecoderEmulatedVertexArraysOESTest,
468 DeleteVertexArraysOESImmediateValidArgs) { 401 DeleteVertexArraysOESImmediateValidArgs) {
469 DeleteVertexArraysOESImmediateValidArgs(); 402 DeleteVertexArraysOESImmediateValidArgs();
470 } 403 }
471 404
472 TEST_P(GLES2DecoderVertexArraysOESTest, 405 TEST_P(GLES2DecoderVertexArraysOESTest,
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
543 // TODO(gman): BufferData 476 // TODO(gman): BufferData
544 477
545 // TODO(gman): BufferDataImmediate 478 // TODO(gman): BufferDataImmediate
546 479
547 // TODO(gman): BufferSubData 480 // TODO(gman): BufferSubData
548 481
549 // TODO(gman): BufferSubDataImmediate 482 // TODO(gman): BufferSubDataImmediate
550 483
551 } // namespace gles2 484 } // namespace gles2
552 } // namespace gpu 485 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698