mirror of
https://github.com/RPCS3/rpcs3.git
synced 2026-07-10 01:54:46 -06:00
rsx: Allow blit engine to preserve resolution scaling
- Since we're using the surface cache for storage, might as well enable resolution scaling on blit resources.
This commit is contained in:
parent
451f503975
commit
633e53674c
@ -1073,6 +1073,7 @@ namespace rsx
|
||||
surface_type create_surface_from_rsx_section(
|
||||
command_list_type command_list,
|
||||
const rsx::image_section_attributes_t& attributes,
|
||||
const rsx::surface_scaling_config_t& scaling_config,
|
||||
Args&&... extra_params)
|
||||
{
|
||||
cache_tag = rsx::get_shared_tag();
|
||||
@ -1087,7 +1088,7 @@ namespace rsx
|
||||
attributes.width,
|
||||
attributes.height,
|
||||
attributes.pitch,
|
||||
{},
|
||||
scaling_config,
|
||||
std::forward<Args>(extra_params)...);
|
||||
}
|
||||
|
||||
|
||||
@ -1538,7 +1538,7 @@ namespace rsx
|
||||
dst_area.y2 += dst_offset.y;
|
||||
|
||||
// We have to create the surface in the surface cache
|
||||
rsx::image_section_attributes_t section_attr
|
||||
const rsx::image_section_attributes_t section_attr
|
||||
{
|
||||
.address = rsx_range.start,
|
||||
.gcm_format = preferred_dst_format,
|
||||
@ -1553,9 +1553,16 @@ namespace rsx
|
||||
.edge_clamped = false
|
||||
};
|
||||
|
||||
const surface_scaling_config_t scaling_config =
|
||||
{
|
||||
.scale_percent = static_cast<u16>(g_cfg.video.resolution_scale_percent),
|
||||
.min_scalable_dimension = static_cast<u16>(g_cfg.video.min_scalable_dimension),
|
||||
};
|
||||
|
||||
auto dst_surface = m_rtts.create_surface_from_rsx_section(
|
||||
cmd,
|
||||
section_attr,
|
||||
scaling_config,
|
||||
std::forward<Args>(extras)...);
|
||||
|
||||
ensure(dst_surface, "Failed to create target surface");
|
||||
|
||||
Loading…
Reference in New Issue
Block a user