Pipeline caching: refactor object hashing
Dawn's object-based cache creates keys from memory
addresses. These keys cannot be used in a persistent
cache. This change modifies the keys to only
use hashes so they can be re-used for caching
pipelines.
BUG=dawn:549
Change-Id: Ica64d58ae6a3c6266435cfc3f776c820190f7895
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/30740
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
diff --git a/src/dawn_native/ComputePipeline.cpp b/src/dawn_native/ComputePipeline.cpp
index 793765d..e32e62a 100644
--- a/src/dawn_native/ComputePipeline.cpp
+++ b/src/dawn_native/ComputePipeline.cpp
@@ -14,8 +14,8 @@
#include "dawn_native/ComputePipeline.h"
-#include "common/HashUtils.h"
#include "dawn_native/Device.h"
+#include "dawn_native/ObjectContentHasher.h"
namespace dawn_native {
@@ -59,10 +59,6 @@
return new ComputePipelineBase(device, ObjectBase::kError);
}
- size_t ComputePipelineBase::HashFunc::operator()(const ComputePipelineBase* pipeline) const {
- return PipelineBase::HashForCache(pipeline);
- }
-
bool ComputePipelineBase::EqualityFunc::operator()(const ComputePipelineBase* a,
const ComputePipelineBase* b) const {
return PipelineBase::EqualForCache(a, b);