From ad0279a0ab4a71739674392c7b79f405886a8a87 Mon Sep 17 00:00:00 2001 From: lightningterror Date: Thu, 7 Feb 2019 15:47:13 +0100 Subject: [PATCH] gsdx-gui: Add windows option for GL Sparse Texture in advanced options. --- plugins/GSdx/GSdx.cpp | 16 +++++----- plugins/GSdx/GSdx.rc | 46 ++++++++++++++------------- plugins/GSdx/Window/GSSettingsDlg.cpp | 7 ++++ plugins/GSdx/resource.h | 2 ++ 4 files changed, 41 insertions(+), 30 deletions(-) diff --git a/plugins/GSdx/GSdx.cpp b/plugins/GSdx/GSdx.cpp index 4a3e0472b6..8f82b8f78e 100644 --- a/plugins/GSdx/GSdx.cpp +++ b/plugins/GSdx/GSdx.cpp @@ -266,14 +266,14 @@ void GSdxApp::Init() m_gs_gl_ext.push_back(GSSetting(0, "Force-Disabled", "")); m_gs_gl_ext.push_back(GSSetting(1, "Force-Enabled", "")); - m_gs_hack.push_back(GSSetting(0, "Off", "Default")); - m_gs_hack.push_back(GSSetting(1, "Half", "")); - m_gs_hack.push_back(GSSetting(2, "Full", "")); + m_gs_hack.push_back(GSSetting(0, "Off", "Default")); + m_gs_hack.push_back(GSSetting(1, "Half", "")); + m_gs_hack.push_back(GSSetting(2, "Full", "")); - m_gs_offset_hack.push_back(GSSetting(0, "Off", "Default")); - m_gs_offset_hack.push_back(GSSetting(1, "Normal", "Vertex")); - m_gs_offset_hack.push_back(GSSetting(2, "Special", "Texture")); - m_gs_offset_hack.push_back(GSSetting(3, "Special", "Texture - aggressive")); + m_gs_offset_hack.push_back(GSSetting(0, "Off", "Default")); + m_gs_offset_hack.push_back(GSSetting(1, "Normal", "Vertex")); + m_gs_offset_hack.push_back(GSSetting(2, "Special", "Texture")); + m_gs_offset_hack.push_back(GSSetting(3, "Special", "Texture - aggressive")); m_gs_hw_mipmapping = { GSSetting(HWMipmapLevel::Automatic, "Automatic", "Default"), @@ -284,7 +284,7 @@ void GSdxApp::Init() m_gs_crc_level = { GSSetting(CRCHackLevel::Automatic, "Automatic", "Default"), - GSSetting(CRCHackLevel::None , "None", "Debug"), + GSSetting(CRCHackLevel::None, "None", "Debug"), GSSetting(CRCHackLevel::Minimum, "Minimum", "Debug"), GSSetting(CRCHackLevel::Partial, "Partial", "OpenGL"), GSSetting(CRCHackLevel::Full, "Full", "Direct3D"), diff --git a/plugins/GSdx/GSdx.rc b/plugins/GSdx/GSdx.rc index 0eb1d45799..a02db3658e 100644 --- a/plugins/GSdx/GSdx.rc +++ b/plugins/GSdx/GSdx.rc @@ -121,7 +121,7 @@ CAPTION "Advanced Settings & Hacks" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN // Hacks settings: - GROUPBOX "Hacks",IDC_STATIC,7,7,196,201,0,WS_EX_TRANSPARENT + GROUPBOX "Hacks",IDC_STATIC,7,7,196,186,0,WS_EX_TRANSPARENT // Column one - HW Hacks CONTROL "Align Sprite",IDC_ALIGN_SPRITE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,19,58,8 CONTROL "Alpha",IDC_ALPHAHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,32,34,8 @@ -138,32 +138,34 @@ BEGIN CONTROL "Wild Arms Offset",IDC_WILDHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,108,84,70,8 // Columns end // - RTEXT "Trilinear Filtering:",IDC_TRI_FILTER_TEXT,16,114,60,8 - COMBOBOX IDC_TRI_FILTER,80,111,116,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Half-pixel Offset:",IDC_OFFSETHACK_TEXT,14,129,62,8 - COMBOBOX IDC_OFFSETHACK,80,126,116,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Sprite:",IDC_SPRITEHACK_TEXT,54,144,22,8 - COMBOBOX IDC_SPRITEHACK,80,141,116,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Round Sprite:",IDC_ROUND_SPRITE_TEXT,30,159,46,8 - COMBOBOX IDC_ROUND_SPRITE,80,156,116,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Skipdraw Range:",IDC_STATIC,14,174,62,8 - EDITTEXT IDC_SKIPDRAWOFFSETEDIT,80,171,58,14,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER + RTEXT "Trilinear Filtering:",IDC_TRI_FILTER_TEXT,16,99,60,8 + COMBOBOX IDC_TRI_FILTER,80,96,116,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Half-pixel Offset:",IDC_OFFSETHACK_TEXT,14,114,62,8 + COMBOBOX IDC_OFFSETHACK,80,111,116,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Sprite:",IDC_SPRITEHACK_TEXT,54,129,22,8 + COMBOBOX IDC_SPRITEHACK,80,126,116,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Round Sprite:",IDC_ROUND_SPRITE_TEXT,30,144,46,8 + COMBOBOX IDC_ROUND_SPRITE,80,141,116,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Skipdraw Range:",IDC_STATIC,14,159,62,8 + EDITTEXT IDC_SKIPDRAWOFFSETEDIT,80,156,58,14,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER CONTROL "",IDC_SKIPDRAWOFFSET,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,0,0,11,14 - EDITTEXT IDC_SKIPDRAWHACKEDIT,138,171,58,14,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER + EDITTEXT IDC_SKIPDRAWHACKEDIT,138,156,58,14,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER CONTROL "",IDC_SKIPDRAWHACK,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,0,0,11,14 - RTEXT "Texture Offsets",IDC_STATIC,14,190,59,8 - RTEXT "X:",IDC_STATIC,81,190,10,8 - EDITTEXT IDC_TCOFFSETX2,94,187,44,14,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER + RTEXT "Texture Offsets",IDC_STATIC,14,175,59,8 + RTEXT "X:",IDC_STATIC,81,175,10,8 + EDITTEXT IDC_TCOFFSETX2,94,172,44,14,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER CONTROL "",IDC_TCOFFSETX,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,0,0,11,14 - RTEXT "Y:",IDC_STATIC,139,190,10,8 - EDITTEXT IDC_TCOFFSETY2,152,187,44,14,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER + RTEXT "Y:",IDC_STATIC,139,175,10,8 + EDITTEXT IDC_TCOFFSETY2,152,172,44,14,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER CONTROL "",IDC_TCOFFSETY,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,0,0,11,14 // OpenGL Advanced Settings: - GROUPBOX "OpenGL Advanced Settings",IDC_STATIC,7,210,196,48,0,WS_EX_TRANSPARENT - RTEXT "Geometry Shader:",IDC_GEOMETRY_SHADER_TEXT,14,225,62,8 - COMBOBOX IDC_GEOMETRY_SHADER_OVERRIDE,80,222,116,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Image Load Store:",IDC_IMAGE_LOAD_STORE_TEXT,14,240,62,8 - COMBOBOX IDC_IMAGE_LOAD_STORE,80,237,116,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "OpenGL Advanced Settings",IDC_STATIC,7,194,196,64,0,WS_EX_TRANSPARENT + RTEXT "Geometry Shader:",IDC_GEOMETRY_SHADER_TEXT,14,210,62,8 + COMBOBOX IDC_GEOMETRY_SHADER_OVERRIDE,80,207,116,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Image Load Store:",IDC_IMAGE_LOAD_STORE_TEXT,14,225,62,8 + COMBOBOX IDC_IMAGE_LOAD_STORE,80,222,116,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Sparse Texture:",IDC_SPARSE_TEXTURE_TEXT,14,240,62,8 + COMBOBOX IDC_SPARSE_TEXTURE,80,237,116,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP // General Settings: DEFPUSHBUTTON "OK",IDOK,52,263,50,14 DEFPUSHBUTTON "Cancel",IDCANCEL,108,263,50,14 diff --git a/plugins/GSdx/Window/GSSettingsDlg.cpp b/plugins/GSdx/Window/GSSettingsDlg.cpp index c36e0decfc..cd0eb92d9f 100644 --- a/plugins/GSdx/Window/GSSettingsDlg.cpp +++ b/plugins/GSdx/Window/GSSettingsDlg.cpp @@ -632,6 +632,7 @@ void GSHacksDlg::OnInit() ComboBoxInit(IDC_SPRITEHACK, theApp.m_gs_hack, theApp.GetConfigI("UserHacks_SpriteHack")); ComboBoxInit(IDC_GEOMETRY_SHADER_OVERRIDE, theApp.m_gs_gl_ext, theApp.GetConfigI("override_geometry_shader")); ComboBoxInit(IDC_IMAGE_LOAD_STORE, theApp.m_gs_gl_ext, theApp.GetConfigI("override_GL_ARB_shader_image_load_store")); + ComboBoxInit(IDC_SPARSE_TEXTURE, theApp.m_gs_gl_ext, theApp.GetConfigI("override_GL_ARB_sparse_texture")); SendMessage(GetDlgItem(m_hWnd, IDC_SKIPDRAWOFFSET), UDM_SETRANGE, 0, MAKELPARAM(10000, 0)); SendMessage(GetDlgItem(m_hWnd, IDC_SKIPDRAWOFFSET), UDM_SETPOS, 0, MAKELPARAM(theApp.GetConfigI("UserHacks_SkipDraw_Offset"), 0)); @@ -668,6 +669,8 @@ void GSHacksDlg::OnInit() EnableWindow(GetDlgItem(m_hWnd, IDC_GEOMETRY_SHADER_TEXT), ogl); EnableWindow(GetDlgItem(m_hWnd, IDC_IMAGE_LOAD_STORE), ogl); EnableWindow(GetDlgItem(m_hWnd, IDC_IMAGE_LOAD_STORE_TEXT), ogl); + EnableWindow(GetDlgItem(m_hWnd, IDC_SPARSE_TEXTURE), ogl); + EnableWindow(GetDlgItem(m_hWnd, IDC_SPARSE_TEXTURE_TEXT), ogl); AddTooltip(IDC_SKIPDRAWHACKEDIT); AddTooltip(IDC_SKIPDRAWHACK); @@ -770,6 +773,10 @@ bool GSHacksDlg::OnMessage(UINT message, WPARAM wParam, LPARAM lParam) { theApp.SetConfig("override_GL_ARB_shader_image_load_store", (int)data); } + if (ComboBoxGetSelData(IDC_SPARSE_TEXTURE, data)) + { + theApp.SetConfig("override_GL_ARB_sparse_texture", (int)data); + } // It's more user friendly to lower the skipdraw offset value here - it prevents the skipdraw offset // value from decreasing unnecessarily if the user types a skipdraw value that is temporarily lower diff --git a/plugins/GSdx/resource.h b/plugins/GSdx/resource.h index e1c2e30e87..2d2d31738f 100644 --- a/plugins/GSdx/resource.h +++ b/plugins/GSdx/resource.h @@ -149,6 +149,8 @@ #define IDC_GEOMETRY_SHADER_TEXT 2201 #define IDC_IMAGE_LOAD_STORE 2202 #define IDC_IMAGE_LOAD_STORE_TEXT 2203 +#define IDC_SPARSE_TEXTURE 2204 +#define IDC_SPARSE_TEXTURE_TEXT 2205 #define IDR_CONVERT_FX 10000 #define IDR_TFX_FX 10001 #define IDR_MERGE_FX 10002