| Index: trunk/src/gpu/command_buffer/common/gles2_cmd_format_test.cc
|
| ===================================================================
|
| --- trunk/src/gpu/command_buffer/common/gles2_cmd_format_test.cc (revision 260192)
|
| +++ trunk/src/gpu/command_buffer/common/gles2_cmd_format_test.cc (working copy)
|
| @@ -4,11 +4,6 @@
|
|
|
| // This file contains unit tests for gles2 commmands
|
|
|
| -#include <limits>
|
| -
|
| -#include "base/bind.h"
|
| -#include "base/synchronization/waitable_event.h"
|
| -#include "base/threading/thread.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "gpu/command_buffer/common/gles2_cmd_format.h"
|
|
|
| @@ -51,68 +46,6 @@
|
| unsigned char buffer_[1024];
|
| };
|
|
|
| -void SignalCompletion(uint32* assigned_async_token_ptr,
|
| - uint32 async_token,
|
| - AsyncUploadSync* sync) {
|
| - EXPECT_EQ(async_token, *assigned_async_token_ptr);
|
| - sync->SetAsyncUploadToken(async_token);
|
| -}
|
| -
|
| -TEST(GLES2FormatAsyncUploadSyncTest, AsyncUploadSync) {
|
| - const size_t kSize = 10;
|
| - const size_t kCount = 1000;
|
| -
|
| - base::Thread thread("GLES2FormatUploadSyncTest - Fake Upload Thread");
|
| - thread.Start();
|
| -
|
| - // Run the same test 50 times so we retest the wrap as well.
|
| - for (size_t test_run = 0; test_run < 50; ++test_run) {
|
| - AsyncUploadSync sync;
|
| - sync.Reset();
|
| -
|
| - uint32 buffer_tokens[kSize];
|
| - memset(buffer_tokens, 0, sizeof(buffer_tokens));
|
| -
|
| - // Start with a token large enough so that we'll wrap.
|
| - uint32 async_token = std::numeric_limits<uint32>::max() - kCount / 2;
|
| -
|
| - // Set initial async token.
|
| - sync.SetAsyncUploadToken(async_token);
|
| -
|
| - for (size_t i = 0; i < kCount; ++i) {
|
| - size_t buffer = i % kSize;
|
| -
|
| - // Loop until previous async token has passed if any was set.
|
| - while (buffer_tokens[buffer] &&
|
| - !sync.HasAsyncUploadTokenPassed(buffer_tokens[buffer]))
|
| - base::PlatformThread::YieldCurrentThread();
|
| -
|
| - // Next token, skip 0.
|
| - async_token++;
|
| - if (async_token == 0)
|
| - async_token++;
|
| -
|
| - // Set the buffer's associated token.
|
| - buffer_tokens[buffer] = async_token;
|
| -
|
| - // Set the async upload token on the fake upload thread and assert that
|
| - // the associated buffer still has the given token.
|
| - thread.message_loop()->PostTask(FROM_HERE,
|
| - base::Bind(&SignalCompletion,
|
| - &buffer_tokens[buffer],
|
| - async_token,
|
| - &sync));
|
| - }
|
| -
|
| - // Flush the thread message loop before starting again.
|
| - base::WaitableEvent waitable(false, false);
|
| - thread.message_loop()->PostTask(FROM_HERE,
|
| - base::Bind(&base::WaitableEvent::Signal,
|
| - base::Unretained(&waitable)));
|
| - waitable.Wait();
|
| - }
|
| -}
|
| -
|
| // GCC requires these declarations, but MSVC requires they not be present
|
| #ifndef _MSC_VER
|
| const unsigned char GLES2FormatTest::kInitialValue;
|
|
|