From 5cce640f48c24278976cbbad6de31a41a8b6ef7f Mon Sep 17 00:00:00 2001 From: Matthew Parlane Date: Wed, 10 Jun 2015 21:38:04 +1200 Subject: [PATCH 1/4] Anisotropic Filtering option is now correct in D3D Values are saved/loaded as 0,1,2,3,4 but need to be used as 1,2,4,8,16 This was correct for OGL but not D3D --- Source/Core/VideoBackends/D3D/Render.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Core/VideoBackends/D3D/Render.cpp b/Source/Core/VideoBackends/D3D/Render.cpp index b41d750eab..a56cec5f51 100644 --- a/Source/Core/VideoBackends/D3D/Render.cpp +++ b/Source/Core/VideoBackends/D3D/Render.cpp @@ -1017,7 +1017,7 @@ void Renderer::ApplyState(bool bUseDstAlpha) for (unsigned int stage = 0; stage < 8; stage++) { // TODO: cache SamplerState directly, not d3d object - gx_state.sampler[stage].max_anisotropy = g_ActiveConfig.iMaxAnisotropy; + gx_state.sampler[stage].max_anisotropy = 1 << g_ActiveConfig.iMaxAnisotropy; D3D::stateman->SetSampler(stage, gx_state_cache.Get(gx_state.sampler[stage])); } From 4cbaddb7ad1e84946a6fb1af1d853af15be90615 Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Wed, 10 Jun 2015 16:04:09 +0200 Subject: [PATCH 2/4] GeometryShaderGen: Don't use `centroid in` for input variables. --- Source/Core/VideoCommon/GeometryShaderGen.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Core/VideoCommon/GeometryShaderGen.cpp b/Source/Core/VideoCommon/GeometryShaderGen.cpp index 8462822511..3dc745bf6a 100644 --- a/Source/Core/VideoCommon/GeometryShaderGen.cpp +++ b/Source/Core/VideoCommon/GeometryShaderGen.cpp @@ -94,7 +94,7 @@ static inline void GenerateGeometryShader(T& out, u32 primitive_type, API_TYPE A out.Write("#define InstanceID gl_InvocationID\n"); out.Write("in VertexData {\n"); - GenerateVSOutputMembers(out, ApiType, g_ActiveConfig.backend_info.bSupportsBindingLayout ? "centroid" : "centroid in"); + GenerateVSOutputMembers(out, ApiType); out.Write("} vs[%d];\n", vertex_in); out.Write("out VertexData {\n"); From fd637030e4859a676108115cc8bf34947cb8f71f Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Wed, 10 Jun 2015 16:09:23 +0200 Subject: [PATCH 3/4] GeometryShaderGen: Consistently use xfmem just as the vertex shader. There are very rare conditions in which xfmem can actually desync from bpmem. --- Source/Core/VideoCommon/GeometryShaderGen.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/Core/VideoCommon/GeometryShaderGen.cpp b/Source/Core/VideoCommon/GeometryShaderGen.cpp index 3dc745bf6a..5a590f1793 100644 --- a/Source/Core/VideoCommon/GeometryShaderGen.cpp +++ b/Source/Core/VideoCommon/GeometryShaderGen.cpp @@ -81,7 +81,7 @@ static inline void GenerateGeometryShader(T& out, u32 primitive_type, API_TYPE A "\tint4 " I_TEXOFFSET";\n" "};\n"); - uid_data->numTexGens = bpmem.genMode.numtexgens; + uid_data->numTexGens = xfmem.numTexGen.numTexGens; uid_data->pixel_lighting = g_ActiveConfig.bEnablePixelLighting; out.Write("struct VS_OUTPUT {\n"); @@ -233,7 +233,7 @@ static inline void GenerateGeometryShader(T& out, u32 primitive_type, API_TYPE A out.Write("\tif (" I_TEXOFFSET"[2] != 0) {\n"); out.Write("\tfloat texOffset = 1.0 / float(" I_TEXOFFSET"[2]);\n"); - for (unsigned int i = 0; i < bpmem.genMode.numtexgens; ++i) + for (unsigned int i = 0; i < xfmem.numTexGen.numTexGens; ++i) { out.Write("\tif (((" I_TEXOFFSET"[0] >> %d) & 0x1) != 0)\n", i); out.Write("\t\tr.tex%d.x += texOffset;\n", i); @@ -258,7 +258,7 @@ static inline void GenerateGeometryShader(T& out, u32 primitive_type, API_TYPE A out.Write("\tif (" I_TEXOFFSET"[3] != 0) {\n"); out.Write("\tfloat2 texOffset = float2(1.0 / float(" I_TEXOFFSET"[3]), 1.0 / float(" I_TEXOFFSET"[3]));\n"); - for (unsigned int i = 0; i < bpmem.genMode.numtexgens; ++i) + for (unsigned int i = 0; i < xfmem.numTexGen.numTexGens; ++i) { out.Write("\tif (((" I_TEXOFFSET"[1] >> %d) & 0x1) != 0) {\n", i); out.Write("\t\tll.tex%d.xy += float2(0,1) * texOffset;\n", i); From 9f929c85934eacb89bb1f43bc5c58d0c49e1c8fc Mon Sep 17 00:00:00 2001 From: degasus Date: Fri, 12 Jun 2015 19:32:50 +0200 Subject: [PATCH 4/4] Hotkeys: Fix translation array --- Source/Core/Core/HotkeyManager.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Source/Core/Core/HotkeyManager.cpp b/Source/Core/Core/HotkeyManager.cpp index 77119c3df7..64ffb097f7 100644 --- a/Source/Core/Core/HotkeyManager.cpp +++ b/Source/Core/Core/HotkeyManager.cpp @@ -109,6 +109,8 @@ const std::string hotkey_labels[] = _trans("Load State Last 6"), _trans("Load State Last 7"), _trans("Load State Last 8"), + _trans("Load State Last 9"), + _trans("Load State Last 10"), _trans("Save Oldest State"), _trans("Undo Load State"),