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

Side by Side Diff: gpu/command_buffer/client/gles2_implementation_unittest.cc

Issue 116863003: gpu: Reuse transfer buffers more aggresively (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: [WIP] Review comments follow-up Created 6 years, 11 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 // Tests for GLES2Implementation. 5 // Tests for GLES2Implementation.
6 6
7 #include "gpu/command_buffer/client/gles2_implementation.h" 7 #include "gpu/command_buffer/client/gles2_implementation.h"
8 8
9 #include <GLES2/gl2ext.h> 9 #include <GLES2/gl2ext.h>
10 #include <GLES2/gl2extchromium.h> 10 #include <GLES2/gl2extchromium.h>
(...skipping 2663 matching lines...) Expand 10 before | Expand all | Expand 10 after
2674 // Test BeginQueryEXT inserts command. 2674 // Test BeginQueryEXT inserts command.
2675 struct BeginCmds { 2675 struct BeginCmds {
2676 cmds::BeginQueryEXT begin_query; 2676 cmds::BeginQueryEXT begin_query;
2677 }; 2677 };
2678 BeginCmds expected_begin_cmds; 2678 BeginCmds expected_begin_cmds;
2679 const void* commands = GetPut(); 2679 const void* commands = GetPut();
2680 gl_->BeginQueryEXT(GL_ANY_SAMPLES_PASSED_EXT, id1); 2680 gl_->BeginQueryEXT(GL_ANY_SAMPLES_PASSED_EXT, id1);
2681 QueryTracker::Query* query = GetQuery(id1); 2681 QueryTracker::Query* query = GetQuery(id1);
2682 ASSERT_TRUE(query != NULL); 2682 ASSERT_TRUE(query != NULL);
2683 expected_begin_cmds.begin_query.Init( 2683 expected_begin_cmds.begin_query.Init(
2684 GL_ANY_SAMPLES_PASSED_EXT, id1, query->shm_id(), query->shm_offset()); 2684 GL_ANY_SAMPLES_PASSED_EXT,
2685 id1,
2686 query->internal(),
2687 query->shm_id(),
2688 query->shm_offset());
2685 EXPECT_EQ(0, memcmp( 2689 EXPECT_EQ(0, memcmp(
2686 &expected_begin_cmds, commands, sizeof(expected_begin_cmds))); 2690 &expected_begin_cmds, commands, sizeof(expected_begin_cmds)));
2687 ClearCommands(); 2691 ClearCommands();
2688 2692
2689 // Test GetQueryivEXT returns id. 2693 // Test GetQueryivEXT returns id.
2690 param = -1; 2694 param = -1;
2691 gl_->GetQueryivEXT(GL_ANY_SAMPLES_PASSED_EXT, GL_CURRENT_QUERY_EXT, &param); 2695 gl_->GetQueryivEXT(GL_ANY_SAMPLES_PASSED_EXT, GL_CURRENT_QUERY_EXT, &param);
2692 EXPECT_EQ(id1, static_cast<GLuint>(param)); 2696 EXPECT_EQ(id1, static_cast<GLuint>(param));
2693 gl_->GetQueryivEXT( 2697 gl_->GetQueryivEXT(
2694 GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT, GL_CURRENT_QUERY_EXT, &param); 2698 GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT, GL_CURRENT_QUERY_EXT, &param);
2695 EXPECT_EQ(0, param); 2699 EXPECT_EQ(0, param);
2696 2700
2697 // Test BeginQueryEXT fails if between Begin/End. 2701 // Test BeginQueryEXT fails if between Begin/End.
2698 gl_->BeginQueryEXT(GL_ANY_SAMPLES_PASSED_EXT, id2); 2702 gl_->BeginQueryEXT(GL_ANY_SAMPLES_PASSED_EXT, id2);
2699 EXPECT_TRUE(NoCommandsWritten()); 2703 EXPECT_TRUE(NoCommandsWritten());
2700 EXPECT_EQ(GL_INVALID_OPERATION, CheckError()); 2704 EXPECT_EQ(GL_INVALID_OPERATION, CheckError());
2701 2705
2702 // Test EndQueryEXT fails if target not same as current query. 2706 // Test EndQueryEXT fails if target not same as current query.
2703 ClearCommands(); 2707 ClearCommands();
2704 gl_->EndQueryEXT(GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT); 2708 gl_->EndQueryEXT(GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT);
2705 EXPECT_TRUE(NoCommandsWritten()); 2709 EXPECT_TRUE(NoCommandsWritten());
2706 EXPECT_EQ(GL_INVALID_OPERATION, CheckError()); 2710 EXPECT_EQ(GL_INVALID_OPERATION, CheckError());
2707 2711
2708 // Test EndQueryEXT sends command 2712 // Test EndQueryEXT sends command
2709 struct EndCmds { 2713 struct EndCmds {
2710 cmds::EndQueryEXT end_query; 2714 cmds::EndQueryEXT end_query;
2711 }; 2715 };
2712 EndCmds expected_end_cmds; 2716 EndCmds expected_end_cmds;
2713 expected_end_cmds.end_query.Init( 2717 expected_end_cmds.end_query.Init(
2714 GL_ANY_SAMPLES_PASSED_EXT, query->submit_count()); 2718 GL_ANY_SAMPLES_PASSED_EXT, query->internal(), query->submit_count());
2715 commands = GetPut(); 2719 commands = GetPut();
2716 gl_->EndQueryEXT(GL_ANY_SAMPLES_PASSED_EXT); 2720 gl_->EndQueryEXT(GL_ANY_SAMPLES_PASSED_EXT);
2717 EXPECT_EQ(0, memcmp( 2721 EXPECT_EQ(0, memcmp(
2718 &expected_end_cmds, commands, sizeof(expected_end_cmds))); 2722 &expected_end_cmds, commands, sizeof(expected_end_cmds)));
2719 2723
2720 // Test EndQueryEXT fails if no current query. 2724 // Test EndQueryEXT fails if no current query.
2721 ClearCommands(); 2725 ClearCommands();
2722 gl_->EndQueryEXT(GL_ANY_SAMPLES_PASSED_EXT); 2726 gl_->EndQueryEXT(GL_ANY_SAMPLES_PASSED_EXT);
2723 EXPECT_TRUE(NoCommandsWritten()); 2727 EXPECT_TRUE(NoCommandsWritten());
2724 EXPECT_EQ(GL_INVALID_OPERATION, CheckError()); 2728 EXPECT_EQ(GL_INVALID_OPERATION, CheckError());
2725 2729
2726 // Test 2nd Begin/End increments count. 2730 // Test 2nd Begin/End increments count.
2727 uint32 old_submit_count = query->submit_count(); 2731 uint32 old_submit_count = query->submit_count();
2728 gl_->BeginQueryEXT(GL_ANY_SAMPLES_PASSED_EXT, id1); 2732 gl_->BeginQueryEXT(GL_ANY_SAMPLES_PASSED_EXT, id1);
2729 EXPECT_NE(old_submit_count, query->submit_count()); 2733 EXPECT_NE(old_submit_count, query->submit_count());
2730 expected_end_cmds.end_query.Init( 2734 expected_end_cmds.end_query.Init(
2731 GL_ANY_SAMPLES_PASSED_EXT, query->submit_count()); 2735 GL_ANY_SAMPLES_PASSED_EXT, query->internal(), query->submit_count());
2732 commands = GetPut(); 2736 commands = GetPut();
2733 gl_->EndQueryEXT(GL_ANY_SAMPLES_PASSED_EXT); 2737 gl_->EndQueryEXT(GL_ANY_SAMPLES_PASSED_EXT);
2734 EXPECT_EQ(0, memcmp( 2738 EXPECT_EQ(0, memcmp(
2735 &expected_end_cmds, commands, sizeof(expected_end_cmds))); 2739 &expected_end_cmds, commands, sizeof(expected_end_cmds)));
2736 2740
2737 // Test BeginQueryEXT fails if target changed. 2741 // Test BeginQueryEXT fails if target changed.
2738 ClearCommands(); 2742 ClearCommands();
2739 gl_->BeginQueryEXT(GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT, id1); 2743 gl_->BeginQueryEXT(GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT, id1);
2740 EXPECT_TRUE(NoCommandsWritten()); 2744 EXPECT_TRUE(NoCommandsWritten());
2741 EXPECT_EQ(GL_INVALID_OPERATION, CheckError()); 2745 EXPECT_EQ(GL_INVALID_OPERATION, CheckError());
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
2773 QueryTracker::Query* query = GetQuery(id); 2777 QueryTracker::Query* query = GetQuery(id);
2774 ASSERT_TRUE(query != NULL); 2778 ASSERT_TRUE(query != NULL);
2775 2779
2776 // Test EndQueryEXT sends both begin and end command 2780 // Test EndQueryEXT sends both begin and end command
2777 struct EndCmds { 2781 struct EndCmds {
2778 cmds::BeginQueryEXT begin_query; 2782 cmds::BeginQueryEXT begin_query;
2779 cmds::EndQueryEXT end_query; 2783 cmds::EndQueryEXT end_query;
2780 }; 2784 };
2781 EndCmds expected_end_cmds; 2785 EndCmds expected_end_cmds;
2782 expected_end_cmds.begin_query.Init( 2786 expected_end_cmds.begin_query.Init(
2783 GL_GET_ERROR_QUERY_CHROMIUM, id, query->shm_id(), query->shm_offset()); 2787 GL_GET_ERROR_QUERY_CHROMIUM,
2788 id,
2789 query->internal(),
2790 query->shm_id(),
2791 query->shm_offset());
2784 expected_end_cmds.end_query.Init( 2792 expected_end_cmds.end_query.Init(
2785 GL_GET_ERROR_QUERY_CHROMIUM, query->submit_count()); 2793 GL_GET_ERROR_QUERY_CHROMIUM, query->internal(), query->submit_count());
2786 const void* commands = GetPut(); 2794 const void* commands = GetPut();
2787 gl_->EndQueryEXT(GL_GET_ERROR_QUERY_CHROMIUM); 2795 gl_->EndQueryEXT(GL_GET_ERROR_QUERY_CHROMIUM);
2788 EXPECT_EQ(0, memcmp( 2796 EXPECT_EQ(0, memcmp(
2789 &expected_end_cmds, commands, sizeof(expected_end_cmds))); 2797 &expected_end_cmds, commands, sizeof(expected_end_cmds)));
2790 ClearCommands(); 2798 ClearCommands();
2791 2799
2792 // Check result is not yet available. 2800 // Check result is not yet available.
2793 GLuint available = 0xBDu; 2801 GLuint available = 0xBDu;
2794 gl_->GetQueryObjectuivEXT(id, GL_QUERY_RESULT_AVAILABLE_EXT, &available); 2802 gl_->GetQueryObjectuivEXT(id, GL_QUERY_RESULT_AVAILABLE_EXT, &available);
2795 EXPECT_TRUE(NoCommandsWritten()); 2803 EXPECT_TRUE(NoCommandsWritten());
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
2871 ClearCommands(); 2879 ClearCommands();
2872 gl_->Enable(GL_BLEND); 2880 gl_->Enable(GL_BLEND);
2873 EXPECT_TRUE(NoCommandsWritten()); 2881 EXPECT_TRUE(NoCommandsWritten());
2874 } 2882 }
2875 2883
2876 2884
2877 #include "gpu/command_buffer/client/gles2_implementation_unittest_autogen.h" 2885 #include "gpu/command_buffer/client/gles2_implementation_unittest_autogen.h"
2878 2886
2879 } // namespace gles2 2887 } // namespace gles2
2880 } // namespace gpu 2888 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698