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

Side by Side Diff: trunk/src/gpu/command_buffer/service/memory_program_cache.cc

Issue 13924005: Revert 193798 "Revert r192949 "Disable shader disk cache by defa..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 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 | Annotate | Revision Log
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/memory_program_cache.h" 5 #include "gpu/command_buffer/service/memory_program_cache.h"
6 6
7 #include "base/base64.h" 7 #include "base/base64.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
10 #include "base/sha1.h" 10 #include "base/sha1.h"
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 glGetProgramiv(program, GL_LINK_STATUS, &success); 135 glGetProgramiv(program, GL_LINK_STATUS, &success);
136 if (success == GL_FALSE) { 136 if (success == GL_FALSE) {
137 return PROGRAM_LOAD_FAILURE; 137 return PROGRAM_LOAD_FAILURE;
138 } 138 }
139 shader_a->set_attrib_map(value->attrib_map_0); 139 shader_a->set_attrib_map(value->attrib_map_0);
140 shader_a->set_uniform_map(value->uniform_map_0); 140 shader_a->set_uniform_map(value->uniform_map_0);
141 shader_b->set_attrib_map(value->attrib_map_1); 141 shader_b->set_attrib_map(value->attrib_map_1);
142 shader_b->set_uniform_map(value->uniform_map_1); 142 shader_b->set_uniform_map(value->uniform_map_1);
143 143
144 if (!shader_callback.is_null() && 144 if (!shader_callback.is_null() &&
145 !CommandLine::ForCurrentProcess()->HasSwitch( 145 CommandLine::ForCurrentProcess()->HasSwitch(
146 switches::kDisableGpuShaderDiskCache)) { 146 switches::kEnableGpuShaderDiskCache)) {
147 GpuProgramProto* proto = GpuProgramProto::default_instance().New(); 147 GpuProgramProto* proto = GpuProgramProto::default_instance().New();
148 proto->set_sha(sha, kHashLength); 148 proto->set_sha(sha, kHashLength);
149 proto->set_format(value->format); 149 proto->set_format(value->format);
150 proto->set_program(value->data.get(), value->length); 150 proto->set_program(value->data.get(), value->length);
151 151
152 FillShaderProto(proto->mutable_vertex_shader(), a_sha, shader_a); 152 FillShaderProto(proto->mutable_vertex_shader(), a_sha, shader_a);
153 FillShaderProto(proto->mutable_fragment_shader(), b_sha, shader_b); 153 FillShaderProto(proto->mutable_fragment_shader(), b_sha, shader_b);
154 RunShaderCallback(shader_callback, proto, sha_string); 154 RunShaderCallback(shader_callback, proto, sha_string);
155 } 155 }
156 156
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 const std::string* program = eviction_helper_.PeekKey(); 205 const std::string* program = eviction_helper_.PeekKey();
206 const StoreMap::iterator found = store_.find(*program); 206 const StoreMap::iterator found = store_.find(*program);
207 const ProgramCacheValue* evicting = found->second.get(); 207 const ProgramCacheValue* evicting = found->second.get();
208 curr_size_bytes_ -= evicting->length; 208 curr_size_bytes_ -= evicting->length;
209 Evict(*program, evicting->shader_0_hash, evicting->shader_1_hash); 209 Evict(*program, evicting->shader_0_hash, evicting->shader_1_hash);
210 store_.erase(found); 210 store_.erase(found);
211 eviction_helper_.PopKey(); 211 eviction_helper_.PopKey();
212 } 212 }
213 213
214 if (!shader_callback.is_null() && 214 if (!shader_callback.is_null() &&
215 !CommandLine::ForCurrentProcess()->HasSwitch( 215 CommandLine::ForCurrentProcess()->HasSwitch(
216 switches::kDisableGpuShaderDiskCache)) { 216 switches::kEnableGpuShaderDiskCache)) {
217 GpuProgramProto* proto = GpuProgramProto::default_instance().New(); 217 GpuProgramProto* proto = GpuProgramProto::default_instance().New();
218 proto->set_sha(sha, kHashLength); 218 proto->set_sha(sha, kHashLength);
219 proto->set_format(format); 219 proto->set_format(format);
220 proto->set_program(binary.get(), length); 220 proto->set_program(binary.get(), length);
221 221
222 FillShaderProto(proto->mutable_vertex_shader(), a_sha, shader_a); 222 FillShaderProto(proto->mutable_vertex_shader(), a_sha, shader_a);
223 FillShaderProto(proto->mutable_fragment_shader(), b_sha, shader_b); 223 FillShaderProto(proto->mutable_fragment_shader(), b_sha, shader_b);
224 RunShaderCallback(shader_callback, proto, sha_string); 224 RunShaderCallback(shader_callback, proto, sha_string);
225 } 225 }
226 226
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 attrib_map_0(_attrib_map_0), 315 attrib_map_0(_attrib_map_0),
316 uniform_map_0(_uniform_map_0), 316 uniform_map_0(_uniform_map_0),
317 shader_1_hash(_shader_1_hash, kHashLength), 317 shader_1_hash(_shader_1_hash, kHashLength),
318 attrib_map_1(_attrib_map_1), 318 attrib_map_1(_attrib_map_1),
319 uniform_map_1(_uniform_map_1) {} 319 uniform_map_1(_uniform_map_1) {}
320 320
321 MemoryProgramCache::ProgramCacheValue::~ProgramCacheValue() {} 321 MemoryProgramCache::ProgramCacheValue::~ProgramCacheValue() {}
322 322
323 } // namespace gles2 323 } // namespace gles2
324 } // namespace gpu 324 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698