mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-06-19 07:15:47 -04:00
GPU: Add adaptive and box downsampling modes
This commit is contained in:
@ -1080,6 +1080,21 @@ void SDLHostInterface::DrawQuickSettingsMenu()
|
||||
settings_changed |= ImGui::MenuItem("Display Linear Filtering", nullptr, &m_settings_copy.display_linear_filtering);
|
||||
settings_changed |= ImGui::MenuItem("Display Integer Scaling", nullptr, &m_settings_copy.display_integer_scaling);
|
||||
|
||||
if (ImGui::BeginMenu("Aspect Ratio"))
|
||||
{
|
||||
for (u32 i = 0; i < static_cast<u32>(DisplayAspectRatio::Count); i++)
|
||||
{
|
||||
if (ImGui::MenuItem(Settings::GetDisplayAspectRatioName(static_cast<DisplayAspectRatio>(i)), nullptr,
|
||||
m_settings_copy.display_aspect_ratio == static_cast<DisplayAspectRatio>(i)))
|
||||
{
|
||||
m_settings_copy.display_aspect_ratio = static_cast<DisplayAspectRatio>(i);
|
||||
settings_changed = true;
|
||||
}
|
||||
}
|
||||
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
|
||||
if (ImGui::BeginMenu("Crop Mode"))
|
||||
{
|
||||
for (u32 i = 0; i < static_cast<u32>(DisplayCropMode::Count); i++)
|
||||
@ -1095,14 +1110,14 @@ void SDLHostInterface::DrawQuickSettingsMenu()
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
|
||||
if (ImGui::BeginMenu("Aspect Ratio"))
|
||||
if (ImGui::BeginMenu("Downsample Mode"))
|
||||
{
|
||||
for (u32 i = 0; i < static_cast<u32>(DisplayAspectRatio::Count); i++)
|
||||
for (u32 i = 0; i < static_cast<u32>(GPUDownsampleMode::Count); i++)
|
||||
{
|
||||
if (ImGui::MenuItem(Settings::GetDisplayAspectRatioName(static_cast<DisplayAspectRatio>(i)), nullptr,
|
||||
m_settings_copy.display_aspect_ratio == static_cast<DisplayAspectRatio>(i)))
|
||||
if (ImGui::MenuItem(Settings::GetDownsampleModeDisplayName(static_cast<GPUDownsampleMode>(i)), nullptr,
|
||||
m_settings_copy.gpu_downsample_mode == static_cast<GPUDownsampleMode>(i)))
|
||||
{
|
||||
m_settings_copy.display_aspect_ratio = static_cast<DisplayAspectRatio>(i);
|
||||
m_settings_copy.gpu_downsample_mode = static_cast<GPUDownsampleMode>(i);
|
||||
settings_changed = true;
|
||||
}
|
||||
}
|
||||
@ -1541,6 +1556,21 @@ void SDLHostInterface::DrawSettingsWindow()
|
||||
settings_changed = true;
|
||||
}
|
||||
|
||||
ImGui::Text("Downsample Mode:");
|
||||
ImGui::SameLine(indent);
|
||||
int gpu_downsample_mode = static_cast<int>(m_settings_copy.gpu_downsample_mode);
|
||||
if (ImGui::Combo(
|
||||
"##gpu_downsample_mode", &gpu_downsample_mode,
|
||||
[](void*, int index, const char** out_text) {
|
||||
*out_text = Settings::GetDownsampleModeDisplayName(static_cast<GPUDownsampleMode>(index));
|
||||
return true;
|
||||
},
|
||||
nullptr, static_cast<int>(GPUDownsampleMode::Count)))
|
||||
{
|
||||
m_settings_copy.gpu_downsample_mode = static_cast<GPUDownsampleMode>(gpu_downsample_mode);
|
||||
settings_changed = true;
|
||||
}
|
||||
|
||||
settings_changed |= ImGui::Checkbox("Use Debug Device", &m_settings_copy.gpu_use_debug_device);
|
||||
settings_changed |= ImGui::Checkbox("Linear Filtering", &m_settings_copy.display_linear_filtering);
|
||||
settings_changed |= ImGui::Checkbox("Integer Scaling", &m_settings_copy.display_integer_scaling);
|
||||
|
Reference in New Issue
Block a user