From c7a1cbad44487b2c5f9da31ce6d3c76b7dec4f05 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Sat, 31 Jul 2021 17:42:37 -0300 Subject: texture_cache: Add getter to query if image view is rescaled --- src/video_core/texture_cache/texture_cache.h | 16 ++++++---------- src/video_core/texture_cache/texture_cache_base.h | 9 +++------ 2 files changed, 9 insertions(+), 16 deletions(-) (limited to 'src/video_core/texture_cache') diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h index 4dbded635..0e70c4db2 100644 --- a/src/video_core/texture_cache/texture_cache.h +++ b/src/video_core/texture_cache/texture_cache.h @@ -119,16 +119,6 @@ typename P::ImageView& TextureCache
::GetImageView(ImageViewId id) noexcept {
return slot_image_views[id];
}
-template ::GetImage(ImageId id) const noexcept {
- return slot_images[id];
-}
-
-template ::GetImage(ImageId id) noexcept {
- return slot_images[id];
-}
-
template ::MarkModification(ImageId id) noexcept {
MarkModification(slot_images[id]);
@@ -634,6 +624,12 @@ bool TextureCache ::IsRescaling() const noexcept {
return is_rescaling;
}
+template ::IsRescaling(const ImageViewBase& image_view) const noexcept {
+ const ImageBase& image = slot_images[image_view.image_id];
+ return True(image.flags & ImageFlagBits::Rescaled);
+}
+
template ::IsRegionGpuModified(VAddr addr, size_t size) {
bool is_modified = false;
diff --git a/src/video_core/texture_cache/texture_cache_base.h b/src/video_core/texture_cache/texture_cache_base.h
index b6cc09682..8b417b611 100644
--- a/src/video_core/texture_cache/texture_cache_base.h
+++ b/src/video_core/texture_cache/texture_cache_base.h
@@ -21,6 +21,7 @@
#include "video_core/texture_cache/descriptor_table.h"
#include "video_core/texture_cache/image_base.h"
#include "video_core/texture_cache/image_info.h"
+#include "video_core/texture_cache/image_view_base.h"
#include "video_core/texture_cache/image_view_info.h"
#include "video_core/texture_cache/render_targets.h"
#include "video_core/texture_cache/slot_vector.h"
@@ -100,12 +101,6 @@ public:
/// Return a reference to the given image view id
[[nodiscard]] ImageView& GetImageView(ImageViewId id) noexcept;
- /// Return a constant reference to the given image id
- [[nodiscard]] const Image& GetImage(ImageId id) const noexcept;
-
- /// Return a reference to the given image id
- [[nodiscard]] Image& GetImage(ImageId id) noexcept;
-
/// Mark an image as modified from the GPU
void MarkModification(ImageId id) noexcept;
@@ -181,6 +176,8 @@ public:
[[nodiscard]] bool IsRescaling() const noexcept;
+ [[nodiscard]] bool IsRescaling(const ImageViewBase& image_view) const noexcept;
+
[[nodiscard]] bool BlackListImage(ImageId image_id);
std::mutex mutex;
--
cgit v1.2.3