@@ -559,18 +559,20 @@ namespace rsx
559559 {
560560 const auto & src_res_scale = region.source ->resolution_scaling_config ;
561561 const auto & dst_res_scale = resolution_scaling_config;
562+ const auto src_surface = ensure (dynamic_cast <const render_target_descriptor*>(slice.source ));
563+ const auto dst_surface = ensure (dynamic_cast <const render_target_descriptor*>(slice.target ));
562564
563- auto [src_width, src_height] = rsx::apply_resolution_scale<true >(src_res_scale, slice.width , slice.height , slice. source -> width (), slice. source -> height ());
564- auto [dst_width, dst_height] = rsx::apply_resolution_scale<true >(dst_res_scale, slice.width , slice.height , slice. target -> width (), slice. target -> height ());
565+ auto [src_width, src_height] = rsx::apply_resolution_scale<true >(src_res_scale, slice.width , slice.height , src_surface-> get_surface_width (), src_surface-> get_surface_height ());
566+ auto [dst_width, dst_height] = rsx::apply_resolution_scale<true >(dst_res_scale, slice.width , slice.height , dst_surface-> get_surface_width (), dst_surface-> get_surface_height ());
565567
566568 slice.transfer_scale_x *= f32 (dst_width) / src_width;
567569 slice.transfer_scale_y *= f32 (dst_height) / src_height;
568570
569571 slice.width = src_width;
570572 slice.height = src_height;
571573
572- std::tie (slice.src_x , slice.src_y ) = rsx::apply_resolution_scale<false >(src_res_scale, slice.src_x , slice.src_y , slice. source -> width (), slice. source -> height ());
573- std::tie (slice.dst_x , slice.dst_y ) = rsx::apply_resolution_scale<false >(dst_res_scale, slice.dst_x , slice.dst_y , slice. target -> width (), slice. target -> height ());
574+ std::tie (slice.src_x , slice.src_y ) = rsx::apply_resolution_scale<false >(src_res_scale, slice.src_x , slice.src_y , src_surface-> get_surface_width (), src_surface-> get_surface_height ());
575+ std::tie (slice.dst_x , slice.dst_y ) = rsx::apply_resolution_scale<false >(dst_res_scale, slice.dst_x , slice.dst_y , dst_surface-> get_surface_width (), dst_surface-> get_surface_height ());
574576 }
575577 }
576578
0 commit comments