summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2021-09-20 19:11:03 +0200
committerFernando Sahmkow <fsahmkow27@gmail.com>2021-11-16 22:11:30 +0100
commit19ca0c9ab5cbaa86e30743ea760e0aab5c40c1d6 (patch)
treefc7ba8c9aea27d45087700e9f8f779d3d8587b10
parentrescaling_pass: Logic simplification and minor style cleanup (diff)
downloadyuzu-19ca0c9ab5cbaa86e30743ea760e0aab5c40c1d6.tar
yuzu-19ca0c9ab5cbaa86e30743ea760e0aab5c40c1d6.tar.gz
yuzu-19ca0c9ab5cbaa86e30743ea760e0aab5c40c1d6.tar.bz2
yuzu-19ca0c9ab5cbaa86e30743ea760e0aab5c40c1d6.tar.lz
yuzu-19ca0c9ab5cbaa86e30743ea760e0aab5c40c1d6.tar.xz
yuzu-19ca0c9ab5cbaa86e30743ea760e0aab5c40c1d6.tar.zst
yuzu-19ca0c9ab5cbaa86e30743ea760e0aab5c40c1d6.zip
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.cpp3
-rw-r--r--src/video_core/texture_cache/texture_cache.h7
2 files changed, 6 insertions, 4 deletions
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
index 87f265e09..1ceffa718 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
@@ -207,7 +207,7 @@ void RasterizerVulkan::Clear() {
query_cache.UpdateCounters();
- const auto& regs = maxwell3d.regs;
+ auto& regs = maxwell3d.regs;
const bool use_color = regs.clear_buffers.R || regs.clear_buffers.G || regs.clear_buffers.B ||
regs.clear_buffers.A;
const bool use_depth = regs.clear_buffers.Z;
@@ -228,6 +228,7 @@ void RasterizerVulkan::Clear() {
up_scale = Settings::values.resolution_info.up_scale;
down_shift = Settings::values.resolution_info.down_shift;
}
+ UpdateViewportsState(regs);
VkClearRect clear_rect{
.rect = GetScissorState(regs, 0, up_scale, down_shift),
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h
index 764984546..a543776fd 100644
--- a/src/video_core/texture_cache/texture_cache.h
+++ b/src/video_core/texture_cache/texture_cache.h
@@ -205,8 +205,8 @@ void TextureCache<P>::UpdateRenderTargets(bool is_clear) {
return;
}
- u32 scale_rating;
- bool rescaled;
+ u32 scale_rating = 0;
+ bool rescaled = false;
std::array<ImageId, NUM_RT> tmp_color_images{};
ImageId tmp_depth_image{};
do {
@@ -223,7 +223,7 @@ void TextureCache<P>::UpdateRenderTargets(bool is_clear) {
bool can_rescale = true;
bool any_blacklisted = false;
const auto check_rescale = [&](ImageViewId view_id, ImageId& id_save) {
- if (view_id) {
+ if (view_id != NULL_IMAGE_VIEW_ID && view_id != ImageViewId{}) {
const auto& view = slot_image_views[view_id];
const auto image_id = view.image_id;
id_save = image_id;
@@ -265,6 +265,7 @@ void TextureCache<P>::UpdateRenderTargets(bool is_clear) {
scale_up(tmp_color_images[index]);
}
scale_up(tmp_depth_image);
+ scale_rating = 2;
}
} else {
rescaled = false;