diff options
Diffstat (limited to 'src/video_core/shader_cache.cpp')
| -rw-r--r-- | src/video_core/shader_cache.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/video_core/shader_cache.cpp b/src/video_core/shader_cache.cpp index e81cd031b..86fd62428 100644 --- a/src/video_core/shader_cache.cpp +++ b/src/video_core/shader_cache.cpp | |||
| @@ -12,6 +12,7 @@ | |||
| 12 | #include "video_core/dirty_flags.h" | 12 | #include "video_core/dirty_flags.h" |
| 13 | #include "video_core/engines/kepler_compute.h" | 13 | #include "video_core/engines/kepler_compute.h" |
| 14 | #include "video_core/engines/maxwell_3d.h" | 14 | #include "video_core/engines/maxwell_3d.h" |
| 15 | #include "video_core/host1x/gpu_device_memory_manager.h" | ||
| 15 | #include "video_core/memory_manager.h" | 16 | #include "video_core/memory_manager.h" |
| 16 | #include "video_core/shader_cache.h" | 17 | #include "video_core/shader_cache.h" |
| 17 | #include "video_core/shader_environment.h" | 18 | #include "video_core/shader_environment.h" |
| @@ -34,7 +35,7 @@ void ShaderCache::SyncGuestHost() { | |||
| 34 | RemovePendingShaders(); | 35 | RemovePendingShaders(); |
| 35 | } | 36 | } |
| 36 | 37 | ||
| 37 | ShaderCache::ShaderCache(VideoCore::RasterizerInterface& rasterizer_) : rasterizer{rasterizer_} {} | 38 | ShaderCache::ShaderCache(Tegra::MaxwellDeviceMemoryManager& device_memory_) : device_memory{device_memory_} {} |
| 38 | 39 | ||
| 39 | bool ShaderCache::RefreshStages(std::array<u64, 6>& unique_hashes) { | 40 | bool ShaderCache::RefreshStages(std::array<u64, 6>& unique_hashes) { |
| 40 | auto& dirty{maxwell3d->dirty.flags}; | 41 | auto& dirty{maxwell3d->dirty.flags}; |
| @@ -132,7 +133,7 @@ void ShaderCache::Register(std::unique_ptr<ShaderInfo> data, VAddr addr, size_t | |||
| 132 | 133 | ||
| 133 | storage.push_back(std::move(data)); | 134 | storage.push_back(std::move(data)); |
| 134 | 135 | ||
| 135 | rasterizer.UpdatePagesCachedCount(addr, size, 1); | 136 | device_memory.UpdatePagesCachedCount(addr, size, 1); |
| 136 | } | 137 | } |
| 137 | 138 | ||
| 138 | void ShaderCache::InvalidatePagesInRegion(VAddr addr, size_t size) { | 139 | void ShaderCache::InvalidatePagesInRegion(VAddr addr, size_t size) { |
| @@ -209,7 +210,7 @@ void ShaderCache::UnmarkMemory(Entry* entry) { | |||
| 209 | 210 | ||
| 210 | const VAddr addr = entry->addr_start; | 211 | const VAddr addr = entry->addr_start; |
| 211 | const size_t size = entry->addr_end - addr; | 212 | const size_t size = entry->addr_end - addr; |
| 212 | rasterizer.UpdatePagesCachedCount(addr, size, -1); | 213 | device_memory.UpdatePagesCachedCount(addr, size, -1); |
| 213 | } | 214 | } |
| 214 | 215 | ||
| 215 | void ShaderCache::RemoveShadersFromStorage(std::span<ShaderInfo*> removed_shaders) { | 216 | void ShaderCache::RemoveShadersFromStorage(std::span<ShaderInfo*> removed_shaders) { |