From 38165fb7e3e486b5099cfa76f5a09ec9f3201acd Mon Sep 17 00:00:00 2001 From: Fernando Sahmkow Date: Sat, 12 Jun 2021 15:52:27 +0200 Subject: Texture Cache: Initial Implementation of Sparse Textures. --- src/video_core/texture_cache/image_base.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/video_core/texture_cache/image_base.h') 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 aliased_images; std::vector overlapping_images; + ImageMapId map_view_id{}; + bool is_sparse{}; }; struct ImageAllocBase { -- cgit v1.2.3