Merge branch 'master' into config_openxr_update

This commit is contained in:
Lubos
2022-12-10 21:01:41 +01:00
17 changed files with 148 additions and 137 deletions
+8 -13
View File
@@ -219,19 +219,14 @@ int u8_strlen(const char *s)
}
/* reads the next utf-8 sequence out of a string, updating an index */
uint32_t u8_nextchar(const char *s, int *i)
{
uint32_t ch = 0;
int sz = 0;
do {
ch <<= 6;
ch += (unsigned char)s[(*i)++];
sz++;
} while (s[*i] && !isutf(s[*i]));
ch -= offsetsFromUTF8[sz-1];
return ch;
uint32_t u8_nextchar(const char *s, int *i) {
uint32_t ch = 0;
int sz = 0;
do {
ch = (ch << 6) + (unsigned char)s[(*i)++];
sz++;
} while (s[*i] && ((s[*i]) & 0xC0) == 0x80);
return ch - offsetsFromUTF8[sz - 1];
}
uint32_t u8_nextchar_unsafe(const char *s, int *i) {
-2
View File
@@ -38,8 +38,6 @@ public:
return tag_;
}
void Touch() {}
// Used in image copies, etc.
VkImage GetImage() const { return image_; }
-4
View File
@@ -348,7 +348,6 @@ public:
VkImageView GetImageView() {
if (vkTex_) {
vkTex_->Touch();
return vkTex_->GetImageView();
}
return VK_NULL_HANDLE; // This would be bad.
@@ -356,7 +355,6 @@ public:
VkImageView GetImageArrayView() {
if (vkTex_) {
vkTex_->Touch();
return vkTex_->GetImageArrayView();
}
return VK_NULL_HANDLE; // This would be bad.
@@ -673,8 +671,6 @@ VulkanTexture *VKContext::GetNullTexture() {
}
nullTexture_->UploadMip(cmdInit, 0, w, h, 0, bindBuf, bindOffset, w);
nullTexture_->EndCreate(cmdInit, false, VK_PIPELINE_STAGE_TRANSFER_BIT);
} else {
nullTexture_->Touch();
}
return nullTexture_;
}
+3 -1
View File
@@ -285,7 +285,9 @@ void DrawBuffer::DrawImageRotated(ImageID atlas_image, float x, float y, float s
{u1, image->v2},
};
for (int i = 0; i < 6; i++) {
rot(v[i], angle, x, y);
if (angle != 0.0f) {
rot(v[i], angle, x, y);
}
V(v[i][0], v[i][1], 0, color, uv[i][0], uv[i][1]);
}
}
+7 -2
View File
@@ -125,7 +125,12 @@ bool ThreadManager::TeardownTask(Task *task, bool enqueue) {
static void WorkerThreadFunc(GlobalThreadContext *global, ThreadContext *thread) {
char threadName[16];
snprintf(threadName, sizeof(threadName), "PoolWorker %d", thread->index);
if (thread->type == TaskType::CPU_COMPUTE) {
snprintf(threadName, sizeof(threadName), "PoolWorker %d", thread->index);
} else {
_assert_(thread->type == TaskType::IO_BLOCKING);
snprintf(threadName, sizeof(threadName), "PoolWorkerIO %d", thread->index);
}
SetCurrentThreadName(threadName);
const bool isCompute = thread->type == TaskType::CPU_COMPUTE;
@@ -199,8 +204,8 @@ void ThreadManager::Init(int numRealCores, int numLogicalCoresPerCpu) {
thread->cancelled.store(false);
thread->private_single.store(nullptr);
thread->type = i < numComputeThreads_ ? TaskType::CPU_COMPUTE : TaskType::IO_BLOCKING;
thread->thread = std::thread(&WorkerThreadFunc, global_, thread);
thread->index = i;
thread->thread = std::thread(&WorkerThreadFunc, global_, thread);
global_->threads_.push_back(thread);
}
}
+1 -1
View File
@@ -4,7 +4,7 @@
// The new threadpool.
// To help future smart scheduling.
// To help smart scheduling.
enum class TaskType {
CPU_COMPUTE,
IO_BLOCKING,
+1 -3
View File
@@ -33,9 +33,7 @@ std::atomic<bool> hasDispatchQueue;
std::deque<DispatchQueueItem> g_dispatchQueue;
void EventTriggered(Event *e, EventParams params) {
DispatchQueueItem item;
item.e = e;
item.params = params;
DispatchQueueItem item{ e, params };
std::unique_lock<std::mutex> guard(eventMutex_);
// Set before adding so we lock and check the added value.
+2 -2
View File
@@ -420,7 +420,7 @@ private:
std::string negativeLabel_;
std::string units_;
ScreenManager *screenManager_;
bool restoreFocus_;
bool restoreFocus_ = false;
};
class PopupSliderChoiceFloat : public AbstractChoiceWithValueDisplay {
@@ -457,7 +457,7 @@ private:
std::string zeroLabel_;
std::string units_;
ScreenManager *screenManager_;
bool restoreFocus_;
bool restoreFocus_ = false;
bool liveUpdate_ = false;
bool hasDropShadow_ = true;
};
+6 -1
View File
@@ -1147,7 +1147,10 @@ void FramebufferManagerCommon::DrawPixels(VirtualFramebuffer *vfb, int dstX, int
draw_->BindTextures(0, 1, &pixelsTex, Draw::TextureBindFlags::VULKAN_BIND_ARRAY);
// TODO: Replace with draw2D_.Blit() directly.
DrawActiveTexture(dstX, dstY, width, height, vfb->bufferWidth, vfb->bufferHeight, u0, v0, u1, v1, ROTATION_LOCKED_HORIZONTAL, flags);
DrawActiveTexture(dstX, dstY, width, height,
vfb ? vfb->bufferWidth : pixel_xres,
vfb ? vfb->bufferHeight : pixel_yres,
u0, v0, u1, v1, ROTATION_LOCKED_HORIZONTAL, flags);
gpuStats.numUploads++;
pixelsTex->Release();
@@ -2859,6 +2862,8 @@ void FramebufferManagerCommon::DownloadFramebufferForClut(u32 fb_address, u32 lo
void FramebufferManagerCommon::RebindFramebuffer(const char *tag) {
draw_->Invalidate(InvalidationFlags::CACHED_RENDER_STATE);
shaderManager_->DirtyLastShader();
// Needed for D3D11 to run validation clean. I don't think it's actually an issue.
// textureCache_->ForgetLastTexture();
if (currentRenderVfb_ && currentRenderVfb_->fbo) {
draw_->BindFramebufferAsRenderTarget(currentRenderVfb_->fbo, { Draw::RPAction::KEEP, Draw::RPAction::KEEP, Draw::RPAction::KEEP }, tag);
} else {
+14 -5
View File
@@ -1036,7 +1036,7 @@ bool TextureCacheCommon::MatchFramebuffer(
}
return true;
} else if (IsClutFormat((GETextureFormat)(entry.format)) || IsDXTFormat((GETextureFormat)(entry.format))) {
WARN_LOG_ONCE(fourEightBit, G3D, "%s fb_format not matching framebuffer of format %s at %08x/%d", GeTextureFormatToString(entry.format), GeBufferFormatToString(fb_format), fb_address, fb_stride);
WARN_LOG_ONCE(fourEightBit, G3D, "%s texture format not matching framebuffer of format %s at %08x/%d", GeTextureFormatToString(entry.format), GeBufferFormatToString(fb_format), fb_address, fb_stride);
return false;
}
@@ -2646,15 +2646,22 @@ bool TextureCacheCommon::PrepareBuildTexture(BuildTexturePlan &plan, TexCacheEnt
plan.scaleFactor = plan.scaleFactor > 4 ? 4 : (plan.scaleFactor > 2 ? 2 : 1);
}
bool isFakeMipmapChange = IsFakeMipmapChange();
if (plan.badMipSizes) {
// Check for pure 3D texture.
int tw = gstate.getTextureWidth(0);
int th = gstate.getTextureHeight(0);
bool pure3D = true;
for (int i = 0; i < plan.levelsToLoad; i++) {
if (gstate.getTextureWidth(i) != gstate.getTextureWidth(0) || gstate.getTextureHeight(i) != gstate.getTextureHeight(0)) {
pure3D = false;
if (!isFakeMipmapChange) {
for (int i = 0; i < plan.levelsToLoad; i++) {
if (gstate.getTextureWidth(i) != gstate.getTextureWidth(0) || gstate.getTextureHeight(i) != gstate.getTextureHeight(0)) {
pure3D = false;
break;
}
}
} else {
pure3D = false;
}
if (pure3D && draw_->GetDeviceCaps().texture3DSupported) {
@@ -2777,11 +2784,13 @@ bool TextureCacheCommon::PrepareBuildTexture(BuildTexturePlan &plan, TexCacheEnt
// Always load base level texture here
plan.baseLevelSrc = 0;
if (IsFakeMipmapChange()) {
if (isFakeMipmapChange) {
// NOTE: Since the level is not part of the cache key, we assume it never changes.
plan.baseLevelSrc = std::max(0, gstate.getTexLevelOffset16() / 16);
plan.levelsToCreate = 1;
plan.levelsToLoad = 1;
// Make sure we already decided not to do a 3D texture above.
_dbg_assert_(plan.depth == 1);
}
if (plan.isVideo || plan.depth != 1 || plan.decodeToClut8) {
+1 -1
View File
@@ -583,7 +583,7 @@ private:
void Jit_AnyS16Morph(int srcoff, int dstoff);
void Jit_AnyFloatMorph(int srcoff, int dstoff);
const VertexDecoder *dec_;
const VertexDecoder *dec_ = nullptr;
#if PPSSPP_ARCH(ARM64)
Arm64Gen::ARM64FloatEmitter fp;
#endif
+3 -1
View File
@@ -114,6 +114,9 @@ bool GPU_Init(GraphicsContext *ctx, Draw::DrawContext *draw) {
#endif
void GPU_Shutdown() {
// Reduce the risk for weird races with the Windows GE debugger.
gpuDebug = nullptr;
// Wait for IsReady, since it might be running on a thread.
if (gpu) {
gpu->CancelReady();
@@ -123,5 +126,4 @@ void GPU_Shutdown() {
}
delete gpu;
gpu = nullptr;
gpuDebug = nullptr;
}
+8 -6
View File
@@ -525,9 +525,10 @@ void GeDisassembleOp(u32 pc, u32 op, u32 prev, char *buffer, int bufsize) {
case GE_CMD_TRANSFERSRCW:
{
u32 xferSrc = (gstate.transfersrc & 0x00FFFFFF) | ((data & 0xFF0000) << 8);
u32 xferSrcW = data & 0x3FF;
if (data & ~0xFF03FF)
snprintf(buffer, bufsize, "Block transfer src: high=%02x, w=%d (addr %08x, extra %x)", data >> 16, xferSrcW, xferSrc, data & ~0xFF03FF);
u32 xferSrcW = (data & 0x400) != 0 ? 0x400 : (data & 0x3FF);
u32 validMask = (data & 0x400) != 0 ? 0xFF0400 : 0xFF03FF;
if (data & ~validMask)
snprintf(buffer, bufsize, "Block transfer src: high=%02x, w=%d (addr %08x, extra %x)", data >> 16, xferSrcW, xferSrc, data & ~validMask);
else
snprintf(buffer, bufsize, "Block transfer src: high=%02x, w=%d (addr %08x)", data >> 16, xferSrcW, xferSrc);
break;
@@ -546,9 +547,10 @@ void GeDisassembleOp(u32 pc, u32 op, u32 prev, char *buffer, int bufsize) {
case GE_CMD_TRANSFERDSTW:
{
u32 xferDst = (gstate.transferdst & 0x00FFFFFF) | ((data & 0xFF0000) << 8);
u32 xferDstW = data & 0x3FF;
if (data & ~0xFF03FF)
snprintf(buffer, bufsize, "Block transfer dst: high=%02x, w=%d (addr %08x, extra %x)", data >> 16, xferDstW, xferDst, data & ~0xFF03FF);
u32 xferDstW = (data & 0x400) != 0 ? 0x400 : (data & 0x3FF);
u32 validMask = (data & 0x400) != 0 ? 0xFF0400 : 0xFF03FF;
if (data & ~validMask)
snprintf(buffer, bufsize, "Block transfer dst: high=%02x, w=%d (addr %08x, extra %x)", data >> 16, xferDstW, xferDst, data & ~validMask);
else
snprintf(buffer, bufsize, "Block transfer dst: high=%02x, w=%d (addr %08x)", data >> 16, xferDstW, xferDst);
break;
-2
View File
@@ -404,8 +404,6 @@ void TextureCacheVulkan::BindTexture(TexCacheEntry *entry) {
return;
}
entry->vkTex->Touch();
int maxLevel = (entry->status & TexCacheEntry::STATUS_NO_MIPS) ? 0 : entry->maxLevel;
SamplerCacheKey samplerKey = GetSamplingParams(maxLevel, entry);
curSampler_ = samplerCache_.GetOrCreateSampler(samplerKey);
+4 -4
View File
@@ -90,7 +90,7 @@ void WindowsGLContext::Resume() {
void FormatDebugOutputARB(char outStr[], size_t outStrSize, GLenum source, GLenum type,
GLuint id, GLenum severity, const char *msg) {
char sourceStr[32];
char sourceStr[32]{};
const char *sourceFmt;
switch(source) {
case GL_DEBUG_SOURCE_API_ARB: sourceFmt = "API"; break;
@@ -103,7 +103,7 @@ void FormatDebugOutputARB(char outStr[], size_t outStrSize, GLenum source, GLenu
}
snprintf(sourceStr, sizeof(sourceStr), sourceFmt, source);
char typeStr[32];
char typeStr[32]{};
const char *typeFmt;
switch(type) {
case GL_DEBUG_TYPE_ERROR_ARB: typeFmt = "ERROR"; break;
@@ -116,7 +116,7 @@ void FormatDebugOutputARB(char outStr[], size_t outStrSize, GLenum source, GLenu
}
snprintf(typeStr, sizeof(typeStr), typeFmt, type);
char severityStr[32];
char severityStr[32]{};
const char *severityFmt;
switch (severity) {
case GL_DEBUG_SEVERITY_HIGH_ARB: severityFmt = "HIGH"; break;
@@ -130,7 +130,7 @@ void FormatDebugOutputARB(char outStr[], size_t outStrSize, GLenum source, GLenu
}
void DebugCallbackARB(GLenum source, GLenum type, GLuint id, GLenum severity,
GLsizei length, const GLchar *message, GLvoid *userParam) {
GLsizei length, const GLchar *message, GLvoid *userParam) {
// Ignore buffer mapping messages from NVIDIA
if (source == GL_DEBUG_SOURCE_API_ARB && type == GL_DEBUG_TYPE_OTHER_ARB && id == 131185) {
return;
+88 -87
View File
@@ -1,11 +1,11 @@
[Audio]
Alternate speed volume = Alternate speed volume
Alternate speed volume = Alternatywna prędkość emulacji
Audio backend = Sterownik dźwięku (wymagany restart)
Audio Error = Błąd Audio
AudioBufferingForBluetooth = Bufory dźwięku dost. do Bluetooth (wolniejsze)
Auto = Automatyczny
Device = Urządzenie
Disabled = Wyłączone
Disabled = Wył.
DSound (compatible) = DSound (kompatybilny)
Enable Sound = Włącz dźwięk
Global volume = Głośność globalna
@@ -18,23 +18,23 @@ Use global volume = Używaj głośności globalnej
WASAPI (fast) = WASAPI (szybki)
[Controls]
Analog Binding = Analog Binding
Analog Limiter = Ogranicznik analoga
Analog Settings = Analog Settings
Analog Stick = Gałka analogowa
Analog Style = Analog Style
AnalogLimiter Tip = Jeśli "ogranicznik analoga" jest aktywny
Analog Binding = Powiązanie Analoga
Analog Limiter = Ogranicznik Analoga
Analog Settings = Ustawienia Analoga
Analog Stick = Gałka Analogowa
Analog Style = Styl Analoga
AnalogLimiter Tip = Jeśli "ogranicznik Analoga" jest aktywny
Auto = Automatyczny
Auto-centering analog stick = Autocentrowanie gałki analogowej
Auto-centering analog stick = Autocentrowanie analoga
Auto-hide buttons after seconds = Automatyczne ukrywanie przycisków po:
Auto-rotation speed = Prędkość automatycznego obracania
Auto-switch = Auto-switch
Base tilt position = Base tilt position
Binds = Binds
Button Binding = Button Binding
Base tilt position = Domyślna pozycja tytułu
Binds = Powiązania
Button Binding = Konfiguracja przycisków
Button Opacity = Przeźroczystość przycisków
Button style = Styl przycisków
Calibrate Analog Stick = Kalibracja Gałki Analogowej
Calibrate Analog Stick = Kalibracja Analoga
Calibrate D-Pad = Kalibracja krzyżaka
Calibrated = Skalibrowany
Calibration = Kalibracja
@@ -57,7 +57,7 @@ Gesture = Gesty
Gesture mapping = Konfiguracja gestów
Glowing borders = Świecące krawędzie
HapticFeedback = Wibracje
Hide touch analog stick background circle = Hide touch analog stick background circle
Hide touch analog stick background circle = Ukryj obszar zasięgu Analoga
Icon = Ikona
Ignore gamepads when not focused = Ignoruj przyciski pada gdy okno nieaktywne
Ignore Windows Key = Ignoruj klawisz Windows
@@ -81,8 +81,8 @@ OnScreen = Przyciski ekranowe
Portrait = Pionowo
Portrait Reversed = Odwrócone pionowo
PSP Action Buttons = Klawisze akcji PSP
Raw input = Raw input
Repeat mode = Repeat mode
Raw input = Zwykłe wejście
Repeat mode = Tryb powtarzania
Reset to defaults = Domyślne
Screen aligned to ground = Screen aligned to ground
Screen at right angle to ground = Screen at right angle to ground
@@ -106,7 +106,7 @@ Touch Control Visibility = Kontroler dotykowy (widoczny)
Use custom right analog = Use custom right analog
Use Mouse Control = Włącz kontrolę myszką
Visibility = Widoczność
Visible = Visible
Visible = WIdoczny
X = X
Y = Y
@@ -124,7 +124,7 @@ Refresh Rate = Szybkość odświeżania
#Font = Trebuchet MS
About PPSSPP... = O PPSSPP...
Auto = Automatycznie
Auto Max Quality = Auto Max &Quality
Auto Max Quality = Automatyczna maksymalna &Jakość
Backend = &Sterownik obrazu (Restartuje PPSSPP)
Bicubic = Bicubic (Dwusześcienne)
Break = Zatrzymaj
@@ -153,7 +153,7 @@ Game Settings = &Ustawienia gry
GE Debugger... = Debugger GE...
GitHub = Git&Hub
Hardware Transform = &Transformacja sprzętowa
Help = Pomo&c
Help = Pomoc
Hybrid = Hybrydowe
Hybrid + Bicubic = Hybrydowe + Bicubic
Ignore Illegal Reads/Writes = Ignoruj nieprawidłowe odczyty/zapisy
@@ -223,7 +223,7 @@ Allow remote debugger = Zezwól na zdalne debugowanie
Backspace = Backspace
Block address = Adres bloku
By Address = Po adresie
Copy savestates to memstick root = Copy save states to Memory Stick root
Copy savestates to memstick root = Skopiuj zapisane stany do folderu głównego Karty Pamięci
Create/Open textures.ini file for current game = Stwórz/otwórz plik textures.ini z bieżącej gry
Current = Obecny
Dev Tools = Narzędzia Developerskie
@@ -362,30 +362,30 @@ Disk full while writing data = Dysk zapełniony.
ELF file truncated - can't load = ELF file truncated - can't load
Error loading file = Wystąpił błąd:
Error reading file = Błąd podczas odczytywania pliku.
Failed initializing CPU/Memory = Failed initializing CPU or memory
Failed to load executable: = Failed to load executable:
Failed initializing CPU/Memory = Nie można zainicjować CPU lub pamięci
Failed to load executable: = Nie udało się uruchomić pliku wykonywalnego:
File corrupt = Uszkodzony plik
Game disc read error - ISO corrupt = Nie można odczytać danych z dysku - plik ISO uszkodzony.
GenericAllStartupError = PPSSPP failed to start up with any graphics backend. Try upgrading your graphics and other drivers.
GenericBackendSwitchCrash = PPSSPP crashed while starting.\n\nThis usually means a graphics driver problem. Try upgrading your graphics drivers.\n\nGraphics backend has been switched:
GenericAllStartupError = PPSSPP nie może uruchomić żadnego trybu grafiki. Spróbuj zaktualizować swoje sterowniki do karty graficznej (oraz pozostałe).
GenericBackendSwitchCrash = PPSSPP - wystąpił błąd podczas uruchamiania emulatora.\n\nMoże to oznaczać problem ze sterownikiem do karty graficznej. Spróbuj go zaktualizować.\n\nSilnik graficzny został zmieniony:
GenericDirect3D9Error = Błąd inicjalizacji grafiki. Spróbuj zaktualizować sterowniki karty graficznej i biblioteki DirectX9.\n\nCzy chcesz zmienić sterownik na OpenGL?\n\nKomunikat błędu:
GenericGraphicsError = Błąd grafiki
GenericOpenGLError = Błąd inicjalizacji grafiki. Spróbuj zaktualizować sterowniki karty graficznej.\n\nCzy chcesz zmienić sterownik na DirectX 9?\n\nKomunikat błędu:
GenericVulkanError = Błąd inicjalizacji grafiki. Spróbuj zaktualizować sterowniki karty graficznej.\n\nCzy chcesz zmienić sterownik na OpenGL?\n\nKomunikat błędu:
InsufficientOpenGLDriver = Wykryto brak obsługi wystarczająco nowej wersji OpenGL!\n\nTwoja karta graficzna zgłasza, że nie obsługuje OpenGL 2.0, który jest aktualnie wymagany do uruchomienia PPSSPP.\n\nSprawdź, czy Twoja karta graficzna jest zgodna z OpenGL 2.0. Jeśli jest, musisz zainstalować nowe sterowniki ze strony producenta.\n\nOdwiedź forum https://forums.ppsspp.org, aby uzyskać więcej informacji.
Just a directory. = Tylko katalog.
Missing key = Missing key
MsgErrorCode = Error code:
MsgErrorSavedataDataBroken = Save data was corrupt.
MsgErrorSavedataMSFull = Memory Stick full. Check your storage space.
MsgErrorSavedataNoData = Warning: no save data was found.
MsgErrorSavedataNoMS = Memory Stick not inserted.
Missing key = Brak klucza
MsgErrorCode = Kod błędu:
MsgErrorSavedataDataBroken = Uszkodzone dane zapisu.
MsgErrorSavedataMSFull = Karta pamięci pełna. Sprawdź miejsce na dysku.
MsgErrorSavedataNoData = Uwaga: nie znaleziono danych zapisu.
MsgErrorSavedataNoMS = Brak Karty Pamięci.
No EBOOT.PBP, misidentified game = Brak EBOOT.PBP, gra nierozpoznana.
Not a valid disc image. = Nieprawidłowy obraz nośnika.
OpenGLDriverError = Błąd sterownika OpenGL.
PPSSPP doesn't support UMD Music. = PPSSPP nie wspiera UMD Music.
PPSSPP doesn't support UMD Video. = PPSSPP nie wspiera UMD Video.
PPSSPP plays PSP games, not PlayStation 1 or 2 games. = PPSSPP plays PSP games, not PlayStation 1 or 2 games.
PPSSPP plays PSP games, not PlayStation 1 or 2 games. = PPSSPP odtwarza gry z PSP, a nie z PlayStation 1/2
PPSSPPDoesNotSupportInternet = PPSSPP aktualnie nie obsługuje połączenia z Internetem dla DLC, PSN oraz aktualizacji gier.
PS1 EBOOTs are not supported by PPSSPP. = Pliki EBOOT PS1 nie są obsługiwane przez PPSSPP.
PSX game image detected. = Plik jest obrazem MODE2. PPSSPP nie obsługuje gier z PS1.
@@ -398,7 +398,7 @@ textures.ini filenames may not be cross-platform = Nazwy plików w "textures.ini
This is a saved state, not a game. = To jest zapis stanu, a nie gra.
This is save data, not a game. = To jest zapis gry, a nie gra.
Unable to create cheat file, disk may be full = Nie można utworzyć pliku kodów, dysk może być już zapełniony.
Unable to initialize rendering engine. = Unable to initialize rendering engine.
Unable to initialize rendering engine. = Nie można zainicjować silnika renderowania.
Unable to write savedata, disk may be full = Nie można zapisać danych zapisu gry, dysk może być już zapełniony.
Warning: Video memory FULL, reducing upscaling and switching to slow caching mode = Ostrzeżenie: Pamięć wideo jest PEŁNA, nastąpi zmniejszenie rozdzielczości i zmiana na powolne buforowanie.
Warning: Video memory FULL, switching to slow caching mode = Ostrzeżenie: Pamięć wideo jest PEŁNA, nastąpi zmiana na powolne buforowanie.
@@ -425,7 +425,7 @@ Korea = Korea
MB = MB
One moment please... = Chwileczkę...
Play = Graj
Remove From Recent = Usuń z "Ostatnio granych"
Remove From Recent = Usuń z "Ostatnio uruchamianych tytułów"
SaveData = Zapisy gier
Setting Background = Ustawianie tła
Show In Folder = Pokaż w folderze
@@ -469,10 +469,11 @@ Backend = Sterownik graficzny
Balanced = Zbalansowane
Bicubic = Bicubic (Dwusześcienne)
Both = Oba
Buffer graphics commands (faster, input lag) = Buffer graphics commands (faster, input lag)
Buffer graphics commands (faster, input lag) = Bufor komand grafiki (szybsze, może powodować lagi sterowania)
Buffered Rendering = Renderowanie buforowe
BufferedRenderingRequired = Uwaga: Ta gra wymaga włączonej opcji "Renderowanie buforowe".
Camera = Camera
Camera Device = Camera device
Camera = Kamera
Camera Device = Kamera
Cardboard Screen Size = Rozmiar ekranu (% widocznego obszaru)
Cardboard Screen X Shift = Przesunięcie X (% pustej przestrzeni)
Cardboard Screen Y Shift = Przesunięcie Y (% pustej przestrzeni)
@@ -489,7 +490,7 @@ Direct3D 11 = Direct3D 11
Disabled = Wył.
Display Layout && Effects = Edytor położenia obrazu
Display Resolution (HW scaler) = Rozdzielczość ekranu (skaler sprz.)
Enable Cardboard VR = Enable Cardboard VR
Enable Cardboard VR = Aktywuj Cardboard VR
FPS = Tylko FPS
Frame Rate Control = Kontrola klatek na sekundę
Frame Skipping = Pomijanie klatek
@@ -532,7 +533,7 @@ Percent of FPS = Procent FPS
Performance = Wydajność
Postprocessing shaders = Efekty wizualne shaderów
Recreate Activity = Recreate activity
Render duplicate frames to 60hz = Render duplicate frames to 60 Hz
Render duplicate frames to 60hz = Renderuj duplikowane klatki w 60 Hz
RenderDuplicateFrames Tip = Can make framerate smoother in games that run at lower framerates
Rendering Mode = Tryb renderowania
Rendering Resolution = Rozdzielczość renderowania
@@ -610,7 +611,7 @@ Load = Otwórz...
Loading... = Loading...
PinPath = Przypnij
PPSSPP can't load games or save right now = PPSSPP nie może teraz załadować gier ani zapisywać stanów
Recent = Ostatnio grane
Recent = Ostatnio uruchamiane
SavesAreTemporary = PPSSPP zapisuje do pamięci tymczasowej
SavesAreTemporaryGuidance = Wypakuj PPSSPP, by móc trwale zapisywać
SavesAreTemporaryIgnore = Ignoruj
@@ -680,7 +681,7 @@ Record = Record
Remote hold = Remote hold
Rewind = Przewiń do tyłu
Right = Strzałka w prawo
Right Analog Stick = Right Analog Stick
Right Analog Stick = Prawa Gałka Analogowa
RightAn.Down = Pr. gałk. w dół
RightAn.Left = Pr. gałk. w lewo
RightAn.Right = Pr. gałk. w prawo
@@ -718,13 +719,13 @@ DataCanBeShared = Data can be shared between PPSSPP regular/Gold
DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold!
DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP!
DataWillStay = Data will stay even if you uninstall PPSSPP.
Done! = Done!
EasyUSBAccess = Easy USB access
Done! = Ukończono!
EasyUSBAccess = Łatwy dostęþ do USB
Failed to move some files! = Nie udało się przenieść niektórych plików!
Failed to save config = Failed to save config
Free space = Free space
Manually specify PSP folder = Manually specify PSP folder
MemoryStickDescription = Choose where to keep PSP data (Memory Stick)
Failed to save config = Nie udało się zapisać ustawień
Free space = Wolne miejsce
Manually specify PSP folder = Ustaw folder PSP ręcznie
MemoryStickDescription = Wybierz, gdzie chcesz umieścić dane PSP (Karta Pamięci)
Move Data = Move Data
Selected PSP Data Folder = Selected PSP Data Folder
No data will be changed = No data will be changed
@@ -754,38 +755,38 @@ Change proAdhocServer Address = Zmień adres IP serwera PRO dla trybu ad hoc (lo
ChangeMacSaveConfirm = Generate a new MAC address?
ChangeMacSaveWarning = Some games verify the MAC address when loading savedata, so this may break old saves.
Chat = Chat
Chat Button Position = Chat button position
Chat Here = Chat here
Chat message = Chat message
Chat Screen Position = Chat screen position
Disconnected from AdhocServer = Disconnected from ad hoc server
Chat Button Position = Pozycja przycisku chatu
Chat Here = Napisz wiadomość
Chat message = Wiadomość
Chat Screen Position = Pozycja ekranu chatu
Disconnected from AdhocServer = Rozłączono z ad hoc serwerem
DNS Error Resolving = DNS error resolving
Enable built-in PRO Adhoc Server = Włącz wbudowany serwer PRO dla trybu ad hoc
Enable network chat = Enable network chat
Enable network chat = Uruchom chat
Enable networking = Włącz sieć/WLAN (beta, może powodować błędy)
Enable UPnP = Enable UPnP (need a few seconds to detect)
EnableQuickChat = Enable quick chat
Enable UPnP = Uruchom UPnP (potrzebuje kilka sekund na wykrycie)
EnableQuickChat = Uruchom szybki chat
Enter a new PSP nickname = Enter a new PSP nickname
Enter Quick Chat 1 = Enter quick chat 1
Enter Quick Chat 2 = Enter quick chat 2
Enter Quick Chat 3 = Enter quick chat 3
Enter Quick Chat 4 = Enter quick chat 4
Enter Quick Chat 5 = Enter quick chat 5
Error = Error
Enter Quick Chat 1 = Wejdź na szybki chat 1
Enter Quick Chat 2 = Wejdź na szybki chat 2
Enter Quick Chat 3 = Wejdź na szybki chat 3
Enter Quick Chat 4 = Wejdź na szybki chat 4
Enter Quick Chat 5 = Wejdź na szybki chat 5
Error = Błąd
Failed to Bind Localhost IP = Failed to bind localhost IP
Failed to Bind Port = Failed to bind port
Failed to connect to Adhoc Server = Failed to connect to ad hoc server
Forced First Connect = Forced first connect (faster connect)
Forced First Connect = Wymuszenie pierwszego połączenie (szybsze łączenie)
GM: Data from Unknown Port = GM: Data from Unknown Port
Hostname = Hostname
Invalid IP or hostname = Invalid IP or hostname
Minimum Timeout = Minimum timeout (override in ms, 0 = default)
Misc = Miscellaneous (default = PSP compatibility)
Minimum Timeout = Minimalny czas oczekiwania (podaj w ms, domyślnie 0)
Misc = Inne (domyślnie = Kompatybilność z PSP)
Network Initialized = Sieć została zainicjowana
None = None
Please change your Port Offset = Please change your port offset
Port offset = Zmień port (0 = zgodne z PSP)
Open PPSSPP Multiplayer Wiki Page = Open PPSSPP Multiplayer Wiki Page
Open PPSSPP Multiplayer Wiki Page = Przejdź do strony PPSSPP pomocy dla wielu graczy.
proAdhocServer Address: = Ad hoc server address:
Quick Chat 1 = Quick chat 1
Quick Chat 2 = Quick chat 2
@@ -798,12 +799,12 @@ Send Discord Presence information = Transmituj informacje Discord Rich Presence
Top Center = Top center
Top Left = Top left
Top Right = Top right
Unable to find UPnP device = Unable to find UPnP device
Unable to find UPnP device = Nie udało się zlokalizować urządzenia UPnP
UPnP (port-forwarding) = UPnP (port forwarding)
UPnP need to be reinitialized = UPnP need to be reinitialized
UPnP use original port = UPnP use original port (enabled = PSP compatibility)
Validating address... = Validating address...
WLAN Channel = WLAN channel
UPnP use original port = UPnP używa oryginalnego portu (włączone = kompatybilność z PSP)
Validating address... = Uwierzytelnianie addresu...
WLAN Channel = Kanał WLAN
You're in Offline Mode, go to lobby or online hall = You're in offline mode, go to lobby or online hall
[Pause]
@@ -811,15 +812,15 @@ Cheats = Kody
Continue = Kontynuuj
Create Game Config = Utwórz konfigurację gry
Delete Game Config = Usuń konfigurację gry
Exit to menu = Wyjdź do menu
Exit to menu = Wróć do menu
Game Settings = Ustawienia gry
Load State = Wczytaj stan
Rewind = Przewiń do tyłu
Save State = Zapisz stan
Settings = Ustawienia
Switch UMD = Podmień UMD
Undo last load = Undo last load
Undo last save = Undo last save
Undo last load = Cofnij ostatnio wczytane
Undo last save = Cofnij ostatni zapis
[PostShaders]
(duplicated setting, previous slider will be used) = (duplicated setting, previous slider will be used)
@@ -948,8 +949,8 @@ Perfect = Perfekcyjnie
Perfect Description = Bezbłędna emulacja w całej grze - super!
Plays = Działa
Plays Description = Całkowicie grywalna, jednak można napotkać niewielkie błędy
ReportButton = Raportuj
Show disc CRC = Show disc CRC
ReportButton = Zgłoś błąd
Show disc CRC = Pokaż sumę kontrolną (CRC) dysku
Speed = Szybkość
Submit Feedback = Wyślij raport
SuggestionConfig = Sprawdź dobre konfiguracje w raportach na stronie.
@@ -1005,11 +1006,11 @@ State load undone = State load undone
Untitled PSP game = Untitled PSP game
[Search]
Clear filter = Clear filter
Filter = Filter
Filtering settings by '%1' = Filtering settings by '%1'
Find settings = Find settings
No settings matched '%1' = No settings matched '%1'
Clear filter = Wyczyść frazę
Filter = Szukaj
Filtering settings by '%1' = Wyszukiwanie ustawień '%1'
Find settings = Szukaj ustawień
No settings matched '%1' = Brak wyników dla '%1'
[Store]
Already Installed = Zainstalowane
@@ -1096,8 +1097,8 @@ Color Saturation = Color Saturation
Color Tint = Color Tint
Error: load undo state is from a different game = Error: load undo state is from a different game
Failed to load state for load undo. Error in the file system. = Failed to load state for load undo. Error in the file system.
Floating symbols = Floating symbols
Game crashed = Game crashed
Floating symbols = Przepływ symboli
Game crashed = Gra uległa awarii
Language = Język
Memory Stick folder = Zmień folder Karty Pamięci
Memory Stick size = Rozmiar Karty Pamięci
@@ -1105,8 +1106,8 @@ Change Nickname = Zmień pseudonim
ChangingMemstickPath = Zapisy gier, zapisy stanu i inne dane nie zostaną skopiowane do tego folderu.\n\nZmienić ścieżkę do folderu Karty Pamięci?
ChangingMemstickPathInvalid = Ta ścieżka nie może zostać użyta do zapisu plików Karty Pamięci.
Cheats = Kody
Clear Recent = Clear "Recent"
Clear Recent Games List = Wyczyść listę ostatnio granych
Clear Recent = Wyczyść "Ostatni uruchamiane"
Clear Recent Games List = Wyczyść listę ostatnio uruchamianych
Clear UI background = Przywróć tło interfejsu
Confirmation Button = Przycisk potwierdzenia
Date Format = Format daty
@@ -1117,7 +1118,7 @@ Developer Tools = Narzędzia programistyczne
Display Extra Info = Display extra info
Display Games on a grid = Display "Games" on a grid
Display Homebrew on a grid = Display "Homebrew && Demos" on a grid
Display Recent on a grid = Display "Recent" on a grid
Display Recent on a grid = Wyświetlaj "Ostatnio Uruchamiane" w projekcji siatki
Dynarec (JIT) = Dynarec (JIT)
Emulation = Emulacja
Enable Cheats = Włącz kody
@@ -1149,12 +1150,12 @@ Not a PSP game = To nie jest gra PSP
Off = Wył.
Oldest Save = Najstarszy zapis
Path does not exist! = Path does not exist!
PSP Memory Stick = PSP Memory Stick
PSP Memory Stick = Karta Pamięci PSP
PSP Model = Model PSP
PSP Settings = Ustawienia PSP
PSP-1000 = PSP-1000
PSP-2000/3000 = PSP-2000/3000
Recent games = Recent games
Recent games = Ostatnio uruchamiane tytuły
Record Audio = Nagrywaj dźwięk
Record Display = Nagrywaj obraz
Reset Recording on Save/Load State = Resetuj nagrywanie przy zapisie/wczytaniu stanu
@@ -1167,7 +1168,7 @@ Savestate slot backups = Kopie zapasowe slota zapisu stanu
Screenshots as PNG = Zapisuj zrzuty ekranu jako PNG
Set UI background... = Zmień tło interfejsu...
Show ID = Show ID
Show Memory Stick folder = Show Memory Stick folder
Show Memory Stick folder = Pokaż folder Karty Pamięci
Show region flag = Show region flag
Simulate UMD delays = Symuluj opóźnienia UMD
Slot 1 = Slot 1
@@ -1181,7 +1182,7 @@ Theme = Motyw
Time Format = Format czasu
UI = Interfejs użytkownika
UI background animation = Animacja tła
UI Sound = UI sound
UI Sound = Dźwięki interfejsu urzydkownika
undo %c = backup %c
USB = USB
Use Lossless Video Codec (FFV1) = Używaj stratnego kodeka wideo (FFV1)
+2 -2
View File
@@ -178,7 +178,7 @@ Open Chat = 打开聊天
Open Directory... = 打开路径(&D)...
Open from MS:/PSP/GAME... = 从MS:/PSP/GAME处打开 (&p)...
Open Memory Stick = 打开记忆棒 (&M)
Open New Instance = 打开新的模拟器进程
Open New Instance = 打开新的实例
OpenGL = &OpenGL
Pause = 暂停 (&P)
Pause When Not Focused = 后台运行时自动暂停 (&P)
@@ -750,7 +750,7 @@ Bottom Right = 右下方
Center Left = 左中间
Center Right = 右中间
Change Mac Address = 更改MAC地址
Change proAdhocServer Address = 更改PRO Ad Hoc服务器IP地址(localhost=模拟器双开)
Change proAdhocServer Address = 更改PRO Ad Hoc服务器IP地址(localhost=多个实例)
ChangeMacSaveConfirm = 生成新的MAC地址?
ChangeMacSaveWarning = 一些游戏会在载入存档数据时验证MAC地址,这可能会破坏旧的存档。
Chat = 聊天