GSDX-UI: Add Mipmap combobox

Mipmapping is now supported on hardware renderers thanks to Gregory. Please report any observed hardware mipmapping issues on the forums (http://forums.pcsx2.net/Thread-New-feature-Needs-testing-GSdx-HW-mode-Experimental-mipmap-support) as potentially the HW mipmap code might still have some bugs.
This commit is contained in:
Akash 2016-11-05 22:19:17 +05:30
parent 253bd1aea3
commit 1547dd4215
9 changed files with 64 additions and 41 deletions

View File

@ -397,8 +397,8 @@ void populate_main_table(GtkWidget* main_table)
GtkWidget* mipmap_label = left_label("Mipmap (Insert):"); GtkWidget* mipmap_label = left_label("Mipmap (Insert):");
GtkWidget* mipmap_combo_box = CreateComboBoxFromVector(theApp.m_gs_hack, "mipmap"); GtkWidget* mipmap_combo_box = CreateComboBoxFromVector(theApp.m_gs_hack, "mipmap");
AddTooltip(mipmap_label, IDC_MIPMAP); AddTooltip(mipmap_label, IDC_MIPMAP_SW);
AddTooltip(mipmap_combo_box, IDC_MIPMAP); AddTooltip(mipmap_combo_box, IDC_MIPMAP_SW);
s_table_line = 0; s_table_line = 0;
InsertWidgetInTable(main_table, render_label, render_combo_box); InsertWidgetInTable(main_table, render_label, render_combo_box);

View File

@ -33,18 +33,17 @@ GSRendererHW::GSRendererHW(GSTextureCache* tc)
, m_channel_shuffle(false) , m_channel_shuffle(false)
, m_lod(GSVector2i(0,0)) , m_lod(GSVector2i(0,0))
{ {
m_mipmap = theApp.GetConfigI("mipmap_hw");
m_upscale_multiplier = theApp.GetConfigI("upscale_multiplier"); m_upscale_multiplier = theApp.GetConfigI("upscale_multiplier");
m_large_framebuffer = theApp.GetConfigB("large_framebuffer"); m_large_framebuffer = theApp.GetConfigB("large_framebuffer");
if (theApp.GetConfigB("UserHacks")) { if (theApp.GetConfigB("UserHacks")) {
m_userhacks_align_sprite_X = theApp.GetConfigB("UserHacks_align_sprite_X"); m_userhacks_align_sprite_X = theApp.GetConfigB("UserHacks_align_sprite_X");
m_userhacks_round_sprite_offset = theApp.GetConfigI("UserHacks_round_sprite_offset"); m_userhacks_round_sprite_offset = theApp.GetConfigI("UserHacks_round_sprite_offset");
m_userhacks_disable_gs_mem_clear = theApp.GetConfigB("UserHacks_DisableGsMemClear"); m_userhacks_disable_gs_mem_clear = theApp.GetConfigB("UserHacks_DisableGsMemClear");
m_mipmap = theApp.GetConfigI("UserHacks_mipmap");
} else { } else {
m_userhacks_align_sprite_X = false; m_userhacks_align_sprite_X = false;
m_userhacks_round_sprite_offset = 0; m_userhacks_round_sprite_offset = 0;
m_userhacks_disable_gs_mem_clear = false; m_userhacks_disable_gs_mem_clear = false;
m_mipmap = 0;
} }
if (!m_upscale_multiplier) { //Custom Resolution if (!m_upscale_multiplier) { //Custom Resolution

View File

@ -115,6 +115,8 @@ const char* dialog_message(int ID, bool* updateText) {
case IDC_SWTHREADS: case IDC_SWTHREADS:
case IDC_SWTHREADS_EDIT: case IDC_SWTHREADS_EDIT:
return "Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging)"; return "Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging)";
case IDC_MIPMAP_SW:
return "Enables mipmapping, which some games require to render correctly.";
case IDC_SHADEBOOST: case IDC_SHADEBOOST:
return "Allows brightness, contrast and saturation to be manually adjusted."; return "Allows brightness, contrast and saturation to be manually adjusted.";
case IDC_SHADER_FX: case IDC_SHADER_FX:
@ -141,8 +143,11 @@ const char* dialog_message(int ID, bool* updateText) {
// Exclusive for Hardware Renderer // Exclusive for Hardware Renderer
case IDC_PRELOAD_GS: case IDC_PRELOAD_GS:
return "Uploads GS data when rendering a new frame to reproduce some effects accurately. Fixes black screen issues in games like Armored Core: Last Raven."; return "Uploads GS data when rendering a new frame to reproduce some effects accurately. Fixes black screen issues in games like Armored Core: Last Raven.";
case IDC_MIPMAP: case IDC_MIPMAP_HW:
return "Enables mipmapping, which some games require to render correctly."; return "Control the accuracy level of the mipmapping emulation\n\n"
"Off:\nMipmapping emulation is disabled.\n\n"
"Basic (Fast):\nPartially emulates mipmapping, performance impact is negligent at most cases.\n\n"
"Full (Slow):\nCompletely emulates the mipmapping function of the GS, might significantly impact performance.";
case IDC_FAST_TC_INV: case IDC_FAST_TC_INV:
return "By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise." return "By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise."
"\n\nThis hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load.\n\nIt helps snowblind engine game."; "\n\nThis hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load.\n\nIt helps snowblind engine game.";

View File

@ -70,7 +70,8 @@ enum {
IDC_SHADEBOOST, IDC_SHADEBOOST,
IDC_SHADER_FX, IDC_SHADER_FX,
IDC_FXAA, IDC_FXAA,
IDC_MIPMAP, IDC_MIPMAP_SW,
IDC_MIPMAP_HW,
IDC_PRELOAD_GS, IDC_PRELOAD_GS,
IDC_FAST_TC_INV, IDC_FAST_TC_INV,
IDC_LARGE_FB, IDC_LARGE_FB,

View File

@ -145,6 +145,7 @@ void GSSettingsDlg::OnInit()
ComboBoxInit(IDC_ADAPTER, adapter_settings, adapter_sel); ComboBoxInit(IDC_ADAPTER, adapter_settings, adapter_sel);
ComboBoxInit(IDC_OPENCL_DEVICE, m_ocl_devs, ocl_sel); ComboBoxInit(IDC_OPENCL_DEVICE, m_ocl_devs, ocl_sel);
ComboBoxInit(IDC_MIPMAP_HW, theApp.m_gs_hw_mipmapping, theApp.GetConfigI("mipmap_hw"));
UpdateRenderers(); UpdateRenderers();
ComboBoxInit(IDC_INTERLACE, theApp.m_gs_interlace, theApp.GetConfigI("interlace")); ComboBoxInit(IDC_INTERLACE, theApp.m_gs_interlace, theApp.GetConfigI("interlace"));
@ -158,8 +159,8 @@ void GSSettingsDlg::OnInit()
CheckDlgButton(m_hWnd, IDC_LARGE_FB, theApp.GetConfigB("large_framebuffer")); CheckDlgButton(m_hWnd, IDC_LARGE_FB, theApp.GetConfigB("large_framebuffer"));
CheckDlgButton(m_hWnd, IDC_LOGZ, theApp.GetConfigB("logz")); CheckDlgButton(m_hWnd, IDC_LOGZ, theApp.GetConfigB("logz"));
CheckDlgButton(m_hWnd, IDC_FBA, theApp.GetConfigB("fba")); CheckDlgButton(m_hWnd, IDC_FBA, theApp.GetConfigB("fba"));
CheckDlgButton(m_hWnd, IDC_MIPMAP_SW, theApp.GetConfigB("mipmap"));
CheckDlgButton(m_hWnd, IDC_AA1, theApp.GetConfigB("aa1")); CheckDlgButton(m_hWnd, IDC_AA1, theApp.GetConfigB("aa1"));
CheckDlgButton(m_hWnd, IDC_MIPMAP, theApp.GetConfigB("mipmap"));
CheckDlgButton(m_hWnd, IDC_ACCURATE_DATE, theApp.GetConfigB("accurate_date")); CheckDlgButton(m_hWnd, IDC_ACCURATE_DATE, theApp.GetConfigB("accurate_date"));
// Hacks // Hacks
@ -181,7 +182,8 @@ void GSSettingsDlg::OnInit()
AddTooltip(IDC_ACCURATE_BLEND_UNIT); AddTooltip(IDC_ACCURATE_BLEND_UNIT);
AddTooltip(IDC_AFCOMBO); AddTooltip(IDC_AFCOMBO);
AddTooltip(IDC_AA1); AddTooltip(IDC_AA1);
AddTooltip(IDC_MIPMAP); AddTooltip(IDC_MIPMAP_HW);
AddTooltip(IDC_MIPMAP_SW);
AddTooltip(IDC_SWTHREADS); AddTooltip(IDC_SWTHREADS);
AddTooltip(IDC_SWTHREADS_EDIT); AddTooltip(IDC_SWTHREADS_EDIT);
AddTooltip(IDC_FBA); AddTooltip(IDC_FBA);
@ -277,6 +279,11 @@ bool GSSettingsDlg::OnCommand(HWND hWnd, UINT id, UINT code)
theApp.SetConfig("interlace", (int)data); theApp.SetConfig("interlace", (int)data);
} }
if (ComboBoxGetSelData(IDC_MIPMAP_HW, data))
{
theApp.SetConfig("mipmap_hw", (int)data);
}
if(ComboBoxGetSelData(IDC_UPSCALE_MULTIPLIER, data)) if(ComboBoxGetSelData(IDC_UPSCALE_MULTIPLIER, data))
{ {
theApp.SetConfig("upscale_multiplier", (int)data); theApp.SetConfig("upscale_multiplier", (int)data);
@ -306,12 +313,12 @@ bool GSSettingsDlg::OnCommand(HWND hWnd, UINT id, UINT code)
theApp.SetConfig("MaxAnisotropy", (int)data); theApp.SetConfig("MaxAnisotropy", (int)data);
} }
theApp.SetConfig("mipmap", (int)IsDlgButtonChecked(m_hWnd, IDC_MIPMAP_SW));
theApp.SetConfig("paltex", (int)IsDlgButtonChecked(m_hWnd, IDC_PALTEX)); theApp.SetConfig("paltex", (int)IsDlgButtonChecked(m_hWnd, IDC_PALTEX));
theApp.SetConfig("large_framebuffer", (int)IsDlgButtonChecked(m_hWnd, IDC_LARGE_FB)); theApp.SetConfig("large_framebuffer", (int)IsDlgButtonChecked(m_hWnd, IDC_LARGE_FB));
theApp.SetConfig("logz", (int)IsDlgButtonChecked(m_hWnd, IDC_LOGZ)); theApp.SetConfig("logz", (int)IsDlgButtonChecked(m_hWnd, IDC_LOGZ));
theApp.SetConfig("fba", (int)IsDlgButtonChecked(m_hWnd, IDC_FBA)); theApp.SetConfig("fba", (int)IsDlgButtonChecked(m_hWnd, IDC_FBA));
theApp.SetConfig("aa1", (int)IsDlgButtonChecked(m_hWnd, IDC_AA1)); theApp.SetConfig("aa1", (int)IsDlgButtonChecked(m_hWnd, IDC_AA1));
theApp.SetConfig("mipmap", (int)IsDlgButtonChecked(m_hWnd, IDC_MIPMAP));
theApp.SetConfig("accurate_date", (int)IsDlgButtonChecked(m_hWnd, IDC_ACCURATE_DATE)); theApp.SetConfig("accurate_date", (int)IsDlgButtonChecked(m_hWnd, IDC_ACCURATE_DATE));
theApp.SetConfig("UserHacks", (int)IsDlgButtonChecked(m_hWnd, IDC_HACKS_ENABLED)); theApp.SetConfig("UserHacks", (int)IsDlgButtonChecked(m_hWnd, IDC_HACKS_ENABLED));
@ -419,6 +426,8 @@ void GSSettingsDlg::UpdateControls()
ShowWindow(GetDlgItem(m_hWnd, IDC_ACCURATE_BLEND_UNIT), ogl ? SW_SHOW : SW_HIDE); ShowWindow(GetDlgItem(m_hWnd, IDC_ACCURATE_BLEND_UNIT), ogl ? SW_SHOW : SW_HIDE);
ShowWindow(GetDlgItem(m_hWnd, IDC_ACCURATE_BLEND_UNIT_TEXT), ogl ? SW_SHOW : SW_HIDE); ShowWindow(GetDlgItem(m_hWnd, IDC_ACCURATE_BLEND_UNIT_TEXT), ogl ? SW_SHOW : SW_HIDE);
EnableWindow(GetDlgItem(m_hWnd, IDC_MIPMAP_HW), hw);
EnableWindow(GetDlgItem(m_hWnd, IDC_MIPMAP_HW_TEXT), hw);
EnableWindow(GetDlgItem(m_hWnd, IDC_CRC_LEVEL), hw); EnableWindow(GetDlgItem(m_hWnd, IDC_CRC_LEVEL), hw);
EnableWindow(GetDlgItem(m_hWnd, IDC_LARGE_FB), integer_scaling != 1 && hw); EnableWindow(GetDlgItem(m_hWnd, IDC_LARGE_FB), integer_scaling != 1 && hw);
EnableWindow(GetDlgItem(m_hWnd, IDC_CRC_LEVEL_TEXT), hw); EnableWindow(GetDlgItem(m_hWnd, IDC_CRC_LEVEL_TEXT), hw);
@ -447,8 +456,8 @@ void GSSettingsDlg::UpdateControls()
EnableWindow(GetDlgItem(m_hWnd, IDC_ACCURATE_BLEND_UNIT_TEXT), ogl && hw); EnableWindow(GetDlgItem(m_hWnd, IDC_ACCURATE_BLEND_UNIT_TEXT), ogl && hw);
// Software mode settings // Software mode settings
EnableWindow(GetDlgItem(m_hWnd, IDC_MIPMAP_SW), sw);
EnableWindow(GetDlgItem(m_hWnd, IDC_AA1), sw); EnableWindow(GetDlgItem(m_hWnd, IDC_AA1), sw);
EnableWindow(GetDlgItem(m_hWnd, IDC_MIPMAP), sw);
EnableWindow(GetDlgItem(m_hWnd, IDC_SWTHREADS_TEXT), sw); EnableWindow(GetDlgItem(m_hWnd, IDC_SWTHREADS_TEXT), sw);
EnableWindow(GetDlgItem(m_hWnd, IDC_SWTHREADS_EDIT), sw); EnableWindow(GetDlgItem(m_hWnd, IDC_SWTHREADS_EDIT), sw);
EnableWindow(GetDlgItem(m_hWnd, IDC_SWTHREADS), sw); EnableWindow(GetDlgItem(m_hWnd, IDC_SWTHREADS), sw);

View File

@ -214,6 +214,10 @@ void GSdxApp::Init()
m_gs_hack.push_back(GSSetting(1, "Half", "")); m_gs_hack.push_back(GSSetting(1, "Half", ""));
m_gs_hack.push_back(GSSetting(2, "Full", "")); m_gs_hack.push_back(GSSetting(2, "Full", ""));
m_gs_hw_mipmapping.push_back(GSSetting(0, "Off", ""));
m_gs_hw_mipmapping.push_back(GSSetting(1, "Basic", "Fast"));
m_gs_hw_mipmapping.push_back(GSSetting(2, "Full", "Slow"));
m_gs_crc_level.push_back(GSSetting(0 , "None", "Debug")); m_gs_crc_level.push_back(GSSetting(0 , "None", "Debug"));
m_gs_crc_level.push_back(GSSetting(1 , "Minimum", "Debug")); m_gs_crc_level.push_back(GSSetting(1 , "Minimum", "Debug"));
m_gs_crc_level.push_back(GSSetting(2 , "Partial", "OpenGL Recommended")); m_gs_crc_level.push_back(GSSetting(2 , "Partial", "OpenGL Recommended"));
@ -303,6 +307,7 @@ void GSdxApp::Init()
m_default_configuration["linear_present"] = "1"; m_default_configuration["linear_present"] = "1";
m_default_configuration["MaxAnisotropy"] = "0"; m_default_configuration["MaxAnisotropy"] = "0";
m_default_configuration["mipmap"] = "1"; m_default_configuration["mipmap"] = "1";
m_default_configuration["mipmap_hw"] = "0";
m_default_configuration["ModeHeight"] = "480"; m_default_configuration["ModeHeight"] = "480";
m_default_configuration["ModeWidth"] = "640"; m_default_configuration["ModeWidth"] = "640";
m_default_configuration["NTSC_Saturation"] = "1"; m_default_configuration["NTSC_Saturation"] = "1";
@ -347,7 +352,6 @@ void GSdxApp::Init()
m_default_configuration["UserHacks_DisablePartialInvalidation"] = "0"; m_default_configuration["UserHacks_DisablePartialInvalidation"] = "0";
m_default_configuration["UserHacks_HalfPixelOffset"] = "0"; m_default_configuration["UserHacks_HalfPixelOffset"] = "0";
m_default_configuration["UserHacks_merge_pp_sprite"] = "0"; m_default_configuration["UserHacks_merge_pp_sprite"] = "0";
m_default_configuration["UserHacks_mipmap"] = "0";
m_default_configuration["UserHacks_MSAA"] = "0"; m_default_configuration["UserHacks_MSAA"] = "0";
m_default_configuration["UserHacks_unscale_point_line"] = "0"; m_default_configuration["UserHacks_unscale_point_line"] = "0";
m_default_configuration["UserHacks_round_sprite_offset"] = "0"; m_default_configuration["UserHacks_round_sprite_offset"] = "0";

View File

@ -71,6 +71,7 @@ public:
vector<GSSetting> m_gs_filter; vector<GSSetting> m_gs_filter;
vector<GSSetting> m_gs_gl_ext; vector<GSSetting> m_gs_gl_ext;
vector<GSSetting> m_gs_hack; vector<GSSetting> m_gs_hack;
vector<GSSetting> m_gs_hw_mipmapping;
vector<GSSetting> m_gs_crc_level; vector<GSSetting> m_gs_crc_level;
vector<GSSetting> m_gs_acc_blend_level; vector<GSSetting> m_gs_acc_blend_level;
vector<GSSetting> m_gs_tv_shaders; vector<GSSetting> m_gs_tv_shaders;

View File

@ -222,7 +222,7 @@ BEGIN
CONTROL "Windowed",IDC_WINDOWED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,129,157,49,10 CONTROL "Windowed",IDC_WINDOWED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,129,157,49,10
END END
IDD_CONFIG DIALOGEX 0, 0, 243, 373 IDD_CONFIG DIALOGEX 0, 0, 243, 389
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "GSdx Settings" CAPTION "GSdx Settings"
FONT 8, "MS Shell Dlg", 400, 0, 0x1 FONT 8, "MS Shell Dlg", 400, 0, 0x1
@ -240,7 +240,7 @@ BEGIN
COMBOBOX IDC_OPENCL_DEVICE,71,100,166,118,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_OPENCL_DEVICE,71,100,166,118,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Interlacing (F5):",IDC_STATIC,6,87,52,8 LTEXT "Interlacing (F5):",IDC_STATIC,6,87,52,8
COMBOBOX IDC_INTERLACE,71,85,166,118,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_INTERLACE,71,85,166,118,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Hardware Mode Settings",IDC_STATIC,6,116,231,152,BS_CENTER GROUPBOX "Hardware Mode Settings",IDC_STATIC,6,116,231,168,BS_CENTER
CONTROL "Allow 8-Bit Textures",IDC_PALTEX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,128,90,10 CONTROL "Allow 8-Bit Textures",IDC_PALTEX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,128,90,10
LTEXT "Internal Resolution:",IDC_UPSCALE_MULTIPLIER_TEXT,22,144,79,8 LTEXT "Internal Resolution:",IDC_UPSCALE_MULTIPLIER_TEXT,22,144,79,8
COMBOBOX IDC_UPSCALE_MULTIPLIER,105,142,127,98,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_UPSCALE_MULTIPLIER,105,142,127,98,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
@ -253,26 +253,28 @@ BEGIN
COMBOBOX IDC_FILTER,105,174,127,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_FILTER,105,174,127,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Anisotropic Filtering:",IDC_AFCOMBO_TEXT,22,192,79,8 LTEXT "Anisotropic Filtering:",IDC_AFCOMBO_TEXT,22,192,79,8
COMBOBOX IDC_AFCOMBO,105,190,127,118,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_AFCOMBO,105,190,127,118,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "CRC Hack Level:",IDC_CRC_LEVEL_TEXT,22,208,79,8 LTEXT "Mipmapping (Ins):",IDC_MIPMAP_HW_TEXT,22,208,79,8
COMBOBOX IDC_CRC_LEVEL,105,206,127,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_MIPMAP_HW,105,206,127,118,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Enable HW Hacks",IDC_HACKS_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,223,71,10 LTEXT "CRC Hack Level:",IDC_CRC_LEVEL_TEXT,22,224,79,8
PUSHBUTTON "Configure Hacks",IDC_HACKSBUTTON,105,221,127,14 COMBOBOX IDC_CRC_LEVEL,105,222,127,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Accurate Date",IDC_ACCURATE_DATE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,239,72,8 CONTROL "Enable HW Hacks",IDC_HACKS_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,239,71,10
PUSHBUTTON "Configure Hacks",IDC_HACKSBUTTON,105,237,127,14
CONTROL "Accurate Date",IDC_ACCURATE_DATE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,255,72,8
CONTROL "Large Framebuffer",IDC_LARGE_FB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,105,128,90,10 CONTROL "Large Framebuffer",IDC_LARGE_FB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,105,128,90,10
LTEXT "Blending Unit Accuracy:",IDC_ACCURATE_BLEND_UNIT_TEXT,22,252,79,10 LTEXT "Blending Unit Accuracy:",IDC_ACCURATE_BLEND_UNIT_TEXT,22,268,79,10
COMBOBOX IDC_ACCURATE_BLEND_UNIT,105,251,127,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_ACCURATE_BLEND_UNIT,105,267,127,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Logarithmic Z",IDC_LOGZ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,239,90,8 CONTROL "Logarithmic Z",IDC_LOGZ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,255,90,8
CONTROL "Alpha Correction",IDC_FBA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,105,239,74,8 CONTROL "Alpha Correction",IDC_FBA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,105,255,74,8
CONTROL "Mipmapping",IDC_MIPMAP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,304,90,8 CONTROL "Mipmapping",IDC_MIPMAP_SW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,320,90,8
GROUPBOX "Software Mode Settings",IDC_STATIC,6,275,231,40,BS_CENTER GROUPBOX "Software Mode Settings",IDC_STATIC,6,291,231,40,BS_CENTER
CONTROL "Edge Anti-aliasing (AA1)",IDC_AA1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,287,91,10 CONTROL "Edge Anti-aliasing (AA1)",IDC_AA1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,303,91,10
LTEXT "Rendering threads:",IDC_SWTHREADS_TEXT,124,288,80,8 LTEXT "Rendering threads:",IDC_SWTHREADS_TEXT,124,304,80,8
EDITTEXT IDC_SWTHREADS_EDIT,198,286,34,13,ES_AUTOHSCROLL | ES_NUMBER EDITTEXT IDC_SWTHREADS_EDIT,198,302,34,13,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "",IDC_SWTHREADS,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,221,285,11,14 CONTROL "",IDC_SWTHREADS,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,221,301,11,14
PUSHBUTTON "Configure",IDC_SHADEBUTTON,105,323,127,14 PUSHBUTTON "Configure",IDC_SHADEBUTTON,105,339,127,14
LTEXT "Shader Configuration:",IDC_STATIC,11,326,90,14 LTEXT "Shader Configuration:",IDC_STATIC,11,342,90,14
DEFPUSHBUTTON "OK",IDOK,69,353,50,14 DEFPUSHBUTTON "OK",IDOK,69,369,50,14
PUSHBUTTON "Cancel",IDCANCEL,125,353,50,14 PUSHBUTTON "Cancel",IDCANCEL,125,369,50,14
END END

View File

@ -98,13 +98,15 @@
#define IDC_SHADER_FX_CONF_TEXT 2094 #define IDC_SHADER_FX_CONF_TEXT 2094
#define IDC_CUSTOM_TEXT 2095 #define IDC_CUSTOM_TEXT 2095
#define IDC_UPSCALE_MULTIPLIER_TEXT 2096 #define IDC_UPSCALE_MULTIPLIER_TEXT 2096
#define IDC_MIPMAP 2097 #define IDC_MIPMAP_HW 2097
#define IDC_PRELOAD_GS 2098 #define IDC_MIPMAP_HW_TEXT 2098
#define IDC_TVSHADER 2099 #define IDC_MIPMAP_SW 2099
#define IDC_FAST_TC_INV 2101 #define IDC_PRELOAD_GS 2100
#define IDC_LARGE_FB 2102 #define IDC_TVSHADER 2101
#define IDC_AUTO_FLUSH 2103 #define IDC_FAST_TC_INV 2102
#define IDC_UNSCALE_POINT_LINE 2104 #define IDC_LARGE_FB 2103
#define IDC_AUTO_FLUSH 2104
#define IDC_UNSCALE_POINT_LINE 2105
#define IDR_CONVERT_FX 10000 #define IDR_CONVERT_FX 10000
#define IDR_TFX_FX 10001 #define IDR_TFX_FX 10001
#define IDR_MERGE_FX 10002 #define IDR_MERGE_FX 10002
@ -123,7 +125,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS #ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 10013 #define _APS_NEXT_RESOURCE_VALUE 10013
#define _APS_NEXT_COMMAND_VALUE 32771 #define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 2103 #define _APS_NEXT_CONTROL_VALUE 2106
#define _APS_NEXT_SYMED_VALUE 5000 #define _APS_NEXT_SYMED_VALUE 5000
#endif #endif
#endif #endif