summaryrefslogtreecommitdiffstats
path: root/gpu
diff options
context:
space:
mode:
authorgman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-09 05:34:43 +0000
committergman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-09 05:34:43 +0000
commit04d6819baa3e8eaf5ca2ace61886b835f7a60afc (patch)
treee1dd4e1ba422598c7c3c39e1e71647d9775481eb /gpu
parent1b4fe0aff40ab46e75fde10a29e600de0d04b7d9 (diff)
downloadchromium_src-04d6819baa3e8eaf5ca2ace61886b835f7a60afc.zip
chromium_src-04d6819baa3e8eaf5ca2ace61886b835f7a60afc.tar.gz
chromium_src-04d6819baa3e8eaf5ca2ace61886b835f7a60afc.tar.bz2
Fix Noop bug
TEST=unit tests BUG=123414 R=apatrick@chromium.org Review URL: https://chromiumcodereview.appspot.com/10332060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135991 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu')
-rw-r--r--gpu/command_buffer/client/cmd_buffer_helper.h2
-rw-r--r--gpu/command_buffer/client/cmd_buffer_helper_test.cc11
-rw-r--r--gpu/command_buffer/service/common_decoder_unittest.cc5
3 files changed, 16 insertions, 2 deletions
diff --git a/gpu/command_buffer/client/cmd_buffer_helper.h b/gpu/command_buffer/client/cmd_buffer_helper.h
index 95f3a49..f99e7bf 100644
--- a/gpu/command_buffer/client/cmd_buffer_helper.h
+++ b/gpu/command_buffer/client/cmd_buffer_helper.h
@@ -129,7 +129,7 @@ class GPU_EXPORT CommandBufferHelper {
// Common Commands
void Noop(uint32 skip_count) {
cmd::Noop* cmd = GetImmediateCmdSpace<cmd::Noop>(
- skip_count * sizeof(CommandBufferEntry));
+ (skip_count - 1) * sizeof(CommandBufferEntry));
if (cmd) {
cmd->Init(skip_count);
}
diff --git a/gpu/command_buffer/client/cmd_buffer_helper_test.cc b/gpu/command_buffer/client/cmd_buffer_helper_test.cc
index 2fa1fee..6c62312 100644
--- a/gpu/command_buffer/client/cmd_buffer_helper_test.cc
+++ b/gpu/command_buffer/client/cmd_buffer_helper_test.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -335,4 +335,13 @@ TEST_F(CommandBufferHelperTest, FreeRingBuffer) {
Mock::VerifyAndClearExpectations(api_mock_.get());
}
+TEST_F(CommandBufferHelperTest, Noop) {
+ for (int ii = 1; ii < 4; ++ii) {
+ CommandBufferOffset put_before = get_helper_put();
+ helper_->Noop(ii);
+ CommandBufferOffset put_after = get_helper_put();
+ EXPECT_EQ(ii, put_after - put_before);
+ }
+}
+
} // namespace gpu
diff --git a/gpu/command_buffer/service/common_decoder_unittest.cc b/gpu/command_buffer/service/common_decoder_unittest.cc
index 53f6235..1a350fb 100644
--- a/gpu/command_buffer/service/common_decoder_unittest.cc
+++ b/gpu/command_buffer/service/common_decoder_unittest.cc
@@ -192,6 +192,11 @@ TEST_F(CommonDecoderTest, HandleNoop) {
EXPECT_EQ(error::kNoError,
ExecuteImmediateCmd(
cmd, kSkipCount * kCommandBufferEntrySize));
+ const uint32 kSkipCount2 = 1;
+ cmd.Init(kSkipCount2);
+ EXPECT_EQ(error::kNoError,
+ ExecuteImmediateCmd(
+ cmd, kSkipCount2 * kCommandBufferEntrySize));
}
TEST_F(CommonDecoderTest, SetToken) {