diff options
| author | bunnei <bunneidev@gmail.com> | 2021-11-16 18:52:11 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-16 18:52:11 -0800 |
| commit | 71313509f75aeafe425e531824d1faa9e7c0a40b (patch) | |
| tree | cb1df371d288677fcede6a3409eb079e0d278163 /src/video_core/texture_cache/image_base.h | |
| parent | 3154773c000ca9c40a217a7de55ad62d4c110e2b (diff) | |
| parent | 1c8a3d8d2916e8d43808c9b4e75c756f162890e8 (diff) | |
Merge pull request #7219 from FernandoS27/aristotles-right-testicle
Project A.R.T. Advanced Rendering Techniques
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; |
