summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/video_core/rasterizer_cache.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/video_core/rasterizer_cache.h b/src/video_core/rasterizer_cache.h
index 0a3b3951e..294b7c6ef 100644
--- a/src/video_core/rasterizer_cache.h
+++ b/src/video_core/rasterizer_cache.h
@@ -105,6 +105,22 @@ protected:
105 return nullptr; 105 return nullptr;
106 } 106 }
107 107
108 std::vector<T> GetInRange(Tegra::GPUVAddr addr, size_t size) {
109 std::vector<T> objects;
110 if (size == 0)
111 return objects;
112
113 const ObjectInterval interval{addr, addr + size};
114 for (auto& pair : boost::make_iterator_range(object_cache.equal_range(interval))) {
115 for (auto& cached_object : pair.second) {
116 if (!cached_object)
117 continue;
118 objects.push_back(cached_object);
119 }
120 }
121 return objects;
122 }
123
108 /// Register an object into the cache 124 /// Register an object into the cache
109 void Register(const T& object) { 125 void Register(const T& object) {
110 object->SetIsRegistered(true); 126 object->SetIsRegistered(true);