aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/texture_cache/util.h
diff options
context:
space:
mode:
authorFernando S <fsahmkow27@gmail.com>2023-03-05 15:30:47 +0100
committerGitHub <noreply@github.com>2023-03-05 15:30:47 +0100
commitfdae95efaa84fe1baeab0b4dd1435720cae0f88d (patch)
tree383070bd0d4a33189f38423ceea9a5692d38ba09 /src/video_core/texture_cache/util.h
parentce8f4da63834be0179d98a7720dee47d65f3ec06 (diff)
parent8a3411b417f76db786b1d3cfffbd90926abb20ca (diff)
Merge pull request #9786 from FernandoS27/the-gaia-is-a-lie
YFC - Engines: Implement Accelerate DMA Texture.
Diffstat (limited to 'src/video_core/texture_cache/util.h')
-rw-r--r--src/video_core/texture_cache/util.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/video_core/texture_cache/util.h b/src/video_core/texture_cache/util.h
index d103db8ae..84aa6880d 100644
--- a/src/video_core/texture_cache/util.h
+++ b/src/video_core/texture_cache/util.h
@@ -56,6 +56,10 @@ struct OverlapResult {
SubresourceBase base, u32 up_scale = 1,
u32 down_shift = 0);
+[[nodiscard]] std::vector<ImageCopy> MakeReinterpretImageCopies(const ImageInfo& src,
+ u32 up_scale = 1,
+ u32 down_shift = 0);
+
[[nodiscard]] bool IsValidEntry(const Tegra::MemoryManager& gpu_memory, const TICEntry& config);
[[nodiscard]] std::vector<BufferImageCopy> UnswizzleImage(Tegra::MemoryManager& gpu_memory,
@@ -88,6 +92,9 @@ void SwizzleImage(Tegra::MemoryManager& gpu_memory, GPUVAddr gpu_addr, const Ima
[[nodiscard]] bool IsPitchLinearSameSize(const ImageInfo& lhs, const ImageInfo& rhs,
bool strict_size) noexcept;
+[[nodiscard]] bool IsBlockLinearSizeCompatibleBPPRelaxed(const ImageInfo& lhs, const ImageInfo& rhs,
+ u32 lhs_level, u32 rhs_level) noexcept;
+
[[nodiscard]] std::optional<OverlapResult> ResolveOverlap(const ImageInfo& new_info,
GPUVAddr gpu_addr, VAddr cpu_addr,
const ImageBase& overlap,
@@ -106,6 +113,9 @@ void SwizzleImage(Tegra::MemoryManager& gpu_memory, GPUVAddr gpu_addr, const Ima
GPUVAddr candidate_addr, RelaxedOptions options, bool broken_views,
bool native_bgr);
+[[nodiscard]] bool IsSubCopy(const ImageInfo& candidate, const ImageBase& image,
+ GPUVAddr candidate_addr);
+
void DeduceBlitImages(ImageInfo& dst_info, ImageInfo& src_info, const ImageBase* dst,
const ImageBase* src);