summaryrefslogtreecommitdiffstats
path: root/src/video_core/texture_cache/image_base.h
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2021-06-12 15:52:27 +0200
committerFernando Sahmkow <fsahmkow27@gmail.com>2021-07-04 22:32:03 +0200
commit38165fb7e3e486b5099cfa76f5a09ec9f3201acd (patch)
treea80e66a254960c9c8c602f256cd37361c780d188 /src/video_core/texture_cache/image_base.h
parentMerge pull request #6553 from FernandoS27/bite-a-bat-change-the-world (diff)
downloadyuzu-38165fb7e3e486b5099cfa76f5a09ec9f3201acd.tar
yuzu-38165fb7e3e486b5099cfa76f5a09ec9f3201acd.tar.gz
yuzu-38165fb7e3e486b5099cfa76f5a09ec9f3201acd.tar.bz2
yuzu-38165fb7e3e486b5099cfa76f5a09ec9f3201acd.tar.lz
yuzu-38165fb7e3e486b5099cfa76f5a09ec9f3201acd.tar.xz
yuzu-38165fb7e3e486b5099cfa76f5a09ec9f3201acd.tar.zst
yuzu-38165fb7e3e486b5099cfa76f5a09ec9f3201acd.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/texture_cache/image_base.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/video_core/texture_cache/image_base.h b/src/video_core/texture_cache/image_base.h
index e326cab71..004ec23e4 100644
--- a/src/video_core/texture_cache/image_base.h
+++ b/src/video_core/texture_cache/image_base.h
@@ -57,6 +57,12 @@ struct ImageBase {
return cpu_addr < overlap_end && overlap_cpu_addr < cpu_addr_end;
}
+ [[nodiscard]] bool OverlapsGPU(GPUVAddr overlap_gpu_addr, size_t overlap_size) const noexcept {
+ const VAddr overlap_end = overlap_gpu_addr + overlap_size;
+ const GPUVAddr gpu_addr_end = gpu_addr + guest_size_bytes;
+ return gpu_addr < overlap_end && overlap_gpu_addr < gpu_addr_end;
+ }
+
void CheckBadOverlapState();
void CheckAliasState();
@@ -84,6 +90,8 @@ struct ImageBase {
std::vector<AliasedImage> aliased_images;
std::vector<ImageId> overlapping_images;
+ ImageMapId map_view_id{};
+ bool is_sparse{};
};
struct ImageAllocBase {