diff options
| author | gman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-09 05:34:43 +0000 |
|---|---|---|
| committer | gman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-09 05:34:43 +0000 |
| commit | 04d6819baa3e8eaf5ca2ace61886b835f7a60afc (patch) | |
| tree | e1dd4e1ba422598c7c3c39e1e71647d9775481eb /gpu | |
| parent | 1b4fe0aff40ab46e75fde10a29e600de0d04b7d9 (diff) | |
| download | chromium_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.h | 2 | ||||
| -rw-r--r-- | gpu/command_buffer/client/cmd_buffer_helper_test.cc | 11 | ||||
| -rw-r--r-- | gpu/command_buffer/service/common_decoder_unittest.cc | 5 |
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) { |
