aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/texture_cache/image_base.cpp
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-01-04 01:56:44 -0300
committerReinUsesLisp <reinuseslisp@airmail.cc>2021-01-04 02:06:40 -0300
commit7d904fef2e6ac9ce8a3df71e758a36d39b8f69e5 (patch)
tree5bdc2bdcf8b5aeb594a3a2b16c183b13d6fe2771 /src/video_core/texture_cache/image_base.cpp
parent3a49c1a691c7e97b2eea0dffd4c1e05b3296f58c (diff)
gl_texture_cache: Avoid format views on Intel and AMD
Intel and AMD proprietary drivers are incapable of rendering to texture views of different formats than the original texture. Avoid creating these at a cache level. This will consume more memory, emulating them with copies.
Diffstat (limited to 'src/video_core/texture_cache/image_base.cpp')
-rw-r--r--src/video_core/texture_cache/image_base.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/video_core/texture_cache/image_base.cpp b/src/video_core/texture_cache/image_base.cpp
index 448a05fcc..959b3f115 100644
--- a/src/video_core/texture_cache/image_base.cpp
+++ b/src/video_core/texture_cache/image_base.cpp
@@ -120,7 +120,9 @@ void AddImageAlias(ImageBase& lhs, ImageBase& rhs, ImageId lhs_id, ImageId rhs_i
if (lhs.info.type == ImageType::Linear) {
base = SubresourceBase{.level = 0, .layer = 0};
} else {
- base = FindSubresource(rhs.info, lhs, rhs.gpu_addr, OPTIONS);
+ // We are passing relaxed formats as an option, having broken views or not won't matter
+ static constexpr bool broken_views = false;
+ base = FindSubresource(rhs.info, lhs, rhs.gpu_addr, OPTIONS, broken_views);
}
if (!base) {
LOG_ERROR(HW_GPU, "Image alias should have been flipped");