diff options
Diffstat (limited to 'src/video_core')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_rasterizer.cpp | 3 | ||||
| -rw-r--r-- | src/video_core/texture_cache/texture_cache.h | 7 |
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() { | |||
| 207 | 207 | ||
| 208 | query_cache.UpdateCounters(); | 208 | query_cache.UpdateCounters(); |
| 209 | 209 | ||
| 210 | const auto& regs = maxwell3d.regs; | 210 | auto& regs = maxwell3d.regs; |
| 211 | const bool use_color = regs.clear_buffers.R || regs.clear_buffers.G || regs.clear_buffers.B || | 211 | const bool use_color = regs.clear_buffers.R || regs.clear_buffers.G || regs.clear_buffers.B || |
| 212 | regs.clear_buffers.A; | 212 | regs.clear_buffers.A; |
| 213 | const bool use_depth = regs.clear_buffers.Z; | 213 | const bool use_depth = regs.clear_buffers.Z; |
| @@ -228,6 +228,7 @@ void RasterizerVulkan::Clear() { | |||
| 228 | up_scale = Settings::values.resolution_info.up_scale; | 228 | up_scale = Settings::values.resolution_info.up_scale; |
| 229 | down_shift = Settings::values.resolution_info.down_shift; | 229 | down_shift = Settings::values.resolution_info.down_shift; |
| 230 | } | 230 | } |
| 231 | UpdateViewportsState(regs); | ||
| 231 | 232 | ||
| 232 | VkClearRect clear_rect{ | 233 | VkClearRect clear_rect{ |
| 233 | .rect = GetScissorState(regs, 0, up_scale, down_shift), | 234 | .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) { | |||
| 205 | return; | 205 | return; |
| 206 | } | 206 | } |
| 207 | 207 | ||
| 208 | u32 scale_rating; | 208 | u32 scale_rating = 0; |
| 209 | bool rescaled; | 209 | bool rescaled = false; |
| 210 | std::array<ImageId, NUM_RT> tmp_color_images{}; | 210 | std::array<ImageId, NUM_RT> tmp_color_images{}; |
| 211 | ImageId tmp_depth_image{}; | 211 | ImageId tmp_depth_image{}; |
| 212 | do { | 212 | do { |
| @@ -223,7 +223,7 @@ void TextureCache<P>::UpdateRenderTargets(bool is_clear) { | |||
| 223 | bool can_rescale = true; | 223 | bool can_rescale = true; |
| 224 | bool any_blacklisted = false; | 224 | bool any_blacklisted = false; |
| 225 | const auto check_rescale = [&](ImageViewId view_id, ImageId& id_save) { | 225 | const auto check_rescale = [&](ImageViewId view_id, ImageId& id_save) { |
| 226 | if (view_id) { | 226 | if (view_id != NULL_IMAGE_VIEW_ID && view_id != ImageViewId{}) { |
| 227 | const auto& view = slot_image_views[view_id]; | 227 | const auto& view = slot_image_views[view_id]; |
| 228 | const auto image_id = view.image_id; | 228 | const auto image_id = view.image_id; |
| 229 | id_save = image_id; | 229 | id_save = image_id; |
| @@ -265,6 +265,7 @@ void TextureCache<P>::UpdateRenderTargets(bool is_clear) { | |||
| 265 | scale_up(tmp_color_images[index]); | 265 | scale_up(tmp_color_images[index]); |
| 266 | } | 266 | } |
| 267 | scale_up(tmp_depth_image); | 267 | scale_up(tmp_depth_image); |
| 268 | scale_rating = 2; | ||
| 268 | } | 269 | } |
| 269 | } else { | 270 | } else { |
| 270 | rescaled = false; | 271 | rescaled = false; |