diff options
author | bunnei <bunneidev@gmail.com> | 2021-11-17 03:52:11 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-17 03:52:11 +0100 |
commit | 71313509f75aeafe425e531824d1faa9e7c0a40b (patch) | |
tree | cb1df371d288677fcede6a3409eb079e0d278163 /src/video_core/texture_cache/image_base.h | |
parent | Merge pull request #7347 from lioncash/catch (diff) | |
parent | TextureCache: Fix Automatic Anisotropic. (diff) | |
download | yuzu-71313509f75aeafe425e531824d1faa9e7c0a40b.tar yuzu-71313509f75aeafe425e531824d1faa9e7c0a40b.tar.gz yuzu-71313509f75aeafe425e531824d1faa9e7c0a40b.tar.bz2 yuzu-71313509f75aeafe425e531824d1faa9e7c0a40b.tar.lz yuzu-71313509f75aeafe425e531824d1faa9e7c0a40b.tar.xz yuzu-71313509f75aeafe425e531824d1faa9e7c0a40b.tar.zst yuzu-71313509f75aeafe425e531824d1faa9e7c0a40b.zip |
Diffstat (limited to 'src/video_core/texture_cache/image_base.h')
-rw-r--r-- | src/video_core/texture_cache/image_base.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/video_core/texture_cache/image_base.h b/src/video_core/texture_cache/image_base.h index 0c17a791b..89c111c00 100644 --- a/src/video_core/texture_cache/image_base.h +++ b/src/video_core/texture_cache/image_base.h @@ -33,6 +33,11 @@ enum class ImageFlagBits : u32 { ///< garbage collection priority Alias = 1 << 11, ///< This image has aliases and has priority on garbage ///< collection + + // Rescaler + Rescaled = 1 << 12, + CheckingRescalable = 1 << 13, + IsRescalable = 1 << 14, }; DECLARE_ENUM_FLAG_OPERATORS(ImageFlagBits) @@ -43,8 +48,11 @@ struct AliasedImage { ImageId id; }; +struct NullImageParams {}; + struct ImageBase { explicit ImageBase(const ImageInfo& info, GPUVAddr gpu_addr, VAddr cpu_addr); + explicit ImageBase(const NullImageParams&); [[nodiscard]] std::optional<SubresourceBase> TryFindBase(GPUVAddr other_addr) const noexcept; @@ -68,11 +76,18 @@ struct ImageBase { void CheckBadOverlapState(); void CheckAliasState(); + bool HasScaled() const { + return has_scaled; + } + ImageInfo info; u32 guest_size_bytes = 0; u32 unswizzled_size_bytes = 0; u32 converted_size_bytes = 0; + u32 scale_rating = 0; + u64 scale_tick = 0; + bool has_scaled = false; ImageFlagBits flags = ImageFlagBits::CpuModified; GPUVAddr gpu_addr = 0; |