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

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

Issue 245923008: Optimize GLES2DecoderImpl::ApplyDirtyState. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase on refactored gles2_cmd_decoder_unittest.cc 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 (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/gles2_cmd_decoder_unittest_base.h" 5 #include "gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 client_buffer_id_(100), 46 client_buffer_id_(100),
47 client_framebuffer_id_(101), 47 client_framebuffer_id_(101),
48 client_program_id_(102), 48 client_program_id_(102),
49 client_renderbuffer_id_(103), 49 client_renderbuffer_id_(103),
50 client_shader_id_(104), 50 client_shader_id_(104),
51 client_texture_id_(106), 51 client_texture_id_(106),
52 client_element_buffer_id_(107), 52 client_element_buffer_id_(107),
53 client_vertex_shader_id_(121), 53 client_vertex_shader_id_(121),
54 client_fragment_shader_id_(122), 54 client_fragment_shader_id_(122),
55 client_query_id_(123), 55 client_query_id_(123),
56 client_vertexarray_id_(124) { 56 client_vertexarray_id_(124),
57 ignore_cached_state_for_test_(GetParam()),
58 cached_color_mask_red_(true),
59 cached_color_mask_green_(true),
60 cached_color_mask_blue_(true),
61 cached_color_mask_alpha_(true),
62 cached_depth_mask_(true),
63 cached_stencil_front_mask_(0xFFFFFFFFU),
64 cached_stencil_back_mask_(0xFFFFFFFFU) {
57 memset(immediate_buffer_, 0xEE, sizeof(immediate_buffer_)); 65 memset(immediate_buffer_, 0xEE, sizeof(immediate_buffer_));
58 } 66 }
59 67
60 GLES2DecoderTestBase::~GLES2DecoderTestBase() {} 68 GLES2DecoderTestBase::~GLES2DecoderTestBase() {}
61 69
62 void GLES2DecoderTestBase::SetUp() { 70 void GLES2DecoderTestBase::SetUp() {
63 InitState init; 71 InitState init;
64 init.gl_version = "3.0"; 72 init.gl_version = "3.0";
65 init.has_alpha = true; 73 init.has_alpha = true;
66 init.has_depth = true; 74 init.has_depth = true;
(...skipping 12 matching lines...) Expand all
79 } 87 }
80 88
81 GLES2DecoderTestBase::InitState::InitState() 89 GLES2DecoderTestBase::InitState::InitState()
82 : has_alpha(false), 90 : has_alpha(false),
83 has_depth(false), 91 has_depth(false),
84 has_stencil(false), 92 has_stencil(false),
85 request_alpha(false), 93 request_alpha(false),
86 request_depth(false), 94 request_depth(false),
87 request_stencil(false), 95 request_stencil(false),
88 bind_generates_resource(false), 96 bind_generates_resource(false),
89 lose_context_when_out_of_memory(false) {} 97 lose_context_when_out_of_memory(false) {
98 }
90 99
91 void GLES2DecoderTestBase::InitDecoder(const InitState& init) { 100 void GLES2DecoderTestBase::InitDecoder(const InitState& init) {
92 InitDecoderWithCommandLine(init, NULL); 101 InitDecoderWithCommandLine(init, NULL);
93 } 102 }
94 103
95 void GLES2DecoderTestBase::InitDecoderWithCommandLine( 104 void GLES2DecoderTestBase::InitDecoderWithCommandLine(
96 const InitState& init, 105 const InitState& init,
97 const base::CommandLine* command_line) { 106 const base::CommandLine* command_line) {
98 Framebuffer::ClearFramebufferCompleteComboMap(); 107 Framebuffer::ClearFramebufferCompleteComboMap();
99 108
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 init.request_alpha ? 8 : 0, 304 init.request_alpha ? 8 : 0,
296 EGL_DEPTH_SIZE, 305 EGL_DEPTH_SIZE,
297 init.request_depth ? 24 : 0, 306 init.request_depth ? 24 : 0,
298 EGL_STENCIL_SIZE, 307 EGL_STENCIL_SIZE,
299 init.request_stencil ? 8 : 0, 308 init.request_stencil ? 8 : 0,
300 kLoseContextWhenOutOfMemory, 309 kLoseContextWhenOutOfMemory,
301 init.lose_context_when_out_of_memory ? 1 : 0, }; 310 init.lose_context_when_out_of_memory ? 1 : 0, };
302 std::vector<int32> attribs(attributes, attributes + arraysize(attributes)); 311 std::vector<int32> attribs(attributes, attributes + arraysize(attributes));
303 312
304 decoder_.reset(GLES2Decoder::Create(group_.get())); 313 decoder_.reset(GLES2Decoder::Create(group_.get()));
314 decoder_->SetIgnoreCachedStateForTest(ignore_cached_state_for_test_);
305 decoder_->GetLogger()->set_log_synthesized_gl_errors(false); 315 decoder_->GetLogger()->set_log_synthesized_gl_errors(false);
306 decoder_->Initialize(surface_, 316 decoder_->Initialize(surface_,
307 context_, 317 context_,
308 false, 318 false,
309 surface_->GetSize(), 319 surface_->GetSize(),
310 DisallowedFeatures(), 320 DisallowedFeatures(),
311 attribs); 321 attribs);
312 decoder_->MakeCurrent(); 322 decoder_->MakeCurrent();
313 decoder_->set_engine(engine_.get()); 323 decoder_->set_engine(engine_.get());
314 decoder_->BeginDecoding(); 324 decoder_->BeginDecoding();
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
543 .RetiresOnSaturation(); 553 .RetiresOnSaturation();
544 EXPECT_CALL(*gl_, BindFramebufferEXT( 554 EXPECT_CALL(*gl_, BindFramebufferEXT(
545 GL_DRAW_FRAMEBUFFER_EXT, read_framebuffer_service_id)) 555 GL_DRAW_FRAMEBUFFER_EXT, read_framebuffer_service_id))
546 .Times(1) 556 .Times(1)
547 .RetiresOnSaturation(); 557 .RetiresOnSaturation();
548 } 558 }
549 if ((clear_bits & GL_COLOR_BUFFER_BIT) != 0) { 559 if ((clear_bits & GL_COLOR_BUFFER_BIT) != 0) {
550 EXPECT_CALL(*gl_, ClearColor(0.0f, 0.0f, 0.0f, 0.0f)) 560 EXPECT_CALL(*gl_, ClearColor(0.0f, 0.0f, 0.0f, 0.0f))
551 .Times(1) 561 .Times(1)
552 .RetiresOnSaturation(); 562 .RetiresOnSaturation();
553 EXPECT_CALL(*gl_, ColorMask(true, true, true, true)) 563 SetupExpectationsForColorMask(true, true, true, true);
554 .Times(1)
555 .RetiresOnSaturation();
556 } 564 }
557 if ((clear_bits & GL_STENCIL_BUFFER_BIT) != 0) { 565 if ((clear_bits & GL_STENCIL_BUFFER_BIT) != 0) {
558 EXPECT_CALL(*gl_, ClearStencil(0)) 566 EXPECT_CALL(*gl_, ClearStencil(0))
559 .Times(1) 567 .Times(1)
560 .RetiresOnSaturation(); 568 .RetiresOnSaturation();
561 EXPECT_CALL(*gl_, StencilMask(static_cast<GLuint>(-1))) 569 EXPECT_CALL(*gl_, StencilMask(static_cast<GLuint>(-1)))
562 .Times(1) 570 .Times(1)
563 .RetiresOnSaturation(); 571 .RetiresOnSaturation();
564 } 572 }
565 if ((clear_bits & GL_DEPTH_BUFFER_BIT) != 0) { 573 if ((clear_bits & GL_DEPTH_BUFFER_BIT) != 0) {
566 EXPECT_CALL(*gl_, ClearDepth(1.0f)) 574 EXPECT_CALL(*gl_, ClearDepth(1.0f))
567 .Times(1) 575 .Times(1)
568 .RetiresOnSaturation(); 576 .RetiresOnSaturation();
569 EXPECT_CALL(*gl_, DepthMask(1)) 577 SetupExpectationsForDepthMask(true);
570 .Times(1)
571 .RetiresOnSaturation();
572 } 578 }
573 EXPECT_CALL(*gl_, Disable(GL_SCISSOR_TEST)) 579 SetupExpectationsForEnableDisable(GL_SCISSOR_TEST, false);
574 .Times(1)
575 .RetiresOnSaturation();
576 EXPECT_CALL(*gl_, Clear(clear_bits)) 580 EXPECT_CALL(*gl_, Clear(clear_bits))
577 .Times(1) 581 .Times(1)
578 .RetiresOnSaturation(); 582 .RetiresOnSaturation();
579 SetupExpectationsForRestoreClearState( 583 SetupExpectationsForRestoreClearState(
580 restore_red, restore_green, restore_blue, restore_alpha, 584 restore_red, restore_green, restore_blue, restore_alpha,
581 restore_stencil, restore_depth, restore_scissor_test); 585 restore_stencil, restore_depth, restore_scissor_test);
582 if (target == GL_READ_FRAMEBUFFER_EXT) { 586 if (target == GL_READ_FRAMEBUFFER_EXT) {
583 EXPECT_CALL(*gl_, BindFramebufferEXT( 587 EXPECT_CALL(*gl_, BindFramebufferEXT(
584 GL_READ_FRAMEBUFFER_EXT, read_framebuffer_service_id)) 588 GL_READ_FRAMEBUFFER_EXT, read_framebuffer_service_id))
585 .Times(1) 589 .Times(1)
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
635 GLuint client_id, GLuint service_id) { 639 GLuint client_id, GLuint service_id) {
636 EXPECT_CALL(*gl_, DeleteBuffersARB(1, Pointee(service_id))) 640 EXPECT_CALL(*gl_, DeleteBuffersARB(1, Pointee(service_id)))
637 .Times(1) 641 .Times(1)
638 .RetiresOnSaturation(); 642 .RetiresOnSaturation();
639 cmds::DeleteBuffers cmd; 643 cmds::DeleteBuffers cmd;
640 cmd.Init(1, shared_memory_id_, shared_memory_offset_); 644 cmd.Init(1, shared_memory_id_, shared_memory_offset_);
641 memcpy(shared_memory_address_, &client_id, sizeof(client_id)); 645 memcpy(shared_memory_address_, &client_id, sizeof(client_id));
642 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 646 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
643 } 647 }
644 648
649 void GLES2DecoderTestBase::SetupExpectationsForColorMask(bool red,
650 bool green,
651 bool blue,
652 bool alpha) {
653 if (ignore_cached_state_for_test_ || cached_color_mask_red_ != red ||
654 cached_color_mask_green_ != green || cached_color_mask_blue_ != blue ||
655 cached_color_mask_alpha_ != alpha) {
656 cached_color_mask_red_ = red;
657 cached_color_mask_green_ = green;
658 cached_color_mask_blue_ = blue;
659 cached_color_mask_alpha_ = alpha;
660 EXPECT_CALL(*gl_, ColorMask(red, green, blue, alpha))
661 .Times(1)
662 .RetiresOnSaturation();
663 }
664 }
665
666 void GLES2DecoderTestBase::SetupExpectationsForDepthMask(bool mask) {
667 if (ignore_cached_state_for_test_ || cached_depth_mask_ != mask) {
668 cached_depth_mask_ = mask;
669 EXPECT_CALL(*gl_, DepthMask(mask)).Times(1).RetiresOnSaturation();
670 }
671 }
672
673 void GLES2DecoderTestBase::SetupExpectationsForEnableDisable(GLenum cap,
674 bool enable) {
675 switch (cap) {
676 case GL_BLEND:
677 if (enable_flags_.cached_blend == enable &&
678 !ignore_cached_state_for_test_)
679 return;
680 enable_flags_.cached_blend = enable;
681 break;
682 case GL_CULL_FACE:
683 if (enable_flags_.cached_cull_face == enable &&
684 !ignore_cached_state_for_test_)
685 return;
686 enable_flags_.cached_cull_face = enable;
687 break;
688 case GL_DEPTH_TEST:
689 if (enable_flags_.cached_depth_test == enable &&
690 !ignore_cached_state_for_test_)
691 return;
692 enable_flags_.cached_depth_test = enable;
693 break;
694 case GL_DITHER:
695 if (enable_flags_.cached_dither == enable &&
696 !ignore_cached_state_for_test_)
697 return;
698 enable_flags_.cached_dither = enable;
699 break;
700 case GL_POLYGON_OFFSET_FILL:
701 if (enable_flags_.cached_polygon_offset_fill == enable &&
702 !ignore_cached_state_for_test_)
703 return;
704 enable_flags_.cached_polygon_offset_fill = enable;
705 break;
706 case GL_SAMPLE_ALPHA_TO_COVERAGE:
707 if (enable_flags_.cached_sample_alpha_to_coverage == enable &&
708 !ignore_cached_state_for_test_)
709 return;
710 enable_flags_.cached_sample_alpha_to_coverage = enable;
711 break;
712 case GL_SAMPLE_COVERAGE:
713 if (enable_flags_.cached_sample_coverage == enable &&
714 !ignore_cached_state_for_test_)
715 return;
716 enable_flags_.cached_sample_coverage = enable;
717 break;
718 case GL_SCISSOR_TEST:
719 if (enable_flags_.cached_scissor_test == enable &&
720 !ignore_cached_state_for_test_)
721 return;
722 enable_flags_.cached_scissor_test = enable;
723 break;
724 case GL_STENCIL_TEST:
725 if (enable_flags_.cached_stencil_test == enable &&
726 !ignore_cached_state_for_test_)
727 return;
728 enable_flags_.cached_stencil_test = enable;
729 break;
730 default:
731 NOTREACHED();
732 return;
733 }
734 if (enable) {
735 EXPECT_CALL(*gl_, Enable(cap)).Times(1).RetiresOnSaturation();
736 } else {
737 EXPECT_CALL(*gl_, Disable(cap)).Times(1).RetiresOnSaturation();
738 }
739 }
740
645 void GLES2DecoderTestBase::SetupExpectationsForApplyingDirtyState( 741 void GLES2DecoderTestBase::SetupExpectationsForApplyingDirtyState(
646 bool framebuffer_is_rgb, 742 bool framebuffer_is_rgb,
647 bool framebuffer_has_depth, 743 bool framebuffer_has_depth,
648 bool framebuffer_has_stencil, 744 bool framebuffer_has_stencil,
649 GLuint color_bits, 745 GLuint color_bits,
650 bool depth_mask, 746 bool depth_mask,
651 bool depth_enabled, 747 bool depth_enabled,
652 GLuint front_stencil_mask, 748 GLuint front_stencil_mask,
653 GLuint back_stencil_mask, 749 GLuint back_stencil_mask,
654 bool stencil_enabled, 750 bool stencil_enabled) {
655 bool cull_face_enabled, 751 bool color_mask_red = (color_bits & 0x1000) != 0;
656 bool scissor_test_enabled, 752 bool color_mask_green = (color_bits & 0x0100) != 0;
657 bool blend_enabled) { 753 bool color_mask_blue = (color_bits & 0x0010) != 0;
658 EXPECT_CALL(*gl_, ColorMask( 754 bool color_mask_alpha = (color_bits & 0x0001) && !framebuffer_is_rgb;
659 (color_bits & 0x1000) != 0, 755
660 (color_bits & 0x0100) != 0, 756 SetupExpectationsForColorMask(
661 (color_bits & 0x0010) != 0, 757 color_mask_red, color_mask_green, color_mask_blue, color_mask_alpha);
662 (color_bits & 0x0001) && !framebuffer_is_rgb)) 758 SetupExpectationsForDepthMask(depth_mask);
663 .Times(1) 759
664 .RetiresOnSaturation(); 760 if (ignore_cached_state_for_test_ ||
665 EXPECT_CALL(*gl_, DepthMask(depth_mask)) 761 cached_stencil_front_mask_ != front_stencil_mask) {
666 .Times(1) 762 cached_stencil_front_mask_ = front_stencil_mask;
667 .RetiresOnSaturation(); 763 EXPECT_CALL(*gl_, StencilMaskSeparate(GL_FRONT, front_stencil_mask))
668 if (framebuffer_has_depth && depth_enabled) {
669 EXPECT_CALL(*gl_, Enable(GL_DEPTH_TEST))
670 .Times(1)
671 .RetiresOnSaturation();
672 } else {
673 EXPECT_CALL(*gl_, Disable(GL_DEPTH_TEST))
674 .Times(1) 764 .Times(1)
675 .RetiresOnSaturation(); 765 .RetiresOnSaturation();
676 } 766 }
677 EXPECT_CALL(*gl_, StencilMaskSeparate(GL_FRONT, front_stencil_mask)) 767
678 .Times(1) 768 if (ignore_cached_state_for_test_ ||
679 .RetiresOnSaturation(); 769 cached_stencil_back_mask_ != back_stencil_mask) {
680 EXPECT_CALL(*gl_, StencilMaskSeparate(GL_BACK, back_stencil_mask)) 770 cached_stencil_back_mask_ = back_stencil_mask;
681 .Times(1) 771 EXPECT_CALL(*gl_, StencilMaskSeparate(GL_BACK, back_stencil_mask))
682 .RetiresOnSaturation();
683 if (framebuffer_has_stencil && stencil_enabled) {
684 EXPECT_CALL(*gl_, Enable(GL_STENCIL_TEST))
685 .Times(1)
686 .RetiresOnSaturation();
687 } else {
688 EXPECT_CALL(*gl_, Disable(GL_STENCIL_TEST))
689 .Times(1) 772 .Times(1)
690 .RetiresOnSaturation(); 773 .RetiresOnSaturation();
691 } 774 }
692 if (cull_face_enabled) { 775
693 EXPECT_CALL(*gl_, Enable(GL_CULL_FACE)) 776 SetupExpectationsForEnableDisable(GL_DEPTH_TEST,
694 .Times(1) 777 framebuffer_has_depth && depth_enabled);
695 .RetiresOnSaturation(); 778 SetupExpectationsForEnableDisable(GL_STENCIL_TEST,
696 } else { 779 framebuffer_has_stencil && stencil_enabled);
697 EXPECT_CALL(*gl_, Disable(GL_CULL_FACE))
698 .Times(1)
699 .RetiresOnSaturation();
700 }
701 if (scissor_test_enabled) {
702 EXPECT_CALL(*gl_, Enable(GL_SCISSOR_TEST))
703 .Times(1)
704 .RetiresOnSaturation();
705 } else {
706 EXPECT_CALL(*gl_, Disable(GL_SCISSOR_TEST))
707 .Times(1)
708 .RetiresOnSaturation();
709 }
710 if (blend_enabled) {
711 EXPECT_CALL(*gl_, Enable(GL_BLEND))
712 .Times(1)
713 .RetiresOnSaturation();
714 } else {
715 EXPECT_CALL(*gl_, Disable(GL_BLEND))
716 .Times(1)
717 .RetiresOnSaturation();
718 }
719 } 780 }
720 781
721 void GLES2DecoderTestBase::SetupExpectationsForApplyingDefaultDirtyState() { 782 void GLES2DecoderTestBase::SetupExpectationsForApplyingDefaultDirtyState() {
722 SetupExpectationsForApplyingDirtyState( 783 SetupExpectationsForApplyingDirtyState(false, // Framebuffer is RGB
723 false, // Framebuffer is RGB 784 false, // Framebuffer has depth
724 false, // Framebuffer has depth 785 false, // Framebuffer has stencil
725 false, // Framebuffer has stencil 786 0x1111, // color bits
726 0x1111, // color bits 787 true, // depth mask
727 true, // depth mask 788 false, // depth enabled
728 false, // depth enabled 789 0, // front stencil mask
729 0, // front stencil mask 790 0, // back stencil mask
730 0, // back stencil mask 791 false); // stencil enabled
731 false, // stencil enabled 792 }
732 false, // cull_face_enabled 793
733 false, // scissor_test_enabled 794 GLES2DecoderTestBase::EnableFlags::EnableFlags()
734 false); // blend_enabled 795 : cached_blend(false),
796 cached_cull_face(false),
797 cached_depth_test(false),
798 cached_dither(true),
799 cached_polygon_offset_fill(false),
800 cached_sample_alpha_to_coverage(false),
801 cached_sample_coverage(false),
802 cached_scissor_test(false),
803 cached_stencil_test(false) {
735 } 804 }
736 805
737 void GLES2DecoderTestBase::DoBindFramebuffer( 806 void GLES2DecoderTestBase::DoBindFramebuffer(
738 GLenum target, GLuint client_id, GLuint service_id) { 807 GLenum target, GLuint client_id, GLuint service_id) {
739 EXPECT_CALL(*gl_, BindFramebufferEXT(target, service_id)) 808 EXPECT_CALL(*gl_, BindFramebufferEXT(target, service_id))
740 .Times(1) 809 .Times(1)
741 .RetiresOnSaturation(); 810 .RetiresOnSaturation();
742 cmds::BindFramebuffer cmd; 811 cmds::BindFramebuffer cmd;
743 cmd.Init(target, client_id); 812 cmd.Init(target, client_id);
744 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 813 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
(...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after
1296 1365
1297 attach_cmd.Init(program_client_id, fragment_shader_client_id); 1366 attach_cmd.Init(program_client_id, fragment_shader_client_id);
1298 EXPECT_EQ(error::kNoError, ExecuteCmd(attach_cmd)); 1367 EXPECT_EQ(error::kNoError, ExecuteCmd(attach_cmd));
1299 1368
1300 cmds::LinkProgram link_cmd; 1369 cmds::LinkProgram link_cmd;
1301 link_cmd.Init(program_client_id); 1370 link_cmd.Init(program_client_id);
1302 1371
1303 EXPECT_EQ(error::kNoError, ExecuteCmd(link_cmd)); 1372 EXPECT_EQ(error::kNoError, ExecuteCmd(link_cmd));
1304 } 1373 }
1305 1374
1375 void GLES2DecoderTestBase::DoEnableDisable(GLenum cap, bool enable) {
1376 SetupExpectationsForEnableDisable(cap, enable);
1377 if (enable) {
1378 cmds::Enable cmd;
1379 cmd.Init(cap);
1380 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1381 } else {
1382 cmds::Disable cmd;
1383 cmd.Init(cap);
1384 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1385 }
1386 }
1387
1306 void GLES2DecoderTestBase::DoEnableVertexAttribArray(GLint index) { 1388 void GLES2DecoderTestBase::DoEnableVertexAttribArray(GLint index) {
1307 EXPECT_CALL(*gl_, EnableVertexAttribArray(index)) 1389 EXPECT_CALL(*gl_, EnableVertexAttribArray(index))
1308 .Times(1) 1390 .Times(1)
1309 .RetiresOnSaturation(); 1391 .RetiresOnSaturation();
1310 cmds::EnableVertexAttribArray cmd; 1392 cmds::EnableVertexAttribArray cmd;
1311 cmd.Init(index); 1393 cmd.Init(index);
1312 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 1394 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
1313 } 1395 }
1314 1396
1315 void GLES2DecoderTestBase::DoBufferData(GLenum target, GLsizei size) { 1397 void GLES2DecoderTestBase::DoBufferData(GLenum target, GLsizei size) {
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
1472 SetupDefaultProgram(); 1554 SetupDefaultProgram();
1473 } 1555 }
1474 1556
1475 // Include the auto-generated part of this file. We split this because it means 1557 // Include the auto-generated part of this file. We split this because it means
1476 // we can easily edit the non-auto generated parts right here in this file 1558 // we can easily edit the non-auto generated parts right here in this file
1477 // instead of having to edit some template or the code generator. 1559 // instead of having to edit some template or the code generator.
1478 #include "gpu/command_buffer/service/gles2_cmd_decoder_unittest_0_autogen.h" 1560 #include "gpu/command_buffer/service/gles2_cmd_decoder_unittest_0_autogen.h"
1479 1561
1480 } // namespace gles2 1562 } // namespace gles2
1481 } // namespace gpu 1563 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698