Merge pull request #18548 from hrydgard/adrenotools-followup

Adrenotools followup
This commit is contained in:
Henrik Rydgård authored and GitHub committed 2023-12-14 19:00:56 +01:00
commit 88b19432fe
47 files changed
+133 -79

No files matched your search

+2 -3
View File
@@ -1209,12 +1209,11 @@ bool WriteStringToFile(bool text_file, const std::string &str, const Path &filen
return true;
}
bool WriteDataToFile(bool text_file, const void* data, const unsigned int size, const Path &filename) {
bool WriteDataToFile(bool text_file, const void* data, size_t size, const Path &filename) {
FILE *f = File::OpenCFile(filename, text_file ? "w" : "wb");
if (!f)
return false;
size_t len = size;
if (len != fwrite(data, 1, len, f))
if (size != fwrite(data, 1, size, f))
{
fclose(f);
return false;
+1 -1
View File
@@ -201,7 +201,7 @@ private:
// Whole-file reading/writing
bool WriteStringToFile(bool text_file, const std::string &str, const Path &filename);
bool WriteDataToFile(bool text_file, const void* data, const unsigned int size, const Path &filename);
bool WriteDataToFile(bool text_file, const void* data, size_t size, const Path &filename);
bool ReadFileToString(bool text_file, const Path &filename, std::string &str);
// Return value must be delete[]-d.
+85 -71
View File
@@ -107,8 +107,16 @@ bool SupportsCustomDriver() {
return android_get_device_api_level() >= 28 && CheckKgslPresent();
}
#else
bool SupportsCustomDriver() {
return false;
}
#endif
static void TriggerRestart(const char *why, bool editThenRestore, const Path &gamePath);
GameSettingsScreen::GameSettingsScreen(const Path &gamePath, std::string gameID, bool editThenRestore)
: TabbedUIDialogScreenWithGameBackground(gamePath), gameID_(gameID), editThenRestore_(editThenRestore) {
prevInflightFrames_ = g_Config.iInflightFrames;
@@ -282,27 +290,6 @@ void GameSettingsScreen::CreateGraphicsSettings(UI::ViewGroup *graphicsSettings)
// If we're not the first instance, can't save the setting, and it requires a restart, so...
renderingBackendChoice->SetEnabled(false);
}
#if PPSSPP_PLATFORM(ANDROID) && PPSSPP_ARCH(ARM64)
if (GetGPUBackend() == GPUBackend::VULKAN && SupportsCustomDriver()) {
const Path driverPath = g_Config.internalDataDirectory / "drivers";
std::vector<File::FileInfo> listing;
File::GetFilesInDir(driverPath, &listing);
std::vector<std::string> availableDrivers;
availableDrivers.push_back("Default");
for (auto driver : listing) {
availableDrivers.push_back(driver.name);
}
auto driverChoice = graphicsSettings->Add(new PopupMultiChoiceDynamic(&g_Config.customDriver, gr->T("Current GPU Driver"), availableDrivers, I18NCat::NONE, screenManager()));
driverChoice->OnChoice.Handle(this, &GameSettingsScreen::OnCustomDriverChange);
auto customDriverInstallChoice = graphicsSettings->Add(new Choice(gr->T("Install Custom Driver...")));
customDriverInstallChoice->OnClick.Handle(this, &GameSettingsScreen::OnCustomDriverInstall);
}
#endif
#endif
// Backends that don't allow a device choice will only expose one device.
@@ -1249,67 +1236,75 @@ void GameSettingsScreen::CreateVRSettings(UI::ViewGroup *vrSettings) {
vrSettings->Add(new PopupMultiChoice(&g_Config.iCameraPitch, vr->T("Camera type"), cameraPitchModes, 0, 3, I18NCat::NONE, screenManager()));
}
UI::EventReturn GameSettingsScreen::OnCustomDriverChange(UI::EventParams &e) {
auto di = GetI18NCategory(I18NCat::DIALOG);
UI::EventReturn DeveloperToolsScreen::OnCustomDriverChange(UI::EventParams &e) {
auto di = GetI18NCategory(I18NCat::DIALOG);
screenManager()->push(new PromptScreen(gamePath_, di->T("Changing this setting requires PPSSPP to restart."), di->T("Restart"), di->T("Cancel"), [=](bool yes) {
if (yes) {
TriggerRestart("GameSettingsScreen::CustomDriverYes");
}
}));
return UI::EVENT_DONE;
screenManager()->push(new PromptScreen(gamePath_, di->T("Changing this setting requires PPSSPP to restart."), di->T("Restart"), di->T("Cancel"), [=](bool yes) {
if (yes) {
TriggerRestart("GameSettingsScreen::CustomDriverYes", false, gamePath_);
}
}));
return UI::EVENT_DONE;
}
UI::EventReturn GameSettingsScreen::OnCustomDriverInstall(UI::EventParams &e) {
auto gr = GetI18NCategory(I18NCat::GRAPHICS);
UI::EventReturn DeveloperToolsScreen::OnCustomDriverInstall(UI::EventParams &e) {
auto gr = GetI18NCategory(I18NCat::GRAPHICS);
System_BrowseForFile(gr->T("Install Custom Driver..."), BrowseFileType::ANY, [this](const std::string &value, int) {
const Path driverPath = g_Config.internalDataDirectory / "drivers";
System_BrowseForFile(gr->T("Install Custom Driver..."), BrowseFileType::ANY, [this](const std::string &value, int) {
const Path driverPath = g_Config.internalDataDirectory / "drivers";
if (!value.empty()) {
Path zipPath = Path(value);
if (!value.empty()) {
Path zipPath = Path(value);
if (zipPath.GetFileExtension() == ".zip") {
ZipFileReader *zipFileReader = ZipFileReader::Create(zipPath, "");
bool success = false;
size_t metaDataSize;
uint8_t *metaData = zipFileReader->ReadFile("meta.json", &metaDataSize);
if (zipPath.GetFileExtension() == ".zip") {
ZipFileReader *zipFileReader = ZipFileReader::Create(zipPath, "");
Path tempMeta = Path(g_Config.internalDataDirectory / "meta.json");
size_t metaDataSize;
uint8_t *metaData = zipFileReader->ReadFile("meta.json", &metaDataSize);
File::CreateEmptyFile(tempMeta);
File::WriteDataToFile(false, metaData, metaDataSize, tempMeta);
Path tempMeta = Path(g_Config.internalDataDirectory / "meta.json");
delete[] metaData;
File::CreateEmptyFile(tempMeta);
File::WriteDataToFile(false, metaData, metaDataSize, tempMeta);
json::JsonReader meta = json::JsonReader((g_Config.internalDataDirectory / "meta.json").c_str());
if (meta.ok()) {
std::string driverName = meta.root().get("name")->value.toString();
delete[] metaData;
Path newCustomDriver = driverPath / driverName;
File::CreateFullPath(newCustomDriver);
json::JsonReader meta = json::JsonReader((g_Config.internalDataDirectory / "meta.json").c_str());
if (meta.ok()) {
std::string driverName = meta.root().get("name")->value.toString();
std::vector<File::FileInfo> zipListing;
zipFileReader->GetFileListing("", &zipListing, nullptr);
Path newCustomDriver = driverPath / driverName;
File::CreateFullPath(newCustomDriver);
for (auto file : zipListing) {
File::CreateEmptyFile(newCustomDriver / file.name);
std::vector<File::FileInfo> zipListing;
zipFileReader->GetFileListing("", &zipListing, nullptr);
size_t size;
uint8_t *data = zipFileReader->ReadFile(file.name.c_str(), &size);
File::WriteDataToFile(false, data, size, newCustomDriver / file.name);
for (auto file : zipListing) {
File::CreateEmptyFile(newCustomDriver / file.name);
delete[] data;
}
size_t size;
uint8_t *data = zipFileReader->ReadFile(file.name.c_str(), &size);
File::WriteDataToFile(false, data, size, newCustomDriver / file.name);
File::Delete(tempMeta);
delete[] data;
}
RecreateViews();
}
}
}
});
return UI::EVENT_DONE;
File::Delete(tempMeta);
success = true;
RecreateViews();
}
}
if (!success) {
auto gr = GetI18NCategory(I18NCat::GRAPHICS);
g_OSD.Show(OSDType::MESSAGE_ERROR, gr->T("The file is not a ZIP file containing a compatible driver."));
}
}
});
return UI::EVENT_DONE;
}
UI::EventReturn GameSettingsScreen::OnAutoFrameskip(UI::EventParams &e) {
@@ -1533,16 +1528,16 @@ void GameSettingsScreen::CallbackMemstickFolder(bool yes) {
}
}
void GameSettingsScreen::TriggerRestart(const char *why) {
static void TriggerRestart(const char *why, bool editThenRestore, const Path &gamePath) {
// Extra save here to make sure the choice really gets saved even if there are shutdown bugs in
// the GPU backend code.
g_Config.Save(why);
std::string param = "--gamesettings";
if (editThenRestore_) {
if (editThenRestore) {
// We won't pass the gameID, so don't resume back into settings.
param.clear();
} else if (!gamePath_.empty()) {
param += " \"" + ReplaceAll(ReplaceAll(gamePath_.ToString(), "\\", "\\\\"), "\"", "\\\"") + "\"";
} else if (!gamePath.empty()) {
param += " \"" + ReplaceAll(ReplaceAll(gamePath.ToString(), "\\", "\\\\"), "\"", "\\\"") + "\"";
}
// Make sure the new instance is considered the first.
ShutdownInstanceCounter();
@@ -1556,7 +1551,7 @@ UI::EventReturn GameSettingsScreen::OnRenderingBackend(UI::EventParams &e) {
if (g_Config.iGPUBackend != (int)GetGPUBackend()) {
screenManager()->push(new PromptScreen(gamePath_, di->T("Changing this setting requires PPSSPP to restart."), di->T("Restart"), di->T("Cancel"), [=](bool yes) {
if (yes) {
TriggerRestart("GameSettingsScreen::RenderingBackendYes");
TriggerRestart("GameSettingsScreen::RenderingBackendYes", editThenRestore_, gamePath_);
} else {
g_Config.iGPUBackend = (int)GetGPUBackend();
}
@@ -1575,7 +1570,7 @@ UI::EventReturn GameSettingsScreen::OnRenderingDevice(UI::EventParams &e) {
// If the user ends up deciding not to restart, set the config back to the current backend
// so it doesn't get switched by accident.
if (yes) {
TriggerRestart("GameSettingsScreen::RenderingDeviceYes");
TriggerRestart("GameSettingsScreen::RenderingDeviceYes", editThenRestore_, gamePath_);
} else {
std::string *deviceNameSetting = GPUDeviceNameSetting();
if (deviceNameSetting)
@@ -1593,7 +1588,7 @@ UI::EventReturn GameSettingsScreen::OnInflightFramesChoice(UI::EventParams &e) {
if (g_Config.iInflightFrames != prevInflightFrames_) {
screenManager()->push(new PromptScreen(gamePath_, di->T("Changing this setting requires PPSSPP to restart."), di->T("Restart"), di->T("Cancel"), [=](bool yes) {
if (yes) {
TriggerRestart("GameSettingsScreen::InflightFramesYes");
TriggerRestart("GameSettingsScreen::InflightFramesYes", editThenRestore_, gamePath_);
} else {
g_Config.iInflightFrames = prevInflightFrames_;
}
@@ -1807,6 +1802,25 @@ void DeveloperToolsScreen::CreateViews() {
});
}
if (GetGPUBackend() == GPUBackend::VULKAN && SupportsCustomDriver()) {
const Path driverPath = g_Config.internalDataDirectory / "drivers";
std::vector<File::FileInfo> listing;
File::GetFilesInDir(driverPath, &listing);
std::vector<std::string> availableDrivers;
availableDrivers.push_back("Default");
for (auto driver : listing) {
availableDrivers.push_back(driver.name);
}
auto driverChoice = list->Add(new PopupMultiChoiceDynamic(&g_Config.customDriver, gr->T("Current GPU Driver"), availableDrivers, I18NCat::NONE, screenManager()));
driverChoice->OnChoice.Handle(this, &DeveloperToolsScreen::OnCustomDriverChange);
auto customDriverInstallChoice = list->Add(new Choice(gr->T("Install Custom Driver...")));
customDriverInstallChoice->OnClick.Handle(this, &DeveloperToolsScreen::OnCustomDriverInstall);
}
// For now, we only implement GPU driver tests for Vulkan and OpenGL. This is simply
// because the D3D drivers are generally solid enough to not need this type of investigation.
if (g_Config.iGPUBackend == (int)GPUBackend::VULKAN || g_Config.iGPUBackend == (int)GPUBackend::OPENGL) {
+2 -4
View File
@@ -54,8 +54,6 @@ private:
void CreateSystemSettings(UI::ViewGroup *systemSettings);
void CreateVRSettings(UI::ViewGroup *vrSettings);
void TriggerRestart(const char *why);
std::string gameID_;
UI::CheckBox *enableReportsCheckbox_ = nullptr;
UI::Choice *layoutEditorChoice_ = nullptr;
@@ -98,8 +96,6 @@ private:
UI::EventReturn OnRenderingBackend(UI::EventParams &e);
UI::EventReturn OnRenderingDevice(UI::EventParams &e);
UI::EventReturn OnInflightFramesChoice(UI::EventParams &e);
UI::EventReturn OnCustomDriverChange(UI::EventParams &e);
UI::EventReturn OnCustomDriverInstall(UI::EventParams &e);
UI::EventReturn OnCameraDeviceChange(UI::EventParams& e);
UI::EventReturn OnMicDeviceChange(UI::EventParams& e);
UI::EventReturn OnAudioDevice(UI::EventParams &e);
@@ -155,6 +151,8 @@ private:
UI::EventReturn OnFramedumpTest(UI::EventParams &e);
UI::EventReturn OnTouchscreenTest(UI::EventParams &e);
UI::EventReturn OnCopyStatesToRoot(UI::EventParams &e);
UI::EventReturn OnCustomDriverChange(UI::EventParams &e);
UI::EventReturn OnCustomDriverInstall(UI::EventParams &e);
bool allowDebugger_ = false;
bool canAllowDebugger_ = true;
+1
View File
@@ -674,6 +674,7 @@ Texture Filtering = ‎مفلتر الرسوم
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = ‎تكبير الرسوم
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Turn off "hardware tessellation": unsupported
Unlimited = ‎لا محدود
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Texture filtering
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Texture scaling
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Turn off "hardware tessellation": unsupported
Unlimited = Unlimited
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Текстурно филтриране
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Текстурно мащабиране
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Turn off "hardware tessellation": unsupported
Unlimited = Unlimited
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Filtrat de textures
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Escalat de textures
Texture Shader = Shader de textura
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Desactivant tessel·lat per maquinari: no suportat.
Unlimited = Il·limitat
Up to 1 = Fins a 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Filtrování textur
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Změna velikosti textur
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Turn off "hardware tessellation": unsupported
Unlimited = Neomezené
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Texturfiltrering
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Texturskalering
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Turn off "hardware tessellation": unsupported
Unlimited = Ubegrænset
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Texturfilterung
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Texturskalierung
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = "Hardware Tessellierung" ausschalten: Nicht unterstützt
Unlimited = Unbegrenzt
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Saring i Texture
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Petonggoi Texture
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Turn off "hardware tessellation": unsupported
Unlimited = Unlimited
Up to 1 = Up to 1
+1
View File
@@ -690,6 +690,7 @@ Texture Filtering = Texture filtering
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Texture scaling
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Turn off "hardware tessellation": unsupported
Unlimited = Unlimited
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Filtrado de texturas
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Escalado de texturas
Texture Shader = Shader de textura
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Desactivando teselado por hardware: no soportado.
Unlimited = Ilimitado
Up to 1 = Hasta 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Filtrado de texturas
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Escalado de texturas
Texture Shader = Shader de texturas
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Desactivando Teselado por Hardware: no es soportado.
Unlimited = Ilimitado
Up to 1 = Hasta 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = ‎فیلتر کردن تکسچر
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = ‎تغییر سایز تکسچر ها
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Turn off "hardware tessellation": unsupported
Unlimited = ‎نامحدود
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Tekstuurin suodatus
Texture replacement pack activated = Tekstuurin korvauspaketti aktivoidu
Texture Scaling = Tekstuurin skaalaus
Texture Shader = Tekstuurin varjostin
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Ota pois käytöstä "laitteistotessellaatio": ei tuettu
Unlimited = Rajoittamaton
Up to 1 = Enintään 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Filtrage des textures
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Mise à l'échelle des textures
Texture Shader = Shader de textures
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Veuillez désactiver "Tessellation matérielle" : non supportée
Unlimited = Illimité
Up to 1 = Max 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Filtrado de texturas
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Escalado de texturas
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Turn off "hardware tessellation": unsupported
Unlimited = Unlimited
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Φιλτράρισμα Υφών
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Κλιμάκωση Υφών
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Απενεργοποιήστε το "Hardware Tessellation": δεν υποστηρίζεται
Unlimited = Απεριόριστο
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = קידוד טקסטורה
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = מידת טקסטורה
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Turn off "hardware tessellation": unsupported
Unlimited = Unlimited
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = הרוטסקט דודיק
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = הרוטסקט תדימ
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Turn off "hardware tessellation": unsupported
Unlimited = Unlimited
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Filtriranje tekstura
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Mjerenje tekstura
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Isključi "hardver mozailk": nepodržano
Unlimited = Neograničeno
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Textúra szűrés
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Textúra nagyítás
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Kapcsold ki a "Hardveres tesszelációt": nem támogatott!
Unlimited = Korlátlan
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Pemfilteran tekstur
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Penskala tekstur
Texture Shader = Tekstur shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Matikan "Pengujian perangkat keras": Tidak didukung
Unlimited = Tak terbatas
Up to 1 = Hingga 1
+1
View File
@@ -667,6 +667,7 @@ Texture Filtering = Filtraggio delle texture
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Scalatura delle texture
Texture Shader = Shader delle texture
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Disattivazione di "tessellazione hardware": non supportata
Unlimited = Illimitato
Up to 1 = Max 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = テクスチャフィルタリング
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = テクスチャスケーリング
Texture Shader = テクスチャシェーダ
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = 「ハードウェアテッセレーション」をオフにしてください。サポートされていません
Unlimited = 無制限
Up to 1 = 最大1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Penyaring Tekstur
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Skala Tekstur
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Turn off "hardware tessellation": unsupported
Unlimited = Ora Ana Watesan
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = 텍스처 필터링
Texture replacement pack activated = 텍스처 교체 팩 활성화
Texture Scaling = 텍스처 스케일링
Texture Shader = 텍스처 쉐이더
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = "하드웨어 조각화" 끄기: 지원되지 않음
Unlimited = 무제한
Up to 1 = 최대 1까지
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = ຕອງພື້ນຜິວ
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = ປັບພື້ນຜິວ
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Turn off "hardware tessellation": unsupported
Unlimited = ບໍ່ຈຳກັດ
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Tekstūrų filtravimas
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Tekstūrų skalė
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Turn off "hardware tessellation": unsupported
Unlimited = Unlimited
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Penapisan Tekstur
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Penskalaan Tekstur
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Turn off "hardware tessellation": unsupported
Unlimited = Unlimited
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Texturefilter
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Textures schalen
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Schakel "hardwarebetegeling" uit: niet ondersteund
Unlimited = Onbeperkt
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Tekstur filtrering
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Teksturskalning
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Turn off "hardware tessellation": unsupported
Unlimited = Unlimited
Up to 1 = Up to 1
+1
View File
@@ -671,6 +671,7 @@ Texture Filtering = Filtrowanie tekstur
Texture replacement pack activated = Paczka podmienionych tekstur aktywowana
Texture Scaling = Skalowanie tekstur
Texture Shader = Shadery tekstur
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Wyłącz sprzętową teselację: opcja nie jest wspierana
Unlimited = Bez limitu
Up to 1 = Maks. jeden
+1
View File
@@ -690,6 +690,7 @@ Texture Filtering = Filtragem das texturas
Texture replacement pack activated = Pacote de substituição das texturas ativado
Texture Scaling = Dimensionamento das texturas
Texture Shader = Shader das texturas
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Desliga a "Tesselação por hardware": não suportado.
Unlimited = Ilimitado
Up to 1 = Até 1
+1
View File
@@ -690,6 +690,7 @@ Texture Filtering = Filtração das texturas
Texture replacement pack activated = Pacote de substituição de texturas ativado
Texture Scaling = Dimensionamento das texturas
Texture Shader = Shader das texturas
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Desliga a "Tesselação por hardware": não compatível.
Unlimited = Ilimitado
Up to 1 = Até 1
+1
View File
@@ -667,6 +667,7 @@ Texture Filtering = Filtrare texturi
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Scalare texturi
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Turn off "hardware tessellation": unsupported
Unlimited = Unlimited
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Фильтрация текстур
Texture replacement pack activated = Пакет замены текстур активирован
Texture Scaling = Масштабирование текстур
Texture Shader = Текстурный шейдер
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Выключите настройку "Аппаратная тесселяция": не поддерживается
Unlimited = Без ограничений
Up to 1 = До 1
+1
View File
@@ -667,6 +667,7 @@ Texture Filtering = Texturfiltrering
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Texturskalning
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Turn off "hardware tessellation": unsupported
Unlimited = Unlimited
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Pagsala sa Texture
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Pagsukat sa Texture
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Turn off "hardware tessellation": hindi suportado
Unlimited = Walang katapusan
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = การกรองพื้นผิว
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = การปรับสเกลพื้นผิว
Texture Shader = โทนแสงสีพื้นผิว
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = ปิด "ฮาร์ดแวร์ เทสเซลเลชั่น" แล้ว เนื่องจากไม่สนับสนุนการทำงาน
Unlimited = ไม่จำกัด
Up to 1 = เพิ่มไปที่ 1
+1
View File
@@ -668,6 +668,7 @@ Texture Filtering = Doku filtreleme
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Doku ölçekleme
Texture Shader = Doku gölgelendiricisi
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = "Donanım mozaikleme"yi kapatın: desteklenmiyor
Unlimited = Sınırsız
Up to 1 = 1'e kadar
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Фільтрація текстур
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Масштабування текстур
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Вимкніть "апаратна тесселляція": не підтримується
Unlimited = Необмежено
Up to 1 = До 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = Lọc texture
Texture replacement pack activated = Texture replacement pack activated
Texture Scaling = Họa tiết rộng
Texture Shader = Texture shader
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = Tắt "phần cứng tessellation": không hổ trợ
Unlimited = Không giới hạn
Up to 1 = Up to 1
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = 纹理过滤
Texture replacement pack activated = 已使用纹理替换包
Texture Scaling = 纹理缩放
Texture Shader = 纹理着色器 (GPU)
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = 关闭“硬件曲面细分”:不支持
Unlimited = 无限制
Up to 1 = 最高为1帧
+1
View File
@@ -666,6 +666,7 @@ Texture Filtering = 紋理濾鏡
Texture replacement pack activated = 紋理取代套件已啟用
Texture Scaling = 紋理縮放
Texture Shader = 紋理著色器
The file is not a ZIP file containing a compatible driver. = The file is not a ZIP file containing a compatible driver.
Turn off Hardware Tessellation - unsupported = 關閉「硬體鑲嵌」:不支援
Unlimited = 無限制
Up to 1 = 最多至 1