Index: Core/Config.cpp =================================================================== --- Core/Config.cpp (revision 511) +++ Core/Config.cpp (working copy) @@ -57,6 +57,7 @@ graphics->Get("DisplayFramebuffer", &bDisplayFramebuffer, false); graphics->Get("WindowZoom", &iWindowZoom, 1); graphics->Get("BufferedRendering", &bBufferedRendering, true); + graphics->Get("UseGLSL12", &bUseGLSL12,false); IniFile::Section *sound = iniFile.GetOrCreateSection("Sound"); sound->Get("Enable", &bEnableSound, true); @@ -89,6 +90,7 @@ graphics->Set("DisplayFramebuffer", bDisplayFramebuffer); graphics->Set("WindowZoom", iWindowZoom); graphics->Set("BufferedRendering", bBufferedRendering); + graphics->Set("UseGLSL12", bUseGLSL12); IniFile::Section *sound = iniFile.GetOrCreateSection("Sound"); sound->Set("Enable", bEnableSound); Index: Core/Config.h =================================================================== --- Core/Config.h (revision 511) +++ Core/Config.h (working copy) @@ -43,6 +43,7 @@ bool bIgnoreBadMemAccess; bool bDisplayFramebuffer; bool bBufferedRendering; + bool bUseGLSL12; bool bShowTouchControls; bool bShowDebuggerOnLoad; Index: GPU/GLES/FragmentShaderGenerator.cpp =================================================================== --- GPU/GLES/FragmentShaderGenerator.cpp (revision 511) +++ GPU/GLES/FragmentShaderGenerator.cpp (working copy) @@ -14,11 +14,12 @@ // Official git repository and contact information can be found at // https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/. +#include "../../Core/Config.h" #if defined(USING_GLES2) #define GLSL_ES_1_0 #else -#define GLSL_1_3 +#define GLSL_1_3 //Does not seem to matter on windows? // SDL 1.2 on Apple does not have support for OpenGL 3 and hence needs // special treatment in the shader generator. @@ -70,7 +71,11 @@ #if defined(GLSL_ES_1_0) WRITE(p, "precision mediump float;\n"); #elif !defined(FORCE_OPENGL_2_0) +if(g_Config.bUseGLSL12){ + WRITE(p, "#version 120\n"); +}else{ WRITE(p, "#version 130\n"); +} #endif int lmode = gstate.lmode & 1; @@ -107,7 +112,7 @@ const char *secondary = ""; // Secondary color for specular on top of texture if (lmode) { - WRITE(p, " vec4 s = vec4(v_color1.xyz, 0.0);"); + WRITE(p, " vec4 s = vec4(v_color1.xyz, 0.0);\n"); secondary = " + s"; } else { WRITE(p, " vec4 s = vec4(0.0, 0.0, 0.0, 0.0);\n"); @@ -156,14 +161,14 @@ } // Color doubling if (gstate.texfunc & 0x10000) { - WRITE(p, " v = v * vec4(2.0, 2.0, 2.0, 1.0);"); + WRITE(p, " v = v * vec4(2.0, 2.0, 2.0, 1.0);\n"); } if (gstate.alphaTestEnable & 1) { int alphaTestFunc = gstate.alphatest & 7; const char *alphaTestFuncs[] = { "#", "#", " == ", " != ", " < ", " <= ", " > ", " >= " }; // never/always don't make sense if (alphaTestFuncs[alphaTestFunc][0] != '#') - WRITE(p, "if (!(v.a %s u_alpharef.x)) discard;", alphaTestFuncs[alphaTestFunc]); + WRITE(p, "if (!(v.a %s u_alpharef.x)) discard;\n", alphaTestFuncs[alphaTestFunc]); } if (gstate.isFogEnabled()) { Index: GPU/GLES/VertexShaderGenerator.cpp =================================================================== --- GPU/GLES/VertexShaderGenerator.cpp (revision 511) +++ GPU/GLES/VertexShaderGenerator.cpp (working copy) @@ -21,6 +21,7 @@ #include +#include "../../Core/Config.h" #include "../ge_constants.h" #include "../GPUState.h" @@ -36,7 +37,8 @@ static char buffer[16384]; -#define WRITE(x, ...) p+=sprintf(p, x "\n" __VA_ARGS__) +//#define WRITE(x, ...) p+=sprintf(p, x "\n" __VA_ARGS__) //Broke Config checking +#define WRITE p+=sprintf // prim so we can special case for RECTANGLES :( void ComputeVertexShaderID(VertexShaderID *id, int prim) @@ -68,49 +70,55 @@ #if defined(USING_GLES2) WRITE("precision highp float;"); #elif !defined(FORCE_OPENGL_2_0) - WRITE("#version 130"); + +if(g_Config.bUseGLSL12){ + WRITE(p, "#version 120\n"); +}else{ + WRITE(p, "#version 130\n"); +} + #endif int lmode = gstate.lmode & 1; int doTexture = (gstate.textureMapEnable & 1) && !(gstate.clearmode & 1); - WRITE("attribute vec3 a_position;"); + WRITE(p,"attribute vec3 a_position;\n"); if (doTexture) - WRITE("attribute vec2 a_texcoord;"); - WRITE("attribute vec4 a_color0;"); + WRITE(p,"attribute vec2 a_texcoord;\n"); + WRITE(p,"attribute vec4 a_color0;\n"); if (lmode) - WRITE("attribute vec4 a_color1;"); + WRITE(p,"attribute vec4 a_color1;\n"); if (gstate.isModeThrough()) { - WRITE("uniform mat4 u_proj_through;"); + WRITE(p,"uniform mat4 u_proj_through;\n"); } else { - WRITE("uniform mat4 u_proj;"); + WRITE(p,"uniform mat4 u_proj;\n"); // Add all the uniforms we'll need to transform properly. } - WRITE("varying vec4 v_color0;"); + WRITE(p,"varying vec4 v_color0;\n"); if (lmode) - WRITE("varying vec4 v_color1;"); + WRITE(p,"varying vec4 v_color1;\n"); if (doTexture) - WRITE("varying vec2 v_texcoord;"); + WRITE(p,"varying vec2 v_texcoord;\n"); if (gstate.isFogEnabled()) - WRITE("varying float v_depth;"); - WRITE("void main() {"); - WRITE(" v_color0 = a_color0;"); + WRITE(p,"varying float v_depth;\n"); + WRITE(p,"void main() {\n"); + WRITE(p," v_color0 = a_color0;\n"); if (lmode) - WRITE(" v_color1 = a_color1;"); + WRITE(p," v_color1 = a_color1;\n"); if (doTexture) - WRITE(" v_texcoord = a_texcoord;"); + WRITE(p," v_texcoord = a_texcoord;\n"); if (gstate.isModeThrough()) { - WRITE(" gl_Position = u_proj_through * vec4(a_position, 1.0);"); + WRITE(p," gl_Position = u_proj_through * vec4(a_position, 1.0);\n"); } else { - WRITE(" gl_Position = u_proj * vec4(a_position, 1.0);"); + WRITE(p," gl_Position = u_proj * vec4(a_position, 1.0);\n"); } if (gstate.isFogEnabled()) { - WRITE(" v_depth = gl_Position.z;"); + WRITE(p," v_depth = gl_Position.z;\n"); } - WRITE("}"); + WRITE(p,"}\n"); return buffer; } Index: Windows/ppsspp.rc =================================================================== --- Windows/ppsspp.rc (revision 511) +++ Windows/ppsspp.rc (working copy) @@ -9,7 +9,6 @@ #undef APSTUDIO_READONLY_SYMBOLS #define IDC_STATIC -1 - ///////////////////////////////////////////////////////////////////////////// // Neutral resources @@ -214,6 +213,7 @@ MENUITEM "&Toggle Full Screen\tF12", ID_OPTIONS_FULLSCREEN MENUITEM "&Display raw framebuffer", ID_OPTIONS_DISPLAYRAWFRAMEBUFFER MENUITEM "&Buffered rendering", ID_OPTIONS_BUFFEREDRENDERING + MENUITEM "&Use OpenGL 1.2 Shaders", ID_OPTIONS_USEGLSL12SHADERS MENUITEM "&Show debug statistics", ID_OPTIONS_SHOWDEBUGSTATISTICS MENUITEM SEPARATOR MENUITEM "Screen &1x", ID_OPTIONS_SCREEN1X @@ -236,9 +236,41 @@ ///////////////////////////////////////////////////////////////////////////// +// English (United States) resources +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#ifdef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + +///////////////////////////////////////////////////////////////////////////// // Swedish (Sweden) resources #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_SVE) @@ -390,6 +422,8 @@ // // Generated from the TEXTINCLUDE 3 resource. // + + ///////////////////////////////////////////////////////////////////////////// #endif // not APSTUDIO_INVOKED Index: Windows/resource.h =================================================================== --- Windows/resource.h (revision 511) +++ Windows/resource.h (working copy) @@ -1,256 +1,258 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by ppsspp.rc -// -#define IDS_DLGSETTINGSGENERAL 5 -#define IDS_DLGSETTINGSGCMPATHS 6 -#define IDS_DLGSETTINGSPLUGINS 7 -#define IDS_ERRORNOGAMESFOUND 9 -#define IDS_GAMELISTBANNER 10 -#define IDS_GAMELISTCOMPANY 11 -#define IDS_GAMELISTTITLE 12 -#define IDS_GAMELISTNOTES 13 -#define IDS_GAMELISTID 14 -#define IDS_GAMELISTSIZE 15 -#define IDS_GAMELISTPATH 16 -#define IDS_TIPS_LOADDOL 17 -#define IDS_TIPS_LOADELF 18 -#define IDS_TIPS_LOADGCM 19 -#define IDS_TIPS_REFRESHGAMELIST 20 -#define IDS_TIPS_RUN 21 -#define IDS_TIPS_PAUSE 22 -#define IDS_TIPS_STOP 23 -#define IDS_TIPS_FRAMEBUFFER 24 -#define IDS_TIPS_HELP 25 -#define IDS_TIPS_CONFIGUREGFX 26 -#define IDS_TIPS_CONFIGUREAUDIO 27 -#define IDS_TIPS_CONFIGUREPAD 28 -#define IDS_TIPS_CONFIGUREDVD 29 -#define IDS_TIPS_SETTINGS 30 -#define IDS_UNIMPLEMENTED 31 -#define IDS_GAMELISTGENRE 32 -#define IDS_APPNAME 33 -#define IDS_GAMELISTTYPE 34 -#define IDR_MENU1 101 -#define IDD_DISASM 102 -#define IDC_FUNCTIONLIST 103 -#define IDC_DISASMVIEW 104 -#define IDC_GOTOPC 105 -#define IDC_LEFTTABS 106 -#define IDC_RAM 107 -#define IDC_STEPOVER 108 -#define IDC_TABDATATYPE 109 -#define IDC_CALLSTACK 110 -#define IDC_UPDATECALLSTACK 111 -#define ID_MEMVIEW_GOTOINDISASM 112 -#define ID_DISASM_DYNARECRESULTS 113 -#define IDI_PPSSPP 115 -#define IDD_CONFIG 116 -#define IDI_STOPDISABLE 118 -#define ID_DEBUG_DISASSEMBLY 119 -#define ID_DEBUG_REGISTERS 120 -#define ID_DEBUG_LOG 121 -#define ID_DEBUG_BREAKPOINTS 122 -#define ID_FILE_LOAD_BIN 123 -#define ID_FILE_LOAD_ISO 125 -#define ID_FILE_LOADSTATE 126 -#define ID_FILE_SAVESTATE 127 -#define ID_EMULATION_RESET 130 -#define IDD_ABOUTBOX 133 -#define ID_DEBUG_LOADMAPFILE 134 -#define ID_CONFIG_RESOLUTION 141 -#define ID_OPTIONS_FULLSCREEN 154 -#define ID_OPTIONS_SETTINGS 155 -#define ID_CPU_DYNAREC 156 -#define ID_CPU_INTERPRETER 157 -#define ID_OPTIONS_SHOWERRORS 158 -#define ID_PLUGINS_LOADDEFAULTPLUGINS 159 -#define IDD_MEMORY 160 -#define ID_DEBUG_MEMORYVIEW 161 -#define IDR_ACCELS 162 -#define ID_FILE_LOAD_ELF 165 -#define ID_FILE_BOOTDVD 166 -#define ID_OPTIONS_ENABLEFRAMEBUFFER 167 -#define IDR_POPUPMENUS 169 -#define ID_CHEATS_ACTIONREPLAYCODES 171 -#define ID_DEBUG_MEMORYCHECKS 173 -#define ID_DVD_INSERTISO 175 -#define ID_FILE_LOAD_GCM 175 -#define ID_DVD_EJECT 176 -#define ID_DVD_ 177 -#define ID_DVD_OPENLID 178 -#define ID_PLUGINS_CONFIGUREGFXPLUGIN 179 -#define ID_PLUGINS_CONFIGUREAUDIOPLUGIN 180 -#define ID_PLUGINS_INPUTPLUGINSETTINGS 182 -#define ID_PLUGINS_CONFIGUREPADPLUGIN 182 -#define ID_DVD_BOOT 183 -#define ID_DVD_HLEBOOT 184 -#define ID_Menu185 185 -#define IDD_DIALOG2 186 -#define IDD_MEMORYSEARCH 187 -#define ID_DEBUG_MEMORYSEARCH 188 -#define ID_DEBUG_EXPERIMENT 189 -#define IDR_MENU2 190 -#define ID_DISASM_GOTOINMEMORYVIEW 197 -#define ID_DISASM_TOGGLEBREAKPOINT 198 -#define ID_MEMVIEW_DUMP 199 -#define ID_OPTIONS_LOGGPFIFO 200 -#define ID_VIEW_TOOLBAR202 202 -#define ID_VIEW_STATUSBAR 203 -#define ID_HELP_INDEX204 204 -#define ID_HELP_ 206 -#define ID_HELP_HOMEPAGE 208 -#define ID_DEBUG_COMPILESIGNATUREFILE 209 -#define ID_DEBUG_USESIGNATUREFILE 210 -#define ID_DEBUG_UNLOADALLSYMBOLS 211 -#define ID_DEBUG_RESETSYMBOLTABLE 212 -#define IDI_STOP 223 -#define IDD_INPUTBOX 226 -#define IDD_VFPU 231 -#define IDC_GO 1001 -#define IDC_ADDRESS 1002 -#define IDC_DEBUG_COUNT 1003 -#define IDC_STOP 1004 -#define IDC_SKIP 1005 -#define IDC_MEMORY 1006 -#define IDC_SH4REGISTERS 1007 -#define IDC_REGISTERS 1007 -#define IDC_BREAKPOINTS 1008 -#define IDC_STEP 1009 -#define IDC_UP 1014 -#define IDC_DIRTREE 1014 -#define IDC_DOWN 1015 -#define IDC_BREAKPOINTS_LIST 1015 -#define IDC_ADD 1016 -#define IDC_BREAKPOINT_EDIT 1017 -#define IDC_REMOVE 1018 -#define IDC_REMOVE_ALL 1019 -#define IDC_REGISTER_TAB 1019 -#define IDC_HIDE 1020 -#define IDC_TOGGLEBREAKPOINT 1049 -#define IDC_STAGE 1059 -#define IDC_MEMVIEW 1069 -#define IDC_GOTOLR 1070 -#define IDC_GOTOINT 1071 -#define IDC_MEMSORT 1073 -#define IDC_BACKWARDLINKS 1074 -#define IDC_ALLFUNCTIONS 1075 -#define IDC_RESULTS 1093 -#define IDC_SYMBOLS 1097 -#define IDC_X86ASM 1098 -#define IDC_INPUTBOX 1098 -#define IDC_MODENORMAL 1099 -#define IDC_MODESYMBOLS 1100 -#define IDC_LOG_SHOW 1101 -#define IDC_UPDATELOG 1108 -#define IDC_SETPC 1118 -#define IDC_UPDATEMISC 1134 -#define IDC_CODEADDRESS 1135 -#define IDC_BLOCKNUMBER 1136 -#define IDC_PREVBLOCK 1138 -#define IDC_REGIONS 1142 -#define IDC_REGLIST 1146 -#define IDC_VALUENAME 1148 -#define IDC_FILELIST 1150 -#define IDC_BROWSE 1159 -#define IDC_SHOWVFPU 1161 -#define ID_FILE_BOOTISO 40001 -#define ID_FILE_EXIT 40002 -#define ID_CONFIG_SELECT_PLUGINS 40003 -#define ID_BUTTON40013 40013 -#define ID_BUTTON40014 40014 -#define ID_BUTTON40015 40015 -#define ID_FILE_BOOTBIOS 40018 -#define ID_COMPARE_STARTSERVER 40019 -#define ID_COMPARE_CONNECTASCLIENT 40020 -#define ID_CPU_COMPARE_CLOSECONNECTION 40022 -#define ID_OPTIONS_EMULATESYSCALL 40023 -#define ID_DEBUG_LOCATESYMBOLS 40025 -#define ID_HELP_TOPICS 40026 -#define ID_PLUGINS_DVDPLUGINSETTINGS 40027 -#define ID_PLUGINS_CONFIGUREDVDPLUGIN 40027 -#define ID_DEBUG_SAVEMAPFILE 40028 -#define ID_DEBUG_ 40029 -#define ID_BUTTON40030 40030 -#define ID_BUTTON40031 40031 -#define ID_BUTTON40032 40032 -#define ID_BUTTON40033 40033 -#define ID_BUTTON40034 40034 -#define ID_BUTTON40035 40035 -#define ID_BUTTON40036 40036 -#define ID_BUTTON40037 40037 -#define ID_BUTTON40038 40038 -#define ID_BUTTON40039 40039 -#define ID_BUTTON40040 40040 -#define ID_BUTTON40041 40041 -#define ID_FILE_UNLOAD 40043 -#define ID_MEMCHECKS_TRIPLEMIRROR 40044 -#define ID_MEMCHECKS_DUPLICATE 40045 -#define ID_PLUGINS_CHOOSEPLUGINS 40048 -#define ID_DISASM_ADDHLE 40050 -#define ID_FUNCLIST_KILLFUNCTION 40051 -#define ID_FILE_REFRESHGAMELIST 40053 -#define ID_DISASM_RUNTOHERE 40054 -#define ID_Menu 40057 -#define ID_MEMVIEW_COPYVALUE 40058 -#define ID_DISASM_COPYINSTRUCTIONDISASM 40059 -#define ID_DISASM_COPYINSTRUCTIONHEX 40060 -#define ID_DEBUG_RUNPOWERPCTEST 40063 -#define ID_OPTIONS_CONFIGURATIONWIZARD 40064 -#define ID_TOOLS_GCMSHRINKER 40065 -#define ID_BUTTON40066 40066 -#define ID_GAMELIST_SHRINK 40067 -#define ID_GAMELIST_PROPERTIES 40068 -#define ID_GAMELIST_EXTRACT 40069 -#define ID_GAMELIST_PLAY 40070 -#define ID_EMULATION_SPEEDLIMIT 40071 -#define ID_EMULATION_RUN 40072 -#define ID_EMULATION_PAUSE 40073 -#define ID_EMULATION_STOP 40074 -#define ID_CPU_ENABLEDEBUGGING 40075 -#define ID_FILE_LOAD 40076 -#define ID_OPTIONS_ENABLEDTKMUSIC 40078 -#define ID_BUTTON40079 40079 -#define ID_HELP_ABOUT 40080 -#define ID_DISASM_FOLLOWBRANCH 40085 -#define ID_OPTIONS_IGNOREILLEGALREADS 40086 -#define ID_DISASM_COPYADDRESS 40087 -#define ID_GAMELIST_OPENWITH 40090 -#define ID_REGLIST_GOTOINMEMORYVIEW 40091 -#define ID_REGLIST_COPYVALUE 40092 -#define ID_REGLIST_COPY 40093 -#define ID_REGLIST_GOTOINDISASM 40094 -#define ID_REGLIST_CHANGE 40095 -#define ID_REGLIST_COPYVALUEATMEMOR 40100 -#define ID_GAMELIST_EXPLORE 40101 -#define ID_DEBUG_MEMORYVIEW2 40102 -#define ID_DS_SHOWBGPALETTE 40103 -#define ID_DS_SHOWBGPALETTE2 40104 -#define ID_DISASM_RENAMEFUNCTION 40105 -#define ID_DISASM_SETPCTOHERE 40107 -#define ID_SYSTEM 40108 -#define ID_SYSTEM_DUMMY 40109 -#define ID_OPTIONS_DISPLAYRAWFRAMEBUFFER 40110 -#define ID_HELP_OPENHTTP 40111 -#define ID_HELP_OPENWEBSITE 40112 -#define ID_OPTIONS_SCREEN1X 40113 -#define ID_OPTIONS_MENUEDITOR 40114 -#define ID_OPTIONS_SCREEN3X 40115 -#define ID_OPTIONS_SCREEN4X 40116 -#define ID_OPTIONS_SCREEN2X 40117 -#define ID_OPTIONS_BUFFEREDRENDERING 40118 -#define ID_EMULATION_FAST 40119 -#define ID_EMULATION_FASTINTERPRETER 40120 -#define ID_CPU_FASTINTERPRETER 40121 -#define ID_OPTIONS_SHOWDEBUGSTATISTICS 40122 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 232 -#define _APS_NEXT_COMMAND_VALUE 40123 -#define _APS_NEXT_CONTROL_VALUE 1162 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by ppsspp.rc +// +#define IDS_DLGSETTINGSGENERAL 5 +#define IDS_DLGSETTINGSGCMPATHS 6 +#define IDS_DLGSETTINGSPLUGINS 7 +#define IDS_ERRORNOGAMESFOUND 9 +#define IDS_GAMELISTBANNER 10 +#define IDS_GAMELISTCOMPANY 11 +#define IDS_GAMELISTTITLE 12 +#define IDS_GAMELISTNOTES 13 +#define IDS_GAMELISTID 14 +#define IDS_GAMELISTSIZE 15 +#define IDS_GAMELISTPATH 16 +#define IDS_TIPS_LOADDOL 17 +#define IDS_TIPS_LOADELF 18 +#define IDS_TIPS_LOADGCM 19 +#define IDS_TIPS_REFRESHGAMELIST 20 +#define IDS_TIPS_RUN 21 +#define IDS_TIPS_PAUSE 22 +#define IDS_TIPS_STOP 23 +#define IDS_TIPS_FRAMEBUFFER 24 +#define IDS_TIPS_HELP 25 +#define IDS_TIPS_CONFIGUREGFX 26 +#define IDS_TIPS_CONFIGUREAUDIO 27 +#define IDS_TIPS_CONFIGUREPAD 28 +#define IDS_TIPS_CONFIGUREDVD 29 +#define IDS_TIPS_SETTINGS 30 +#define IDS_UNIMPLEMENTED 31 +#define IDS_GAMELISTGENRE 32 +#define IDS_APPNAME 33 +#define IDS_GAMELISTTYPE 34 +#define IDR_MENU1 101 +#define IDD_DISASM 102 +#define IDC_FUNCTIONLIST 103 +#define IDC_DISASMVIEW 104 +#define IDC_GOTOPC 105 +#define IDC_LEFTTABS 106 +#define IDC_RAM 107 +#define IDC_STEPOVER 108 +#define IDC_TABDATATYPE 109 +#define IDC_CALLSTACK 110 +#define IDC_UPDATECALLSTACK 111 +#define ID_MEMVIEW_GOTOINDISASM 112 +#define ID_DISASM_DYNARECRESULTS 113 +#define IDI_PPSSPP 115 +#define IDD_CONFIG 116 +#define IDI_STOPDISABLE 118 +#define ID_DEBUG_DISASSEMBLY 119 +#define ID_DEBUG_REGISTERS 120 +#define ID_DEBUG_LOG 121 +#define ID_DEBUG_BREAKPOINTS 122 +#define ID_FILE_LOAD_BIN 123 +#define ID_FILE_LOAD_ISO 125 +#define ID_FILE_LOADSTATE 126 +#define ID_FILE_SAVESTATE 127 +#define ID_EMULATION_RESET 130 +#define IDD_ABOUTBOX 133 +#define ID_DEBUG_LOADMAPFILE 134 +#define ID_CONFIG_RESOLUTION 141 +#define ID_OPTIONS_FULLSCREEN 154 +#define ID_OPTIONS_SETTINGS 155 +#define ID_CPU_DYNAREC 156 +#define ID_CPU_INTERPRETER 157 +#define ID_OPTIONS_SHOWERRORS 158 +#define ID_PLUGINS_LOADDEFAULTPLUGINS 159 +#define IDD_MEMORY 160 +#define ID_DEBUG_MEMORYVIEW 161 +#define IDR_ACCELS 162 +#define ID_FILE_LOAD_ELF 165 +#define ID_FILE_BOOTDVD 166 +#define ID_OPTIONS_ENABLEFRAMEBUFFER 167 +#define IDR_POPUPMENUS 169 +#define ID_CHEATS_ACTIONREPLAYCODES 171 +#define ID_DEBUG_MEMORYCHECKS 173 +#define ID_DVD_INSERTISO 175 +#define ID_FILE_LOAD_GCM 175 +#define ID_DVD_EJECT 176 +#define ID_DVD_ 177 +#define ID_DVD_OPENLID 178 +#define ID_PLUGINS_CONFIGUREGFXPLUGIN 179 +#define ID_PLUGINS_CONFIGUREAUDIOPLUGIN 180 +#define ID_PLUGINS_INPUTPLUGINSETTINGS 182 +#define ID_PLUGINS_CONFIGUREPADPLUGIN 182 +#define ID_DVD_BOOT 183 +#define ID_DVD_HLEBOOT 184 +#define ID_Menu185 185 +#define IDD_DIALOG2 186 +#define IDD_MEMORYSEARCH 187 +#define ID_DEBUG_MEMORYSEARCH 188 +#define ID_DEBUG_EXPERIMENT 189 +#define IDR_MENU2 190 +#define ID_DISASM_GOTOINMEMORYVIEW 197 +#define ID_DISASM_TOGGLEBREAKPOINT 198 +#define ID_MEMVIEW_DUMP 199 +#define ID_OPTIONS_LOGGPFIFO 200 +#define ID_VIEW_TOOLBAR202 202 +#define ID_VIEW_STATUSBAR 203 +#define ID_HELP_INDEX204 204 +#define ID_HELP_ 206 +#define ID_HELP_HOMEPAGE 208 +#define ID_DEBUG_COMPILESIGNATUREFILE 209 +#define ID_DEBUG_USESIGNATUREFILE 210 +#define ID_DEBUG_UNLOADALLSYMBOLS 211 +#define ID_DEBUG_RESETSYMBOLTABLE 212 +#define IDI_STOP 223 +#define IDD_INPUTBOX 226 +#define IDD_VFPU 231 +#define IDC_GO 1001 +#define IDC_ADDRESS 1002 +#define IDC_DEBUG_COUNT 1003 +#define IDC_STOP 1004 +#define IDC_SKIP 1005 +#define IDC_MEMORY 1006 +#define IDC_SH4REGISTERS 1007 +#define IDC_REGISTERS 1007 +#define IDC_BREAKPOINTS 1008 +#define IDC_STEP 1009 +#define IDC_UP 1014 +#define IDC_DIRTREE 1014 +#define IDC_DOWN 1015 +#define IDC_BREAKPOINTS_LIST 1015 +#define IDC_ADD 1016 +#define IDC_BREAKPOINT_EDIT 1017 +#define IDC_REMOVE 1018 +#define IDC_REMOVE_ALL 1019 +#define IDC_REGISTER_TAB 1019 +#define IDC_HIDE 1020 +#define IDC_TOGGLEBREAKPOINT 1049 +#define IDC_STAGE 1059 +#define IDC_MEMVIEW 1069 +#define IDC_GOTOLR 1070 +#define IDC_GOTOINT 1071 +#define IDC_MEMSORT 1073 +#define IDC_BACKWARDLINKS 1074 +#define IDC_ALLFUNCTIONS 1075 +#define IDC_RESULTS 1093 +#define IDC_SYMBOLS 1097 +#define IDC_X86ASM 1098 +#define IDC_INPUTBOX 1098 +#define IDC_MODENORMAL 1099 +#define IDC_MODESYMBOLS 1100 +#define IDC_LOG_SHOW 1101 +#define IDC_UPDATELOG 1108 +#define IDC_SETPC 1118 +#define IDC_UPDATEMISC 1134 +#define IDC_CODEADDRESS 1135 +#define IDC_BLOCKNUMBER 1136 +#define IDC_PREVBLOCK 1138 +#define IDC_REGIONS 1142 +#define IDC_REGLIST 1146 +#define IDC_VALUENAME 1148 +#define IDC_FILELIST 1150 +#define IDC_BROWSE 1159 +#define IDC_SHOWVFPU 1161 +#define ID_FILE_BOOTISO 40001 +#define ID_FILE_EXIT 40002 +#define ID_CONFIG_SELECT_PLUGINS 40003 +#define ID_BUTTON40013 40013 +#define ID_BUTTON40014 40014 +#define ID_BUTTON40015 40015 +#define ID_FILE_BOOTBIOS 40018 +#define ID_COMPARE_STARTSERVER 40019 +#define ID_COMPARE_CONNECTASCLIENT 40020 +#define ID_CPU_COMPARE_CLOSECONNECTION 40022 +#define ID_OPTIONS_EMULATESYSCALL 40023 +#define ID_DEBUG_LOCATESYMBOLS 40025 +#define ID_HELP_TOPICS 40026 +#define ID_PLUGINS_DVDPLUGINSETTINGS 40027 +#define ID_PLUGINS_CONFIGUREDVDPLUGIN 40027 +#define ID_DEBUG_SAVEMAPFILE 40028 +#define ID_DEBUG_ 40029 +#define ID_BUTTON40030 40030 +#define ID_BUTTON40031 40031 +#define ID_BUTTON40032 40032 +#define ID_BUTTON40033 40033 +#define ID_BUTTON40034 40034 +#define ID_BUTTON40035 40035 +#define ID_BUTTON40036 40036 +#define ID_BUTTON40037 40037 +#define ID_BUTTON40038 40038 +#define ID_BUTTON40039 40039 +#define ID_BUTTON40040 40040 +#define ID_BUTTON40041 40041 +#define ID_FILE_UNLOAD 40043 +#define ID_MEMCHECKS_TRIPLEMIRROR 40044 +#define ID_MEMCHECKS_DUPLICATE 40045 +#define ID_PLUGINS_CHOOSEPLUGINS 40048 +#define ID_DISASM_ADDHLE 40050 +#define ID_FUNCLIST_KILLFUNCTION 40051 +#define ID_FILE_REFRESHGAMELIST 40053 +#define ID_DISASM_RUNTOHERE 40054 +#define ID_Menu 40057 +#define ID_MEMVIEW_COPYVALUE 40058 +#define ID_DISASM_COPYINSTRUCTIONDISASM 40059 +#define ID_DISASM_COPYINSTRUCTIONHEX 40060 +#define ID_DEBUG_RUNPOWERPCTEST 40063 +#define ID_OPTIONS_CONFIGURATIONWIZARD 40064 +#define ID_TOOLS_GCMSHRINKER 40065 +#define ID_BUTTON40066 40066 +#define ID_GAMELIST_SHRINK 40067 +#define ID_GAMELIST_PROPERTIES 40068 +#define ID_GAMELIST_EXTRACT 40069 +#define ID_GAMELIST_PLAY 40070 +#define ID_EMULATION_SPEEDLIMIT 40071 +#define ID_EMULATION_RUN 40072 +#define ID_EMULATION_PAUSE 40073 +#define ID_EMULATION_STOP 40074 +#define ID_CPU_ENABLEDEBUGGING 40075 +#define ID_FILE_LOAD 40076 +#define ID_OPTIONS_ENABLEDTKMUSIC 40078 +#define ID_BUTTON40079 40079 +#define ID_HELP_ABOUT 40080 +#define ID_DISASM_FOLLOWBRANCH 40085 +#define ID_OPTIONS_IGNOREILLEGALREADS 40086 +#define ID_DISASM_COPYADDRESS 40087 +#define ID_GAMELIST_OPENWITH 40090 +#define ID_REGLIST_GOTOINMEMORYVIEW 40091 +#define ID_REGLIST_COPYVALUE 40092 +#define ID_REGLIST_COPY 40093 +#define ID_REGLIST_GOTOINDISASM 40094 +#define ID_REGLIST_CHANGE 40095 +#define ID_REGLIST_COPYVALUEATMEMOR 40100 +#define ID_GAMELIST_EXPLORE 40101 +#define ID_DEBUG_MEMORYVIEW2 40102 +#define ID_DS_SHOWBGPALETTE 40103 +#define ID_DS_SHOWBGPALETTE2 40104 +#define ID_DISASM_RENAMEFUNCTION 40105 +#define ID_DISASM_SETPCTOHERE 40107 +#define ID_SYSTEM 40108 +#define ID_SYSTEM_DUMMY 40109 +#define ID_OPTIONS_DISPLAYRAWFRAMEBUFFER 40110 +#define ID_HELP_OPENHTTP 40111 +#define ID_HELP_OPENWEBSITE 40112 +#define ID_OPTIONS_SCREEN1X 40113 +#define ID_OPTIONS_MENUEDITOR 40114 +#define ID_OPTIONS_SCREEN3X 40115 +#define ID_OPTIONS_SCREEN4X 40116 +#define ID_OPTIONS_SCREEN2X 40117 +#define ID_OPTIONS_BUFFEREDRENDERING 40118 +#define ID_EMULATION_FAST 40119 +#define ID_EMULATION_FASTINTERPRETER 40120 +#define ID_CPU_FASTINTERPRETER 40121 +#define ID_OPTIONS_SHOWDEBUGSTATISTICS 40122 +#define ID_OPTIONS_USEGLSL12SHADERS 40123 +#define IDC_STATIC -1 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 232 +#define _APS_NEXT_COMMAND_VALUE 40125 +#define _APS_NEXT_CONTROL_VALUE 1162 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif Index: Windows/WndMainWindow.cpp =================================================================== --- Windows/WndMainWindow.cpp (revision 511) +++ Windows/WndMainWindow.cpp (working copy) @@ -475,6 +475,11 @@ _ViewFullScreen(hWnd); break; + case ID_OPTIONS_USEGLSL12SHADERS: + g_Config.bUseGLSL12 = !g_Config.bUseGLSL12; + UpdateMenus(); + break; + case ID_OPTIONS_DISPLAYRAWFRAMEBUFFER: g_Config.bDisplayFramebuffer = !g_Config.bDisplayFramebuffer; UpdateMenus(); @@ -612,6 +617,7 @@ // CHECK(ID_OPTIONS_ENABLEFRAMEBUFFER,g_Config.bEnableFrameBuffer); // CHECK(ID_OPTIONS_EMULATESYSCALL,g_bEmulateSyscall); CHECKITEM(ID_OPTIONS_DISPLAYRAWFRAMEBUFFER, g_Config.bDisplayFramebuffer); + CHECKITEM(ID_OPTIONS_USEGLSL12SHADERS, g_Config.bUseGLSL12); CHECKITEM(ID_OPTIONS_IGNOREILLEGALREADS,g_Config.bIgnoreBadMemAccess); CHECKITEM(ID_CPU_INTERPRETER,g_Config.iCpuCore == CPU_INTERPRETER); CHECKITEM(ID_CPU_FASTINTERPRETER,g_Config.iCpuCore == CPU_FASTINTERPRETER);