Revert "Revert 193798 "Revert r192949 "Disable shader disk cache by defa...""

The automation_proxy don't appear in the build run where this was committed.
Doesn't seem like this is the root cause of the issues.

> Revert 193798 "Revert r192949 "Disable shader disk cache by defa..."
>
> Reverting seems to fix memory_test test locally on linux.
>
> BUG=230085
>
> > Revert r192949 "Disable shader disk cache by default."
> >
> > This reverts commit r192949. The disable has been merged into
> > M27 so re-enabling on trunk.
> >
> > BUG=228989
> >
> > Review URL: https://chromiumcodereview.appspot.com/13872012
>
> TBR=dsinclair@chromium.org
>
> Review URL: https://codereview.chromium.org/13924005

TBR=tonyg@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14119009

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195083 0039d316-1c4b-4281-b951-d872f2087c98
parent 720e1e62
......@@ -76,7 +76,7 @@ std::string DeriveCommandLine(const GURL& start_url,
::switches::kDisableBrowserPluginCompositing,
::switches::kDisableEncryptedMedia,
::switches::kDisableForceCompositingMode,
::switches::kEnableGpuShaderDiskCache,
::switches::kDisableGpuShaderDiskCache,
::switches::kDisableGpuWatchdog,
::switches::kDisableLoginAnimations,
::switches::kDisableOobeAnimation,
......
......@@ -717,8 +717,8 @@ void GpuProcessHost::EstablishGpuChannel(
callback.Run(IPC::ChannelHandle(), GPUInfo());
}
if (CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnableGpuShaderDiskCache)) {
if (!CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDisableGpuShaderDiskCache)) {
CreateChannelCache(client_id, gpu::kDefaultMaxProgramCacheMemoryBytes);
}
}
......
......@@ -60,7 +60,7 @@ const char kGpuProgramCacheSizeKb[] = "gpu-program-cache-size-kb";
const char kTraceGL[] = "trace-gl";
// Disables the GPU shader on disk cache.
const char kEnableGpuShaderDiskCache[] = "enable-gpu-shader-disk-cache";
const char kDisableGpuShaderDiskCache[] = "disable-gpu-shader-disk-cache";
const char* kGpuSwitches[] = {
kCompileShaderAlwaysSucceeds,
......@@ -79,7 +79,7 @@ const char* kGpuSwitches[] = {
kGpuDriverBugWorkarounds,
kGpuProgramCacheSizeKb,
kTraceGL,
kEnableGpuShaderDiskCache,
kDisableGpuShaderDiskCache,
};
const int kNumGpuSwitches = arraysize(kGpuSwitches);
......
......@@ -27,7 +27,7 @@ GPU_EXPORT extern const char kForceSynchronousGLReadPixels[];
GPU_EXPORT extern const char kGpuDriverBugWorkarounds[];
GPU_EXPORT extern const char kGpuProgramCacheSizeKb[];
GPU_EXPORT extern const char kTraceGL[];
GPU_EXPORT extern const char kEnableGpuShaderDiskCache[];
GPU_EXPORT extern const char kDisableGpuShaderDiskCache[];
GPU_EXPORT extern const char* kGpuSwitches[];
GPU_EXPORT extern const int kNumGpuSwitches;
......
......@@ -142,8 +142,8 @@ ProgramCache::ProgramLoadResult MemoryProgramCache::LoadLinkedProgram(
shader_b->set_uniform_map(value->uniform_map_1);
if (!shader_callback.is_null() &&
CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnableGpuShaderDiskCache)) {
!CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDisableGpuShaderDiskCache)) {
GpuProgramProto* proto = GpuProgramProto::default_instance().New();
proto->set_sha(sha, kHashLength);
proto->set_format(value->format);
......@@ -212,8 +212,8 @@ void MemoryProgramCache::SaveLinkedProgram(
}
if (!shader_callback.is_null() &&
CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnableGpuShaderDiskCache)) {
!CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDisableGpuShaderDiskCache)) {
GpuProgramProto* proto = GpuProgramProto::default_instance().New();
proto->set_sha(sha, kHashLength);
proto->set_format(format);
......
......@@ -204,6 +204,37 @@ TEST_F(MemoryProgramCacheTest, CacheSave) {
*vertex_shader_->deferred_compilation_source(),
*fragment_shader_->deferred_compilation_source(),
NULL));
EXPECT_EQ(1, shader_cache_count());
}
TEST_F(MemoryProgramCacheTest, LoadProgram) {
const GLenum kFormat = 1;
const int kProgramId = 10;
const int kBinaryLength = 20;
char test_binary[kBinaryLength];
for (int i = 0; i < kBinaryLength; ++i) {
test_binary[i] = i;
}
ProgramBinaryEmulator emulator(kBinaryLength, kFormat, test_binary);
SetExpectationsForSaveLinkedProgram(kProgramId, &emulator);
cache_->SaveLinkedProgram(kProgramId, vertex_shader_, fragment_shader_, NULL,
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
base::Unretained(this)));
EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus(
*vertex_shader_->deferred_compilation_source(),
*fragment_shader_->deferred_compilation_source(),
NULL));
EXPECT_EQ(1, shader_cache_count());
cache_->Clear();
cache_->LoadProgram(shader_cache_shader());
EXPECT_EQ(ProgramCache::LINK_SUCCEEDED, cache_->GetLinkedProgramStatus(
*vertex_shader_->deferred_compilation_source(),
*fragment_shader_->deferred_compilation_source(),
NULL));
}
TEST_F(MemoryProgramCacheTest, CacheLoadMatchesSave) {
......@@ -220,6 +251,7 @@ TEST_F(MemoryProgramCacheTest, CacheLoadMatchesSave) {
cache_->SaveLinkedProgram(kProgramId, vertex_shader_, fragment_shader_, NULL,
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
base::Unretained(this)));
EXPECT_EQ(1, shader_cache_count());
VariableMap vertex_attrib_map = vertex_shader_->attrib_map();
VariableMap vertex_uniform_map = vertex_shader_->uniform_map();
......@@ -265,6 +297,7 @@ TEST_F(MemoryProgramCacheTest, LoadProgramMatchesSave) {
cache_->SaveLinkedProgram(kProgramId, vertex_shader_, fragment_shader_, NULL,
base::Bind(&MemoryProgramCacheTest::ShaderCacheCb,
base::Unretained(this)));
EXPECT_EQ(1, shader_cache_count());
VariableMap vertex_attrib_map = vertex_shader_->attrib_map();
VariableMap vertex_uniform_map = vertex_shader_->uniform_map();
......@@ -278,6 +311,9 @@ TEST_F(MemoryProgramCacheTest, LoadProgramMatchesSave) {
SetExpectationsForLoadLinkedProgram(kProgramId, &emulator);
cache_->Clear();
cache_->LoadProgram(shader_cache_shader());
EXPECT_EQ(ProgramCache::PROGRAM_LOAD_SUCCESS, cache_->LoadLinkedProgram(
kProgramId,
vertex_shader_,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment