Clening up GrBinHashKey. Removing unnecessary streaming capability
BUG=http://code.google.com/p/skia/issues/detail?id=278
REVIEW=http://codereview.appspot.com/4910045/
git-svn-id: http://skia.googlecode.com/svn/trunk@2136 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gpu/src/GrGpuGLShaders.cpp b/gpu/src/GrGpuGLShaders.cpp
index 5afd77e..96b03da 100644
--- a/gpu/src/GrGpuGLShaders.cpp
+++ b/gpu/src/GrGpuGLShaders.cpp
@@ -24,18 +24,14 @@
private:
class Entry;
-#if GR_DEBUG
- typedef GrBinHashKey<Entry, 4> ProgramHashKey; // Flex the dynamic allocation muscle in debug
-#else
- typedef GrBinHashKey<Entry, 64> ProgramHashKey;
-#endif
+ typedef GrBinHashKey<Entry, GrGLProgram::kProgramKeySize> ProgramHashKey;
class Entry : public ::GrNoncopyable {
public:
Entry() {}
void copyAndTakeOwnership(Entry& entry) {
fProgramData.copyAndTakeOwnership(entry.fProgramData);
- fKey.copyAndTakeOwnership(entry.fKey); // ownership transfer
+ fKey = entry.fKey; // ownership transfer
fLRUStamp = entry.fLRUStamp;
}
@@ -84,9 +80,8 @@
GrGLProgram::CachedData* getProgramData(const GrGLProgram& desc) {
Entry newEntry;
- while (newEntry.fKey.doPass()) {
- desc.buildKey(newEntry.fKey);
- }
+ newEntry.fKey.setKeyData(desc.keyData());
+
Entry* entry = fHashCache.find(newEntry.fKey);
if (NULL == entry) {
if (!desc.genProgram(&newEntry.fProgramData)) {