Delete the "Lazy texture cache" option

This commit is contained in:
Henrik Rydgård
2026-06-09 17:51:50 +02:00
parent 79a81186a6
commit 36bdde68f9
54 changed files with 81 additions and 283 deletions
-1
View File
@@ -743,7 +743,6 @@ static const ConfigSetting graphicsSettings[] = {
ConfigSetting("AnisotropyLevel", SETTING(g_Config, iAnisotropyLevel), 4, CfgFlag::PER_GAME),
ConfigSetting("MultiSampleLevel", SETTING(g_Config, iMultiSampleLevel), 0, CfgFlag::PER_GAME), // Number of samples is 1 << iMultiSampleLevel
ConfigSetting("TextureBackoffCache", SETTING(g_Config, bTextureBackoffCache), false, CfgFlag::PER_GAME | CfgFlag::REPORT),
ConfigSetting("VertexDecJit", SETTING(g_Config, bVertexDecoderJit), &DefaultCodeGen, CfgFlag::DONT_SAVE | CfgFlag::REPORT),
#ifndef MOBILE_DEVICE
-1
View File
@@ -320,7 +320,6 @@ public:
float fUITint;
float fUISaturation;
bool bTextureBackoffCache;
bool bVertexDecoderJit;
int iAppSwitchMode;
bool bFullScreen;
+21 -104
View File
@@ -125,7 +125,6 @@ TextureCacheCommon::~TextureCacheCommon() {
void TextureCacheCommon::StartFrame() {
ForgetLastTexture();
textureShaderCache_->Decimate();
timesInvalidatedAllThisFrame_ = 0;
replacementTimeThisFrame_ = 0.0;
float fps;
@@ -370,6 +369,7 @@ SamplerCacheKey TextureCacheCommon::GetFramebufferSamplingParams(u16 bufferWidth
return key;
}
// TODO: This should be called from the through mode bbox check.
void TextureCacheCommon::UpdateMaxSeenV(TexCacheEntry *entry, bool throughMode) {
// If the texture is >= 512 pixels tall...
if (entry->dim >= 0x900) {
@@ -395,7 +395,6 @@ void TextureCacheCommon::UpdateMaxSeenV(TexCacheEntry *entry, bool throughMode)
} else if (gstate_c.vertBounds.maxV > entry->maxSeenV) {
// The max height changed, so we're better off hashing the entire thing.
entry->maxSeenV = 512;
entry->status |= TexStatus::FREE_CHANGE;
}
} else {
// Otherwise, we need to reset to ensure we use the whole thing.
@@ -481,7 +480,7 @@ TexCacheEntry *TextureCacheCommon::SetTexture() {
entry = entryIter->second.get();
// Validate the texture still matches the cache entry.
bool match = entry->Matches(dim, texFormat, maxLevel);
bool match = entry->MatchesProperties(dim, texFormat, maxLevel);
const char *reason = "different params";
// Check for dynamic CLUT status
@@ -498,7 +497,9 @@ TexCacheEntry *TextureCacheCommon::SetTexture() {
match = false;
}
bool rehash = entry->hashStatus == TexHashStatus::Unreliable;
// !!! Here we will do the check for "sync domain"
// NOTE: Reliable is just for the font texture now.
bool rehash = (entry->status & TexStatus::RELIABLE) == 0;
// First let's see if another texture with the same address had a hashfail.
if (entry->status & TexStatus::CLUT_RECHECK) {
@@ -506,6 +507,7 @@ TexCacheEntry *TextureCacheCommon::SetTexture() {
rehash = true;
entry->status &= ~TexStatus::CLUT_RECHECK;
} else if (!gstate_c.IsDirty(DIRTY_TEXTURE_IMAGE)) {
// TODO: This check looks bad.
// Okay, just some parameter change - the data didn't change, no need to rehash.
rehash = false;
}
@@ -545,17 +547,13 @@ TexCacheEntry *TextureCacheCommon::SetTexture() {
if (minihash != entry->minihash) {
match = false;
reason = "minihash";
} else if (entry->hashStatus == TexHashStatus::Reliable) {
rehash = false;
}
}
if (match && (entry->status & TexStatus::TO_SCALE) && (standardScaleFactor_ > 1 || shaderScaleFactor_ > 1) && texelsScaledThisFrame_ < TEXCACHE_MAX_TEXELS_SCALED) {
if ((entry->status & TexStatus::CHANGE_FREQUENT) == 0) {
// INFO_LOG(Log::G3D, "Reloading texture to do the scaling we skipped..");
match = false;
reason = "scaling";
}
// INFO_LOG(Log::G3D, "Reloading texture to do the scaling we skipped..");
match = false;
reason = "scaling";
}
if (match && (entry->status & TexStatus::TO_REPLACE) && replacementTimeThisFrame_ < replacementFrameBudgetSeconds_) {
@@ -654,11 +652,7 @@ TexCacheEntry *TextureCacheCommon::SetTexture() {
entry->status = {};
if (PPGeIsFontTextureAddress(texaddr)) {
// It's the builtin font texture.
entry->hashStatus = TexHashStatus::Reliable;
} else if (g_Config.bTextureBackoffCache && !IsVideo(texaddr)) {
entry->hashStatus = TexHashStatus::Hashing;
} else {
entry->hashStatus = TexHashStatus::Unreliable;
entry->status |= TexStatus::RELIABLE;
}
if (hasClutGPU) {
@@ -677,10 +671,10 @@ TexCacheEntry *TextureCacheCommon::SetTexture() {
if (found >= TEXTURE_CLUT_VARIANTS_MIN) {
for (auto it = cache_.lower_bound(cachekeyMin), end = cache_.upper_bound(cachekeyMax); it != end; ++it) {
it->second->status |= TexStatus::CLUT_VARIANTS;
it->second->status |= TexStatus::MANY_CLUT_VARIANTS;
}
entry->status |= TexStatus::CLUT_VARIANTS;
entry->status |= TexStatus::MANY_CLUT_VARIANTS;
}
}
@@ -837,7 +831,7 @@ void TextureCacheCommon::Decimate(TexCacheEntry *exceptThisOne, bool forcePressu
++iter;
continue;
}
bool hasClutVariants = (iter->second->status & TexStatus::CLUT_VARIANTS) != 0;
bool hasClutVariants = (iter->second->status & TexStatus::MANY_CLUT_VARIANTS) != 0;
int killAge = hasClutVariants ? TEXTURE_KILL_AGE_CLUT : killAgeBase;
if (iter->second->lastFrame + killAge < gpuStats.totals.numFlips) {
DeleteTexture(iter++);
@@ -907,11 +901,6 @@ void TextureCacheCommon::HandleTextureChange(TexCacheEntry *const entry, const c
entry->status &= ~(TexStatus::IS_SCALED_OR_REPLACED | TexStatus::TO_REPLACE);
}
// Mark as hashing, if marked as reliable.
if (entry->hashStatus == TexHashStatus::Reliable) {
entry->hashStatus = TexHashStatus::Hashing;
}
// Also, mark any textures with the same address but different clut. They need rechecking.
if (entry->cluthash != 0) {
const u64 cachekeyMin = (u64)(entry->addr & 0x3FFFFFFF) << 32;
@@ -923,13 +912,6 @@ void TextureCacheCommon::HandleTextureChange(TexCacheEntry *const entry, const c
}
}
if (entry->numFrames < TEXCACHE_FRAME_CHANGE_FREQUENT) {
if (entry->status & TexStatus::FREE_CHANGE) {
entry->status &= ~TexStatus::FREE_CHANGE;
} else {
entry->status |= TexStatus::CHANGE_FREQUENT;
}
}
entry->numFrames = 0;
}
@@ -2157,7 +2139,7 @@ void TextureCacheCommon::ApplyTexture(bool doBind, bool flatZ) {
// Regardless of hash fails or otherwise, if this is a video, mark it frequently changing.
// This prevents temporary scaling perf hits on the first second of video.
if (IsVideo(entry->addr)) {
entry->status |= TexStatus::CHANGE_FREQUENT | TexStatus::VIDEO;
entry->status |= TexStatus::VIDEO;
} else {
entry->status &= ~TexStatus::VIDEO;
}
@@ -2590,13 +2572,6 @@ bool TextureCacheCommon::CheckFullHash(TexCacheEntry *entry, bool &doDelete) {
bool isVideo = IsVideo(entry->addr);
bool swizzled = gstate.isTextureSwizzled();
// Don't even check the texture, just assume it has changed.
if (isVideo && g_Config.bTextureBackoffCache) {
// Attempt to ensure the hash doesn't incorrectly match in if the video stops.
entry->fullhash = (entry->fullhash + 0xA535A535) * 11 + (entry->fullhash & 4);
return false;
}
u32 fullhash;
{
PROFILE_THIS_SCOPE("texhash");
@@ -2604,24 +2579,13 @@ bool TextureCacheCommon::CheckFullHash(TexCacheEntry *entry, bool &doDelete) {
}
if (fullhash == entry->fullhash) {
if (g_Config.bTextureBackoffCache && !isVideo) {
if (entry->hashStatus != TexHashStatus::Hashing && entry->numFrames > TexCacheEntry::FRAMES_REGAIN_TRUST) {
// Reset to STATUS_HASHING.
entry->hashStatus = TexHashStatus::Hashing;
entry->status &= ~TexStatus::CHANGE_FREQUENT;
}
} else if (entry->numFrames > TEXCACHE_FRAME_CHANGE_FREQUENT_REGAIN_TRUST) {
entry->status &= ~TexStatus::CHANGE_FREQUENT;
}
// All good!
return true;
}
// Don't give up just yet. Let's try the secondary cache if it's been invalidated before.
// Don't give up just yet.
// Let's try the secondary cache if it's been invalidated before.
if (PSP_CoreParameter().compat.flags().SecondaryTextureCache) {
// Don't forget this one was unreliable (in case we match a secondary entry.)
entry->hashStatus = TexHashStatus::Unreliable;
// If it's failed a bunch of times, then the second cache is just wasting time and VRAM.
// In that case, skip.
if (entry->numInvalidated > 2 && entry->numInvalidated < 128 && !lowMemoryMode_) {
@@ -2631,7 +2595,7 @@ bool TextureCacheCommon::CheckFullHash(TexCacheEntry *entry, bool &doDelete) {
if (secondIter != secondCache_.end()) {
// Found it, but does it match our current params? If not, abort.
TexCacheEntry *secondEntry = secondIter->second.get();
if (secondEntry->Matches(entry->dim, entry->format, entry->maxLevel)) {
if (secondEntry->MatchesProperties(entry->dim, entry->format, entry->maxLevel)) {
// Reset the numInvalidated value lower, we got a match.
if (entry->numInvalidated > 8) {
--entry->numInvalidated;
@@ -2692,7 +2656,7 @@ void TextureCacheCommon::Invalidate(u32 addr, int size, GPUInvalidationType type
}
// If we're hashing every use, without backoff, then this isn't needed.
if (!g_Config.bTextureBackoffCache && type != GPU_INVALIDATE_FORCE) {
if (type != GPU_INVALIDATE_FORCE) {
return;
}
@@ -2710,9 +2674,6 @@ void TextureCacheCommon::Invalidate(u32 addr, int size, GPUInvalidationType type
// Quick check for overlap. Yes the check is right.
if (addr < texEnd && addr_end > texAddr) {
if (entry->hashStatus == TexHashStatus::Reliable) {
entry->hashStatus = TexHashStatus::Hashing;
}
if (type == GPU_INVALIDATE_FORCE) {
// Just random values to force the hash not to match.
entry->fullhash = (entry->fullhash ^ 0x12345678) + 13;
@@ -2722,13 +2683,6 @@ void TextureCacheCommon::Invalidate(u32 addr, int size, GPUInvalidationType type
gpuStats.perFrame.numTextureInvalidations++;
// Start it over from 0 (unless it's safe.)
entry->numFrames = type == GPU_INVALIDATE_SAFE ? 256 : 0;
if (type == GPU_INVALIDATE_SAFE) {
u32 diff = gpuStats.totals.numFlips - entry->lastFrame;
// We still need to mark if the texture is frequently changing, even if it's safely changing.
if (diff < TEXCACHE_FRAME_CHANGE_FREQUENT) {
entry->status |= TexStatus::CHANGE_FREQUENT;
}
}
entry->framesUntilNextFullHash = 0;
} else {
entry->invalidHint++;
@@ -2738,22 +2692,7 @@ void TextureCacheCommon::Invalidate(u32 addr, int size, GPUInvalidationType type
}
void TextureCacheCommon::InvalidateAll(GPUInvalidationType /*unused*/) {
// If we're hashing every use, without backoff, then this isn't needed.
if (!g_Config.bTextureBackoffCache) {
return;
}
if (timesInvalidatedAllThisFrame_ > 5) {
return;
}
timesInvalidatedAllThisFrame_++;
for (auto &[key, e] : cache_) {
if (e->hashStatus == TexHashStatus::Reliable) {
e->hashStatus = TexHashStatus::Hashing;
}
e->invalidHint++;
}
// We don't really do anything here right now.
}
void TextureCacheCommon::ClearNextFrame() {
@@ -2889,12 +2828,6 @@ bool TextureCacheCommon::PrepareBuildTexture(BuildTexturePlan &plan, TexCacheEnt
plan.scaleFactor = 1;
}
if ((entry->status & TexStatus::CHANGE_FREQUENT) != 0 && plan.scaleFactor != 1 && plan.slowScaler) {
// Remember for later that we /wanted/ to scale this texture.
entry->status |= TexStatus::TO_SCALE;
plan.scaleFactor = 1;
}
if (plan.scaleFactor != 1) {
if (texelsScaledThisFrame_ >= TEXCACHE_MAX_TEXELS_SCALED && plan.slowScaler) {
entry->status |= TexStatus::TO_SCALE;
@@ -3096,33 +3029,17 @@ TextureAlpha TextureCacheCommon::CheckCLUTAlpha(const uint8_t *pixelData, GEPale
}
}
const char *TexHashStatusToString(TexHashStatus status) {
switch (status) {
case TexHashStatus::Hashing:
return "Hashing";
case TexHashStatus::Reliable:
return "Reliable";
case TexHashStatus::Unreliable:
return "Unreliable";
default:
return "Unknown";
}
}
std::string TexStatusToString(TexStatus status) {
std::string result;
if (status & TexStatus::ALPHA_SOLID) {
result += "SOLID_ALPHA ";
}
if (status & TexStatus::CLUT_VARIANTS) {
if (status & TexStatus::MANY_CLUT_VARIANTS) {
result += "CLUTVARIANTS ";
}
if (status & TexStatus::CLUT_RECHECK) {
result += "CLUT_RECHECK ";
}
if (status & TexStatus::CHANGE_FREQUENT) {
result += "FREQ ";
}
if (status & TexStatus::TO_SCALE) {
result += "TOSCALE ";
}
+4 -14
View File
@@ -131,19 +131,13 @@ struct TextureDefinition {
// At one point we might merge the concepts of framebuffers and textures, but that
// moment is far away.
enum class TexHashStatus : u8 {
Hashing = 0,
Reliable, // Don't bother rehashing.
Unreliable, // Always recheck hash.
};
enum class TexStatus : u16 {
VIDEO = (1 << 0),
BGRA = (1 << 1),
ALPHA_SOLID = (1 << 2), // Has no alpha channel, or always solid (==1.0) alpha.
CLUT_VARIANTS = (1 << 3), // Has multiple CLUT variants.
CHANGE_FREQUENT = (1 << 4), // Changes often (less than 6 frames in between.)
MANY_CLUT_VARIANTS = (1 << 3), // Has multiple CLUT variants.
RELIABLE = (1 << 4), // Hash will never change. This only really applies to the font texture.
CLUT_RECHECK = (1 << 5), // Another texture with same addr had a hashfail.
TO_SCALE = (1 << 7), // Pending texture scaling in a later frame.
IS_SCALED_OR_REPLACED = (1 << 8), // Has been scaled already (ignored for replacement checks).
@@ -151,7 +145,6 @@ enum class TexStatus : u16 {
// When hashing large textures, we optimize 512x512 down to 512x272 by default, since this
// is commonly the only part accessed. If access is made above 272, we hash the entire
// texture, and set this flag to allow scaling the texture just once for the new hash.
FREE_CHANGE = (1 << 10), // Allow one change before marking "frequent".
NO_MIPS = (1 << 11), // Has bad or unusable mipmap levels.
FRAMEBUFFER_OVERLAP = (1 << 12),
FORCE_REBUILD = (1 << 13),
@@ -178,7 +171,6 @@ struct TexCacheEntry {
u16 dim;
u16 bufw;
u16 maxSeenV;
TexHashStatus hashStatus;
s16 invalidHint;
s16 numInvalidated;
@@ -219,7 +211,7 @@ struct TexCacheEntry {
return (textureBitsPerPixel[format] * bufw * dimHeight(dim)) / 8;
}
bool Matches(u16 dim2, u8 format2, u8 maxLevel2) const;
bool MatchesProperties(u16 dim2, u8 format2, u8 maxLevel2) const;
u64 CacheKey() const;
static u64 CacheKey(u32 addr, u8 format, u16 dim, u32 cluthash);
u32 EstimateTexMemoryUsage() const;
@@ -228,7 +220,6 @@ struct TexCacheEntry {
// TODO: Work on shrinking it further.
static_assert(sizeof(TexCacheEntry) <= 72, "TexCacheEntry is too big");
const char *TexHashStatusToString(TexHashStatus status);
std::string TexStatusToString(TexStatus status);
// Can't be unordered_map, we use lower_bound ... although for some reason that (used to?) compiles on MSVC.
@@ -500,7 +491,6 @@ protected:
int decimationCounter_;
int texelsScaledThisFrame_ = 0;
int timesInvalidatedAllThisFrame_ = 0;
double replacementTimeThisFrame_ = 0;
// Recomputed once per frame. Depends FPS and soon also config.
double replacementFrameBudgetSeconds_ = 0.5 / 60.0;
@@ -554,7 +544,7 @@ protected:
u32 *expandClut_;
};
inline bool TexCacheEntry::Matches(u16 dim2, u8 format2, u8 maxLevel2) const {
inline bool TexCacheEntry::MatchesProperties(u16 dim2, u8 format2, u8 maxLevel2) const {
return dim == dim2 && format == format2 && maxLevel == maxLevel2;
}
+56 -57
View File
@@ -75,9 +75,9 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
[[package]]
name = "autocfg"
version = "1.5.0"
version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
[[package]]
name = "aws-lc-rs"
@@ -115,9 +115,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
version = "2.11.1"
version = "2.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3"
checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8"
[[package]]
name = "block"
@@ -127,9 +127,9 @@ checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
[[package]]
name = "bumpalo"
version = "3.20.2"
version = "3.20.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb"
checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"
[[package]]
name = "bytes"
@@ -139,9 +139,9 @@ checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
[[package]]
name = "cc"
version = "1.2.62"
version = "1.2.63"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1dce859f0832a7d088c4f1119888ab94ef4b5d6795d1ce05afb7fe159d79f98"
checksum = "556e016178bb5662a08681bbe0f00f8e17631781a4dfc8c45e466e4b185ec27f"
dependencies = [
"find-msvc-tools",
"jobserver",
@@ -290,9 +290,9 @@ dependencies = [
[[package]]
name = "displaydoc"
version = "0.2.5"
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
checksum = "1ac70aa55017e108007fbaf5aa0f54b021c98f92ff8af59d42eda9da96e3dd4f"
dependencies = [
"proc-macro2",
"quote",
@@ -532,9 +532,9 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
[[package]]
name = "http"
version = "1.4.0"
version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a"
checksum = "6970f50e31d6fc17d3fa27329444bfa74e196cf62e95052a3f6fee181dba6425"
dependencies = [
"bytes",
"itoa",
@@ -571,9 +571,9 @@ checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87"
[[package]]
name = "hyper"
version = "1.9.0"
version = "1.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca"
checksum = "55281c53a1894c864990125767da440a4e630446785086f52523b20033b74498"
dependencies = [
"atomic-waker",
"bytes",
@@ -830,13 +830,12 @@ dependencies = [
[[package]]
name = "js-sys"
version = "0.3.98"
version = "0.3.100"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67df7112613f8bfd9150013a0314e196f4800d3201ae742489d999db2f979f08"
checksum = "f2025f20d7a4fa7785846e7b63d10a76d3f1cee98ee5cb79ea59703f95e42162"
dependencies = [
"cfg-if",
"futures-util",
"once_cell",
"wasm-bindgen",
]
@@ -879,9 +878,9 @@ checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0"
[[package]]
name = "log"
version = "0.4.29"
version = "0.4.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
checksum = "953f07c43838f8e6f9758cab68bf5bed85465e7587ebe0b823f1bcd81978ad3a"
[[package]]
name = "lru-slab"
@@ -900,9 +899,9 @@ dependencies = [
[[package]]
name = "memchr"
version = "2.8.0"
version = "2.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8"
[[package]]
name = "memoffset"
@@ -921,9 +920,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
[[package]]
name = "mio"
version = "1.2.0"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1"
checksum = "02bd0af71c67b473010cbbc60715ee815645a4dc942899111f494b4b737d6fda"
dependencies = [
"libc",
"wasi",
@@ -1211,9 +1210,9 @@ checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a"
[[package]]
name = "reqwest"
version = "0.13.3"
version = "0.13.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62e0021ea2c22aed41653bc7e1419abb2c97e038ff2c33d0e1309e49a97deec0"
checksum = "219c5811de6525e5416c7d5d53bb656d3afdbc6c5af816e0802bcfa42dbdc1c3"
dependencies = [
"base64",
"bytes",
@@ -1286,7 +1285,7 @@ version = "1.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190"
dependencies = [
"bitflags 2.11.1",
"bitflags 2.13.0",
"errno",
"libc",
"linux-raw-sys",
@@ -1309,9 +1308,9 @@ dependencies = [
[[package]]
name = "rustls-native-certs"
version = "0.8.3"
version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63"
checksum = "dab5152771c58876a2146916e53e35057e1a4dfa2b9df0f0305b07f611fdea4d"
dependencies = [
"openssl-probe",
"rustls-pki-types",
@@ -1398,7 +1397,7 @@ version = "3.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d"
dependencies = [
"bitflags 2.11.1",
"bitflags 2.13.0",
"core-foundation 0.10.1",
"core-foundation-sys",
"libc",
@@ -1453,9 +1452,9 @@ dependencies = [
[[package]]
name = "serde_json"
version = "1.0.149"
version = "1.0.150"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9"
dependencies = [
"itoa",
"memchr",
@@ -1466,9 +1465,9 @@ dependencies = [
[[package]]
name = "shlex"
version = "1.3.0"
version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
[[package]]
name = "simd_cesu8"
@@ -1500,9 +1499,9 @@ checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
[[package]]
name = "socket2"
version = "0.6.3"
version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e"
checksum = "52d1cfed4120b4d927bf7c0f86d2087a4a7d6027c906d9f9d525a80573b9be51"
dependencies = [
"libc",
"windows-sys 0.61.2",
@@ -1580,7 +1579,7 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b"
dependencies = [
"bitflags 2.11.1",
"bitflags 2.13.0",
"core-foundation 0.9.4",
"system-configuration-sys",
]
@@ -1731,7 +1730,7 @@ version = "0.6.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4cfcf7e2740e6fc6d4d688b4ef00650406bb94adf4731e43c096c3a19fe40840"
dependencies = [
"bitflags 2.11.1",
"bitflags 2.13.0",
"bytes",
"futures-util",
"http",
@@ -1878,9 +1877,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen"
version = "0.2.121"
version = "0.2.123"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49ace1d07c165b0864824eee619580c4689389afa9dc9ed3a4c75040d82e6790"
checksum = "a254a4b10c19a76f09a27640e7ffbf9bc30bf67e16a3bf28aaefa4920fe81563"
dependencies = [
"cfg-if",
"once_cell",
@@ -1891,9 +1890,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-futures"
version = "0.4.71"
version = "0.4.73"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96492d0d3ffba25305a7dc88720d250b1401d7edca02cc3bcd50633b424673b8"
checksum = "54568702fabf5d4849ce2b90fadfa64168a097eaf4b351ce9df8b687a0086aaf"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -1901,9 +1900,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
version = "0.2.121"
version = "0.2.123"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e68e6f4afd367a562002c05637acb8578ff2dea1943df76afb9e83d177c8578"
checksum = "24a40fc75b0ec6f3746ceb10d36f53a93dcd68a93b11b6445983945d79eba0dc"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -1911,9 +1910,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
version = "0.2.121"
version = "0.2.123"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d95a9ec35c64b2a7cb35d3fead40c4238d0940c86d107136999567a4703259f2"
checksum = "908f34bd9b9ce3d4caf07b72dfab63d61504d156856c6bd3cd87fa350cf3985b"
dependencies = [
"bumpalo",
"proc-macro2",
@@ -1924,9 +1923,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-shared"
version = "0.2.121"
version = "0.2.123"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4e0100b01e9f0d03189a92b96772a1fb998639d981193d7dbab487302513441"
checksum = "7acbf7616c27b194bbb550bf77ed0c2c3e5b7fd1260a93082b95fb7f47959b92"
dependencies = [
"unicode-ident",
]
@@ -1959,7 +1958,7 @@ version = "0.244.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe"
dependencies = [
"bitflags 2.11.1",
"bitflags 2.13.0",
"hashbrown 0.15.5",
"indexmap",
"semver",
@@ -2026,9 +2025,9 @@ dependencies = [
[[package]]
name = "web-sys"
version = "0.3.98"
version = "0.3.100"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4b572dff8bcf38bad0fa19729c89bb5748b2b9b1d8be70cf90df697e3a8f32aa"
checksum = "6e0871acf327f283dc6da28a1696cdc64fb355ba9f935d052021fa77f35cce69"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -2348,7 +2347,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2"
dependencies = [
"anyhow",
"bitflags 2.11.1",
"bitflags 2.13.0",
"indexmap",
"log",
"serde",
@@ -2441,9 +2440,9 @@ checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f"
[[package]]
name = "yoke"
version = "0.8.2"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca"
checksum = "709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5"
dependencies = [
"stable_deref_trait",
"yoke-derive",
@@ -2464,18 +2463,18 @@ dependencies = [
[[package]]
name = "zerocopy"
version = "0.8.48"
version = "0.8.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9"
checksum = "3b065d4f0e55f82fae73202e189638116a87c55ab6b8e6c2721e13dd9d854ad1"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
version = "0.8.48"
version = "0.8.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4"
checksum = "0b631b19d36a892ab55420c92dbc83ccd79274f25be714855d3074aa71cab639"
dependencies = [
"proc-macro2",
"quote",
-4
View File
@@ -519,10 +519,6 @@ void GameSettingsScreen::CreateGraphicsSettings(UI::ViewGroup *graphicsSettings)
if (g_Config.iDepthRasterMode != 3)
depthRasterMode->HideChoice(3);
CheckBox *texBackoff = graphicsSettings->Add(new CheckBox(&g_Config.bTextureBackoffCache, gr->T("Lazy texture caching", "Lazy texture caching (speedup)")));
texBackoff->SetDisabledPtr(&g_Config.bSoftwareRendering);
graphicsSettings->Add(new SettingHint(gr->T("Lazy texture caching Tip", "Faster, but can cause text problems in a few games"), texBackoff));
static const char *quality[] = { "Low", "Medium", "High" };
PopupMultiChoice *bezierQuality = graphicsSettings->Add(new PopupMultiChoice(&g_Config.iSplineBezierQuality, gr->T("LowCurves", "Spline/Bezier curves quality"), quality, 0, ARRAY_SIZE(quality), I18NCat::GRAPHICS, screenManager()));
bezierQuality->SetDefault(2);
-1
View File
@@ -177,7 +177,6 @@ void DrawTexturesWindow(ImConfig &cfg, TextureCacheCommon *textureCache) {
ImGui::Image(texId, ImVec2(w, h));
ImGui::Text("%08x: %dx%d, %d mips, %s", (uint32_t)(cfg.selectedTexAddr & 0xFFFFFFFF), w, h, entry->maxLevel + 1, GeTextureFormatToString((GETextureFormat)entry->format));
ImGui::Text("Stride: %d", entry->bufw);
ImGui::Text("Hash status: %s", TexHashStatusToString(entry->hashStatus));
ImGui::Text("Status: %08x: %s", entry->status, TexStatusToString(entry->status).c_str());
ImGui::Text("Hash: %08x", entry->fullhash);
ImGui::Text("CLUT Hash: %08x", entry->cluthash);
-2
View File
@@ -722,8 +722,6 @@ Immediate (lower latency, tearing) = فوري (שהייה أقل، קריעת ת
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Internal resolution
Lazy texture caching = Lazy texture caching (speedup)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Lens flare occlusion
Linear = ‎خطي
Low = ‎منخفض
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = Anında (az gecikmə, görüntü yırtılma
Install custom driver... = Özəl sürücü quraşdır...
Integer scale factor = Bütün sayılı ölçəkləniş
Internal Resolution = İç çözünürlük
Lazy texture caching = Tənbəl toxuma önyaddaşlanması (sürətli)
Lazy texture caching Tip = Sürətlidir, ancaq bir sıra oyunda yazı sıxıntıları yaşada bilər
Lens flare occlusion = Linza parlaması tıxanıqlığı
Linear = Düz xəttli
Low = Aşağı
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = Неадкладна (меншая затр
Install custom driver... = Install custom driver...
Integer scale factor = Цэлыкавае маштабаванне
Internal Resolution = Унутранае разрозненне
Lazy texture caching = Lazy texture caching (speedup)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Аклюзія блікаў аб'ектыва
Linear = Лінейны
Low = Нізкая
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = Незабавно (по-ниска лат
Install custom driver... = Инсталиране на персонализиран драйвер...
Integer scale factor = Мащабиране на цяло число
Internal Resolution = Вътрешна резолюция
Lazy texture caching = Мързеливо текстурно кеширане (по-бързо)
Lazy texture caching Tip = По-бързо, но може да причини проблеми с текста в някои игри
Lens flare occlusion = Запушване на отблясъка на обектива
Linear = Линеарно
Low = Ниско
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = Immediata (menys latència, desgarro d'imat
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Resolució interna
Lazy texture caching = Memòria cau de textures diferit (ràpid)
Lazy texture caching Tip = Ràpid, però puc provocar problemes als textos d'alguns jocs
Lens flare occlusion = Lens flare occlusion
Linear = Lineal
Low = Baixa
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = Okamžitě (nižší latence, trhání obra
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Vnitřní rozlišení
Lazy texture caching = Líné ukládání textur do mezipaměti (zrychlení)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Lens flare occlusion
Linear = Lineární
Low = Nízké
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = Øjeblikkelig (lavere latenstid, billedrevn
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Intern opløsning
Lazy texture caching = Træg textur caching (hurtigere)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Lens flare occlusion
Linear = Lineær
Low = Lav
-2
View File
@@ -713,8 +713,6 @@ Immediate (lower latency, tearing) = Sofort (niedrigere Latenz, Bildrisse)
Install custom driver... = Benutzerdefinierten Treiber installieren...
Integer scale factor = Ganzzahliger Skalierungsfaktor
Internal Resolution = Interne Auflösung
Lazy texture caching = Träges Textur-Caching (schneller)
Lazy texture caching Tip = Schneller, kann aber in einigen Spielen Textprobleme verursachen
Lens flare occlusion = Verdeckung von Linsenreflexionen
Linear = Linear
Low = Niedrig
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = Segera (latensi lebih rendah, robekan gamba
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Internal resolution
Lazy texture caching = Lazy texture caching (speedup)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Lens flare occlusion
Linear = Maruruh
Low = Low
-2
View File
@@ -738,8 +738,6 @@ Immediate (lower latency, tearing) = Immediate (lower latency, tearing)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Internal resolution
Lazy texture caching = Lazy texture caching (speedup)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Lens flare occlusion
Linear = Linear
Low = Low
-2
View File
@@ -715,8 +715,6 @@ Immediate (lower latency, tearing) = Inmediato (menor latencia, desgarro de imag
Install custom driver... = Instalar controlador personalizado...
Integer scale factor = Factor de escala de números enteros
Internal Resolution = Resolución interna
Lazy texture caching = Almacenamiento en caché de texturas lento (aceleración)
Lazy texture caching Tip = Más rápido, pero puede causar problemas de texto en algunos juegos.
Lens flare occlusion = Oclusión por destello de lente
Linear = Lineal
Low = Baja
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = Inmediato (menor latencia, desgarro de imag
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Resolución interna
Lazy texture caching = Caché de texturas diferido (rápido)
Lazy texture caching Tip = Más rápido, pero puede causar problemas de texto en algunos juegos.
Lens flare occlusion = Lens flare occlusion
Linear = Lineal
Low = Baja
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = فوری (تاخیر کمتر، پارگی
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = ‎رزولوشن داخلی
Lazy texture caching = ‎کش کردن بافت‌های ماندگار (افزایش سرعت)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Lens flare occlusion
Linear = ‎خطی
Low = ‎کم
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = Välitön (alhaisempi viive, kuvan repeily)
Install custom driver... = Asenna mukautettu ajuri...
Integer scale factor = Kokonaislukuskaalauksen kerroin
Internal Resolution = Sisäinen resoluutio
Lazy texture caching = Laiska tekstuurivarastointi (nopeutus)
Lazy texture caching Tip = Nopeampi, mutta voi aiheuttaa tekstiongelmia joissakin peleissä
Lens flare occlusion = Lens flare occlusion
Linear = Lineaarinen
Low = Matala
-2
View File
@@ -738,8 +738,6 @@ Immediate (lower latency, tearing) = Immédiat (latence plus faible, déchirures
Install custom driver... = Installer un pilote personnalisé...
Integer scale factor = Facteur d'échelle entier
Internal Resolution = Définition interne
Lazy texture caching = Mise en cache paresseuse des textures (gain de vitesse)
Lazy texture caching Tip = Plus rapide, mais peut entraîner des problèmes d'affichage du texte dans certains jeux
Lens flare occlusion = Occlusion des reflets de lentille
Linear = Linéaire
Low = Basse
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = Inmediato (menor latencia, desgarro de imax
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Resolución interna
Lazy texture caching = Caché de texturas diferido (rápido)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Lens flare occlusion
Linear = Lineal
Low = Baixa
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = Άμεση (μικρότερη καθυστ
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Εσωτερική Ανάλυση
Lazy texture caching = Τεμπέλικη προσωρινή μνήμη υφών (ταχύτερο)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Lens flare occlusion
Linear = Γραμμικό
Low = Χαμηλή
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = מיידי (השהייה נמוכה יות
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Internal resolution
Lazy texture caching = Lazy texture caching (speedup)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Lens flare occlusion
Linear = קווי
Low = Low
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = מיידי (קריעת תמונה, השהי
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Internal resolution
Lazy texture caching = Lazy texture caching (speedup)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Lens flare occlusion
Linear = יווק
Low = Low
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = Odmah (manja latencija, kidanje slike)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Unutarnja rezolucija
Lazy texture caching = Lijeno teksturno predmemoriranje (ubrzanje)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Lens flare occlusion
Linear = Linearno
Low = Nisko
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = Azonnal (alacsonyabb késleltetés, képtö
Install custom driver... = Saját driver telepítése…
Integer scale factor = Egész skálaszorzó
Internal Resolution = Belső felbontás
Lazy texture caching = Lusta textúra gyorsítótárazás (gyorsítás)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Lens flare occlusion
Linear = Lineáris
Low = Alacsony
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = Segera (latensi lebih rendah, robekan gamba
Install custom driver... = Instal driver kustom...
Integer scale factor = Faktor skala integer
Internal Resolution = Resolusi internal
Lazy texture caching = Perlambatan penembolokan tekstur (mempercepat)
Lazy texture caching Tip = Lebih cepat, tetapi dapat menyebabkan masalah teks di beberapa game
Lens flare occlusion = Oklusi silau lensa
Linear = Linier
Low = Rendah
-2
View File
@@ -715,8 +715,6 @@ Immediate (lower latency, tearing) = Immediato (latenza minore, tearing)
Install custom driver... = Installa driver a scelta...
Integer scale factor = Fattore di scala intero
Internal Resolution = Risoluzione Interna
Lazy texture caching = Caching lenta delle texture (velocizza)
Lazy texture caching Tip = Veloce, ma può causare problemi di testo in alcuni giochi
Lens flare occlusion = Occlusione lens flare
Linear = Lineare
Low = Bassa
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = 即時(低遅延、ティアリング)
Install custom driver... = カスタムドライバーのインストール...
Integer scale factor = 整数スケール係数
Internal Resolution = 内部解像度
Lazy texture caching = テクスチャキャッシュを遅延させる (高速化)
Lazy texture caching Tip = 高速化するがいくつかのゲームでテキスト表示が崩れる場合があります
Lens flare occlusion = レンズフレア表現への遮蔽処理
Linear = Linear
Low =
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = Langsung (latensi luwih rendah, robekan gam
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Resolusi internal
Lazy texture caching = Caching tektur puguh (Luwih cepet)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Lens flare occlusion
Linear = Linear
Low = Kurang
-2
View File
@@ -711,8 +711,6 @@ Immediate (lower latency, tearing) =ភ្លាមៗ (ភាពយឺតយ៉
Install custom driver... =ដំឡើងកម្មវិធីបញ្ជាផ្ទាល់ខ្លួន...
Integer scale factor =កត្តាមាត្រដ្ឋានចំនួនគត់
Internal Resolution =ដំណោះស្រាយផ្ទៃក្នុង
Lazy texture caching =ឃ្លាំងសម្ងាត់វាយនភាពខ្ជិល (បង្កើនល្បឿន)
Lazy texture caching Tip =លឿនជាង ប៉ុន្តែអាចបណ្តាលឱ្យមានបញ្ហាអត្ថបទនៅក្នុងហ្គេមមួយចំនួន
Lens flare occlusion =ការបិទបាំងពន្លឺនៃកញ្ចក់
Linear =លីនេអ៊ែរ
Low =ទាប
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = 즉시 (지연 감소, 화면 찢김)
Install custom driver... = 커스텀 드라이버 설치...
Integer scale factor = 정수 배율
Internal Resolution = 내부 해상도
Lazy texture caching = 레이지 텍스처 캐싱 (속도 상승)
Lazy texture caching Tip = 더 빠르지만 몇몇 게임에서 텍스트 문제를 일으킬 수 있음
Lens flare occlusion = 렌즈 플레어 차단
Linear = 선형 필터링
Low = 낮음
-2
View File
@@ -728,8 +728,6 @@ Immediate (lower latency, tearing) = Zû (latency kêm, birina wêne)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Internal resolution
Lazy texture caching = Lazy texture caching (speedup)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Lens flare occlusion
Linear = Linear
Low = Low
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = ທັນທີ (ຄວາມຫຍໍ້
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = ຄວາມລະອຽດພາຍໃນ
Lazy texture caching = ແຄດພື້ນຜິວແບບຫຍາບ (ໄວຂຶ້ນ)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Lens flare occlusion
Linear = Linear
Low = ຕ່ຳ
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = Momentinis (mažesnė delsė, ekrano plyši
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Vidinė rezoliucija
Lazy texture caching = "Tingus" tekstūrų spartinimas (greičio didintojas)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Lens flare occlusion
Linear = Linijinis
Low = Žema
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = Segera (latensi lebih rendah, koyakan skrin
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Resolusi dalaman
Lazy texture caching = Pengkuki tekstur ringkas (tingkatkan kelajuan)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Lens flare occlusion
Linear = Garis dekat
Low = Low
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = Direct (lagere latentie, schermscheuren)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Interne resolutie
Lazy texture caching = Texturecaching reduceren (sneller)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Lens flare occlusion
Linear = Lineair
Low = Laag
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = Umiddelbar (lavere latenstid, skjermrevner)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Internal resolution
Lazy texture caching = Lazy texture caching (speedup)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Lens flare occlusion
Linear = Lineær
Low = Low
-2
View File
@@ -718,8 +718,6 @@ Immediate (lower latency, tearing) = Immediate (lower latency, tearing)
Install custom driver... = Zainstaluj niestandardowy sterownik...
Integer scale factor = Całkowity współczynnik skali
Internal Resolution = Rozdzielczość wewnętrzna
Lazy texture caching = Leniwa pamięć tekstur (przyśpieszenie)
Lazy texture caching Tip = Szybsze, ale może powodować problemy z tekstem/napisami w niektórych grach
Lens flare occlusion = Okluzja flary (halacji) obiektywu
Linear = Liniowe
Low = Niskie
-2
View File
@@ -738,8 +738,6 @@ Immediate (lower latency, tearing) = Imediato (latência menor, rasgo da imagem)
Install custom driver... = Instalar driver personalizado...
Integer scale factor = Fator de escala do inteiro
Internal Resolution = Resolução Interna
Lazy texture caching = Cache de textura preguiçoso (mais rápido)
Lazy texture caching Tip = Mais rápido mas pode causar problemas de textos em alguns jogos
Lens flare occlusion = Oclusão da luz da lente
Linear = Linear
Low = Baixa
-2
View File
@@ -739,8 +739,6 @@ Immediate (lower latency, tearing) = Imediato (latência menor, rasgo da imagem)
Install custom driver... = Instalar driver personalizado...
Integer scale factor = Fator de escala por inteiros
Internal Resolution = Resolução interna
Lazy texture caching = Caching preguiçoso da textura (mais rápido)
Lazy texture caching Tip = Mais rápido, mas pode causar problemas no texto em alguns jogos
Lens flare occlusion = Oclusão de lens flare
Linear = Linear
Low = Baixa
-2
View File
@@ -715,8 +715,6 @@ Immediate (lower latency, tearing) = Imediat (latență mai mică, ruperea imagi
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Rezoluție internă
Lazy texture caching = Stocare de texturi leneșă (mărire viteză)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Lens flare occlusion
Linear = Linear
Low = Jos
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = Немедленно (меньшая зад
Install custom driver... = Установить сторонний драйвер...
Integer scale factor = Целочисленное масштабирование
Internal Resolution = Внутренние разрешение
Lazy texture caching = Ленивое кэширование текстур (быстрее)
Lazy texture caching Tip = Быстрее, но может вызвать проблемы с текстом в некоторых играх
Lens flare occlusion = Окклюзия бликов объектива
Linear = Линейный
Low = Низкое
-2
View File
@@ -715,8 +715,6 @@ Immediate (lower latency, tearing) = Omedelbart (lägre latens, rivna bildrutor)
Install custom driver... = Installera inofficiell drivrutin...
Integer scale factor = Heltals skalfaktor
Internal Resolution = Intern upplösning
Lazy texture caching = Lat textur-caching (speedup)
Lazy texture caching Tip = Snabbare, men kan orsaka problem med text i vissa spel
Lens flare occlusion = Linsljus-blockering
Linear = Linjär
Low = Låg
-2
View File
@@ -715,8 +715,6 @@ Immediate (lower latency, tearing) = Agad (mas mababang latency, pagkapunit ng i
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Resolusyong Internal
Lazy texture caching = Lazy texture caching (pampa-bilis)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Lens flare occlusion
Linear = Linyar
Low = Low
-2
View File
@@ -731,8 +731,6 @@ Immediate (lower latency, tearing) = ทันที (หน่วงเวล
Install custom driver... = ติดตั้งไดรเวอร์ปรับแต่ง...
Integer scale factor = สเกลภาพจำนวนเต็ม
Internal Resolution = ความละเอียดภายใน
Lazy texture caching = แคชพื้นผิวแบบหยาบ (เร็วขึ้น)
Lazy texture caching Tip = เร็วขึ้น แต่อาจจะทำให้ฟ้อนต์ตัวหนังสือไม่แสดงผลในบางเกม
Lens flare occlusion = การบดบังแสงเลนส์แฟลร์
Linear = แบบเชิงเส้น
Low = ต่ำ
-2
View File
@@ -716,8 +716,6 @@ Immediate (lower latency, tearing) = Anında (daha düşük gecikme, görüntü
Install custom driver... = Özel sürücü yükle...
Integer scale factor = Tam Sayı Ölçek
Internal Resolution = Dahili Çözünürlük
Lazy texture caching = Yavaş Doku Önbelleği
Lazy texture caching Tip = Daha hızlıdır ancak bazı oyunlarda yazılarda sorunlarına neden olabilir
Lens flare occlusion = Lens parlaması tıkanıklığı
Linear = Doğrusal
Low = Düşük
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = Негайно (менша затримка
Install custom driver... = Інсталювати кастомний драйвер...
Integer scale factor = Цілочисленне масштабування
Internal Resolution = Внутрішнє розширення
Lazy texture caching = Кешування текстур
Lazy texture caching Tip = Швидше, але може спричинити проблеми з текстом у кількох іграх
Lens flare occlusion = Оклюзія відблисків об'єктива
Linear = Лінійний
Low = Низька
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = Ngay lập tức (độ trễ thấp hơn,
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Độ phân giải bên trong
Lazy texture caching = Bộ nhớ đệm lazy texture (tăng tốc)
Lazy texture caching Tip = Faster, but can cause text problems in a few games
Lens flare occlusion = Lens flare occlusion
Linear = Tuyến tính
Low = Thấp
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = 即时(延迟低,画面撕裂)
Install custom driver... = 安装第三方驱动程序...
Integer scale factor = 整倍缩放
Internal Resolution = 内部分辨率
Lazy texture caching = 延迟纹理缓存 (提速)
Lazy texture caching Tip = 速度更快,可能使部分游戏文字渲染出错。
Lens flare occlusion = 镜头眩光遮挡
Linear = 线性过滤
Low = 低质量
-2
View File
@@ -714,8 +714,6 @@ Immediate (lower latency, tearing) = 即時(延遲較低,畫面撕裂)
Install custom driver... = 安裝自訂驅動程式…
Integer scale factor = 整數縮放比例
Internal Resolution = 內部解析度
Lazy texture caching = 消極式紋理快取 (加速)
Lazy texture caching Tip = 更快,但在某些遊戲中可能會造成文字問題
Lens flare occlusion = 鏡頭眩光遮蔽
Linear = 線性
Low =
-9
View File
@@ -789,15 +789,6 @@ static void check_variables(CoreParameter &coreParam)
g_Config.iSkipGPUReadbackMode = (int)SkipGPUReadbackMode::SKIP;
}
var.key = "ppsspp_lazy_texture_caching";
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
{
if (!strcmp(var.value, "disabled"))
g_Config.bTextureBackoffCache = false;
else
g_Config.bTextureBackoffCache = true;
}
var.key = "ppsspp_spline_quality";
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
{