From 6e12465dc48b4da24640f50efe20b9eef157d199 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Sat, 30 Dec 2023 13:50:32 +0100 Subject: [PATCH 01/10] Move through-mode UV scaling for rects from Transform to ExpandRectangles --- GPU/Common/SoftwareTransformCommon.cpp | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/GPU/Common/SoftwareTransformCommon.cpp b/GPU/Common/SoftwareTransformCommon.cpp index 3c3f1f092675..770dae43ca77 100644 --- a/GPU/Common/SoftwareTransformCommon.cpp +++ b/GPU/Common/SoftwareTransformCommon.cpp @@ -179,7 +179,8 @@ void SoftwareTransform::Transform(int prim, u32 vertType, const DecVtxFormat &de float uscale = 1.0f; float vscale = 1.0f; - if (throughmode) { + if (throughmode && prim != GE_PRIM_RECTANGLES) { + // For through rectangles, we do this scaling in Expand. uscale /= gstate_c.curTextureWidth; vscale /= gstate_c.curTextureHeight; } @@ -621,6 +622,14 @@ void SoftwareTransform::ExpandRectangles(int vertexCount, int &maxIndex, u16 *&i u16 *indsOut = newInds; maxIndex = 4 * (vertexCount / 2); + + float uscale = 1.0f; + float vscale = 1.0f; + if (throughmode) { + uscale /= gstate_c.curTextureWidth; + vscale /= gstate_c.curTextureHeight; + } + for (int i = 0; i < vertexCount; i += 2) { const TransformedVertex &transVtxTL = transformed[indsIn[i + 0]]; const TransformedVertex &transVtxBR = transformed[indsIn[i + 1]]; @@ -630,23 +639,27 @@ void SoftwareTransform::ExpandRectangles(int vertexCount, int &maxIndex, u16 *&i // bottom right trans[0] = transVtxBR; + trans[0].u = transVtxBR.u * uscale; + trans[0].v = transVtxBR.v * vscale; // top right trans[1] = transVtxBR; trans[1].y = transVtxTL.y; - trans[1].v = transVtxTL.v; + trans[1].u = transVtxBR.u * uscale; + trans[1].v = transVtxTL.v * vscale; // top left trans[2] = transVtxBR; trans[2].x = transVtxTL.x; trans[2].y = transVtxTL.y; - trans[2].u = transVtxTL.u; - trans[2].v = transVtxTL.v; + trans[2].u = transVtxTL.u * uscale; + trans[2].v = transVtxTL.v * vscale; // bottom left trans[3] = transVtxBR; trans[3].x = transVtxTL.x; - trans[3].u = transVtxTL.u; + trans[3].u = transVtxTL.u * uscale; + trans[3].v = transVtxBR.v * vscale; // That's the four corners. Now process UV rotation. if (throughmode) { From 944b3c5be50945854b9c7796111308e1707ce601 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Sat, 30 Dec 2023 13:56:38 +0100 Subject: [PATCH 02/10] Add pixel mapping detection for through mode RECT primitives --- GPU/Common/SoftwareTransformCommon.cpp | 20 ++++++++++++++++++-- GPU/Common/SoftwareTransformCommon.h | 4 +++- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/GPU/Common/SoftwareTransformCommon.cpp b/GPU/Common/SoftwareTransformCommon.cpp index 770dae43ca77..66ed057da657 100644 --- a/GPU/Common/SoftwareTransformCommon.cpp +++ b/GPU/Common/SoftwareTransformCommon.cpp @@ -497,7 +497,7 @@ void SoftwareTransform::BuildDrawingParams(int prim, int vertexCount, u32 vertTy bool useBufferedRendering = fbman->UseBufferedRendering(); if (prim == GE_PRIM_RECTANGLES) { - ExpandRectangles(vertexCount, maxIndex, inds, transformed, transformedExpanded, numTrans, throughmode); + ExpandRectangles(vertexCount, maxIndex, inds, transformed, transformedExpanded, numTrans, throughmode, &result->pixelMapped); result->drawBuffer = transformedExpanded; result->drawIndexed = true; @@ -518,14 +518,17 @@ void SoftwareTransform::BuildDrawingParams(int prim, int vertexCount, u32 vertTy ExpandPoints(vertexCount, maxIndex, inds, transformed, transformedExpanded, numTrans, throughmode); result->drawBuffer = transformedExpanded; result->drawIndexed = true; + result->pixelMapped = false; } else if (prim == GE_PRIM_LINES) { ExpandLines(vertexCount, maxIndex, inds, transformed, transformedExpanded, numTrans, throughmode); result->drawBuffer = transformedExpanded; result->drawIndexed = true; + result->pixelMapped = false; } else { // We can simply draw the unexpanded buffer. numTrans = vertexCount; result->drawIndexed = true; + result->pixelMapped = false; // If we don't support custom cull in the shader, process it here. if (!gstate_c.Use(GPU_USE_CULL_DISTANCE) && vertexCount > 0 && !throughmode) { @@ -611,7 +614,7 @@ void SoftwareTransform::CalcCullParams(float &minZValue, float &maxZValue) { std::swap(minZValue, maxZValue); } -void SoftwareTransform::ExpandRectangles(int vertexCount, int &maxIndex, u16 *&inds, const TransformedVertex *transformed, TransformedVertex *transformedExpanded, int &numTrans, bool throughmode) { +void SoftwareTransform::ExpandRectangles(int vertexCount, int &maxIndex, u16 *&inds, const TransformedVertex *transformed, TransformedVertex *transformedExpanded, int &numTrans, bool throughmode, bool *pixelMappedExactly) { // Rectangles always need 2 vertices, disregard the last one if there's an odd number. vertexCount = vertexCount & ~1; numTrans = 0; @@ -630,10 +633,21 @@ void SoftwareTransform::ExpandRectangles(int vertexCount, int &maxIndex, u16 *&i vscale /= gstate_c.curTextureHeight; } + bool pixelMapped = true; + for (int i = 0; i < vertexCount; i += 2) { const TransformedVertex &transVtxTL = transformed[indsIn[i + 0]]; const TransformedVertex &transVtxBR = transformed[indsIn[i + 1]]; + float dx = transVtxBR.x - transVtxTL.x; + float dy = transVtxBR.y - transVtxTL.y; + float du = transVtxBR.u - transVtxTL.u; + float dv = transVtxBR.v - transVtxTL.v; + + if (dx <= 0 || dy <= 0 || dx != du || dy != dv) { + pixelMapped = false; + } + // We have to turn the rectangle into two triangles, so 6 points. // This is 4 verts + 6 indices. @@ -676,12 +690,14 @@ void SoftwareTransform::ExpandRectangles(int vertexCount, int &maxIndex, u16 *&i indsOut[3] = i * 2 + 3; indsOut[4] = i * 2 + 0; indsOut[5] = i * 2 + 2; + trans += 4; indsOut += 6; numTrans += 6; } inds = newInds; + *pixelMappedExactly = pixelMapped; } void SoftwareTransform::ExpandLines(int vertexCount, int &maxIndex, u16 *&inds, const TransformedVertex *transformed, TransformedVertex *transformedExpanded, int &numTrans, bool throughmode) { diff --git a/GPU/Common/SoftwareTransformCommon.h b/GPU/Common/SoftwareTransformCommon.h index 987e65c236c2..7c0960fb05b2 100644 --- a/GPU/Common/SoftwareTransformCommon.h +++ b/GPU/Common/SoftwareTransformCommon.h @@ -45,6 +45,8 @@ struct SoftwareTransformResult { TransformedVertex *drawBuffer; int drawNumTrans; bool drawIndexed; + + bool pixelMapped; }; struct SoftwareTransformParams { @@ -70,7 +72,7 @@ class SoftwareTransform { protected: void CalcCullParams(float &minZValue, float &maxZValue); - void ExpandRectangles(int vertexCount, int &maxIndex, u16 *&inds, const TransformedVertex *transformed, TransformedVertex *transformedExpanded, int &numTrans, bool throughmode); + void ExpandRectangles(int vertexCount, int &maxIndex, u16 *&inds, const TransformedVertex *transformed, TransformedVertex *transformedExpanded, int &numTrans, bool throughmode, bool *pixelMappedExactly); void ExpandLines(int vertexCount, int &maxIndex, u16 *&inds, const TransformedVertex *transformed, TransformedVertex *transformedExpanded, int &numTrans, bool throughmode); void ExpandPoints(int vertexCount, int &maxIndex, u16 *&inds, const TransformedVertex *transformed, TransformedVertex *transformedExpanded, int &numTrans, bool throughmode); From 341fe04f4bc86f13215f659c00662e79108a9b48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Sat, 30 Dec 2023 14:06:24 +0100 Subject: [PATCH 03/10] Apply nearest filter for pixel-mapped draws --- GPU/Common/TextureCacheCommon.cpp | 3 +++ GPU/D3D11/DrawEngineD3D11.cpp | 5 ++++- GPU/Directx9/DrawEngineDX9.cpp | 5 ++++- GPU/GLES/DrawEngineGLES.cpp | 5 ++++- GPU/GPUState.h | 3 +++ GPU/Vulkan/DrawEngineVulkan.cpp | 2 ++ GPU/Vulkan/TextureCacheVulkan.cpp | 1 + 7 files changed, 21 insertions(+), 3 deletions(-) diff --git a/GPU/Common/TextureCacheCommon.cpp b/GPU/Common/TextureCacheCommon.cpp index 1d10254f1d80..25f00c832a0b 100644 --- a/GPU/Common/TextureCacheCommon.cpp +++ b/GPU/Common/TextureCacheCommon.cpp @@ -284,6 +284,9 @@ SamplerCacheKey TextureCacheCommon::GetSamplingParams(int maxLevel, const TexCac break; } } + if (gstate_c.pixelMapped) { + forceFiltering = TEX_FILTER_FORCE_NEAREST; + } switch (forceFiltering) { case TEX_FILTER_AUTO: diff --git a/GPU/D3D11/DrawEngineD3D11.cpp b/GPU/D3D11/DrawEngineD3D11.cpp index ac7dece6cf17..0e8099db4a62 100644 --- a/GPU/D3D11/DrawEngineD3D11.cpp +++ b/GPU/D3D11/DrawEngineD3D11.cpp @@ -408,8 +408,11 @@ void DrawEngineD3D11::DoFlush() { if (result.action == SW_CLEAR && everUsedEqualDepth_ && gstate.isClearModeDepthMask() && result.depth > 0.0f && result.depth < 1.0f) result.action = SW_NOT_READY; - if (textureNeedsApply) + if (textureNeedsApply) { + gstate_c.pixelMapped = result.pixelMapped; textureCache_->ApplyTexture(); + gstate_c.pixelMapped = false; + } // Need to ApplyDrawState after ApplyTexture because depal can launch a render pass and that wrecks the state. ApplyDrawState(prim); diff --git a/GPU/Directx9/DrawEngineDX9.cpp b/GPU/Directx9/DrawEngineDX9.cpp index 20f98dfc5963..810fb0419690 100644 --- a/GPU/Directx9/DrawEngineDX9.cpp +++ b/GPU/Directx9/DrawEngineDX9.cpp @@ -365,8 +365,11 @@ void DrawEngineDX9::DoFlush() { if (result.action == SW_CLEAR && everUsedEqualDepth_ && gstate.isClearModeDepthMask() && result.depth > 0.0f && result.depth < 1.0f) result.action = SW_NOT_READY; - if (textureNeedsApply) + if (textureNeedsApply) { + gstate_c.pixelMapped = result.pixelMapped; textureCache_->ApplyTexture(); + gstate_c.pixelMapped = false; + } ApplyDrawState(prim); diff --git a/GPU/GLES/DrawEngineGLES.cpp b/GPU/GLES/DrawEngineGLES.cpp index 0e44b8b667c0..6f4400b5384e 100644 --- a/GPU/GLES/DrawEngineGLES.cpp +++ b/GPU/GLES/DrawEngineGLES.cpp @@ -393,8 +393,11 @@ void DrawEngineGLES::DoFlush() { if (result.action == SW_CLEAR && everUsedEqualDepth_ && gstate.isClearModeDepthMask() && result.depth > 0.0f && result.depth < 1.0f) result.action = SW_NOT_READY; - if (textureNeedsApply) + if (textureNeedsApply) { + gstate_c.pixelMapped = result.pixelMapped; textureCache_->ApplyTexture(); + gstate_c.pixelMapped = false; + } // Need to ApplyDrawState after ApplyTexture because depal can launch a render pass and that wrecks the state. ApplyDrawState(prim); diff --git a/GPU/GPUState.h b/GPU/GPUState.h index e8d77494a572..d7fbf09ddafd 100644 --- a/GPU/GPUState.h +++ b/GPU/GPUState.h @@ -689,6 +689,9 @@ struct GPUStateCache { // We detect this case and go into a special drawing mode. bool blueToAlpha; + // U/V is 1:1 to pixels. Can influence texture sampling. + bool pixelMapped; + // TODO: These should be accessed from the current VFB object directly. u32 curRTWidth; u32 curRTHeight; diff --git a/GPU/Vulkan/DrawEngineVulkan.cpp b/GPU/Vulkan/DrawEngineVulkan.cpp index daf4b25a3a95..c4b823b99b18 100644 --- a/GPU/Vulkan/DrawEngineVulkan.cpp +++ b/GPU/Vulkan/DrawEngineVulkan.cpp @@ -440,7 +440,9 @@ void DrawEngineVulkan::DoFlush() { // to use a "pre-clear" render pass, for high efficiency on tilers. if (result.action == SW_DRAW_PRIMITIVES) { if (textureNeedsApply) { + gstate_c.pixelMapped = result.pixelMapped; textureCache_->ApplyTexture(); + gstate_c.pixelMapped = false; textureCache_->GetVulkanHandles(imageView, sampler); if (imageView == VK_NULL_HANDLE) imageView = (VkImageView)draw_->GetNativeObject(gstate_c.textureIsArray ? Draw::NativeObject::NULL_IMAGEVIEW_ARRAY : Draw::NativeObject::NULL_IMAGEVIEW); diff --git a/GPU/Vulkan/TextureCacheVulkan.cpp b/GPU/Vulkan/TextureCacheVulkan.cpp index f6550eb3f016..6f4b0b08423c 100644 --- a/GPU/Vulkan/TextureCacheVulkan.cpp +++ b/GPU/Vulkan/TextureCacheVulkan.cpp @@ -136,6 +136,7 @@ VkSampler SamplerCache::GetOrCreateSampler(const SamplerCacheKey &key) { samp.magFilter = key.magFilt ? VK_FILTER_LINEAR : VK_FILTER_NEAREST; samp.minFilter = key.minFilt ? VK_FILTER_LINEAR : VK_FILTER_NEAREST; samp.mipmapMode = key.mipFilt ? VK_SAMPLER_MIPMAP_MODE_LINEAR : VK_SAMPLER_MIPMAP_MODE_NEAREST; + if (key.aniso) { // Docs say the min of this value and the supported max are used. samp.maxAnisotropy = 1 << g_Config.iAnisotropyLevel; From e3841ddb4a011a8a5c458541d9bd37e97a007b9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Sat, 30 Dec 2023 15:10:17 +0100 Subject: [PATCH 04/10] Accept 1D stretch as pixel mapped --- GPU/Common/SoftwareTransformCommon.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/GPU/Common/SoftwareTransformCommon.cpp b/GPU/Common/SoftwareTransformCommon.cpp index 66ed057da657..462673a4eb98 100644 --- a/GPU/Common/SoftwareTransformCommon.cpp +++ b/GPU/Common/SoftwareTransformCommon.cpp @@ -644,7 +644,9 @@ void SoftwareTransform::ExpandRectangles(int vertexCount, int &maxIndex, u16 *&i float du = transVtxBR.u - transVtxTL.u; float dv = transVtxBR.v - transVtxTL.v; - if (dx <= 0 || dy <= 0 || dx != du || dy != dv) { + // NOTE: We will accept it as pixel mapped if only one dimension is stretched. This fixes dialog frames in FFI. + // Though, there could be false positives in other games due to this. Let's see if it is a problem... + if (dx <= 0 || dy <= 0 || (dx != du && dy != dv)) { pixelMapped = false; } From 09d8bc5c43e886dea9619a7c16809d0ed07eb21d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Sat, 30 Dec 2023 15:44:49 +0100 Subject: [PATCH 05/10] Don't override "Linear"-forced texture filtering --- GPU/Common/TextureCacheCommon.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/GPU/Common/TextureCacheCommon.cpp b/GPU/Common/TextureCacheCommon.cpp index 25f00c832a0b..2b6dc1f44a2e 100644 --- a/GPU/Common/TextureCacheCommon.cpp +++ b/GPU/Common/TextureCacheCommon.cpp @@ -261,6 +261,9 @@ SamplerCacheKey TextureCacheCommon::GetSamplingParams(int maxLevel, const TexCac if (uglyColorTest) forceFiltering = TEX_FILTER_FORCE_NEAREST; } + if (gstate_c.pixelMapped) { + forceFiltering = TEX_FILTER_FORCE_NEAREST; + } break; case TEX_FILTER_FORCE_LINEAR: // Override to linear filtering if there's no alpha or color testing going on. @@ -281,12 +284,12 @@ SamplerCacheKey TextureCacheCommon::GetSamplingParams(int maxLevel, const TexCac if (uglyColorTest) forceFiltering = TEX_FILTER_FORCE_NEAREST; } + if (gstate_c.pixelMapped) { + forceFiltering = TEX_FILTER_FORCE_NEAREST; + } break; } } - if (gstate_c.pixelMapped) { - forceFiltering = TEX_FILTER_FORCE_NEAREST; - } switch (forceFiltering) { case TEX_FILTER_AUTO: From 8de7a978838a086de8e7ebf10d0f1922243d771a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Thu, 11 Jan 2024 14:32:52 +0100 Subject: [PATCH 06/10] Check small triangle draws in through-mode for pixel mapping too --- GPU/Common/SoftwareTransformCommon.cpp | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/GPU/Common/SoftwareTransformCommon.cpp b/GPU/Common/SoftwareTransformCommon.cpp index 462673a4eb98..204a1e4df8f7 100644 --- a/GPU/Common/SoftwareTransformCommon.cpp +++ b/GPU/Common/SoftwareTransformCommon.cpp @@ -585,6 +585,35 @@ void SoftwareTransform::BuildDrawingParams(int prim, int vertexCount, u32 vertTy inds = newInds; } + } else if (throughmode) { + // We check some common cases for pixel mapping. + // TODO: It's not really optimal that some previous step has removed the triangle strip. + if (vertexCount <= 6 && prim == GE_PRIM_TRIANGLES) { + // It's enough to check UV deltas vs pos deltas between vertex pairs: + // 0-1 1-3 3-2 2-0. Maybe can even skip the last one. Probably some simple math can get us that sequence. + // Unfortunately we need to reverse the previous UV scaling operation. Fortunately these are powers of two + // so the operations are exact. + bool pmapped = true; + const u16 *indsIn = (const u16 *)inds; + for (int t = 0; t < vertexCount; t += 3) { + float uscale = gstate_c.curTextureWidth; + float vscale = gstate_c.curTextureHeight; + struct { int a; int b; } pairs[] = { {0, 1}, {1, 2}, {2, 0} }; + + for (int i = 0; i < ARRAY_SIZE(pairs); i++) { + int a = indsIn[t + pairs[i].a]; + int b = indsIn[t + pairs[i].b]; + float du = fabsf((transformed[a].u - transformed[b].u) * uscale); + float dv = fabsf((transformed[a].v - transformed[b].v) * vscale); + float dx = fabsf(transformed[a].x - transformed[b].x); + float dy = fabsf(transformed[a].y - transformed[b].y); + if (du != dx || dv != dy) { + pmapped = false; + } + } + } + result->pixelMapped = pmapped; + } } } From 4360fe786cd207e2690d28bb7c173a5d30ac0086 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Thu, 11 Jan 2024 14:45:47 +0100 Subject: [PATCH 07/10] Add a setting for smart 2D texture filtering --- Core/Config.cpp | 1 + Core/Config.h | 1 + GPU/Common/SoftwareTransformCommon.cpp | 32 +++++++++++++++----------- UI/GameSettingsScreen.cpp | 2 ++ Windows/MainWindowMenu.cpp | 4 ++++ Windows/ppsspp.rc | 2 ++ Windows/resource.h | 1 + 7 files changed, 29 insertions(+), 14 deletions(-) diff --git a/Core/Config.cpp b/Core/Config.cpp index 27f6a0cf25f1..588b3e34c02f 100644 --- a/Core/Config.cpp +++ b/Core/Config.cpp @@ -611,6 +611,7 @@ static const ConfigSetting graphicsSettings[] = { ConfigSetting("HardwareTransform", &g_Config.bHardwareTransform, true, CfgFlag::PER_GAME | CfgFlag::REPORT), ConfigSetting("SoftwareSkinning", &g_Config.bSoftwareSkinning, true, CfgFlag::PER_GAME | CfgFlag::REPORT), ConfigSetting("TextureFiltering", &g_Config.iTexFiltering, 1, CfgFlag::PER_GAME | CfgFlag::REPORT), + ConfigSetting("Smart2DTexFiltering", &g_Config.bSmart2DTexFiltering, false, CfgFlag::PER_GAME | CfgFlag::REPORT), ConfigSetting("InternalResolution", &g_Config.iInternalResolution, &DefaultInternalResolution, CfgFlag::PER_GAME | CfgFlag::REPORT), ConfigSetting("AndroidHwScale", &g_Config.iAndroidHwScale, &DefaultAndroidHwScale, CfgFlag::DEFAULT), ConfigSetting("HighQualityDepth", &g_Config.bHighQualityDepth, true, CfgFlag::PER_GAME | CfgFlag::REPORT), diff --git a/Core/Config.h b/Core/Config.h index 8c7c9ef5f8b8..976776086187 100644 --- a/Core/Config.h +++ b/Core/Config.h @@ -172,6 +172,7 @@ struct Config { bool bDisableRangeCulling; int iTexFiltering; // 1 = auto , 2 = nearest , 3 = linear , 4 = auto max quality + bool bSmart2DTexFiltering; bool bDisplayStretch; // Automatically matches the aspect ratio of the window. int iDisplayFilter; // 1 = linear, 2 = nearest diff --git a/GPU/Common/SoftwareTransformCommon.cpp b/GPU/Common/SoftwareTransformCommon.cpp index 204a1e4df8f7..50dd4d43d8b8 100644 --- a/GPU/Common/SoftwareTransformCommon.cpp +++ b/GPU/Common/SoftwareTransformCommon.cpp @@ -585,7 +585,7 @@ void SoftwareTransform::BuildDrawingParams(int prim, int vertexCount, u32 vertTy inds = newInds; } - } else if (throughmode) { + } else if (throughmode && g_Config.bSmart2DTexFiltering) { // We check some common cases for pixel mapping. // TODO: It's not really optimal that some previous step has removed the triangle strip. if (vertexCount <= 6 && prim == GE_PRIM_TRIANGLES) { @@ -593,13 +593,12 @@ void SoftwareTransform::BuildDrawingParams(int prim, int vertexCount, u32 vertTy // 0-1 1-3 3-2 2-0. Maybe can even skip the last one. Probably some simple math can get us that sequence. // Unfortunately we need to reverse the previous UV scaling operation. Fortunately these are powers of two // so the operations are exact. - bool pmapped = true; + bool pixelMapped = true; const u16 *indsIn = (const u16 *)inds; for (int t = 0; t < vertexCount; t += 3) { float uscale = gstate_c.curTextureWidth; float vscale = gstate_c.curTextureHeight; struct { int a; int b; } pairs[] = { {0, 1}, {1, 2}, {2, 0} }; - for (int i = 0; i < ARRAY_SIZE(pairs); i++) { int a = indsIn[t + pairs[i].a]; int b = indsIn[t + pairs[i].b]; @@ -608,11 +607,14 @@ void SoftwareTransform::BuildDrawingParams(int prim, int vertexCount, u32 vertTy float dx = fabsf(transformed[a].x - transformed[b].x); float dy = fabsf(transformed[a].y - transformed[b].y); if (du != dx || dv != dy) { - pmapped = false; + pixelMapped = false; } } + if (!pixelMapped) { + break; + } } - result->pixelMapped = pmapped; + result->pixelMapped = pixelMapped; } } } @@ -662,21 +664,23 @@ void SoftwareTransform::ExpandRectangles(int vertexCount, int &maxIndex, u16 *&i vscale /= gstate_c.curTextureHeight; } - bool pixelMapped = true; + bool pixelMapped = g_Config.bSmart2DTexFiltering; for (int i = 0; i < vertexCount; i += 2) { const TransformedVertex &transVtxTL = transformed[indsIn[i + 0]]; const TransformedVertex &transVtxBR = transformed[indsIn[i + 1]]; - float dx = transVtxBR.x - transVtxTL.x; - float dy = transVtxBR.y - transVtxTL.y; - float du = transVtxBR.u - transVtxTL.u; - float dv = transVtxBR.v - transVtxTL.v; + if (pixelMapped) { + float dx = transVtxBR.x - transVtxTL.x; + float dy = transVtxBR.y - transVtxTL.y; + float du = transVtxBR.u - transVtxTL.u; + float dv = transVtxBR.v - transVtxTL.v; - // NOTE: We will accept it as pixel mapped if only one dimension is stretched. This fixes dialog frames in FFI. - // Though, there could be false positives in other games due to this. Let's see if it is a problem... - if (dx <= 0 || dy <= 0 || (dx != du && dy != dv)) { - pixelMapped = false; + // NOTE: We will accept it as pixel mapped if only one dimension is stretched. This fixes dialog frames in FFI. + // Though, there could be false positives in other games due to this. Let's see if it is a problem... + if (dx <= 0 || dy <= 0 || (dx != du && dy != dv)) { + pixelMapped = false; + } } // We have to turn the rectangle into two triangles, so 6 points. diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp index bbc4008769d8..12c67fa7bbda 100644 --- a/UI/GameSettingsScreen.cpp +++ b/UI/GameSettingsScreen.cpp @@ -553,6 +553,8 @@ void GameSettingsScreen::CreateGraphicsSettings(UI::ViewGroup *graphicsSettings) static const char *texFilters[] = { "Auto", "Nearest", "Linear", "Auto Max Quality"}; graphicsSettings->Add(new PopupMultiChoice(&g_Config.iTexFiltering, gr->T("Texture Filter"), texFilters, 1, ARRAY_SIZE(texFilters), I18NCat::GRAPHICS, screenManager())); + graphicsSettings->Add(new CheckBox(&g_Config.bSmart2DTexFiltering, gr->T("Smart 2D texture filter"))); + #if PPSSPP_PLATFORM(ANDROID) || PPSSPP_PLATFORM(IOS) bool showCardboardSettings = deviceType != DEVICE_TYPE_VR; #else diff --git a/Windows/MainWindowMenu.cpp b/Windows/MainWindowMenu.cpp index b78e9f47cedf..b4c4d1c9ba83 100644 --- a/Windows/MainWindowMenu.cpp +++ b/Windows/MainWindowMenu.cpp @@ -283,6 +283,7 @@ namespace MainWindow { TranslateMenuItem(menu, ID_OPTIONS_NEARESTFILTERING); TranslateMenuItem(menu, ID_OPTIONS_LINEARFILTERING); TranslateMenuItem(menu, ID_OPTIONS_AUTOMAXQUALITYFILTERING); + TranslateMenuItem(menu, ID_OPTIONS_SMART2DTEXTUREFILTERING); TranslateMenuItem(menu, ID_OPTIONS_SCREENFILTER_MENU); TranslateMenuItem(menu, ID_OPTIONS_BUFLINEARFILTER); TranslateMenuItem(menu, ID_OPTIONS_BUFNEARESTFILTER); @@ -868,6 +869,8 @@ namespace MainWindow { case ID_OPTIONS_LINEARFILTERING: g_Config.iTexFiltering = TEX_FILTER_FORCE_LINEAR; break; case ID_OPTIONS_AUTOMAXQUALITYFILTERING: g_Config.iTexFiltering = TEX_FILTER_AUTO_MAX_QUALITY; break; + case ID_OPTIONS_SMART2DTEXTUREFILTERING: g_Config.bSmart2DTexFiltering = !g_Config.bSmart2DTexFiltering; break; + case ID_OPTIONS_BUFLINEARFILTER: g_Config.iDisplayFilter = SCALE_LINEAR; break; case ID_OPTIONS_BUFNEARESTFILTER: g_Config.iDisplayFilter = SCALE_NEAREST; break; @@ -962,6 +965,7 @@ namespace MainWindow { CHECKITEM(ID_OPTIONS_VSYNC, g_Config.bVSync); CHECKITEM(ID_OPTIONS_TOPMOST, g_Config.bTopMost); CHECKITEM(ID_OPTIONS_PAUSE_FOCUS, g_Config.bPauseOnLostFocus); + CHECKITEM(ID_OPTIONS_SMART2DTEXTUREFILTERING, g_Config.bSmart2DTexFiltering); CHECKITEM(ID_EMULATION_SOUND, g_Config.bEnableSound); CHECKITEM(ID_TEXTURESCALING_DEPOSTERIZE, g_Config.bTexDeposterize); CHECKITEM(ID_EMULATION_CHEATS, g_Config.bEnableCheats); diff --git a/Windows/ppsspp.rc b/Windows/ppsspp.rc index f3c48d74cd9a..6b3a170b7070 100644 --- a/Windows/ppsspp.rc +++ b/Windows/ppsspp.rc @@ -662,6 +662,8 @@ BEGIN MENUITEM "Nearest", ID_OPTIONS_NEARESTFILTERING MENUITEM "Linear", ID_OPTIONS_LINEARFILTERING MENUITEM "Auto Max Quality", ID_OPTIONS_AUTOMAXQUALITYFILTERING + MENUITEM "", 0, MFT_SEPARATOR + MENUITEM "Smart 2D Texture Filtering", ID_OPTIONS_SMART2DTEXTUREFILTERING END POPUP "Screen Scaling Filter", ID_OPTIONS_SCREENFILTER_MENU BEGIN diff --git a/Windows/resource.h b/Windows/resource.h index efec1f414f34..fda3f1ea272c 100644 --- a/Windows/resource.h +++ b/Windows/resource.h @@ -162,6 +162,7 @@ #define IDC_STEPHLE 40032 #define ID_OPTIONS_LINEARFILTERING 40033 #define ID_OPTIONS_AUTOMAXQUALITYFILTERING 40043 +#define ID_OPTIONS_SMART2DTEXTUREFILTERING 40003 #define ID_FILE_QUICKSAVESTATE 40034 #define ID_FILE_QUICKLOADSTATE 40035 #define ID_FILE_QUICKSAVESTATE_HC 40036 From a8854c9cba4911fa10932db9f5282aeaba8d34db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Fri, 12 Jan 2024 11:29:02 +0100 Subject: [PATCH 08/10] Add translation string --- Tools/langtool/Cargo.lock | 12 ++++++------ UI/GameSettingsScreen.cpp | 2 +- assets/lang/ar_AE.ini | 1 + assets/lang/az_AZ.ini | 1 + assets/lang/bg_BG.ini | 1 + assets/lang/ca_ES.ini | 1 + assets/lang/cz_CZ.ini | 1 + assets/lang/da_DK.ini | 1 + assets/lang/de_DE.ini | 1 + assets/lang/dr_ID.ini | 1 + assets/lang/en_US.ini | 1 + assets/lang/es_ES.ini | 1 + assets/lang/es_LA.ini | 1 + assets/lang/fa_IR.ini | 1 + assets/lang/fi_FI.ini | 1 + assets/lang/fr_FR.ini | 1 + assets/lang/gl_ES.ini | 1 + assets/lang/gr_EL.ini | 1 + assets/lang/he_IL.ini | 1 + assets/lang/he_IL_invert.ini | 1 + assets/lang/hr_HR.ini | 1 + assets/lang/hu_HU.ini | 1 + assets/lang/id_ID.ini | 1 + assets/lang/it_IT.ini | 1 + assets/lang/ja_JP.ini | 1 + assets/lang/jv_ID.ini | 1 + assets/lang/ko_KR.ini | 1 + assets/lang/lo_LA.ini | 1 + assets/lang/lt-LT.ini | 1 + assets/lang/ms_MY.ini | 1 + assets/lang/nl_NL.ini | 1 + assets/lang/no_NO.ini | 1 + assets/lang/pl_PL.ini | 1 + assets/lang/pt_BR.ini | 1 + assets/lang/pt_PT.ini | 1 + assets/lang/ro_RO.ini | 1 + assets/lang/ru_RU.ini | 1 + assets/lang/sv_SE.ini | 1 + assets/lang/tg_PH.ini | 1 + assets/lang/th_TH.ini | 1 + assets/lang/tr_TR.ini | 1 + assets/lang/uk_UA.ini | 1 + assets/lang/vi_VN.ini | 1 + assets/lang/zh_CN.ini | 1 + assets/lang/zh_TW.ini | 1 + 45 files changed, 50 insertions(+), 7 deletions(-) diff --git a/Tools/langtool/Cargo.lock b/Tools/langtool/Cargo.lock index f03100c33e1e..5bd5b5b898dd 100644 --- a/Tools/langtool/Cargo.lock +++ b/Tools/langtool/Cargo.lock @@ -76,9 +76,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.151" +version = "0.2.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4" +checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" [[package]] name = "proc-macro-error" @@ -106,18 +106,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.71" +version = "1.0.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75cb1540fadbd5b8fbccc4dddad2734eba435053f725621c070711a14bb5f4b8" +checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.33" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp index 12c67fa7bbda..daefeb9c195e 100644 --- a/UI/GameSettingsScreen.cpp +++ b/UI/GameSettingsScreen.cpp @@ -553,7 +553,7 @@ void GameSettingsScreen::CreateGraphicsSettings(UI::ViewGroup *graphicsSettings) static const char *texFilters[] = { "Auto", "Nearest", "Linear", "Auto Max Quality"}; graphicsSettings->Add(new PopupMultiChoice(&g_Config.iTexFiltering, gr->T("Texture Filter"), texFilters, 1, ARRAY_SIZE(texFilters), I18NCat::GRAPHICS, screenManager())); - graphicsSettings->Add(new CheckBox(&g_Config.bSmart2DTexFiltering, gr->T("Smart 2D texture filter"))); + graphicsSettings->Add(new CheckBox(&g_Config.bSmart2DTexFiltering, gr->T("Smart 2D texture filtering"))); #if PPSSPP_PLATFORM(ANDROID) || PPSSPP_PLATFORM(IOS) bool showCardboardSettings = deviceType != DEVICE_TYPE_VR; diff --git a/assets/lang/ar_AE.ini b/assets/lang/ar_AE.ini index 7cd14a3d3752..46eea77443fc 100644 --- a/assets/lang/ar_AE.ini +++ b/assets/lang/ar_AE.ini @@ -665,6 +665,7 @@ Screen Scaling Filter = ‎فلتر تكبير حجم الشاشة Show Debug Statistics = ‎أظهر معلومات التصحيح Show FPS Counter = ‎أظهر عداد الـFPS Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = ‎تصيير السوفت وير (slow) Software Skinning = ‎طلاء برمجي SoftwareSkinning Tip = Combine skinned model draws on the CPU, faster in most games diff --git a/assets/lang/az_AZ.ini b/assets/lang/az_AZ.ini index 04bb0084c22d..36d67b77a408 100644 --- a/assets/lang/az_AZ.ini +++ b/assets/lang/az_AZ.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Screen scaling filter Show Debug Statistics = Show debug statistics Show FPS Counter = Show FPS counter Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Software rendering (experimental) Software Skinning = Software skinning SoftwareSkinning Tip = Combine skinned model draws on the CPU, faster in most games diff --git a/assets/lang/bg_BG.ini b/assets/lang/bg_BG.ini index 0efe57415a3b..d5d6629405ca 100644 --- a/assets/lang/bg_BG.ini +++ b/assets/lang/bg_BG.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Screen scaling filter Show Debug Statistics = Покажи debug инфо Show FPS Counter = Покажи брояча за кадри в сек. Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Software rendering (експериментално) Software Skinning = Software skinning SoftwareSkinning Tip = Combine skinned model draws on the CPU, faster in most games diff --git a/assets/lang/ca_ES.ini b/assets/lang/ca_ES.ini index 8e998cf8f74b..998a1c83a64e 100644 --- a/assets/lang/ca_ES.ini +++ b/assets/lang/ca_ES.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Filtre d'escalat de pantalla Show Debug Statistics = Mostra estadístiques de depuració Show FPS Counter = Mostra comptador de FPS Skip GPU Readbacks = Saltar la lectura de GPU +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Renderitzat per programari Software Skinning = "Skinning" per programari SoftwareSkinning Tip = Redueix la càrrega de dibuixat, ràpid en jocs amb tècniques de skinning avançades, però lent en altres. diff --git a/assets/lang/cz_CZ.ini b/assets/lang/cz_CZ.ini index b5ba1e025b27..8cd1e70e3c41 100644 --- a/assets/lang/cz_CZ.ini +++ b/assets/lang/cz_CZ.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Filtr změny velikosti obrazovky Show Debug Statistics = Zobrazit statistiky ladění Show FPS Counter = Zobrazit počítadlo Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Softwarové vykreslování (experimentální) Software Skinning = Textury aplikuje software SoftwareSkinning Tip = Combine skinned model draws on the CPU, faster in most games diff --git a/assets/lang/da_DK.ini b/assets/lang/da_DK.ini index 202f95877257..1f615069dd01 100644 --- a/assets/lang/da_DK.ini +++ b/assets/lang/da_DK.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Skærmskaleringsfilter Show Debug Statistics = Vis debugstatistik Show FPS Counter = Vis FPS Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Software rendering (eksperiment) Software Skinning = Software skinning SoftwareSkinning Tip = Kombiner begrænset model tegning af CPU, hurtigere i fleste spil diff --git a/assets/lang/de_DE.ini b/assets/lang/de_DE.ini index 47dfd8e483be..1ec7b1d25ab4 100644 --- a/assets/lang/de_DE.ini +++ b/assets/lang/de_DE.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Filter für Bildskalierung Show Debug Statistics = Debugstatistiken anzeigen Show FPS Counter = FPS anzeigen Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Software Renderer (experimentell) Software Skinning = Software Skinning SoftwareSkinning Tip = Reduziert Grafikbefehle und schneller in Spielen mit erweiterter Skinning-Technik, in anderen Spielen langsamer diff --git a/assets/lang/dr_ID.ini b/assets/lang/dr_ID.ini index 746aee288e65..4b0decf7f65c 100644 --- a/assets/lang/dr_ID.ini +++ b/assets/lang/dr_ID.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Screen scaling filter Show Debug Statistics = Padenni Debugna Show FPS Counter = Padenni FPSna Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Pakeanni Software Tampilkan (dicoba-cobara) Software Skinning = Software skinning SoftwareSkinning Tip = Combine skinned model draws on the CPU, faster in most games diff --git a/assets/lang/en_US.ini b/assets/lang/en_US.ini index 672fe86a51c0..3db69eb1bd65 100644 --- a/assets/lang/en_US.ini +++ b/assets/lang/en_US.ini @@ -681,6 +681,7 @@ Screen Scaling Filter = Screen scaling filter Show Debug Statistics = Show debug statistics Show FPS Counter = Show FPS counter Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Software rendering (slow, accurate) Software Skinning = Software skinning SoftwareSkinning Tip = Combine skinned model draws on the CPU, faster in most games diff --git a/assets/lang/es_ES.ini b/assets/lang/es_ES.ini index 1a07720e7b7d..e1c19bbc5028 100644 --- a/assets/lang/es_ES.ini +++ b/assets/lang/es_ES.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Filtro de escalado de pantalla Show Debug Statistics = Mostrar estadísticas de depuración Show FPS Counter = Mostrar contador de FPS Skip GPU Readbacks = Saltar la lectura de GPU +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Renderizado por software Software Skinning = "Skinning" por software SoftwareSkinning Tip = Reduce la carga de dibujado, rápido en juegos con técnicas de skinning avanzadas, pero lento en otros. diff --git a/assets/lang/es_LA.ini b/assets/lang/es_LA.ini index 8d182411c042..a8c843d41136 100644 --- a/assets/lang/es_LA.ini +++ b/assets/lang/es_LA.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Filtro de escalado de pantalla Show Debug Statistics = Mostrar estadísticas de depuración Show FPS Counter = Mostrar contador de FPS Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Renderizado por software (experimental) Software Skinning = Skineado por software SoftwareSkinning Tip = Combina dibujados de modelo de skineado en la CPU. Acelera muchos juegos pero ralentiza otros. diff --git a/assets/lang/fa_IR.ini b/assets/lang/fa_IR.ini index 16a9794ed0da..139abed7e522 100644 --- a/assets/lang/fa_IR.ini +++ b/assets/lang/fa_IR.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = ‎فیلتر تغییر ساز صفحه Show Debug Statistics = ‎نمایش اطلاعات دیباگ Show FPS Counter = ‎نمایش شمارنده فریم بر ثانیه Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = ‎(رندر نرم افزاری (آزمایشی Software Skinning = Software skinning SoftwareSkinning Tip = ‎در اکثر بازی ها سریع تر ،CPU دار در skin ترکیب رسم مدل های diff --git a/assets/lang/fi_FI.ini b/assets/lang/fi_FI.ini index a27f257574a7..fb9df7fbca60 100644 --- a/assets/lang/fi_FI.ini +++ b/assets/lang/fi_FI.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Näytön skaalauksen suodatin Show Debug Statistics = Näytä virheenkorjaustilastot Show FPS Counter = Näytä kuvalaskuri (FPS) Skip GPU Readbacks = Ohita GPU-lukemat +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Ohjelmistopohjainen renderointi (kokeellinen) Software Skinning = Ohjelmistopohjainen muokkaus (skinning) SoftwareSkinning Tip = Yhdistää skinnattujen mallien piirtämisen prosessorilla, nopeampi useimmissa peleissä diff --git a/assets/lang/fr_FR.ini b/assets/lang/fr_FR.ini index 27b9d2af42d3..c3d4bf9017d2 100644 --- a/assets/lang/fr_FR.ini +++ b/assets/lang/fr_FR.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Filtre de mise à l'échelle de l'écran Show Debug Statistics = Montrer les statistiques de débogage Show FPS Counter = Montrer les compteurs Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Rendu logiciel (expérimental) Software Skinning = Enveloppe logicielle SoftwareSkinning Tip = Combine l'affichage des modèles enveloppés sur le CPU, plus rapide dans la plupart des jeux diff --git a/assets/lang/gl_ES.ini b/assets/lang/gl_ES.ini index 349492cb512d..87c74d56b824 100644 --- a/assets/lang/gl_ES.ini +++ b/assets/lang/gl_ES.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Filtro de escalado de pantalla Show Debug Statistics = Mostrar estadísticas de depuración Show FPS Counter = Mostrar contador de FPS Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Renderizado por software (beta) Software Skinning = «Skinning» por software SoftwareSkinning Tip = Combine skinned model draws on the CPU, faster in most games diff --git a/assets/lang/gr_EL.ini b/assets/lang/gr_EL.ini index 298b5dc1fb3c..82b48bea7560 100644 --- a/assets/lang/gr_EL.ini +++ b/assets/lang/gr_EL.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Φίλτο κλιμάκωσης οθόνης Show Debug Statistics = Εμφάνιση στατιστικών αποσφαλμάτωσης Show FPS Counter = Εμφάνιση μετρητή FPS Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Απεικόνιση Λογισμικού (πειραματικό) Software Skinning = Εκδορά Λογισμικού SoftwareSkinning Tip = Συνδυασμός μοντέλου στην CPU, γρηγορότερο στα περισσότερα παιχνίδια diff --git a/assets/lang/he_IL.ini b/assets/lang/he_IL.ini index bbae8d45a068..df734ce5d699 100644 --- a/assets/lang/he_IL.ini +++ b/assets/lang/he_IL.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Screen scaling filter Show Debug Statistics = הצג סטטיסטיקת באגים Show FPS Counter = הצג מונה Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = עיבוד תוכנה (ניסיוני) Software Skinning = Software skinning SoftwareSkinning Tip = Combine skinned model draws on the CPU, faster in most games diff --git a/assets/lang/he_IL_invert.ini b/assets/lang/he_IL_invert.ini index f947f8a52bb9..7145a03183e2 100644 --- a/assets/lang/he_IL_invert.ini +++ b/assets/lang/he_IL_invert.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Screen scaling filter Show Debug Statistics = םיגאב תקיטסיטטס גצה Show FPS Counter = הנומ גצה Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = )ינויסינ( הנכות דוביע Software Skinning = Software skinning SoftwareSkinning Tip = Combine skinned model draws on the CPU, faster in most games diff --git a/assets/lang/hr_HR.ini b/assets/lang/hr_HR.ini index 528091bfa353..040831100e2a 100644 --- a/assets/lang/hr_HR.ini +++ b/assets/lang/hr_HR.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Mjerenje filtriranje zaslona Show Debug Statistics = Pokaži statistike otklanjanja grešaka Show FPS Counter = Pokaži FPS counter Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Žbukanje softvera (sporo) Software Skinning = Skiniranje softvera SoftwareSkinning Tip = Kombiniraj skinirane modele crteža na CPU, brže u većini igara diff --git a/assets/lang/hu_HU.ini b/assets/lang/hu_HU.ini index 419c590f07fa..3115532c659e 100644 --- a/assets/lang/hu_HU.ini +++ b/assets/lang/hu_HU.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Képernyő skálázási szűrő Show Debug Statistics = Hibakeresési statisztikák mutatása Show FPS Counter = FPS számláló mutatása Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Szoftveres renderelés (lassú) Software Skinning = Szoftveres "skinning" SoftwareSkinning Tip = "Skinning" művelet elvégzése a processzoron. Sok játék esetében gyorsabb. diff --git a/assets/lang/id_ID.ini b/assets/lang/id_ID.ini index 769e7881cc4b..0177160ef753 100644 --- a/assets/lang/id_ID.ini +++ b/assets/lang/id_ID.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Pemfilteran penskala layar Show Debug Statistics = Tampilkan statistik awakutu Show FPS Counter = Tampilkan penghitung FPS Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Pelukisan perangkat lunak (eksperimental) Software Skinning = Pengkulitan perangkat lunak SoftwareSkinning Tip = Menggabungkan model berkulit pada CPU, lebih cepat di kebanyakan permainan diff --git a/assets/lang/it_IT.ini b/assets/lang/it_IT.ini index 5053209fdad5..5329d78f1306 100644 --- a/assets/lang/it_IT.ini +++ b/assets/lang/it_IT.ini @@ -658,6 +658,7 @@ Screen Scaling Filter = Filtro Scalatura Schermo Show Debug Statistics = Mostra Statistiche Debug Show FPS Counter = Mostra FPS Skip GPU Readbacks = Salta le letture della GPU +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Rendering tramite Software (sperimentale) Software Skinning = Screpolatura software SoftwareSkinning Tip = Combina la visualizzazione di modelli disegnati dalla CPU, più veloce nella maggior parte dei giochi diff --git a/assets/lang/ja_JP.ini b/assets/lang/ja_JP.ini index 54864797cc97..e74a80f83a9e 100644 --- a/assets/lang/ja_JP.ini +++ b/assets/lang/ja_JP.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = 画像スケーリングのフィルタ Show Debug Statistics = デバッグ情報を表示する Show FPS Counter = FPSを表示する Skip GPU Readbacks = GPUリードバックのスキップ +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = ソフトウェアレンダリング (実験的) Software Skinning = ソフトウェアスキニング SoftwareSkinning Tip = スキンモデルの描画をCPUでまとめて行う。ほとんどのゲームが高速化します diff --git a/assets/lang/jv_ID.ini b/assets/lang/jv_ID.ini index 6f886cd11270..b4feef066366 100644 --- a/assets/lang/jv_ID.ini +++ b/assets/lang/jv_ID.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Layar njongko Filter Show Debug Statistics = Tampilno statistik debug Show FPS Counter = Tampilno penghitung FPS Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Software rendering (jajalan) Software Skinning = Software skinning SoftwareSkinning Tip = Combine skinned model draws on the CPU, faster in most games diff --git a/assets/lang/ko_KR.ini b/assets/lang/ko_KR.ini index 3882afdd518c..81b430129877 100644 --- a/assets/lang/ko_KR.ini +++ b/assets/lang/ko_KR.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = 화면 크기 조정 필터 Show Debug Statistics = 디버그 통계 표시 Show FPS Counter = FPS 카운터 표시 Skip GPU Readbacks = GPU 다시 읽기 건너뛰기 +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = 소프트웨어 렌더링 (느림) Software Skinning = 소프트웨어 스키닝 SoftwareSkinning Tip = 대부분의 게임에서 더 빠르게 CPU에서 스킨 모델 드로우를 결합합니다. diff --git a/assets/lang/lo_LA.ini b/assets/lang/lo_LA.ini index 9f99ebe1f145..66dabe26f0e3 100644 --- a/assets/lang/lo_LA.ini +++ b/assets/lang/lo_LA.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = ໂຕຕອງປັບສເກລໜ້າຈໍ Show Debug Statistics = ສະແດງຄ່າທາງສະຖິຕິການແກ້ໄຂຈຸດບົກພ່ອງ Show FPS Counter = ສະແດງຄ່າເຟຣມເຣດ ແລະ ຄວາມໄວ/ວິນາທີ Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = ໃຊ້ຊອບແວຣ໌ສະແດງຜົນ (ລຸ້ນທົດລອງ) Software Skinning = ຊ໋ອບແວຣ໌ສກິນນິງ SoftwareSkinning Tip = ປະສານໂມເດລພື້ນຜິວໃຫ້ຂຽນຜ່ານ CPU, ເກມສ່ວນໃຫຍ່ໃຊ້ແລ້ວໄວຂຶ້ນ diff --git a/assets/lang/lt-LT.ini b/assets/lang/lt-LT.ini index 7a3a74712de9..44dd59084adf 100644 --- a/assets/lang/lt-LT.ini +++ b/assets/lang/lt-LT.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Screen scaling filter Show Debug Statistics = Rodyti testinio režimo statistikas Show FPS Counter = Rodyti kadrų per sekundę rodmenis Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Programinės įrangos rodymas(ekspermentalus) Software Skinning = Programinės įrangos "nulupimas" SoftwareSkinning Tip = Combine skinned model draws on the CPU, faster in most games diff --git a/assets/lang/ms_MY.ini b/assets/lang/ms_MY.ini index 31dc8104279c..16f97cf95429 100644 --- a/assets/lang/ms_MY.ini +++ b/assets/lang/ms_MY.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Screen scaling filter Show Debug Statistics = Papar statistik pepijat Show FPS Counter = Papar penghitung FPS Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Render perisian (eksperimen) Software Skinning = Pembalutan Perisian SoftwareSkinning Tip = Combine skinned model draws on the CPU, faster in most games diff --git a/assets/lang/nl_NL.ini b/assets/lang/nl_NL.ini index 3655ea9973cc..6bcd8e21d3d3 100644 --- a/assets/lang/nl_NL.ini +++ b/assets/lang/nl_NL.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Beeldschalingsfilter Show Debug Statistics = Foutopsporingsstatistieken weergeven Show FPS Counter = FPS-teller weergeven Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Renderen via software (experimenteel) Software Skinning = Skinning via software SoftwareSkinning Tip = Vermindert aantal renders en is sneller in games die de geavanceerde skinningtechniek gebruiken, maar voor sommige games trager diff --git a/assets/lang/no_NO.ini b/assets/lang/no_NO.ini index a485e7dd23d7..a79bacf1a60f 100644 --- a/assets/lang/no_NO.ini +++ b/assets/lang/no_NO.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Screen scaling filter Show Debug Statistics = Vis debugstatistik Show FPS Counter = Vis FPS-teller Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Programvare gjengivelse (eksperiment) Software Skinning = Software skinning SoftwareSkinning Tip = Combine skinned model draws on the CPU, faster in most games diff --git a/assets/lang/pl_PL.ini b/assets/lang/pl_PL.ini index a07b59067415..2d8c40c3cb12 100644 --- a/assets/lang/pl_PL.ini +++ b/assets/lang/pl_PL.ini @@ -662,6 +662,7 @@ Screen Scaling Filter = Filtrowanie skalowania ekranu Show Debug Statistics = Pokaż statystyki debugowania Show FPS Counter = Pokaż licznik FPS Skip GPU Readbacks = Pomiń odczyty zwrotne GPU +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Renderowanie programowe (wolne) Software Skinning = Programowy skinning SoftwareSkinning Tip = Łączy na CPU wywołania rysujące modele z animacjami, przyspieszenie w większości gier diff --git a/assets/lang/pt_BR.ini b/assets/lang/pt_BR.ini index 3cac749f6fd8..ddf5488ce17b 100644 --- a/assets/lang/pt_BR.ini +++ b/assets/lang/pt_BR.ini @@ -681,6 +681,7 @@ Screen Scaling Filter = Filtro do dimensionamento da tela Show Debug Statistics = Mostrar estatísticas do debug Show FPS Counter = Mostrar contador dos FPS Skip GPU Readbacks = Ignorar leituras da GPU +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Renderização por software (lento) Software Skinning = Skinning via software SoftwareSkinning Tip = Combina os desenhos dos modelos de skinning na CPU, mais rápido na maioria dos jogos diff --git a/assets/lang/pt_PT.ini b/assets/lang/pt_PT.ini index 30e8f860048e..7b4b3f50766c 100644 --- a/assets/lang/pt_PT.ini +++ b/assets/lang/pt_PT.ini @@ -681,6 +681,7 @@ Screen Scaling Filter = Filtro do dimensionamento da tela Show Debug Statistics = Mostrar estatísticas de Debug Show FPS Counter = Mostrar contador de FPS Skip GPU Readbacks = Saltar Readbacks da GPU +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Renderização por software (lento) Software Skinning = Skinning por software SoftwareSkinning Tip = Combina os desenhos dos modelos de skinning na CPU, mais rápido na maioria dos jogos diff --git a/assets/lang/ro_RO.ini b/assets/lang/ro_RO.ini index c67d4967b057..c495962654f0 100644 --- a/assets/lang/ro_RO.ini +++ b/assets/lang/ro_RO.ini @@ -658,6 +658,7 @@ Screen Scaling Filter = Filtrul de scalare al ecranului Show Debug Statistics = Arată statistici de depanare Show FPS Counter = Arată FPS Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Afișare cu sofware (experimental) Software Skinning = Skinning cu software SoftwareSkinning Tip = Combine skinned model draws on the CPU, faster in most games diff --git a/assets/lang/ru_RU.ini b/assets/lang/ru_RU.ini index 09832ced88b2..e948fa6519cf 100644 --- a/assets/lang/ru_RU.ini +++ b/assets/lang/ru_RU.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Фильтр масштабирования экрана Show Debug Statistics = Показывать отладочную информацию Show FPS Counter = Показывать счетчик FPS Skip GPU Readbacks = Пропускать чтение данных ГП +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Программный рендеринг (медленно) Software Skinning = Программная заливка SoftwareSkinning Tip = Объединяет вызовы отрисовки моделей с заливкой на ЦП, быстрее во многих играх diff --git a/assets/lang/sv_SE.ini b/assets/lang/sv_SE.ini index 40a948c22a09..787bc3a9b2c5 100644 --- a/assets/lang/sv_SE.ini +++ b/assets/lang/sv_SE.ini @@ -658,6 +658,7 @@ Screen Scaling Filter = Skärmskalningsfilter Show Debug Statistics = Visa debugstatistik Show FPS Counter = Visa FPS-räknare Skip GPU Readbacks = Skippa dataläsningar från GPU:n +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Mjukvarurendering (långsam men ofta mer korrekt) Software Skinning = Software Skinning SoftwareSkinning Tip = Combine skinned model draws on the CPU, faster in most games diff --git a/assets/lang/tg_PH.ini b/assets/lang/tg_PH.ini index 376af32c1c13..30834e7971ae 100644 --- a/assets/lang/tg_PH.ini +++ b/assets/lang/tg_PH.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Screen Scaling Filter Show Debug Statistics = Ipakita ang debug statistics Show FPS Counter = Ipakita ang FPS Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Software Rendering (Expiremental) Software Skinning = Software skinning SoftwareSkinning Tip = Combine skinned model draws on the CPU, faster in most games diff --git a/assets/lang/th_TH.ini b/assets/lang/th_TH.ini index e17bd231cb4f..add6ccfbf91e 100644 --- a/assets/lang/th_TH.ini +++ b/assets/lang/th_TH.ini @@ -657,6 +657,7 @@ Show Speed = แสดงค่าความเร็ว Skip = Skip Skip Buffer Effects = ข้ามการใช้บัฟเฟอร์เอฟเฟ็คท์ (ปิดบัฟเฟอร์) Skip GPU Readbacks = ข้ามการอ่านข้อมูลส่งกลับไปยัง GPU +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = ใช้ซอฟต์แวร์ในการแสดงผล (ช้า แต่แม่นยำ) Software Skinning = ซอฟต์แวร์ สกินนิ่ง SoftwareSkinning Tip = ผสานโมเดลพื้นผิวให้เขียนผ่านซีพียู ซึ่งเกมส่วนใหญ่ปรับใช้แล้วไวขึ้น diff --git a/assets/lang/tr_TR.ini b/assets/lang/tr_TR.ini index 379d23ff7308..351957b1e0c2 100644 --- a/assets/lang/tr_TR.ini +++ b/assets/lang/tr_TR.ini @@ -659,6 +659,7 @@ Screen Scaling Filter = Ekran ölçekleme filtresi Show Debug Statistics = Hata ayıklama istatistiklerini göster Show FPS Counter = FPS sayacını göster Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Yazılımsal işleme (Deneysel) Software Skinning = Software skinning SoftwareSkinning Tip = Combine skinned model draws on the CPU, faster in most games diff --git a/assets/lang/uk_UA.ini b/assets/lang/uk_UA.ini index 8f991ef8cde2..b942bc659766 100644 --- a/assets/lang/uk_UA.ini +++ b/assets/lang/uk_UA.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Фільтр обчислення екрану Show Debug Statistics = Відоброжати зневадження Show FPS Counter = Показати FPS Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Програмний рендеринг (експериментально) Software Skinning = Програмна заливка SoftwareSkinning Tip = Комбінована модель розібраної моделі яка притягується до процесора, швидше в більшості ігор diff --git a/assets/lang/vi_VN.ini b/assets/lang/vi_VN.ini index 20c05e60f506..4313bd3afa60 100644 --- a/assets/lang/vi_VN.ini +++ b/assets/lang/vi_VN.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = Bộ lọc họa tiết rộng Show Debug Statistics = Hiện thông số debug Show FPS Counter = Hiện thông số FPS Skip GPU Readbacks = Skip GPU Readbacks +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = Dựng hình bằng phần mềm Software Skinning = phủ lớp bằng phần mềm SoftwareSkinning Tip = Mô hình kết hợp vẽ trên CPU, nhanh hơn trong hầu hết các trò chơi diff --git a/assets/lang/zh_CN.ini b/assets/lang/zh_CN.ini index 678dc7b284b1..e0e34b1678b2 100644 --- a/assets/lang/zh_CN.ini +++ b/assets/lang/zh_CN.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = 画面缩放方法 Show Debug Statistics = 显示调试信息 Show FPS Counter = 显示帧率 Skip GPU Readbacks = 跳过GPU块传输 +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = 软件渲染 (慢) Software Skinning = 软件蒙皮 SoftwareSkinning Tip = 将模型绘制转移至CPU,在较多游戏中更快,但也有减速的反例 diff --git a/assets/lang/zh_TW.ini b/assets/lang/zh_TW.ini index bfd5b483404d..018db3000122 100644 --- a/assets/lang/zh_TW.ini +++ b/assets/lang/zh_TW.ini @@ -657,6 +657,7 @@ Screen Scaling Filter = 螢幕縮放濾鏡 Show Debug Statistics = 顯示偵錯統計資料 Show FPS Counter = 顯示 FPS 計數器 Skip GPU Readbacks = 跳過 GPU 讀回 +Smart 2D texture filtering = Smart 2D texture filtering Software Rendering = 軟體轉譯 (慢) Software Skinning = 軟體除皮 SoftwareSkinning Tip = 結合除皮模組在 CPU 上繪製,在多數遊戲上更快 From 52d05aaa27039ad966c3e7602e8e80daa58ed446 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Fri, 12 Jan 2024 11:31:06 +0100 Subject: [PATCH 09/10] GPU profiling: Count how many descriptors we manage to deduplicate. --- Common/GPU/Vulkan/VulkanFrameData.h | 1 + Common/GPU/Vulkan/VulkanRenderManager.cpp | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Common/GPU/Vulkan/VulkanFrameData.h b/Common/GPU/Vulkan/VulkanFrameData.h index 346f15c782a5..a5decd63c072 100644 --- a/Common/GPU/Vulkan/VulkanFrameData.h +++ b/Common/GPU/Vulkan/VulkanFrameData.h @@ -29,6 +29,7 @@ struct QueueProfileContext { double cpuEndTime; double descWriteTime; int descriptorsWritten; + int descriptorsDeduped; #ifdef _DEBUG int commandCounts[11]; #endif diff --git a/Common/GPU/Vulkan/VulkanRenderManager.cpp b/Common/GPU/Vulkan/VulkanRenderManager.cpp index 6068e8438d82..fe1ab035d06b 100644 --- a/Common/GPU/Vulkan/VulkanRenderManager.cpp +++ b/Common/GPU/Vulkan/VulkanRenderManager.cpp @@ -687,7 +687,7 @@ void VulkanRenderManager::BeginFrame(bool enableProfiling, bool enableLogProfile descUpdateTimeMs_.Update(frameData.profile.descWriteTime * 1000.0); descUpdateTimeMs_.Format(line, sizeof(line)); str << line; - snprintf(line, sizeof(line), "Descriptors written: %d\n", frameData.profile.descriptorsWritten); + snprintf(line, sizeof(line), "Descriptors written: %d (dedup: %d)\n", frameData.profile.descriptorsWritten, frameData.profile.descriptorsDeduped); str << line; snprintf(line, sizeof(line), "Resource deletions: %d\n", vulkan_->GetLastDeleteCount()); str << line; @@ -737,6 +737,7 @@ void VulkanRenderManager::BeginFrame(bool enableProfiling, bool enableLogProfile } frameData.profile.descriptorsWritten = 0; + frameData.profile.descriptorsDeduped = 0; // Must be after the fence - this performs deletes. VLOG("PUSH: BeginFrame %d", curFrame); @@ -1747,7 +1748,7 @@ void VKRPipelineLayout::FlushDescSets(VulkanContext *vulkan, int frame, QueuePro VkDescriptorBufferInfo bufferInfo[MAX_DESC_SET_BINDINGS]; size_t start = data.flushedDescriptors_; - int writeCount = 0; + int writeCount = 0, dedupCount = 0; for (size_t index = start; index < descSets.size(); index++) { auto &d = descSets[index]; @@ -1759,6 +1760,7 @@ void VKRPipelineLayout::FlushDescSets(VulkanContext *vulkan, int frame, QueuePro if (descSets[index - 1].count == d.count) { if (!memcmp(descData.data() + d.offset, descData.data() + descSets[index - 1].offset, d.count * sizeof(PackedDescriptor))) { d.set = descSets[index - 1].set; + dedupCount++; continue; } } @@ -1841,4 +1843,5 @@ void VKRPipelineLayout::FlushDescSets(VulkanContext *vulkan, int frame, QueuePro data.flushedDescriptors_ = (int)descSets.size(); profile->descriptorsWritten += writeCount; + profile->descriptorsDeduped += dedupCount; } From f2ea9f016e7dc65e211f914fcffe23ad2bb1ae43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Fri, 12 Jan 2024 11:41:59 +0100 Subject: [PATCH 10/10] Add the new string to DesktopUI too. --- assets/lang/ar_AE.ini | 1 + assets/lang/az_AZ.ini | 1 + assets/lang/bg_BG.ini | 1 + assets/lang/ca_ES.ini | 1 + assets/lang/cz_CZ.ini | 1 + assets/lang/da_DK.ini | 1 + assets/lang/de_DE.ini | 1 + assets/lang/dr_ID.ini | 1 + assets/lang/en_US.ini | 1 + assets/lang/es_ES.ini | 1 + assets/lang/es_LA.ini | 1 + assets/lang/fa_IR.ini | 1 + assets/lang/fi_FI.ini | 1 + assets/lang/fr_FR.ini | 1 + assets/lang/gl_ES.ini | 1 + assets/lang/gr_EL.ini | 1 + assets/lang/he_IL.ini | 1 + assets/lang/he_IL_invert.ini | 1 + assets/lang/hr_HR.ini | 1 + assets/lang/hu_HU.ini | 1 + assets/lang/id_ID.ini | 1 + assets/lang/it_IT.ini | 1 + assets/lang/ja_JP.ini | 1 + assets/lang/jv_ID.ini | 1 + assets/lang/ko_KR.ini | 1 + assets/lang/lo_LA.ini | 1 + assets/lang/lt-LT.ini | 1 + assets/lang/ms_MY.ini | 1 + assets/lang/nl_NL.ini | 1 + assets/lang/no_NO.ini | 1 + assets/lang/pl_PL.ini | 1 + assets/lang/pt_BR.ini | 1 + assets/lang/pt_PT.ini | 1 + assets/lang/ro_RO.ini | 1 + assets/lang/ru_RU.ini | 1 + assets/lang/sv_SE.ini | 1 + assets/lang/tg_PH.ini | 1 + assets/lang/th_TH.ini | 1 + assets/lang/tr_TR.ini | 1 + assets/lang/uk_UA.ini | 1 + assets/lang/vi_VN.ini | 1 + assets/lang/zh_CN.ini | 1 + assets/lang/zh_TW.ini | 1 + 43 files changed, 43 insertions(+) diff --git a/assets/lang/ar_AE.ini b/assets/lang/ar_AE.ini index 46eea77443fc..16b6de900151 100644 --- a/assets/lang/ar_AE.ini +++ b/assets/lang/ar_AE.ini @@ -272,6 +272,7 @@ Show Debug Statistics = ‎إظهار حالة التصحيح Show FPS Counter = ‎&FPS أظهر عداد Skip Number of Frames = Skip number of frames Skip Percent of FPS = Skip percent of FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = ‎&توقف Switch UMD = ‎تغيير UMD Take Screenshot = ‎&خذ لقطة شاشة diff --git a/assets/lang/az_AZ.ini b/assets/lang/az_AZ.ini index 36d67b77a408..f721c9fabd23 100644 --- a/assets/lang/az_AZ.ini +++ b/assets/lang/az_AZ.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Show Debu&g Statistics Show FPS Counter = Show &FPS Counter Skip Number of Frames = Skip number of frames Skip Percent of FPS = Skip percent of FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Stop Switch UMD = Switch UMD Take Screenshot = &Take Screenshot diff --git a/assets/lang/bg_BG.ini b/assets/lang/bg_BG.ini index d5d6629405ca..cca4bfb07e35 100644 --- a/assets/lang/bg_BG.ini +++ b/assets/lang/bg_BG.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Покажи Debu&g Statistics Show FPS Counter = Покажи &FPS Skip Number of Frames = Skip number of frames Skip Percent of FPS = Skip percent of FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Stop Switch UMD = Смени UMD Take Screenshot = Направи снимка diff --git a/assets/lang/ca_ES.ini b/assets/lang/ca_ES.ini index 998a1c83a64e..6cbb6df0b60d 100644 --- a/assets/lang/ca_ES.ini +++ b/assets/lang/ca_ES.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Mostrar estadístiques de &depuació Show FPS Counter = Mostrar comptador de &FPS Skip Number of Frames = Saltar número de quadres Skip Percent of FPS = Saltar percentatge de quadres +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Aturar Switch UMD = Canvia UMD Take Screenshot = &Captura de pantalla diff --git a/assets/lang/cz_CZ.ini b/assets/lang/cz_CZ.ini index 8cd1e70e3c41..551d1ef39545 100644 --- a/assets/lang/cz_CZ.ini +++ b/assets/lang/cz_CZ.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Zobrazit &statistiky ladění Show FPS Counter = Zobrazit počíta&dlo Skip Number of Frames = Skip number of frames Skip Percent of FPS = Skip percent of FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Zastavit Switch UMD = Přepnout UMD Take Screenshot = &Pořídit snímek obrazovky diff --git a/assets/lang/da_DK.ini b/assets/lang/da_DK.ini index 1f615069dd01..9a74241fbaaf 100644 --- a/assets/lang/da_DK.ini +++ b/assets/lang/da_DK.ini @@ -264,6 +264,7 @@ Show Debug Statistics = &Vis fejlfindingsstatistik Show FPS Counter = Vis &FPS Skip Number of Frames = Skip number of frames Skip Percent of FPS = Skip percent of FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Stop Switch UMD = Skift UMD Take Screenshot = &Tag skærmdump diff --git a/assets/lang/de_DE.ini b/assets/lang/de_DE.ini index 1ec7b1d25ab4..7a5ceb0d4de9 100644 --- a/assets/lang/de_DE.ini +++ b/assets/lang/de_DE.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Debugstatistiken anzeigen Show FPS Counter = FPS anzeigen Skip Number of Frames = Überspringe Anzahl an Bildern Skip Percent of FPS = Überspringe Prozent an FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = Stop Switch UMD = UMD wechseln Take Screenshot = Screenshot aufnehmen diff --git a/assets/lang/dr_ID.ini b/assets/lang/dr_ID.ini index 4b0decf7f65c..5756127090b1 100644 --- a/assets/lang/dr_ID.ini +++ b/assets/lang/dr_ID.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Pempakitan Debu&g Statistics Show FPS Counter = Pempakitan &FPS Skip Number of Frames = Skip number of frames Skip Percent of FPS = Skip percent of FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Kenden Switch UMD = Switch UMD Take Screenshot = &Aalai gambara'na diff --git a/assets/lang/en_US.ini b/assets/lang/en_US.ini index 3db69eb1bd65..779853495d38 100644 --- a/assets/lang/en_US.ini +++ b/assets/lang/en_US.ini @@ -288,6 +288,7 @@ Show Debug Statistics = Show debu&g statistics Show FPS Counter = Show &FPS counter Skip Number of Frames = Skip number of frames Skip Percent of FPS = Skip percent of FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Stop Switch UMD = Switch UMD Take Screenshot = &Take screenshot diff --git a/assets/lang/es_ES.ini b/assets/lang/es_ES.ini index e1c19bbc5028..b353f2f57a90 100644 --- a/assets/lang/es_ES.ini +++ b/assets/lang/es_ES.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Mostrar &estadísticas de depuración Show FPS Counter = &Mostrar contador de FPS Skip Number of Frames = Saltar nº de cuadros Skip Percent of FPS = Saltar % de cuadros +Smart 2D texture filtering = Smart 2D texture filtering Stop = P&arar Switch UMD = Cambiar &UMD Take Screenshot = Capturar &pantalla diff --git a/assets/lang/es_LA.ini b/assets/lang/es_LA.ini index a8c843d41136..5350b4d5739e 100644 --- a/assets/lang/es_LA.ini +++ b/assets/lang/es_LA.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Mostrar &estadísticas de depuración Show FPS Counter = &Mostrar contador de FPS Skip Number of Frames = Saltar número de frames Skip Percent of FPS = Saltar porcentaje de FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = P&arar Switch UMD = Cambiar &UMD Take Screenshot = Capturar &pantalla diff --git a/assets/lang/fa_IR.ini b/assets/lang/fa_IR.ini index 139abed7e522..51aacc7a4173 100644 --- a/assets/lang/fa_IR.ini +++ b/assets/lang/fa_IR.ini @@ -264,6 +264,7 @@ Show Debug Statistics = ‎نمایش وضعیت دیباگ Show FPS Counter = ‎نمایش شمارنده فریم بر ثانیه Skip Number of Frames = Skip number of frames Skip Percent of FPS = Skip percent of FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = ‎توقف Switch UMD = ‎تغییر دیسک Take Screenshot = ‎گرفتن اسکرین شات diff --git a/assets/lang/fi_FI.ini b/assets/lang/fi_FI.ini index fb9df7fbca60..4bd0bc1d8b31 100644 --- a/assets/lang/fi_FI.ini +++ b/assets/lang/fi_FI.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Näytä &vianetsinnän tiedot Show FPS Counter = Näytä kuvalaskuri (FPS) Skip Number of Frames = Ohita tämä määrä kuvia Skip Percent of FPS = Ohita prosenttiosuus kuvista +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Pysäytä Switch UMD = Vaihda UMD Take Screenshot = Ota &kuvakaappaus diff --git a/assets/lang/fr_FR.ini b/assets/lang/fr_FR.ini index c3d4bf9017d2..32933d8c093f 100644 --- a/assets/lang/fr_FR.ini +++ b/assets/lang/fr_FR.ini @@ -264,6 +264,7 @@ Show Debug Statistics = &Montrer les statistiques de débogage Show FPS Counter = M&ontrer la vitesse d'émulation Skip Number of Frames = Sauter un nombre d'images Skip Percent of FPS = Sauter un pourcentage de FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Arrêter Switch UMD = Changer d'UMD Take Screenshot = &Faire une capture d'écran diff --git a/assets/lang/gl_ES.ini b/assets/lang/gl_ES.ini index 87c74d56b824..5fe2690487c2 100644 --- a/assets/lang/gl_ES.ini +++ b/assets/lang/gl_ES.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Mostrar &estadísticas de depuración Show FPS Counter = &Mostrar contador de FPS Skip Number of Frames = Skip number of frames Skip Percent of FPS = Skip percent of FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = P&arar Switch UMD = Cambiar &UMD Take Screenshot = Capturar &pantalla diff --git a/assets/lang/gr_EL.ini b/assets/lang/gr_EL.ini index 82b48bea7560..3d169eede44e 100644 --- a/assets/lang/gr_EL.ini +++ b/assets/lang/gr_EL.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Εμφάνισ&η Στατιστικών Αποσφαλ Show FPS Counter = Εμφάνι&ση μετρητή FPS Skip Number of Frames = Παράκαμψη αριθμών καρέ Skip Percent of FPS = Παράκαμψη προσοστού αριθμών καρέ +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Σταμάτημα Switch UMD = Αλλαγή UMD Take Screenshot = Δημιουργία Στιγμιότυπου diff --git a/assets/lang/he_IL.ini b/assets/lang/he_IL.ini index df734ce5d699..fe53bef630e8 100644 --- a/assets/lang/he_IL.ini +++ b/assets/lang/he_IL.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Show Debu&g Statistics Show FPS Counter = Show &FPS Counter Skip Number of Frames = Skip number of frames Skip Percent of FPS = Skip percent of FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = &עצור Switch UMD = Switch UMD Take Screenshot = &צלם מסך diff --git a/assets/lang/he_IL_invert.ini b/assets/lang/he_IL_invert.ini index 7145a03183e2..e6d3e50dbf78 100644 --- a/assets/lang/he_IL_invert.ini +++ b/assets/lang/he_IL_invert.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Show Debu&g Statistics Show FPS Counter = Show &FPS Counter Skip Number of Frames = Skip number of frames Skip Percent of FPS = Skip percent of FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Stop Switch UMD = Switch UMD Take Screenshot = &Take Screenshot diff --git a/assets/lang/hr_HR.ini b/assets/lang/hr_HR.ini index 040831100e2a..86aa58f0c1b3 100644 --- a/assets/lang/hr_HR.ini +++ b/assets/lang/hr_HR.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Prikaži debu&g statistike Show FPS Counter = Prikaži &FPS broj Skip Number of Frames = Preskoči broj okvira Skip Percent of FPS = Preskoči postotak FPS-a +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Stopiraj Switch UMD = Promijeni UMD Take Screenshot = &Slikaj zaslon diff --git a/assets/lang/hu_HU.ini b/assets/lang/hu_HU.ini index 3115532c659e..02b78d3d9bc5 100644 --- a/assets/lang/hu_HU.ini +++ b/assets/lang/hu_HU.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Hiba&keresési statisztikák mutatása Show FPS Counter = &FPS számláló mutatása Skip Number of Frames = Képkockák kihagyása darabszámra Skip Percent of FPS = Képkockák kihagyása FPS százalékában +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Leállítás Switch UMD = UMD váltása Take Screenshot = &Képernyőkép mentése diff --git a/assets/lang/id_ID.ini b/assets/lang/id_ID.ini index 0177160ef753..0d3563f58759 100644 --- a/assets/lang/id_ID.ini +++ b/assets/lang/id_ID.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Tampilkan statistik awakutu Show FPS Counter = Tampilkan penghitung &FPS Skip Number of Frames = Lewati nomor laju bingkai Skip Percent of FPS = Lewati persen FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = Hentikan Switch UMD = Ganti UMD Take Screenshot = Ambil &tangkapan layar diff --git a/assets/lang/it_IT.ini b/assets/lang/it_IT.ini index 5329d78f1306..65ccc24cc89a 100644 --- a/assets/lang/it_IT.ini +++ b/assets/lang/it_IT.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Mostra Statistiche di Debug Show FPS Counter = Mostra FPS Skip Number of Frames = Salta numero di frame Skip Percent of FPS = Salta percentuale di FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Interrompi Switch UMD = Cambia UMD Take Screenshot = Acquisizione Screenshot diff --git a/assets/lang/ja_JP.ini b/assets/lang/ja_JP.ini index e74a80f83a9e..2c62520b7f64 100644 --- a/assets/lang/ja_JP.ini +++ b/assets/lang/ja_JP.ini @@ -264,6 +264,7 @@ Show Debug Statistics = デバッグ情報を表示する(&G) Show FPS Counter = FPSを表示する(&F) Skip Number of Frames = スキップするフレーム数 Skip Percent of FPS = スキップするFPS中のパーセント +Smart 2D texture filtering = Smart 2D texture filtering Stop = 停止(&S) Switch UMD = UMDを交換する Take Screenshot = スクリーンショットを撮る(&T) diff --git a/assets/lang/jv_ID.ini b/assets/lang/jv_ID.ini index b4feef066366..32eff9c80334 100644 --- a/assets/lang/jv_ID.ini +++ b/assets/lang/jv_ID.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Tampilno Statistik Debu&g Show FPS Counter = Tampilno Penghitung &FPS Skip Number of Frames = Skip number of frames Skip Percent of FPS = Skip percent of FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Mandek Switch UMD = Ngalih UMD Take Screenshot = &Njupuk Takapan-layar diff --git a/assets/lang/ko_KR.ini b/assets/lang/ko_KR.ini index 81b430129877..c01bf3dcd2b3 100644 --- a/assets/lang/ko_KR.ini +++ b/assets/lang/ko_KR.ini @@ -264,6 +264,7 @@ Show Debug Statistics = 디버그 통계 표시(&G) Show FPS Counter = FPS 카운터 표시(&F) Skip Number of Frames = 프레임 수 생략 Skip Percent of FPS = FPS 비율 생략 +Smart 2D texture filtering = Smart 2D texture filtering Stop = 정지(&S) Switch UMD = UMD 교체 Take Screenshot = 스크린샷 찍기(&T) diff --git a/assets/lang/lo_LA.ini b/assets/lang/lo_LA.ini index 66dabe26f0e3..864eec7eff2e 100644 --- a/assets/lang/lo_LA.ini +++ b/assets/lang/lo_LA.ini @@ -264,6 +264,7 @@ Show Debug Statistics = &ສະແດງຄ່າທາງສະຖິຕິແ Show FPS Counter = &ສະແດງໂຕນັບຄ່າເຟຣມເຣດ Skip Number of Frames = Skip number of frames Skip Percent of FPS = Skip percent of FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = &ຢຸດ Switch UMD = ສະຫຼັບແຜ່ນ UMD Take Screenshot = &ຈັບພາບໜ້າຈໍ diff --git a/assets/lang/lt-LT.ini b/assets/lang/lt-LT.ini index 44dd59084adf..eb9466606ac6 100644 --- a/assets/lang/lt-LT.ini +++ b/assets/lang/lt-LT.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Rodyti Debu&g statistikas Show FPS Counter = Rodyti &kadrų per sekundę rodmenis Skip Number of Frames = Skip number of frames Skip Percent of FPS = Skip percent of FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Stabdyti Switch UMD = Perkeisti "UMD" Take Screenshot = &Nufotografuoti nuotrauką diff --git a/assets/lang/ms_MY.ini b/assets/lang/ms_MY.ini index 16f97cf95429..54b89b27784c 100644 --- a/assets/lang/ms_MY.ini +++ b/assets/lang/ms_MY.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Papar Stati&stik Pepijat Show FPS Counter = Papar &penghitung FPS Skip Number of Frames = Skip number of frames Skip Percent of FPS = Skip percent of FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Henti Switch UMD = Tukar UMD Take Screenshot = &Ambil Gambar Skrin diff --git a/assets/lang/nl_NL.ini b/assets/lang/nl_NL.ini index 6bcd8e21d3d3..f2d34a1ba3b8 100644 --- a/assets/lang/nl_NL.ini +++ b/assets/lang/nl_NL.ini @@ -264,6 +264,7 @@ Show Debug Statistics = &Foutopsporingsstatistieken tonen Show FPS Counter = FP&S-teller weergeven Skip Number of Frames = Skip number of frames Skip Percent of FPS = Skip percent of FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Stoppen Switch UMD = UMD verwisselen Take Screenshot = &Screenshot nemen diff --git a/assets/lang/no_NO.ini b/assets/lang/no_NO.ini index a79bacf1a60f..4ef5872a900a 100644 --- a/assets/lang/no_NO.ini +++ b/assets/lang/no_NO.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Show Debu&g Statistics Show FPS Counter = Show &FPS Counter Skip Number of Frames = Skip number of frames Skip Percent of FPS = Skip percent of FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Stop Switch UMD = Switch UMD Take Screenshot = &Take Screenshot diff --git a/assets/lang/pl_PL.ini b/assets/lang/pl_PL.ini index 2d8c40c3cb12..a889f4c89377 100644 --- a/assets/lang/pl_PL.ini +++ b/assets/lang/pl_PL.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Pokaż statystyki debugowania Show FPS Counter = Pokaż licznik FPS Skip Number of Frames = Pomiń ilość klatek Skip Percent of FPS = Pomiń procent FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = Zatrzymaj Switch UMD = Podmień UMD Take Screenshot = Wykonaj zrzut ekranu diff --git a/assets/lang/pt_BR.ini b/assets/lang/pt_BR.ini index ddf5488ce17b..c53ce981f0cc 100644 --- a/assets/lang/pt_BR.ini +++ b/assets/lang/pt_BR.ini @@ -288,6 +288,7 @@ Show Debug Statistics = Mostrar as estatíst&icas do debug Show FPS Counter = Mostrar o contador dos &FPS Skip Number of Frames = Ignorar o número dos frames Skip Percent of FPS = Ignorar porcentagem do FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Parar Switch UMD = Trocar UMD Take Screenshot = &Criar screenshot diff --git a/assets/lang/pt_PT.ini b/assets/lang/pt_PT.ini index 7b4b3f50766c..b4c189aa4f0e 100644 --- a/assets/lang/pt_PT.ini +++ b/assets/lang/pt_PT.ini @@ -288,6 +288,7 @@ Show Debug Statistics = Mostrar as estatíst&icas de depuração Show FPS Counter = Mostrar o contador de &FPS (Frames Por Segundo) Skip Number of Frames = Saltar o número de frames Skip Percent of FPS = Ignorar percentagem de FPS (Frames Por Segundo) +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Parar Switch UMD = Trocar UMD Take Screenshot = &Criar Captura de Tela diff --git a/assets/lang/ro_RO.ini b/assets/lang/ro_RO.ini index c495962654f0..952d69b7184f 100644 --- a/assets/lang/ro_RO.ini +++ b/assets/lang/ro_RO.ini @@ -265,6 +265,7 @@ Show Debug Statistics = Show Debu&g Statistics Show FPS Counter = Show &FPS Counter Skip Number of Frames = Skip number of frames Skip Percent of FPS = Skip percent of FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Stop Switch UMD = Switch UMD Take Screenshot = &Take Screenshot diff --git a/assets/lang/ru_RU.ini b/assets/lang/ru_RU.ini index e948fa6519cf..df9041274298 100644 --- a/assets/lang/ru_RU.ini +++ b/assets/lang/ru_RU.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Показывать &отладочную информ Show FPS Counter = По&казывать FPS Skip Number of Frames = Пропускать количество кадров Skip Percent of FPS = Пропускать процент от FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = Остановить Switch UMD = Сменить UMD Take Screenshot = Сделать скриншот diff --git a/assets/lang/sv_SE.ini b/assets/lang/sv_SE.ini index 787bc3a9b2c5..f6aa00a53933 100644 --- a/assets/lang/sv_SE.ini +++ b/assets/lang/sv_SE.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Visa debug-statistik Show FPS Counter = Visa FPS-räknare Skip Number of Frames = Skippa antal frames Skip Percent of FPS = Skippa procent av FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = Stopp Switch UMD = Byt UMD Take Screenshot = Ta skärmdump diff --git a/assets/lang/tg_PH.ini b/assets/lang/tg_PH.ini index 30834e7971ae..5534e6450ec1 100644 --- a/assets/lang/tg_PH.ini +++ b/assets/lang/tg_PH.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Show Debug Statistics Show FPS Counter = Ipakita ang FPS Counter Skip Number of Frames = Skip number of frames Skip Percent of FPS = Skip percent of FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = I-hinto Switch UMD = Switch UMD Take Screenshot = Kumuha ng Screenshot diff --git a/assets/lang/th_TH.ini b/assets/lang/th_TH.ini index add6ccfbf91e..741b300c5c95 100644 --- a/assets/lang/th_TH.ini +++ b/assets/lang/th_TH.ini @@ -264,6 +264,7 @@ Show Debug Statistics = แสดงค่าทางสถิติการ Show FPS Counter = แสดงค่าเฟรมเรทต่อวินาที Skip Number of Frames = อิงจากค่าจำนวนเฟรม Skip Percent of FPS = อิงจากเปอร์เซ็นต์เฟรมต่อวิ +Smart 2D texture filtering = Smart 2D texture filtering Stop = หยุด Switch UMD = สลับแผ่น UMD Take Screenshot = จับภาพจากหน้าจอ diff --git a/assets/lang/tr_TR.ini b/assets/lang/tr_TR.ini index 351957b1e0c2..5ebb1498cd37 100644 --- a/assets/lang/tr_TR.ini +++ b/assets/lang/tr_TR.ini @@ -266,6 +266,7 @@ Show Debug Statistics = Hata Ayıklama İstatistiklerini Göster Show FPS Counter = FPS Sayacını Göster Skip Number of Frames = Şu kadar kare sayısını atla Skip Percent of FPS = Şu kadar FPS yüzdesini atla +Smart 2D texture filtering = Smart 2D texture filtering Stop = &Dur Switch UMD = UMD Değiştir Take Screenshot = &Ekran Görüntüsü Al diff --git a/assets/lang/uk_UA.ini b/assets/lang/uk_UA.ini index b942bc659766..97bda5287f8b 100644 --- a/assets/lang/uk_UA.ini +++ b/assets/lang/uk_UA.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Показувати &статистику налаго Show FPS Counter = По&казувати FPS Skip Number of Frames = Пропускати кількільсть кадрів Skip Percent of FPS = Пропускати відсоток від FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = Зупинити Switch UMD = Змінити UMD Take Screenshot = Зробити знімок diff --git a/assets/lang/vi_VN.ini b/assets/lang/vi_VN.ini index 4313bd3afa60..10249e9cd51c 100644 --- a/assets/lang/vi_VN.ini +++ b/assets/lang/vi_VN.ini @@ -264,6 +264,7 @@ Show Debug Statistics = Hiện thông số debug Show FPS Counter = Hiện thông số FPS Skip Number of Frames = Skip number of frames Skip Percent of FPS = Skip percent of FPS +Smart 2D texture filtering = Smart 2D texture filtering Stop = Dừng lại Switch UMD = Chuyển sang UMD Take Screenshot = Chụp ảnh màn hình diff --git a/assets/lang/zh_CN.ini b/assets/lang/zh_CN.ini index e0e34b1678b2..6c80c77d52c3 100644 --- a/assets/lang/zh_CN.ini +++ b/assets/lang/zh_CN.ini @@ -264,6 +264,7 @@ Show Debug Statistics = 显示调试信息(&G) Show FPS Counter = 显示帧率(&F) Skip Number of Frames = 帧的数量 Skip Percent of FPS = 帧率比例 +Smart 2D texture filtering = Smart 2D texture filtering Stop = 停止(&S) Switch UMD = 切换UMD光盘 Take Screenshot = 屏幕截图(&T) diff --git a/assets/lang/zh_TW.ini b/assets/lang/zh_TW.ini index 018db3000122..a33e4edce00a 100644 --- a/assets/lang/zh_TW.ini +++ b/assets/lang/zh_TW.ini @@ -264,6 +264,7 @@ Show Debug Statistics = 顯示偵錯統計資料(&G) Show FPS Counter = 顯示 FPS 計數器(&F) Skip Number of Frames = 跳過影格數 Skip Percent of FPS = 跳過 FPS 百分比 +Smart 2D texture filtering = Smart 2D texture filtering Stop = 停止(&S) Switch UMD = 切換 UMD Take Screenshot = 擷取螢幕畫面(&T)