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

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

Issue 16325018: GPU: Factory produces APTManagers instead of APTDelegates (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_decoder_mock.h ('k') | gpu/command_buffer_service.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.h" 5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h"
6 6
7 #include "base/atomicops.h" 7 #include "base/atomicops.h"
8 #include "gpu/command_buffer/common/gles2_cmd_format.h" 8 #include "gpu/command_buffer/common/gles2_cmd_format.h"
9 #include "gpu/command_buffer/common/gles2_cmd_utils.h" 9 #include "gpu/command_buffer/common/gles2_cmd_utils.h"
10 #include "gpu/command_buffer/common/id_allocator.h" 10 #include "gpu/command_buffer/common/id_allocator.h"
11 #include "gpu/command_buffer/service/async_pixel_transfer_delegate_mock.h" 11 #include "gpu/command_buffer/service/async_pixel_transfer_delegate_mock.h"
12 #include "gpu/command_buffer/service/async_pixel_transfer_manager.h" 12 #include "gpu/command_buffer/service/async_pixel_transfer_manager.h"
13 #include "gpu/command_buffer/service/async_pixel_transfer_manager_test.h"
13 #include "gpu/command_buffer/service/cmd_buffer_engine.h" 14 #include "gpu/command_buffer/service/cmd_buffer_engine.h"
14 #include "gpu/command_buffer/service/context_group.h" 15 #include "gpu/command_buffer/service/context_group.h"
15 #include "gpu/command_buffer/service/gl_surface_mock.h" 16 #include "gpu/command_buffer/service/gl_surface_mock.h"
16 #include "gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h" 17 #include "gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h"
17 #include "gpu/command_buffer/service/image_manager.h" 18 #include "gpu/command_buffer/service/image_manager.h"
18 #include "gpu/command_buffer/service/mailbox_manager.h" 19 #include "gpu/command_buffer/service/mailbox_manager.h"
19 #include "gpu/command_buffer/service/mocks.h" 20 #include "gpu/command_buffer/service/mocks.h"
20 #include "gpu/command_buffer/service/program_manager.h" 21 #include "gpu/command_buffer/service/program_manager.h"
21 #include "gpu/command_buffer/service/stream_texture_manager_mock.h" 22 #include "gpu/command_buffer/service/stream_texture_manager_mock.h"
22 #include "gpu/command_buffer/service/stream_texture_mock.h" 23 #include "gpu/command_buffer/service/stream_texture_mock.h"
(...skipping 8051 matching lines...) Expand 10 before | Expand all | Expand 10 after
8074 false, false, false, // has alpha/depth/stencil 8075 false, false, false, // has alpha/depth/stencil
8075 false, false, false, // request alpha/depth/stencil 8076 false, false, false, // request alpha/depth/stencil
8076 true); // bind generates resource 8077 true); // bind generates resource
8077 8078
8078 // Set up the texture. 8079 // Set up the texture.
8079 DoBindTexture(GL_TEXTURE_2D, client_texture_id_, kServiceTextureId); 8080 DoBindTexture(GL_TEXTURE_2D, client_texture_id_, kServiceTextureId);
8080 TextureRef* texture_ref = GetTexture(client_texture_id_); 8081 TextureRef* texture_ref = GetTexture(client_texture_id_);
8081 Texture* texture = texture_ref->texture(); 8082 Texture* texture = texture_ref->texture();
8082 8083
8083 // Set a mock Async delegate 8084 // Set a mock Async delegate
8085 gpu::AsyncPixelTransferManagerTest* manager =
8086 new gpu::AsyncPixelTransferManagerTest;
8087 manager->Initialize(group().texture_manager());
8088 decoder_->SetAsyncPixelTransferManagerForTest(manager);
8084 StrictMock<gpu::MockAsyncPixelTransferDelegate>* delegate = 8089 StrictMock<gpu::MockAsyncPixelTransferDelegate>* delegate =
8085 new StrictMock<gpu::MockAsyncPixelTransferDelegate>; 8090 manager->GetMockDelegate();
8086 decoder_->SetAsyncPixelTransferDelegateForTest(delegate);
8087 StrictMock<gpu::MockAsyncPixelTransferState>* state = NULL; 8091 StrictMock<gpu::MockAsyncPixelTransferState>* state = NULL;
8088 8092
8089 // Tex(Sub)Image2D upload commands. 8093 // Tex(Sub)Image2D upload commands.
8090 AsyncTexImage2DCHROMIUM teximage_cmd; 8094 AsyncTexImage2DCHROMIUM teximage_cmd;
8091 teximage_cmd.Init(GL_TEXTURE_2D, 0, GL_RGBA, 8, 8, 0, GL_RGBA, 8095 teximage_cmd.Init(GL_TEXTURE_2D, 0, GL_RGBA, 8, 8, 0, GL_RGBA,
8092 GL_UNSIGNED_BYTE, kSharedMemoryId, kSharedMemoryOffset); 8096 GL_UNSIGNED_BYTE, kSharedMemoryId, kSharedMemoryOffset);
8093 AsyncTexSubImage2DCHROMIUM texsubimage_cmd; 8097 AsyncTexSubImage2DCHROMIUM texsubimage_cmd;
8094 texsubimage_cmd.Init(GL_TEXTURE_2D, 0, 0, 0, 8, 8, GL_RGBA, 8098 texsubimage_cmd.Init(GL_TEXTURE_2D, 0, 0, 0, 8, 8, GL_RGBA,
8095 GL_UNSIGNED_BYTE, kSharedMemoryId, kSharedMemoryOffset); 8099 GL_UNSIGNED_BYTE, kSharedMemoryId, kSharedMemoryOffset);
8096 WaitAsyncTexImage2DCHROMIUM wait_cmd; 8100 WaitAsyncTexImage2DCHROMIUM wait_cmd;
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
8237 EXPECT_TRUE(decoder_->GetAsyncPixelTransferManager()->GetPixelTransferState( 8241 EXPECT_TRUE(decoder_->GetAsyncPixelTransferManager()->GetPixelTransferState(
8238 texture_ref)); 8242 texture_ref));
8239 8243
8240 EXPECT_TRUE(texture->IsImmutable()); 8244 EXPECT_TRUE(texture->IsImmutable());
8241 // Wait for completion. 8245 // Wait for completion.
8242 EXPECT_CALL(*delegate, WaitForTransferCompletion(state)); 8246 EXPECT_CALL(*delegate, WaitForTransferCompletion(state));
8243 EXPECT_CALL(*delegate, BindCompletedAsyncTransfers()); 8247 EXPECT_CALL(*delegate, BindCompletedAsyncTransfers());
8244 EXPECT_EQ(error::kNoError, ExecuteCmd(wait_cmd)); 8248 EXPECT_EQ(error::kNoError, ExecuteCmd(wait_cmd));
8245 EXPECT_EQ(GL_NO_ERROR, GetGLError()); 8249 EXPECT_EQ(GL_NO_ERROR, GetGLError());
8246 } 8250 }
8247
8248 decoder_->SetAsyncPixelTransferDelegateForTest(NULL);
8249 decoder_->GetAsyncPixelTransferManager()
8250 ->ClearPixelTransferStateForTest(texture_ref);
8251 } 8251 }
8252 8252
8253 TEST_F(GLES2DecoderManualInitTest, AsyncPixelTransferManager) { 8253 TEST_F(GLES2DecoderManualInitTest, AsyncPixelTransferManager) {
8254 InitDecoder( 8254 InitDecoder(
8255 "GL_CHROMIUM_async_pixel_transfers", // extensions 8255 "GL_CHROMIUM_async_pixel_transfers", // extensions
8256 false, false, false, // has alpha/depth/stencil 8256 false, false, false, // has alpha/depth/stencil
8257 false, false, false, // request alpha/depth/stencil 8257 false, false, false, // request alpha/depth/stencil
8258 true); // bind generates resource 8258 true); // bind generates resource
8259 8259
8260 // Set up the texture. 8260 // Set up the texture.
8261 DoBindTexture(GL_TEXTURE_2D, client_texture_id_, kServiceTextureId); 8261 DoBindTexture(GL_TEXTURE_2D, client_texture_id_, kServiceTextureId);
8262 TextureRef* texture_ref = GetTexture(client_texture_id_); 8262 TextureRef* texture_ref = GetTexture(client_texture_id_);
8263 8263
8264 // Set a mock Async delegate. 8264 // Set a mock Async delegate.
8265 gpu::AsyncPixelTransferManagerTest* manager =
8266 new gpu::AsyncPixelTransferManagerTest;
8267 manager->Initialize(group().texture_manager());
8268 decoder_->SetAsyncPixelTransferManagerForTest(manager);
8265 StrictMock<gpu::MockAsyncPixelTransferDelegate>* delegate = 8269 StrictMock<gpu::MockAsyncPixelTransferDelegate>* delegate =
8266 new StrictMock<gpu::MockAsyncPixelTransferDelegate>; 8270 manager->GetMockDelegate();
8267 decoder_->SetAsyncPixelTransferDelegateForTest(delegate);
8268 StrictMock<gpu::MockAsyncPixelTransferState>* state = NULL; 8271 StrictMock<gpu::MockAsyncPixelTransferState>* state = NULL;
8269 8272
8270 AsyncTexImage2DCHROMIUM teximage_cmd; 8273 AsyncTexImage2DCHROMIUM teximage_cmd;
8271 teximage_cmd.Init(GL_TEXTURE_2D, 0, GL_RGBA, 8, 8, 0, GL_RGBA, 8274 teximage_cmd.Init(GL_TEXTURE_2D, 0, GL_RGBA, 8, 8, 0, GL_RGBA,
8272 GL_UNSIGNED_BYTE, kSharedMemoryId, kSharedMemoryOffset); 8275 GL_UNSIGNED_BYTE, kSharedMemoryId, kSharedMemoryOffset);
8273 8276
8274 // No transfer state exists initially. 8277 // No transfer state exists initially.
8275 EXPECT_FALSE(decoder_->GetAsyncPixelTransferManager()->GetPixelTransferState( 8278 EXPECT_FALSE(decoder_->GetAsyncPixelTransferManager()->GetPixelTransferState(
8276 texture_ref)); 8279 texture_ref));
8277 8280
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after
8642 // TODO(gman): TexImage2DImmediate 8645 // TODO(gman): TexImage2DImmediate
8643 8646
8644 // TODO(gman): TexSubImage2DImmediate 8647 // TODO(gman): TexSubImage2DImmediate
8645 8648
8646 // TODO(gman): UseProgram 8649 // TODO(gman): UseProgram
8647 8650
8648 // TODO(gman): SwapBuffers 8651 // TODO(gman): SwapBuffers
8649 8652
8650 } // namespace gles2 8653 } // namespace gles2
8651 } // namespace gpu 8654 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_decoder_mock.h ('k') | gpu/command_buffer_service.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698