aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/texture_cache/surface_base.cpp
diff options
context:
space:
mode:
authorAmeer <aj662@drexel.edu>2020-07-04 00:59:40 -0400
committerAmeer <aj662@drexel.edu>2020-07-04 00:59:40 -0400
commit5c4f797cab941665838a9bfa3c84c60d4b7df241 (patch)
tree0ae185ce3ef43ef9b085aae7b9ad5abb04e3d239 /src/video_core/texture_cache/surface_base.cpp
parente081fb07183f33707f974f5ad244c2f64365b58d (diff)
parent08a0a98e5db7850ded6cfb8fdbc93cdf7b9539ae (diff)
Fix merge conflicts?
Diffstat (limited to 'src/video_core/texture_cache/surface_base.cpp')
-rw-r--r--src/video_core/texture_cache/surface_base.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/video_core/texture_cache/surface_base.cpp b/src/video_core/texture_cache/surface_base.cpp
index 94d3a6ae53..0caf3b4f05 100644
--- a/src/video_core/texture_cache/surface_base.cpp
+++ b/src/video_core/texture_cache/surface_base.cpp
@@ -120,6 +120,9 @@ std::optional<std::pair<u32, u32>> SurfaceBaseImpl::GetLayerMipmap(
}
const auto relative_address{static_cast<GPUVAddr>(candidate_gpu_addr - gpu_addr)};
const auto layer{static_cast<u32>(relative_address / layer_size)};
+ if (layer >= params.depth) {
+ return {};
+ }
const GPUVAddr mipmap_address = relative_address - layer_size * layer;
const auto mipmap_it =
Common::BinaryFind(mipmap_offsets.begin(), mipmap_offsets.end(), mipmap_address);