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

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

Issue 2818993002: GL Implementation for GPU Discardable
Patch Set: rebase Created 3 years, 8 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
11 #include "base/strings/string_number_conversions.h" 11 #include "base/strings/string_number_conversions.h"
12 #include "gpu/command_buffer/common/gles2_cmd_format.h" 12 #include "gpu/command_buffer/common/gles2_cmd_format.h"
13 #include "gpu/command_buffer/common/gles2_cmd_utils.h" 13 #include "gpu/command_buffer/common/gles2_cmd_utils.h"
14 #include "gpu/command_buffer/common/id_allocator.h" 14 #include "gpu/command_buffer/common/id_allocator.h"
15 #include "gpu/command_buffer/service/cmd_buffer_engine.h" 15 #include "gpu/command_buffer/service/cmd_buffer_engine.h"
16 #include "gpu/command_buffer/service/context_group.h" 16 #include "gpu/command_buffer/service/context_group.h"
17 #include "gpu/command_buffer/service/context_state.h" 17 #include "gpu/command_buffer/service/context_state.h"
18 #include "gpu/command_buffer/service/gl_surface_mock.h" 18 #include "gpu/command_buffer/service/gl_surface_mock.h"
19 #include "gpu/command_buffer/service/gles2_cmd_decoder_unittest.h" 19 #include "gpu/command_buffer/service/gles2_cmd_decoder_unittest.h"
20 #include "gpu/command_buffer/service/image_manager.h" 20 #include "gpu/command_buffer/service/image_manager.h"
21 #include "gpu/command_buffer/service/mailbox_manager.h" 21 #include "gpu/command_buffer/service/mailbox_manager.h"
22 #include "gpu/command_buffer/service/mocks.h" 22 #include "gpu/command_buffer/service/mocks.h"
23 #include "gpu/command_buffer/service/program_manager.h" 23 #include "gpu/command_buffer/service/program_manager.h"
24 #include "gpu/command_buffer/service/service_discardable_manager.h"
24 #include "gpu/command_buffer/service/test_helper.h" 25 #include "gpu/command_buffer/service/test_helper.h"
25 #include "gpu/config/gpu_switches.h" 26 #include "gpu/config/gpu_switches.h"
26 #include "testing/gtest/include/gtest/gtest.h" 27 #include "testing/gtest/include/gtest/gtest.h"
27 #include "ui/gl/gl_image_stub.h" 28 #include "ui/gl/gl_image_stub.h"
28 #include "ui/gl/gl_implementation.h" 29 #include "ui/gl/gl_implementation.h"
29 #include "ui/gl/gl_mock.h" 30 #include "ui/gl/gl_mock.h"
30 #include "ui/gl/gl_surface_stub.h" 31 #include "ui/gl/gl_surface_stub.h"
31 32
32 #if !defined(GL_DEPTH24_STENCIL8) 33 #if !defined(GL_DEPTH24_STENCIL8)
33 #define GL_DEPTH24_STENCIL8 0x88F0 34 #define GL_DEPTH24_STENCIL8 0x88F0
(...skipping 4818 matching lines...) Expand 10 before | Expand all | Expand 10 after
4852 typedef GetTexParameteriv::Result Result; 4853 typedef GetTexParameteriv::Result Result;
4853 Result* result = static_cast<Result*>(shared_memory_address_); 4854 Result* result = static_cast<Result*>(shared_memory_address_);
4854 result->size = 0; 4855 result->size = 0;
4855 GetTexParameteriv cmd; 4856 GetTexParameteriv cmd;
4856 cmd.Init(kTarget, kSwizzleParam, shared_memory_id_, shared_memory_offset_); 4857 cmd.Init(kTarget, kSwizzleParam, shared_memory_id_, shared_memory_offset_);
4857 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd)); 4858 EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
4858 EXPECT_EQ(GL_INVALID_ENUM, GetGLError()); 4859 EXPECT_EQ(GL_INVALID_ENUM, GetGLError());
4859 } 4860 }
4860 } 4861 }
4861 4862
4863 TEST_P(GLES2DecoderTest, TestInitDiscardableTexture) {
4864 EXPECT_EQ(0u, group().discardable_manager()->NumCacheEntriesForTesting());
4865 DoInitializeDiscardableTextureCHROMIUM(client_texture_id_);
4866 EXPECT_EQ(1u, group().discardable_manager()->NumCacheEntriesForTesting());
4867 }
4868
4869 TEST_P(GLES2DecoderTest, TestInitInvalidDiscardableTexture) {
4870 EXPECT_EQ(0u, group().discardable_manager()->NumCacheEntriesForTesting());
4871 DoInitializeDiscardableTextureCHROMIUM(0);
4872 EXPECT_EQ(0u, group().discardable_manager()->NumCacheEntriesForTesting());
4873 EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
4874 }
4875
4876 TEST_P(GLES2DecoderTest, TestUnlockDiscardableTexture) {
4877 const ContextGroup& context_group = group();
4878 EXPECT_EQ(0u, group().discardable_manager()->NumCacheEntriesForTesting());
4879 DoInitializeDiscardableTextureCHROMIUM(client_texture_id_);
4880 EXPECT_TRUE(context_group.discardable_manager()->IsEntryLockedForTesting(
4881 client_texture_id_, &context_group));
4882 DoUnlockDiscardableTextureCHROMIUM(client_texture_id_);
4883 EXPECT_FALSE(context_group.discardable_manager()->IsEntryLockedForTesting(
4884 client_texture_id_, &context_group));
4885 }
4886
4887 TEST_P(GLES2DecoderTest, TestDeleteDiscardableTexture) {
4888 EXPECT_EQ(0u, group().discardable_manager()->NumCacheEntriesForTesting());
4889 DoInitializeDiscardableTextureCHROMIUM(client_texture_id_);
4890 EXPECT_EQ(1u, group().discardable_manager()->NumCacheEntriesForTesting());
4891 DoDeleteTexture(client_texture_id_, kServiceTextureId);
4892 EXPECT_EQ(0u, group().discardable_manager()->NumCacheEntriesForTesting());
4893 }
4894
4862 // TODO(gman): Complete this test. 4895 // TODO(gman): Complete this test.
4863 // TEST_P(GLES2DecoderTest, CompressedTexImage2DGLError) { 4896 // TEST_P(GLES2DecoderTest, CompressedTexImage2DGLError) {
4864 // } 4897 // }
4865 4898
4866 // TODO(gman): CompressedTexImage2D 4899 // TODO(gman): CompressedTexImage2D
4867 4900
4868 // TODO(gman): CompressedTexImage2DImmediate 4901 // TODO(gman): CompressedTexImage2DImmediate
4869 4902
4870 // TODO(gman): CompressedTexSubImage2DImmediate 4903 // TODO(gman): CompressedTexSubImage2DImmediate
4871 4904
4872 // TODO(gman): TexImage2D 4905 // TODO(gman): TexImage2D
4873 4906
4874 // TODO(gman): TexImage2DImmediate 4907 // TODO(gman): TexImage2DImmediate
4875 4908
4876 // TODO(gman): TexSubImage2DImmediate 4909 // TODO(gman): TexSubImage2DImmediate
4877 4910
4878 } // namespace gles2 4911 } // namespace gles2
4879 } // namespace gpu 4912 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698