Merge pull request #9189 from vonchenplus/stupid
video_core: Fix scaling graphical regressions for multiple games
This commit is contained in:
		| @@ -467,7 +467,7 @@ void GraphicsPipeline::ConfigureImpl(bool is_indexed) { | |||||||
| } | } | ||||||
|  |  | ||||||
| void GraphicsPipeline::ConfigureDraw(const RescalingPushConstant& rescaling, | void GraphicsPipeline::ConfigureDraw(const RescalingPushConstant& rescaling, | ||||||
|                                      const RenderAreaPushConstant& render_are) { |                                      const RenderAreaPushConstant& render_area) { | ||||||
|     texture_cache.UpdateRenderTargets(false); |     texture_cache.UpdateRenderTargets(false); | ||||||
|     scheduler.RequestRenderpass(texture_cache.GetFramebuffer()); |     scheduler.RequestRenderpass(texture_cache.GetFramebuffer()); | ||||||
|  |  | ||||||
| @@ -484,8 +484,8 @@ void GraphicsPipeline::ConfigureDraw(const RescalingPushConstant& rescaling, | |||||||
|     const void* const descriptor_data{update_descriptor_queue.UpdateData()}; |     const void* const descriptor_data{update_descriptor_queue.UpdateData()}; | ||||||
|     scheduler.Record([this, descriptor_data, bind_pipeline, rescaling_data = rescaling.Data(), |     scheduler.Record([this, descriptor_data, bind_pipeline, rescaling_data = rescaling.Data(), | ||||||
|                       is_rescaling, update_rescaling, |                       is_rescaling, update_rescaling, | ||||||
|                       uses_render_area = render_are.uses_render_area, |                       uses_render_area = render_area.uses_render_area, | ||||||
|                       render_area_data = render_are.words](vk::CommandBuffer cmdbuf) { |                       render_area_data = render_area.words](vk::CommandBuffer cmdbuf) { | ||||||
|         if (bind_pipeline) { |         if (bind_pipeline) { | ||||||
|             cmdbuf.BindPipeline(VK_PIPELINE_BIND_POINT_GRAPHICS, *pipeline); |             cmdbuf.BindPipeline(VK_PIPELINE_BIND_POINT_GRAPHICS, *pipeline); | ||||||
|         } |         } | ||||||
| @@ -494,7 +494,7 @@ void GraphicsPipeline::ConfigureDraw(const RescalingPushConstant& rescaling, | |||||||
|                              rescaling_data.data()); |                              rescaling_data.data()); | ||||||
|         if (update_rescaling) { |         if (update_rescaling) { | ||||||
|             const f32 config_down_factor{Settings::values.resolution_info.down_factor}; |             const f32 config_down_factor{Settings::values.resolution_info.down_factor}; | ||||||
|             const f32 scale_down_factor{is_rescaling ? config_down_factor : 2.0f}; |             const f32 scale_down_factor{is_rescaling ? config_down_factor : 1.0f}; | ||||||
|             cmdbuf.PushConstants(*pipeline_layout, VK_SHADER_STAGE_ALL_GRAPHICS, |             cmdbuf.PushConstants(*pipeline_layout, VK_SHADER_STAGE_ALL_GRAPHICS, | ||||||
|                                  RESCALING_LAYOUT_DOWN_FACTOR_OFFSET, sizeof(scale_down_factor), |                                  RESCALING_LAYOUT_DOWN_FACTOR_OFFSET, sizeof(scale_down_factor), | ||||||
|                                  &scale_down_factor); |                                  &scale_down_factor); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user