|
|
|
|
@ -227,12 +227,18 @@ void HostDisplay::CalculateDrawRect(s32 window_width, s32 window_height, float*
|
|
|
|
|
apply_aspect_ratio ?
|
|
|
|
|
(display_aspect_ratio / (static_cast<float>(m_display_width) / static_cast<float>(m_display_height))) :
|
|
|
|
|
1.0f;
|
|
|
|
|
const float display_width = static_cast<float>(m_display_width) * x_scale;
|
|
|
|
|
const float display_height = static_cast<float>(m_display_height);
|
|
|
|
|
const float active_left = static_cast<float>(m_display_active_left) * x_scale;
|
|
|
|
|
const float active_top = static_cast<float>(m_display_active_top);
|
|
|
|
|
const float active_width = static_cast<float>(m_display_active_width) * x_scale;
|
|
|
|
|
const float active_height = static_cast<float>(m_display_active_height);
|
|
|
|
|
const float display_width = g_settings.display_stretch_vertically ?
|
|
|
|
|
static_cast<float>(m_display_width) : static_cast<float>(m_display_width) * x_scale;
|
|
|
|
|
const float display_height = g_settings.display_stretch_vertically ?
|
|
|
|
|
static_cast<float>(m_display_height) / x_scale : static_cast<float>(m_display_height);
|
|
|
|
|
const float active_left = g_settings.display_stretch_vertically ?
|
|
|
|
|
static_cast<float>(m_display_active_left) : static_cast<float>(m_display_active_left) * x_scale;
|
|
|
|
|
const float active_top = g_settings.display_stretch_vertically ?
|
|
|
|
|
static_cast<float>(m_display_active_top) / x_scale : static_cast<float>(m_display_active_top);
|
|
|
|
|
const float active_width = g_settings.display_stretch_vertically ?
|
|
|
|
|
static_cast<float>(m_display_active_width) : static_cast<float>(m_display_active_width) * x_scale;
|
|
|
|
|
const float active_height = g_settings.display_stretch_vertically ?
|
|
|
|
|
static_cast<float>(m_display_active_height) / x_scale : static_cast<float>(m_display_active_height);
|
|
|
|
|
if (out_x_scale)
|
|
|
|
|
*out_x_scale = x_scale;
|
|
|
|
|
|
|
|
|
|
@ -488,7 +494,12 @@ bool HostDisplay::WriteDisplayTextureToFile(std::string filename, bool full_reso
|
|
|
|
|
const float ss_width_scale = static_cast<float>(m_display_active_width) / static_cast<float>(m_display_width);
|
|
|
|
|
const float ss_height_scale = static_cast<float>(m_display_active_height) / static_cast<float>(m_display_height);
|
|
|
|
|
const float ss_aspect_ratio = m_display_aspect_ratio * ss_width_scale / ss_height_scale;
|
|
|
|
|
resize_width = static_cast<s32>(static_cast<float>(resize_height) * ss_aspect_ratio);
|
|
|
|
|
resize_width = g_settings.display_stretch_vertically ?
|
|
|
|
|
m_display_texture_view_width : static_cast<s32>(static_cast<float>(resize_height) * ss_aspect_ratio);
|
|
|
|
|
resize_height = g_settings.display_stretch_vertically ?
|
|
|
|
|
static_cast<s32>(static_cast<float>(resize_height) /
|
|
|
|
|
(m_display_aspect_ratio / (static_cast<float>(m_display_width) / static_cast<float>(m_display_height)))) :
|
|
|
|
|
resize_height;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
|