Merge pull request #20722 from hrydgard/vulkan-presentation-mode

Vulkan: Allow directly selecting presentation mode
This commit is contained in:
Henrik Rydgård authored and GitHub committed 2025-08-21 10:19:48 +02:00
commit b89e5e3c80
87 files changed
+5071 -379

No files matched your search

+12 -9
View File
@@ -71,6 +71,7 @@ const char *VulkanPresentModeToString(VkPresentModeKHR presentMode) {
case VK_PRESENT_MODE_FIFO_RELAXED_KHR: return "FIFO_RELAXED";
case VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR: return "SHARED_DEMAND_REFRESH_KHR";
case VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR: return "SHARED_CONTINUOUS_REFRESH_KHR";
case VK_PRESENT_MODE_FIFO_LATEST_READY_KHR: return "FIFO_LATEST_READY";
default: return "UNKNOWN";
}
}
@@ -136,7 +137,7 @@ VkResult VulkanContext::CreateInstance(const CreateInfo &info) {
init_error_ = "Vulkan not loaded - no surface extension";
return VK_ERROR_INITIALIZATION_FAILED;
}
flags_ = info.flags;
createInfo_ = info;
// List extensions to try to enable.
instance_extensions_enabled_.push_back(VK_KHR_SURFACE_EXTENSION_NAME);
@@ -170,7 +171,7 @@ VkResult VulkanContext::CreateInstance(const CreateInfo &info) {
#endif
#endif
if ((flags_ & VulkanInitFlags::VALIDATE) && info.customDriver.empty()) {
if ((createInfo_.flags & VulkanInitFlags::VALIDATE) && info.customDriver.empty()) {
if (IsInstanceExtensionAvailable(VK_EXT_DEBUG_UTILS_EXTENSION_NAME)) {
// Enable the validation layers
for (size_t i = 0; i < ARRAY_SIZE(validationLayers); i++) {
@@ -182,7 +183,7 @@ VkResult VulkanContext::CreateInstance(const CreateInfo &info) {
INFO_LOG(Log::G3D, "Vulkan debug_utils validation enabled.");
} else {
ERROR_LOG(Log::G3D, "Validation layer extension not available - not enabling Vulkan validation.");
flags_ &= ~VulkanInitFlags::VALIDATE;
createInfo_.flags &= ~VulkanInitFlags::VALIDATE;
}
}
@@ -710,6 +711,12 @@ VkResult VulkanContext::CreateDevice(int physical_device) {
extensionsLookup_.EXT_provoking_vertex = EnableDeviceExtension(VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME, 0);
extensionsLookup_.KHR_present_mode_fifo_latest_ready = EnableDeviceExtension(VK_KHR_PRESENT_MODE_FIFO_LATEST_READY_EXTENSION_NAME, 0);
if (!extensionsLookup_.KHR_present_mode_fifo_latest_ready) {
// Enable the EXT extension instead if available, it's equivalent (was promoted).
extensionsLookup_.KHR_present_mode_fifo_latest_ready = EnableDeviceExtension(VK_EXT_PRESENT_MODE_FIFO_LATEST_READY_EXTENSION_NAME, 0);
}
// Optional features
if (extensionsLookup_.KHR_get_physical_device_properties2 && vkGetPhysicalDeviceFeatures2) {
VkPhysicalDeviceFeatures2 features2{ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR };
@@ -1397,13 +1404,9 @@ bool VulkanContext::InitSwapchain() {
availablePresentModes_.push_back(presentModes[i]);
}
// Kind of silly logic now, but at least it performs a final sanity check of the chosen value.
for (size_t i = 0; i < presentModeCount; i++) {
bool match = false;
match = match || ((flags_ & VulkanInitFlags::PRESENT_MAILBOX) && presentModes[i] == VK_PRESENT_MODE_MAILBOX_KHR);
match = match || ((flags_ & VulkanInitFlags::PRESENT_IMMEDIATE) && presentModes[i] == VK_PRESENT_MODE_IMMEDIATE_KHR);
match = match || ((flags_ & VulkanInitFlags::PRESENT_FIFO_RELAXED) && presentModes[i] == VK_PRESENT_MODE_FIFO_RELAXED_KHR);
match = match || ((flags_ & VulkanInitFlags::PRESENT_FIFO) && presentModes[i] == VK_PRESENT_MODE_FIFO_KHR);
bool match = presentModes[i] == createInfo_.presentMode;
// Default to the first present mode from the list.
if (match || swapchainPresentMode == VK_PRESENT_MODE_MAX_ENUM_KHR) {
swapchainPresentMode = presentModes[i];
+16 -7
View File
@@ -25,10 +25,6 @@
enum class VulkanInitFlags : uint32_t {
VALIDATE = (1 << 0),
PRESENT_MAILBOX = (1 << 1),
PRESENT_IMMEDIATE = (1 << 2),
PRESENT_FIFO_RELAXED = (1 << 3),
PRESENT_FIFO = (1 << 4),
DISABLE_IMPLICIT_LAYERS = (1 << 5),
};
ENUM_CLASS_BITOPS(VulkanInitFlags);
@@ -185,6 +181,7 @@ public:
int app_ver;
VulkanInitFlags flags;
std::string customDriver;
VkPresentModeKHR presentMode;
};
VkResult CreateInstance(const CreateInfo &info);
@@ -208,8 +205,10 @@ public:
VkDevice GetDevice() const { return device_; }
VkInstance GetInstance() const { return instance_; }
VulkanInitFlags GetInitFlags() const { return flags_; }
void UpdateInitFlags(VulkanInitFlags flags) { flags_ = flags; }
VulkanInitFlags GetInitFlags() const { return createInfo_.flags; }
// Of course, this won't update things that can only change on first init.
void UpdateCreateInfo(const VulkanContext::CreateInfo &info) { createInfo_ = info; }
VulkanDeleteList &Delete() { return globalDeleteList_; }
@@ -415,6 +414,15 @@ public:
return availablePresentModes_;
}
bool PresentModeSupported(VkPresentModeKHR mode) const {
for (const auto &m : availablePresentModes_) {
if (m == mode) {
return true;
}
}
return false;
}
int GetLastDeleteCount() const {
return frame_[curFrame_].deleteList.GetLastDeleteCount();
}
@@ -487,7 +495,8 @@ private:
// Swap chain extent
VkExtent2D swapChainExtent_{};
VulkanInitFlags flags_{};
VulkanContext::CreateInfo createInfo_{};
PerfClass devicePerfClass_ = PerfClass::SLOW;
int inflightFrames_ = MAX_INFLIGHT_FRAMES;
+1
View File
@@ -270,6 +270,7 @@ struct VulkanExtensions {
bool KHR_present_wait; // Same
bool GOOGLE_display_timing;
bool EXT_provoking_vertex;
bool KHR_present_mode_fifo_latest_ready;
// bool EXT_depth_range_unrestricted; // Allows depth outside [0.0, 1.0] in 32-bit float depth buffers.
};
+4 -1
View File
@@ -430,9 +430,10 @@ public:
PresentMode GetPresentMode() const {
switch (vulkan_->GetPresentMode()) {
case VK_PRESENT_MODE_FIFO_KHR: return PresentMode::FIFO;
case VK_PRESENT_MODE_FIFO_RELAXED_KHR: return PresentMode::FIFO; // We treat is as FIFO for now (and won't ever enable it anyway...)
case VK_PRESENT_MODE_FIFO_RELAXED_KHR: return PresentMode::FIFO_RELAXED; // We treat is as FIFO for now (and won't ever enable it anyway...)
case VK_PRESENT_MODE_IMMEDIATE_KHR: return PresentMode::IMMEDIATE;
case VK_PRESENT_MODE_MAILBOX_KHR: return PresentMode::MAILBOX;
case VK_PRESENT_MODE_FIFO_LATEST_READY_KHR: return PresentMode::FIFO_LATEST_READY;
default: return PresentMode::FIFO;
}
}
@@ -937,6 +938,8 @@ VKContext::VKContext(VulkanContext *vulkan, bool useRenderThread)
case VK_PRESENT_MODE_FIFO_KHR: caps_.presentModesSupported |= PresentMode::FIFO; break;
case VK_PRESENT_MODE_IMMEDIATE_KHR: caps_.presentModesSupported |= PresentMode::IMMEDIATE; break;
case VK_PRESENT_MODE_MAILBOX_KHR: caps_.presentModesSupported |= PresentMode::MAILBOX; break;
case VK_PRESENT_MODE_FIFO_LATEST_READY_KHR: caps_.presentModesSupported |= PresentMode::FIFO_LATEST_READY; break;
case VK_PRESENT_MODE_FIFO_RELAXED_KHR: caps_.presentModesSupported |= PresentMode::FIFO_RELAXED; break;
default: break; // Ignore any other modes.
}
}
+3 -1
View File
@@ -581,6 +581,8 @@ enum class PresentMode {
FIFO = 1,
IMMEDIATE = 2,
MAILBOX = 4,
FIFO_RELAXED = 8, // Vulkan only
FIFO_LATEST_READY = 16, // Vulkan only
};
ENUM_CLASS_BITOPS(PresentMode);
@@ -627,7 +629,7 @@ struct DeviceCaps {
// Old style, for older GL or Direct3D 9.
u32 clipPlanesSupported;
// Presentation caps
// Presentation caps (simplified). Note: Vulkan supports more, we handle that separately now.
int presentMaxInterval; // 1 on many backends
bool presentInstantModeChange;
PresentMode presentModesSupported;
+3
View File
@@ -232,6 +232,9 @@ public:
void SetChoiceIcon(int c, ImageID id) {
icons_[c] = id;
}
bool IsChoiceHidden(int c) const {
return hidden_.find(c) != hidden_.end();
}
UI::Event OnChoice;
+1
View File
@@ -727,6 +727,7 @@ static const ConfigSetting graphicsSettings[] = {
ConfigSetting("TexDeposterize", &g_Config.bTexDeposterize, false, CfgFlag::PER_GAME | CfgFlag::REPORT),
ConfigSetting("TexHardwareScaling", &g_Config.bTexHardwareScaling, false, CfgFlag::PER_GAME | CfgFlag::REPORT),
ConfigSetting("VSync", &g_Config.bVSync, &DefaultVSync, CfgFlag::PER_GAME),
ConfigSetting("VulkanPresentMode", &g_Config.iVulkanPresentationMode, (int)PresentMode::Mailbox, CfgFlag::PER_GAME),
ConfigSetting("BloomHack", &g_Config.iBloomHack, 0, CfgFlag::PER_GAME | CfgFlag::REPORT),
// Not really a graphics setting...
+2 -1
View File
@@ -168,6 +168,8 @@ public:
bool bCameraMirrorHorizontal;
int iDisplayFramerateMode; // enum DisplayFramerateMode. Android-only.
int iDisplayRefreshRate = 60;
int iVulkanPresentationMode;
bool bVSync;
bool bSoftwareRendering;
bool bSoftwareRenderingJit;
@@ -196,7 +198,6 @@ public:
bool bImmersiveMode; // Mode on Android Kitkat 4.4 and later that hides the back button etc.
bool bSustainedPerformanceMode; // Android: Slows clocks down to avoid overheating/speed fluctuations.
bool bIgnoreScreenInsets; // Android: Center screen disregarding insets if this is enabled.
bool bVSync;
bool bShowImDebugger;
+10
View File
@@ -142,6 +142,16 @@ ENUM_CLASS_BITOPS(DisableHLEFlags);
std::string GPUBackendToString(GPUBackend backend);
GPUBackend GPUBackendFromString(std::string_view backend);
// Vulkan present modes, linearized. Currently in order of lowest to highest latency, hopefully won't change in the future.
// NOTE: These values DO NOT match the flags in DrawContext caps - these are not used as a bitfield.
enum class PresentMode {
Immediate = 0, // VK_PRESENT_MODE_IMMEDIATE_KHR
Mailbox = 1, // VK_PRESENT_MODE_MAILBOX_KHR
FifoLatestReady = 2, // VK_PRESENT_MODE_FIFO_LATEST_READY_KHR
FifoRelaxed = 3, // VK_PRESENT_MODE_FIFO_RELAXED_KHR
Fifo = 4, // VK_PRESENT_MODE_FIFO_KHR
};
// For iIOTimingMethod.
enum IOTimingMethods {
IOTIMING_FAST = 0,
+45
View File
@@ -19,8 +19,16 @@
#include "Common/Log.h"
#include "Common/StringUtils.h"
#include "Common/GPU/Vulkan/VulkanContext.h"
#include "Common/Data/Text/Parsers.h"
#include "Core/Config.h"
#include "GPU/Vulkan/VulkanUtil.h"
#ifdef _DEBUG
static const bool g_Validate = true;
#else
static const bool g_Validate = false;
#endif
using namespace PPSSPP_VK;
const VkComponentMapping VULKAN_4444_SWIZZLE = { VK_COMPONENT_SWIZZLE_A, VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_G, VK_COMPONENT_SWIZZLE_B };
@@ -28,6 +36,43 @@ const VkComponentMapping VULKAN_1555_SWIZZLE = { VK_COMPONENT_SWIZZLE_B, VK_COMP
const VkComponentMapping VULKAN_565_SWIZZLE = { VK_COMPONENT_SWIZZLE_B, VK_COMPONENT_SWIZZLE_IDENTITY, VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_IDENTITY };
const VkComponentMapping VULKAN_8888_SWIZZLE = { VK_COMPONENT_SWIZZLE_IDENTITY, VK_COMPONENT_SWIZZLE_IDENTITY, VK_COMPONENT_SWIZZLE_IDENTITY, VK_COMPONENT_SWIZZLE_IDENTITY };
VkPresentModeKHR ConfigPresentModeToVulkan(PresentMode presentMode) {
switch (presentMode) {
case PresentMode::Immediate:
return VK_PRESENT_MODE_IMMEDIATE_KHR;
case PresentMode::Mailbox:
return VK_PRESENT_MODE_MAILBOX_KHR;
case PresentMode::FifoLatestReady:
return VK_PRESENT_MODE_FIFO_LATEST_READY_KHR;
case PresentMode::FifoRelaxed:
return VK_PRESENT_MODE_FIFO_RELAXED_KHR;
case PresentMode::Fifo:
default:
return VK_PRESENT_MODE_FIFO_KHR;
}
}
// TODO: Share this between backends.
static VulkanInitFlags VulkanInitFlagsFromConfig() {
VulkanInitFlags flags = (VulkanInitFlags)0;
if (g_Validate) {
flags |= VulkanInitFlags::VALIDATE;
}
if (g_Config.bVulkanDisableImplicitLayers) {
flags |= VulkanInitFlags::DISABLE_IMPLICIT_LAYERS;
}
return flags;
}
void InitVulkanCreateInfoFromConfig(VulkanContext::CreateInfo *info) {
Version gitVer(PPSSPP_GIT_VERSION);
info->app_name = "PPSSPP";
info->app_ver = gitVer.ToInteger();
info->flags = VulkanInitFlagsFromConfig();
info->customDriver = g_Config.sCustomDriver;
info->presentMode = ConfigPresentModeToVulkan((PresentMode)g_Config.iVulkanPresentationMode);
}
VkShaderModule CompileShaderModule(VulkanContext *vulkan, VkShaderStageFlagBits stage, const char *code, std::string *error) {
std::vector<uint32_t> spirv;
bool success = GLSLtoSPV(stage, code, GLSLVariant::VULKAN, spirv, error);
+4
View File
@@ -26,6 +26,7 @@
#include "Common/GPU/Vulkan/VulkanLoader.h"
#include "Common/GPU/Vulkan/VulkanDescSet.h"
#include "Common/GPU/thin3d.h"
#include "Core/ConfigValues.h"
extern const VkComponentMapping VULKAN_4444_SWIZZLE;
extern const VkComponentMapping VULKAN_1555_SWIZZLE;
@@ -87,3 +88,6 @@ private:
VkShaderModule CompileShaderModule(VulkanContext *vulkan, VkShaderStageFlagBits stage, const char *code, std::string *error);
VkPresentModeKHR ConfigPresentModeToVulkan(PresentMode presentMode);
void InitVulkanCreateInfoFromConfig(VulkanContext::CreateInfo *info);
+5 -22
View File
@@ -8,6 +8,7 @@
#include "Common/GPU/thin3d_create.h"
#include "Common/GPU/Vulkan/VulkanRenderManager.h"
#include "Common/Data/Text/Parsers.h"
#include "GPU/Vulkan/VulkanUtil.h"
#include "Core/System.h"
#if PPSSPP_PLATFORM(MAC)
@@ -27,23 +28,6 @@ static const bool g_Validate = true;
static const bool g_Validate = false;
#endif
// TODO: Share this between backends.
static VulkanInitFlags FlagsFromConfig() {
VulkanInitFlags flags;
if (g_Config.bVSync) {
flags = VulkanInitFlags::PRESENT_FIFO;
} else {
flags = VulkanInitFlags::PRESENT_MAILBOX | VulkanInitFlags::PRESENT_IMMEDIATE;
}
if (g_Validate) {
flags |= VulkanInitFlags::VALIDATE;
}
if (g_Config.bVulkanDisableImplicitLayers) {
flags |= VulkanInitFlags::DISABLE_IMPLICIT_LAYERS;
}
return flags;
}
bool SDLVulkanGraphicsContext::Init(SDL_Window *&window, int x, int y, int w, int h, int mode, std::string *error_message) {
window = SDL_CreateWindow("Initializing Vulkan...", x, y, w, h, mode);
if (!window) {
@@ -69,10 +53,7 @@ bool SDLVulkanGraphicsContext::Init(SDL_Window *&window, int x, int y, int w, in
vulkan_ = new VulkanContext();
VulkanContext::CreateInfo info{};
info.app_name = "PPSSPP";
info.app_ver = gitVer.ToInteger();
info.flags = FlagsFromConfig();
info.customDriver = g_Config.sCustomDriver;
InitVulkanCreateInfoFromConfig(&info);
if (VK_SUCCESS != vulkan_->CreateInstance(info)) {
*error_message = vulkan_->InitError();
delete vulkan_;
@@ -186,7 +167,9 @@ void SDLVulkanGraphicsContext::Shutdown() {
void SDLVulkanGraphicsContext::Resize() {
draw_->HandleEvent(Draw::Event::LOST_BACKBUFFER, vulkan_->GetBackbufferWidth(), vulkan_->GetBackbufferHeight());
vulkan_->DestroySwapchain();
vulkan_->UpdateInitFlags(FlagsFromConfig());
VulkanContext::CreateInfo info{};
InitVulkanCreateInfoFromConfig(&info);
vulkan_->UpdateCreateInfo(info);
vulkan_->InitSwapchain();
draw_->HandleEvent(Draw::Event::GOT_BACKBUFFER, vulkan_->GetBackbufferWidth(), vulkan_->GetBackbufferHeight());
}
+1523 -31
View File
File diff suppressed because it is too large. Load diff
+3
View File
@@ -6,3 +6,6 @@ version = "0.1.0"
[dependencies]
clap = { version = "4.5", features = ["derive"] }
reqwest = { version = "0.12", features = ["blocking", "json"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
+64
View File
@@ -0,0 +1,64 @@
use serde::{Deserialize, Serialize};
use std::{error::Error, time::Duration};
#[derive(Serialize)]
pub struct ChatRequest<'a> {
pub model: &'a str,
pub messages: Vec<Message<'a>>,
}
#[derive(Serialize)]
pub struct Message<'a> {
pub role: &'a str,
pub content: &'a str,
}
#[derive(Deserialize)]
pub struct ChatResponse {
pub choices: Vec<Choice>,
}
#[derive(Deserialize)]
pub struct Choice {
pub message: MessageResponse,
}
#[derive(Deserialize)]
pub struct MessageResponse {
pub content: String,
pub role: String, // unused
}
pub struct ChatGPT {
api_key: String,
model: String,
}
impl ChatGPT {
pub fn new(api_key: String, model: String) -> Self {
ChatGPT { api_key, model }
}
pub fn chat(&self, request: &str) -> Result<String, Box<dyn Error>> {
let client = reqwest::blocking::Client::builder()
.timeout(Duration::from_secs(300))
.build()?;
let req_body = ChatRequest {
model: &self.model,
messages: vec![Message {
role: "user",
content: request,
}],
};
let res: ChatResponse = client
.post("https://api.openai.com/v1/chat/completions")
.bearer_auth(&self.api_key)
.json(&req_body)
.send()?
.json()?;
Ok(res.choices[0].message.content.clone())
}
}
+136 -4
View File
@@ -1,11 +1,15 @@
use std::io;
use serde_json;
use std::collections::BTreeMap;
mod section;
use section::{line_value, Section};
use section::{Section, line_value};
mod inifile;
use inifile::IniFile;
mod chatgpt;
use clap::Parser;
#[derive(Parser, Debug)]
@@ -16,6 +20,9 @@ struct Args {
dry_run: bool,
#[arg(short, long)]
verbose: bool,
// gpt-5, gpt-5-mini, gpt-5-nano, gpt-4.1, gpt-4.1-mini, gpt-4.1-nano, o3, o4-mini, gpt-4o, gpt-4o-realtime-preview
#[arg(short, long, default_value = "gpt-4o-mini")]
model: String,
}
#[derive(Parser, Debug)]
@@ -30,6 +37,11 @@ enum Command {
section: String,
key: String,
},
AddNewKeyAI {
section: String,
key: String,
extra: Option<String>,
},
AddNewKeyValue {
section: String,
key: String,
@@ -212,11 +224,64 @@ fn sort_section(target_ini: &mut IniFile, section: &str) -> io::Result<()> {
Ok(())
}
fn generate_prompt(filenames: &[String], section: &str, value: &str, extra: &str) -> String {
let languages = filenames
.iter()
.map(|filename| filename.split_once(".").unwrap().0)
.collect::<Vec<&str>>()
.join(", ");
let base_str = format!("Please translate '{value}' from US English to all of these languages: {languages}.
Output in json format, a single dictionary, key=value. Include en_US first (the original string).
For context, the string will be in the translation section '{section}', and these strings are UI strings for my PSP emulator application.
'frame' refers to a displayed image frame of the running game, not a photo frame. In Swedish, frame is best translated as bildruta, and similar
may apply in other Nordic languages. Keep the strings relatively short, don't let them become more than 40% longer than the original string.
Do not output any text before or after the list of translated strings, do not ask followups.
{extra}");
base_str
}
fn parse_response(response: &str) -> Option<BTreeMap<String, String>> {
// Try to find JSON in the response (it might have other text around it)
let response = response.trim();
// Look for JSON object boundaries
let start = response.find('{')?;
let end = response.rfind('}')? + 1;
let json_str = &response[start..end];
// Parse the JSON into a BTreeMap
match serde_json::from_str::<BTreeMap<String, serde_json::Value>>(json_str) {
Ok(json_map) => {
let mut result = BTreeMap::new();
for (key, value) in json_map {
// Convert JSON values to strings
let string_value = match value {
serde_json::Value::String(s) => s,
_ => value.to_string().trim_matches('"').to_string(),
};
result.insert(key, string_value);
}
Some(result)
}
Err(e) => {
eprintln!("Failed to parse JSON response: {}", e);
eprintln!("JSON string was: {}", json_str);
None
}
}
}
// TODO: Look into using https://github.com/Byron/google-apis-rs/tree/main/gen/translate2 for initial translations.
fn main() {
let opt = Args::parse();
let api_key = std::env::var("OPENAI_API_KEY").ok();
let ai = api_key.map(|key| chatgpt::ChatGPT::new(key, opt.model));
// TODO: Grab extra arguments from opt somehow.
let args: Vec<String> = vec![]; //std::env::args().skip(1).collect();
let mut filenames = args;
@@ -224,8 +289,7 @@ fn main() {
let root = "../../assets/lang";
let reference_ini_filename = "en_US.ini";
let mut reference_ini =
IniFile::parse(&format!("{root}/{reference_ini_filename}")).unwrap();
let mut reference_ini = IniFile::parse(&format!("{root}/{reference_ini_filename}")).unwrap();
if filenames.is_empty() {
// Grab them all.
@@ -262,7 +326,48 @@ fn main() {
}
}
for filename in filenames {
let ai_response = if let Command::AddNewKeyAI {
section,
key,
extra,
} = &opt.cmd
{
let prompt = generate_prompt(
&filenames,
section,
key,
&extra.clone().unwrap_or("".to_string()),
);
println!("generated prompt:\n{prompt}");
if let Some(ai) = &ai {
println!("Using AI for translation...");
let response = ai.chat(&prompt).unwrap();
println!("AI response: {response}");
if let Some(parsed) = parse_response(&response) {
println!("Parsed: {:?}", parsed);
if parsed.len() < filenames.len() {
println!(
"Not enough languages generated! {} vs {}",
parsed.len(),
filenames.len()
);
}
Some(parsed)
} else {
println!("Failed to parse AI response, not doing anything.");
return;
}
} else {
println!("AI key not set, skipping AI command.");
return;
}
} else {
None
};
for filename in &filenames {
let reference_ini = &reference_ini;
if filename == "langtool" {
// Get this from cargo run for some reason.
@@ -300,6 +405,23 @@ fn main() {
ref section,
ref key,
} => add_new_key(&mut target_ini, section, key, key).unwrap(),
Command::AddNewKeyAI {
ref section,
ref key,
ref extra,
} => {
let lang = filename.split_once('.').unwrap().0;
if let Some(ai_response) = &ai_response {
// Process it.
if let Some(translated_string) = ai_response.get(lang) {
println!("{lang}:");
add_new_key(&mut target_ini, section, key, translated_string).unwrap();
} else {
println!("Language {lang} not found in response. Bailing.");
return;
}
}
}
Command::AddNewKeyValue {
ref section,
ref key,
@@ -380,6 +502,16 @@ fn main() {
} => {
add_new_key(&mut reference_ini, section, key, key).unwrap();
}
Command::AddNewKeyAI {
ref section,
ref key,
ref extra,
} => {
if ai_response.is_some() {
let _ = extra;
add_new_key(&mut reference_ini, section, key, key).unwrap();
}
}
Command::AddNewKeyValue {
ref section,
ref key,
+3 -3
View File
@@ -90,7 +90,7 @@ impl Section {
// Then, find a suitable insertion spot
for (i, iter_line) in self.lines.iter().enumerate() {
if iter_line.to_ascii_lowercase() > prefix {
println!("Inserting line {} into {}", line, self.name);
println!("{}: Inserting line {line}", self.name);
self.lines.insert(i, line.to_owned());
return true;
}
@@ -100,12 +100,12 @@ impl Section {
if self.lines[i].is_empty() {
continue;
}
println!("Inserting line {} into {}", line, self.name);
println!("{}: Inserting line {line}", self.name);
self.lines.insert(i + 1, line.to_owned());
return true;
}
println!("failed to insert {line}");
println!("{}: failed to insert {line}", self.name);
true
}
+2 -1
View File
@@ -136,8 +136,9 @@ static void DrawFrameTiming(UIContext *ctx, const Bounds &bounds) {
ctx->BindFontTexture();
ctx->Draw()->SetFontScale(0.5f, 0.5f);
// NOTE: This is not necessarily the same as the actual present mode.
snprintf(statBuf, sizeof(statBuf),
"Mode (interval): %s (%d)",
"Timing mode (interval): %s (%d)",
Draw::PresentModeToString(g_frameTiming.presentMode),
g_frameTiming.presentInterval);
+46 -4
View File
@@ -364,13 +364,55 @@ void GameSettingsScreen::CreateGraphicsSettings(UI::ViewGroup *graphicsSettings)
}
#endif
// All backends support FIFO. Check if any immediate modes are supported, if so we can allow the user to choose.
if (draw->GetDeviceCaps().presentModesSupported & (Draw::PresentMode::IMMEDIATE | Draw::PresentMode::MAILBOX)) {
CheckBox *vSync = graphicsSettings->Add(new CheckBox(&g_Config.bVSync, gr->T("VSync")));
vSync->OnClick.Add([=](EventParams &e) {
if (GetGPUBackend() == GPUBackend::VULKAN) {
// In Vulkan, we can now explicitly let the user choose the presentation mode.
static const char *presentationModes[] = {
"Immediate (lower latency, tearing)",
"Mailbox (lower latency, recommended)",
"FIFO: latest ready",
"FIFO: relaxed",
"FIFO (higher latency, framerate stability)",
};
UI::PopupMultiChoice *presentationMode = graphicsSettings->Add(new PopupMultiChoice(&g_Config.iVulkanPresentationMode, gr->T("Frame presentation mode"), presentationModes, 0, ARRAY_SIZE(presentationModes), I18NCat::GRAPHICS, screenManager()));
presentationMode->SetChoiceIcon(0, ImageID("I_WARNING"));
if (!(draw->GetDeviceCaps().presentModesSupported & Draw::PresentMode::IMMEDIATE)) {
presentationMode->HideChoice(0);
}
if (!(draw->GetDeviceCaps().presentModesSupported & Draw::PresentMode::MAILBOX)) {
presentationMode->HideChoice(1);
}
if (!(draw->GetDeviceCaps().presentModesSupported & Draw::PresentMode::FIFO_LATEST_READY)) {
presentationMode->HideChoice(2);
}
if (!(draw->GetDeviceCaps().presentModesSupported & Draw::PresentMode::FIFO_RELAXED)) {
presentationMode->HideChoice(3);
}
if (!(draw->GetDeviceCaps().presentModesSupported & Draw::PresentMode::FIFO)) {
presentationMode->HideChoice(4);
}
// Force the setting to a good supported mode if the current one is not supported, otherwise this will look weird.
if (presentationMode->IsChoiceHidden(g_Config.iVulkanPresentationMode)) {
if (draw->GetDeviceCaps().presentModesSupported & Draw::PresentMode::MAILBOX) {
g_Config.iVulkanPresentationMode = (int)Draw::PresentMode::MAILBOX;
} else if (draw->GetDeviceCaps().presentModesSupported & Draw::PresentMode::FIFO) {
g_Config.iVulkanPresentationMode = (int)Draw::PresentMode::FIFO;
}
}
presentationMode->OnChoice.Add([=](EventParams &e) {
NativeResized();
return UI::EVENT_CONTINUE;
});
} else {
// All backends support FIFO. Check if any immediate modes are supported, if so we can allow the user to choose.
if (draw->GetDeviceCaps().presentModesSupported & (Draw::PresentMode::IMMEDIATE | Draw::PresentMode::MAILBOX)) {
CheckBox *vSync = graphicsSettings->Add(new CheckBox(&g_Config.bVSync, gr->T("VSync")));
vSync->OnClick.Add([=](EventParams &e) {
NativeResized();
return UI::EVENT_CONTINUE;
});
}
}
#if PPSSPP_PLATFORM(ANDROID)
+4 -15
View File
@@ -59,6 +59,7 @@
#include "Common/GPU/thin3d_create.h"
#include "Common/GPU/Vulkan/VulkanRenderManager.h"
#include "Common/Data/Text/Parsers.h"
#include "GPU/Vulkan/VulkanUtil.h"
#include "Windows/GPU/WindowsVulkanContext.h"
#ifdef _DEBUG
@@ -67,17 +68,6 @@ static const bool g_validate_ = true;
static const bool g_validate_ = false;
#endif
static VulkanInitFlags FlagsFromConfig() {
VulkanInitFlags flags = g_Config.bVSync ? VulkanInitFlags::PRESENT_FIFO : VulkanInitFlags::PRESENT_MAILBOX;
if (g_validate_) {
flags |= VulkanInitFlags::VALIDATE;
}
if (g_Config.bVulkanDisableImplicitLayers) {
flags |= VulkanInitFlags::DISABLE_IMPLICIT_LAYERS;
}
return flags;
}
bool WindowsVulkanContext::Init(HINSTANCE hInst, HWND hWnd, std::string *error_message) {
*error_message = "N/A";
@@ -104,9 +94,7 @@ bool WindowsVulkanContext::Init(HINSTANCE hInst, HWND hWnd, std::string *error_m
vulkan_ = new VulkanContext();
VulkanContext::CreateInfo info{};
info.app_name = "PPSSPP";
info.app_ver = gitVer.ToInteger();
info.flags = FlagsFromConfig();
InitVulkanCreateInfoFromConfig(&info);
if (VK_SUCCESS != vulkan_->CreateInstance(info)) {
*error_message = vulkan_->InitError();
delete vulkan_;
@@ -177,7 +165,8 @@ void WindowsVulkanContext::Shutdown() {
void WindowsVulkanContext::Resize() {
draw_->HandleEvent(Draw::Event::LOST_BACKBUFFER, vulkan_->GetBackbufferWidth(), vulkan_->GetBackbufferHeight());
vulkan_->DestroySwapchain();
vulkan_->UpdateInitFlags(FlagsFromConfig());
VulkanContext::CreateInfo info{};
InitVulkanCreateInfoFromConfig(&info);
vulkan_->InitSwapchain();
draw_->HandleEvent(Draw::Event::GOT_BACKBUFFER, vulkan_->GetBackbufferWidth(), vulkan_->GetBackbufferHeight());
}
+5 -30
View File
@@ -12,30 +12,7 @@
#include "Core/Config.h"
#include "Core/ConfigValues.h"
#include "Core/System.h"
#ifdef _DEBUG
static const bool g_Validate = true;
#else
static const bool g_Validate = false;
#endif
// TODO: Share this between backends.
static VulkanInitFlags FlagsFromConfig() {
VulkanInitFlags flags;
if (g_Config.bVSync) {
flags = VulkanInitFlags::PRESENT_FIFO;
} else {
flags = VulkanInitFlags::PRESENT_MAILBOX | VulkanInitFlags::PRESENT_IMMEDIATE;
}
if (g_Validate) {
flags |= VulkanInitFlags::VALIDATE;
}
if (g_Config.bVulkanDisableImplicitLayers) {
flags |= VulkanInitFlags::DISABLE_IMPLICIT_LAYERS;
}
return flags;
}
#include "GPU/Vulkan/VulkanUtil.h"
AndroidVulkanContext::AndroidVulkanContext() {}
@@ -53,7 +30,6 @@ bool AndroidVulkanContext::InitAPI() {
g_LogOptions.msgBoxOnError = false;
INFO_LOG(Log::G3D, "Creating Vulkan context");
Version gitVer(PPSSPP_GIT_VERSION);
std::string errorStr;
if (!VulkanLoad(&errorStr)) {
@@ -68,10 +44,7 @@ bool AndroidVulkanContext::InitAPI() {
}
VulkanContext::CreateInfo info{};
info.app_name = "PPSSPP";
info.app_ver = gitVer.ToInteger();
info.flags = FlagsFromConfig();
info.customDriver = g_Config.sCustomDriver;
InitVulkanCreateInfoFromConfig(&info);
if (!g_Vulkan->CreateInstanceAndDevice(info)) {
delete g_Vulkan;
g_Vulkan = nullptr;
@@ -152,7 +125,9 @@ void AndroidVulkanContext::Resize() {
g_Vulkan->DestroySwapchain();
g_Vulkan->DestroySurface();
g_Vulkan->UpdateInitFlags(FlagsFromConfig());
VulkanContext::CreateInfo info{};
InitVulkanCreateInfoFromConfig(&info);
g_Vulkan->UpdateCreateInfo(info);
g_Vulkan->ReinitSurface();
g_Vulkan->InitSwapchain();
+6
View File
@@ -594,6 +594,7 @@ Use UI background = ‎إستخدم خلفية الواجهة
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = ‎غير محدود
'Mailbox' (lower latency, recommended) = Mailbox (كمون أقل، موصى به)
(supersampling) = (supersampling)
(upscaling) = ‎(يكبر)
1x PSP = 1× PSP
@@ -657,7 +658,11 @@ Display Resolution (HW scaler) = Display resolution (HW scaler)
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Enable Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (زمن استجابة أعلى، ثبات معدل الإطارات)
FIFO: latest ready = FIFO: الأحدث جاهز
FIFO: relaxed = FIFO: متساهل
FPS = معدل الإطارات
Frame presentation mode = وضع عرض الإطارات
Frame Rate Control = ‎التحكم في معدل الإطارات
Frame Skipping = ‎تخطي الإطارات
Frame Skipping Type = نوع تخطي الإطارات
@@ -674,6 +679,7 @@ High = ‎عالي
Hybrid = ‎هجين
Hybrid + Bicubic = ‎هجين + تكعيب
Ignore camera notch when centering = Ignore camera notch when centering
Immediate (lower latency, tearing) = فوري (שהייה أقل، קריעת תמונה)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Internal resolution
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Use UI background
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = unlimited
'Mailbox' (lower latency, recommended) = Mailbox (aşağı gecikmə, tövsiyə olunur)
(supersampling) = (supersampling)
(upscaling) = (upscaling)
1x PSP = 1× PSP
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Display resolution (HW scaler)
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Enable Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (yüksək gecikmə, kadr sürətinin sabitliyi)
FIFO: latest ready = FIFO: ən son hazır
FIFO: relaxed = FIFO: rahat
FPS = FPS
Frame presentation mode = Kadr göstərmə rejimi
Frame Rate Control = Framerate control
Frame Skipping = Kvadrat Keçid et (Sürət)
Frame Skipping Type = Frame skipping type
@@ -666,6 +671,7 @@ High = High
Hybrid = Hybrid
Hybrid + Bicubic = Hybrid + Bicubic
Ignore camera notch when centering = Ignore camera notch when centering
Immediate (lower latency, tearing) = Ani (az gecikmə, ekran yırtılması)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Internal resolution
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Выкарыстоўваць фон інтэрфейсу
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = unlimited
'Mailbox' (lower latency, recommended) = Mailbox (меншая затрымка, рэкамендуецца)
(supersampling) = (supersampling)
(upscaling) = (upscaling)
1x PSP = 1× PSP
@@ -629,6 +630,10 @@ Disable culling = Disable culling
Display layout & effects = Размяшчэнне экрана і эфекты
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Драйверы
FIFO (higher latency, framerate stability) = FIFO (вышэйшая затрымка, стабільнасць частаты кадраў)
FIFO: latest ready = FIFO: апошні гатовы
FIFO: relaxed = FIFO: расслаблены
Frame presentation mode = Рэжым паказу кадра
GPU texture upscaler (fast) = GPU texture upscaler (fast)
GPUReadbackRequired = Warning: This game requires "Skip GPU Readbacks" to be set to Off.
Both = Абодва
@@ -666,6 +671,7 @@ High = Высокая
Hybrid = Гібрыдны
Hybrid + Bicubic = Гібрыдны + Бікубічны
Ignore camera notch when centering = Ігнараваць выемку камеры пры цэнтраванні
Immediate (lower latency, tearing) = Неадкладна (меншая затрымка, разрывы кадра)
Install custom driver... = Install custom driver...
Integer scale factor = Цэлыкавае маштабаванне
Internal Resolution = Унутранае разрозненне
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Използване на фона на интерфейса
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = unlimited
'Mailbox' (lower latency, recommended) = Mailbox (по-ниска латентност, препоръчва се)
(supersampling) = (supersampling)
(upscaling) = (upscaling)
1x PSP = 1× PSP
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Display resolution (HW scaler)
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Драйвери
Enable Cardboard VR = Enable Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (по-голяма латентност, стабилност на честотата на кадрите)
FIFO: latest ready = FIFO: последният готов
FIFO: relaxed = FIFO: отпуснат
FPS = Кадри в сек.
Frame presentation mode = Режим показ на кадър
Frame Rate Control = Контрол на честотата на кадрите
Frame Skipping = Прескачане на кадри
Frame Skipping Type = Тип пропускане на кадри
@@ -666,6 +671,7 @@ High = Високо
Hybrid = Хибрид
Hybrid + Bicubic = Хибриден + Бикубичен
Ignore camera notch when centering = Игнорирайте прореза на камерата при центриране
Immediate (lower latency, tearing) = Незабавно (по-ниска латентност, разкъсване на кадъра)
Install custom driver... = Инсталиране на персонализиран драйвер...
Integer scale factor = Мащабиране на цяло число
Internal Resolution = Вътрешна резолюция
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Utilitzar imatge de fons de l'interfície d'usuari
% of the void = % de buit
% of viewport = % de finestra gràfica
%, 0:unlimited = %, 0 = il·limitat
'Mailbox' (lower latency, recommended) = Mailbox (latència menor, recomanat)
(supersampling) = (súper mostreig)
(upscaling) = (escalat)
1x PSP = PSP ×1
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Resolució de pantalla (escalat per maquinari)
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Activar Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (major latència, estabilitat de la taxa de fotogrames)
FIFO: latest ready = FIFO: últim llest
FIFO: relaxed = FIFO: relaxat
FPS = FPS
Frame presentation mode = Mode de presentació de fotograma
Frame Rate Control = Control de taxa de quadres (FPS)
Frame Skipping = Saltar quadres
Frame Skipping Type = Tipus de salt de quadres
@@ -666,6 +671,7 @@ High = Alta
Hybrid = Híbrid
Hybrid + Bicubic = Híbrid i bicúbic
Ignore camera notch when centering = Ignora la notch de la càmera usant el centre d'imatge.
Immediate (lower latency, tearing) = Immediata (menys latència, desgarro d'imatge)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Resolució interna
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Use UI background
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = neomezeno
'Mailbox' (lower latency, recommended) = Mailbox (nižší latence, doporučeno)
(supersampling) = (supersampling)
(upscaling) = (zvětšení)
1x PSP = 1× PSP
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Rozlišení obrazovky (Hardwarové zvětšení)
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Enable Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (vyšší latence, stabilita snímkové frekvence)
FIFO: latest ready = FIFO: poslední hotový
FIFO: relaxed = FIFO: uvolněný
FPS = FPS
Frame presentation mode = Režim zobrazování snímků
Frame Rate Control = Kontrola frekvence snímků
Frame Skipping = Přeskakování snímků
Frame Skipping Type = Frame skipping type
@@ -666,6 +671,7 @@ High = Vysoká
Hybrid = Hybridní
Hybrid + Bicubic = Hybridní + Bikubická
Ignore camera notch when centering = Ignore camera notch when centering
Immediate (lower latency, tearing) = Okamžitě (nižší latence, trhání obrazu)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Vnitřní rozlišení
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Brug UI baggrund
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = unlimited
'Mailbox' (lower latency, recommended) = Mailbox (lavere latenstid, anbefales)
(supersampling) = (supersampling)
(upscaling) = (upscaling)
1x PSP = 1× PSP
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Skærmopløsning (HW scaler)
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Enable Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (højere latenstid, stabil billedfrekvens)
FIFO: latest ready = FIFO: seneste klar
FIFO: relaxed = FIFO: afslappet
FPS = FPS
Frame presentation mode = Rammevisningstilstand
Frame Rate Control = Frameratekontrol
Frame Skipping = Frameskipping
Frame Skipping Type = Frame skipping type
@@ -666,6 +671,7 @@ High = Høj
Hybrid = Hybrid
Hybrid + Bicubic = Hybrid + Bicubisk
Ignore camera notch when centering = Ignore camera notch when centering
Immediate (lower latency, tearing) = Øjeblikkelig (lavere latenstid, billedrevner)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Intern opløsning
+6
View File
@@ -577,6 +577,7 @@ Use UI background = UI-Hintergrund benutzen
% of the void = % vom Leerbereich
% of viewport = % vom Sichtbereich
%, 0:unlimited = %, 0 = unbegrenzt
'Mailbox' (lower latency, recommended) = Mailbox (geringere Latenz, empfohlen)
(supersampling) = (supersampling)
(upscaling) = (hochskalierend)
1x PSP = 1× PSP
@@ -640,7 +641,11 @@ Display Resolution (HW scaler) = Bildschirmauflösung (HW-Skalierer)
Driver requires Android API version %1, current is %2 = Treiber erfordert Android-API-Version %1, aktuell ist %2
Drivers = Treiber
Enable Cardboard VR = Cardboard-VR aktivieren
FIFO (higher latency, framerate stability) = FIFO (höhere Latenz, Bildratenstabilität)
FIFO: latest ready = FIFO: zuletzt bereit
FIFO: relaxed = FIFO: entspannt
FPS = FPS
Frame presentation mode = Bildwiedergabemodus
Frame Rate Control = Bildratensteuerung
Frame Skipping = Einzelbilder überspringen
Frame Skipping Type = Typ für Einzelbilder überspringen
@@ -657,6 +662,7 @@ High = Hoch
Hybrid = Hybrid
Hybrid + Bicubic = Hybrid + Bikubisch
Ignore camera notch when centering = Kameraaussparung beim Zentrieren ignorieren
Immediate (lower latency, tearing) = Sofort (niedrigere Latenz, Bildrisse)
Install custom driver... = Benutzerdefinierten Treiber installieren...
Integer scale factor = Ganzzahliger Skalierungsfaktor
Internal Resolution = Interne Auflösung
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Use UI background
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = unlimited
'Mailbox' (lower latency, recommended) = Mailbox (تاخیر کمتر، پیشنهاد می‌شود)
(supersampling) = (supersampling)
(upscaling) = (upscaling)
1x PSP = 1× PSP
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Display resolution (HW scaler)
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Enable Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (latensi lebih tinggi, stabilitas frame rate)
FIFO: latest ready = FIFO: terbaru siap
FIFO: relaxed = FIFO: santai
FPS = FPS
Frame presentation mode = Mode penyajian bingkai
Frame Rate Control = Atoro'i FRna
Frame Skipping = Frameskip
Frame Skipping Type = Frame skipping type
@@ -666,6 +671,7 @@ High = High
Hybrid = Hybrid
Hybrid + Bicubic = Hybrid + Bicubic
Ignore camera notch when centering = Ignore camera notch when centering
Immediate (lower latency, tearing) = Segera (latensi lebih rendah, robekan gambar)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Internal resolution
+6
View File
@@ -610,6 +610,7 @@ Use UI background = Use UI background
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = unlimited
'Mailbox' (lower latency, recommended) = 'Mailbox' (lower latency, recommended)
(supersampling) = (supersampling)
(upscaling) = (upscaling)
1x PSP = 1× PSP
@@ -653,6 +654,10 @@ Disable culling = Disable culling
Display layout & effects = Display layout & effects
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
FIFO (higher latency, framerate stability) = FIFO (higher latency, framerate stability)
FIFO: latest ready = FIFO: latest ready
FIFO: relaxed = FIFO: relaxed
Frame presentation mode = Frame presentation mode
GPU texture upscaler (fast) = GPU texture upscaler (fast)
GPUReadbackRequired = Warning: This game requires "Skip GPU Readbacks" to be set to Off.
Both = Both
@@ -690,6 +695,7 @@ High = High
Hybrid = Hybrid
Hybrid + Bicubic = Hybrid + Bicubic
Ignore camera notch when centering = Ignore camera notch when centering
Immediate (lower latency, tearing) = Immediate (lower latency, tearing)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Internal resolution
+8 -3
View File
@@ -587,6 +587,7 @@ Use UI background = Establecer imagen como fondo
% of the void = % de vacío
% of viewport = % de ventana gráfica
%, 0:unlimited = %, 0 = ilimitado
'Mailbox' (lower latency, recommended) = Mailbox (menor latencia, recomendado)
(supersampling) = (súper muestreo)
(upscaling) = (escalado)
10x PSP = PSP x10
@@ -650,7 +651,11 @@ Display Resolution (HW scaler) = Resolución de pantalla (escalado por hardware)
Driver requires Android API version %1, current is %2 = El controlador requiere la versión API de Android %1, la versión actual es %2
Drivers = Controladores
Enable Cardboard VR = Activar Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (mayor latencia, estabilidad de la tasa de frames)
FIFO: latest ready = FIFO: último listo
FIFO: relaxed = FIFO: relajado
FPS = FPS
Frame presentation mode = Modo de presentación de fotogramas
Frame Rate Control = Control de tasa de fotogramas (FPS)
Frame Skipping = Salto de fotogramas
Frame Skipping Type = Tipo de salto de fotogramas
@@ -667,6 +672,7 @@ High = Alto
Hybrid + Bicubic = Híbrido y bicúbico
Hybrid = Híbrido
Ignore camera notch when centering = Ignorar notch de la cámara al centrar
Immediate (lower latency, tearing) = Inmediato (menor latencia, desgarro de imagen)
Install custom driver... = Instalar controlador personalizado...
Integer scale factor = Factor de escala de números enteros
Internal Resolution = Resolución interna
@@ -689,7 +695,7 @@ No (default) = No (predeterminado)
No buffer = Sin búfer
None = Ninguno
Number of Frames = Número de fotogramas
Off = Deshabilitar
Off = Deshabilitar
OpenGL = OpenGL
Overlay Information = Información en pantalla
Partial Stretch = Estiramiento parcial
@@ -1453,7 +1459,7 @@ Waves = Ondas
YYYYMMDD = YYYYMMDD
[TextureShaders]
Off = Deshabilitar
Off = Deshabilitar
Tex2xBRZ = Tex2xBRZ
Tex4xBRZ = Tex4xBRZ
TexMMPX = TexMMPX
@@ -1494,4 +1500,3 @@ Stereoscopic vision (Experimental) = Visión Estereoscópica (Experimental)
Virtual reality = Realidad virtual
VR camera = Cámara VR
VR controllers = Controles VR
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Usar fondo como interfaz
% of the void = % del vacío
% of viewport = % de ventana gráfica
%, 0:unlimited = %, 0 = ilimitado
'Mailbox' (lower latency, recommended) = Mailbox (menor latencia, recomendado)
(supersampling) = (supersampleado)
(upscaling) = (escalado)
1x PSP = PSP ×1
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Resolución de pantalla (escalado por HW)
Driver requires Android API version %1, current is %2 = El controlador requiere la versión de API de Android %1, la actual es %2
Drivers = Drivers
Enable Cardboard VR = Activar Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (mayor latencia, estabilidad de la tasa de frames)
FIFO: latest ready = FIFO: el último listo
FIFO: relaxed = FIFO: relajado
FPS = FPS
Frame presentation mode = Modo de presentación de fotogramas
Frame Rate Control = Control de Framerate
Frame Skipping = Salto de cuadros
Frame Skipping Type = Tipo de salto de cuadros
@@ -666,6 +671,7 @@ High = Alta
Hybrid = Híbrido
Hybrid + Bicubic = Híbrido + bicúbico
Ignore camera notch when centering = Ignorar muesca de la cámara al centrar
Immediate (lower latency, tearing) = Inmediato (menor latencia, desgarro de imagen)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Resolución interna
+6
View File
@@ -586,6 +586,7 @@ Use UI background = استفاده به عنوان پس زمینه؟
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = unlimited
'Mailbox' (lower latency, recommended) = Mailbox (تأخیر کمتر، توصیه‌شده)
(supersampling) = (supersampling)
(upscaling) = (upscaling)
1x PSP = 1× PSP
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = رزولوشن صفحه
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Enable Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (تأخیر بالاتر، پایداری نرخ فریم)
FIFO: latest ready = FIFO: آخرین آماده
FIFO: relaxed = FIFO: آزاد
FPS = ‎فریم بر ثانیه
Frame presentation mode = حالت نمایش فریم
Frame Rate Control = ‎کنترل سرعت فریم
Frame Skipping = ‎ردکردن فریم
Frame Skipping Type = رد کردن فریز تایپ
@@ -666,6 +671,7 @@ High = ‎زیاد
Hybrid = ‎Hybrid (ترکیبی)
Hybrid + Bicubic = Hybrid + Bicubic
Ignore camera notch when centering = نادیده گرفتن حفرهٔ دوربین هنگام وسط بردن
Immediate (lower latency, tearing) = فوری (تاخیر کمتر، پارگی تصویر)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = ‎رزولوشن داخلی
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Käytä käyttöliittymän taustakuvaa
% of the void = % tyhjästä tilasta
% of viewport = % näkymäalueesta
%, 0:unlimited = %, 0 = rajoittamaton
'Mailbox' (lower latency, recommended) = Mailbox (alhaisempi latenssi, suositeltu)
(supersampling) = (ylinäytteistys)
(upscaling) = (ylösskaalaus)
1x PSP = 1 x PSP
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Näyttöresoluutio (Laitteiston skaalaaja)
Driver requires Android API version %1, current is %2 = Ajurin vaatima Android API -versio on %1, nykyinen versio on %2
Drivers = Ajurit
Enable Cardboard VR = Ota käyttöön Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (korkeampi viive, kuvataajuuden vakaus)
FIFO: latest ready = FIFO: uusin valmis
FIFO: relaxed = FIFO: rento
FPS = FPS
Frame presentation mode = Ruudun esitystila
Frame Rate Control = Kuvataajuuden hallinta
Frame Skipping = Kuvan ohitus
Frame Skipping Type = Kuvan ohituksen tyyppi
@@ -666,6 +671,7 @@ High = Korkea
Hybrid = Hybridi
Hybrid + Bicubic = Hybridi + Bicubic
Ignore camera notch when centering = Ohita kameran lovi keskittäessä
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
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Utiliser le fond d'écran
% of the void = % de l'espace vide
% of viewport = % de la zone d'affichage
%, 0:unlimited = %, 0 = illimitée
'Mailbox' (lower latency, recommended) = Mailbox (latence plus faible, recommandé)
(supersampling) = (supersampling)
(upscaling) = (upscaling)
1x PSP = PSP ×1
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Définition d'affichage (mise à l'échelle mat
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Activer Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (latence plus élevée, stabilité du taux d'images)
FIFO: latest ready = FIFO: dernier prêt
FIFO: relaxed = FIFO: détendu
FPS = FPS
Frame presentation mode = Mode de présentation des images
Frame Rate Control = Contrôle de la fréquence de rafraîchissement des images
Frame Skipping = Saut d'images
Frame Skipping Type = Type de saut d'images
@@ -666,6 +671,7 @@ High = Haute
Hybrid = Hybride
Hybrid + Bicubic = Hybride + Bicubique
Ignore camera notch when centering = Ignorer l'encoche de la caméra lors du centrage
Immediate (lower latency, tearing) = Immédiat (latence plus faible, déchirures d'image)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Définition interne
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Use UI background
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = unlimited
'Mailbox' (lower latency, recommended) = Mailbox (menor latencia, recomendado)
(supersampling) = (supersampling)
(upscaling) = (upscaling)
1x PSP = PSP ×1
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Resolución de pantalla (escalado por hardware)
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Enable Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (maior latencia, estabilidade da taxa de fotogramas)
FIFO: latest ready = FIFO: último listo
FIFO: relaxed = FIFO: relaxado
FPS = FPS
Frame presentation mode = Modo de presentación do fotograma
Frame Rate Control = Control de tasa de cadros (FPS)
Frame Skipping = Saltar cadros
Frame Skipping Type = Frame skipping type
@@ -666,6 +671,7 @@ High = Alta
Hybrid = Híbrido
Hybrid + Bicubic = Híbrido + Bicúbico
Ignore camera notch when centering = Ignore camera notch when centering
Immediate (lower latency, tearing) = Inmediato (menor latencia, desgarro de imaxe)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Resolución interna
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Χρήση φόντου UI
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = απεριόριστο
'Mailbox' (lower latency, recommended) = Mailbox (χαμηλότερη καθυστέρηση, συνιστάται)
(supersampling) = (supersampling)
(upscaling) = (κλιμάκωση)
1x PSP = 480×272 (1×)
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Ανάλυση οθόνης (Κλιμακοτή
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Ενεργοποίηση Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (μεγαλύτερη καθυστέρηση, σταθερότητα ρυθμού καρέ)
FIFO: latest ready = FIFO: τελευταίο έτοιμο
FIFO: relaxed = FIFO: χαλαρό
FPS = FPS
Frame presentation mode = Λειτουργία παρουσίασης καρέ
Frame Rate Control = Ρυθμίσεις Ρυθμού Καρέ
Frame Skipping = Παράκαμψη Καρέ
Frame Skipping Type = Frame skipping type
@@ -666,6 +671,7 @@ High = Υψηλή
Hybrid = Υβριδική
Hybrid + Bicubic = Υβριδική + Διακυβική
Ignore camera notch when centering = Ignore camera notch when centering
Immediate (lower latency, tearing) = Άμεση (μικρότερη καθυστέρηση, σχισίματα εικόνας)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Εσωτερική Ανάλυση
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Use UI background
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = unlimited
'Mailbox' (lower latency, recommended) = Mailbox (שהייה נמוכה יותר, מומלץ)
(supersampling) = (supersampling)
(upscaling) = (upscaling)
1x PSP = 1× PSP
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Display resolution (HW scaler)
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Enable Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (שהייה גבוהה יותר, יציבות בקצב הפריימים)
FIFO: latest ready = FIFO: האחרון מוכן
FIFO: relaxed = FIFO: רגוע
FPS = כמות פריימים לשנייה
Frame presentation mode = מצב הצגת פריים
Frame Rate Control = שליטה על קצב פריימים
Frame Skipping = דלג על פריימים
Frame Skipping Type = Frame skipping type
@@ -666,6 +671,7 @@ High = High
Hybrid = היברידי
Hybrid + Bicubic = היברידי + Bicubic
Ignore camera notch when centering = Ignore camera notch when centering
Immediate (lower latency, tearing) = מיידי (השהייה נמוכה יותר, קריעת תמונה)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Internal resolution
+6
View File
@@ -583,6 +583,7 @@ Use UI background = Use UI background
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = unlimited
'Mailbox' (lower latency, recommended) = Mailbox )שהייה נמוכה יותר, מומלץ(
(supersampling) = (supersampling)
(upscaling) = (upscaling)
1x PSP = 1× PSP
@@ -646,7 +647,11 @@ Display Resolution (HW scaler) = Display resolution (HW scaler)
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Enable Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (שהייה גבוהה יותר, יציבות בקצב הפריימים)
FIFO: latest ready = מוכן האחרון :FIFO
FIFO: relaxed = רגוע: FIFO
FPS = היינשל םימיירפ תומכ
Frame presentation mode = מצב הצגת פריים
Frame Rate Control = םימיירפ בצק לע הטילש
Frame Skipping = םימיירפ לע גלד
Frame Skipping Type = Frame skipping type
@@ -663,6 +668,7 @@ High = High
Hybrid = ידירביה
Hybrid + Bicubic = ידירביה + Bicubic
Ignore camera notch when centering = Ignore camera notch when centering
Immediate (lower latency, tearing) = מיידי (קריעת תמונה, השהייה נמוכה יותר)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Internal resolution
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Koristi UI pozadinu
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = neograničeno
'Mailbox' (lower latency, recommended) = Mailbox (manja latencija, preporučeno)
(supersampling) = (supersampling)
(upscaling) = (upscaling)
1x PSP = 1× PSP
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Prikaz rezolucije (HW mjeritelj)
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Enable Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (veća latencija, stabilnost broja sličica)
FIFO: latest ready = FIFO: zadnji spreman
FIFO: relaxed = FIFO: opušten
FPS = FPS
Frame presentation mode = Način prikaza kadra
Frame Rate Control = Framerate kontrole
Frame Skipping = Preskakanje sličica
Frame Skipping Type = Vrsta preskakanja sličica
@@ -666,6 +671,7 @@ High = Visoko
Hybrid = Hibrid
Hybrid + Bicubic = Hibrid + Bikubični
Ignore camera notch when centering = Ignore camera notch when centering
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
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Beállítás háttérként
% of the void = %-a az üres térnek
% of viewport = %-a a mintaablaknak
%, 0:unlimited = %, 0 = korlátlan
'Mailbox' (lower latency, recommended) = Mailbox (alacsonyabb késleltetés, ajánlott)
(supersampling) = (supersampling)
(upscaling) = (felskálázás)
1x PSP = 1× PSP
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Megjelenítési felbontás (HW skálázó)
Driver requires Android API version %1, current is %2 = A driverhez Android API %1 verzió szükséges, a jelenlegi %2
Drivers = Drivers
Enable Cardboard VR = Cardboard VR engedélyezése
FIFO (higher latency, framerate stability) = FIFO (nagyobb késleltetés, képkockasebesség stabilitása)
FIFO: latest ready = FIFO: legfrissebb kész
FIFO: relaxed = FIFO: lazított
FPS = FPS
Frame presentation mode = Képkocka megjelenítési mód
Frame Rate Control = Képkocka sebesség szabályozása
Frame Skipping = Képkocka átugrás
Frame Skipping Type = Képkocka átugrás típusa
@@ -666,6 +671,7 @@ High = Magas
Hybrid = Hibrid
Hybrid + Bicubic = Hibrid + Bicubic
Ignore camera notch when centering = Ignore camera notch when centering
Immediate (lower latency, tearing) = Azonnal (alacsonyabb késleltetés, képtörés)
Install custom driver... = Saját driver telepítése…
Integer scale factor = Egész skálaszorzó
Internal Resolution = Belső felbontás
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Gunakan latar belakang UI
% of the void = % dari ruang kosong
% of viewport = % dari pandangan port
%, 0:unlimited = %, 0 = tak terbatas
'Mailbox' (lower latency, recommended) = Mailbox (latensi lebih rendah, disarankan)
(supersampling) = (penghapus efek bergerigi membuat gambar menjadi lebih halus)
(upscaling) = (skala-atas)
1x PSP = 1× PSP
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Resolusi tampilan (penskala HW)
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Aktifkan Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (latensi lebih tinggi, stabilitas frame rate)
FIFO: latest ready = FIFO: terbaru siap
FIFO: relaxed = FIFO: santai
FPS = FPS
Frame presentation mode = Mode penyajian bingkai
Frame Rate Control = Kontrol laju bingkai
Frame Skipping = Lewati laju bingkai
Frame Skipping Type = Jenis lewati laju bingkai
@@ -666,6 +671,7 @@ High = Tinggi
Hybrid = Hibrida
Hybrid + Bicubic = Hibrida + Bikubik
Ignore camera notch when centering = Abaikan pandangan kamera saat sedang fokus
Immediate (lower latency, tearing) = Segera (latensi lebih rendah, robekan gambar)
Install custom driver... = Instal driver kustom...
Integer scale factor = Faktor skala integer
Internal Resolution = Resolusi internal
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Usa sfondo interfaccia
% of the void = % di spazio vuoto
% of viewport = % di area di visualizzazione
%, 0:unlimited = %, 0 = senza limiti
'Mailbox' (lower latency, recommended) = Mailbox (latenza inferiore, consigliato)
(supersampling) = (supercampionamento)
(upscaling) = (upscaling)
1x PSP = 1× PSP
@@ -650,7 +651,11 @@ Display Resolution (HW scaler) = Risoluzione Display (scaler HW)
Driver requires Android API version %1, current is %2 = Il driver richiede la versione API di Android %1, attualmente c'è la %2
Drivers = Driver
Enable Cardboard VR = Attiva Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (latenza più alta, stabilità del framerate)
FIFO: latest ready = FIFO: ultimo pronto
FIFO: relaxed = FIFO: rilassato
FPS = FPS
Frame presentation mode = Modalità di presentazione del fotogramma
Frame Rate Control = Controllo Framerate
Frame Skipping = Salto frame
Frame Skipping Type = Tipo di Salto frame
@@ -667,6 +672,7 @@ High = Alta
Hybrid = Ibrido
Hybrid + Bicubic = Ibrido + Bicubico
Ignore camera notch when centering = Ignora il notch della foto camera durante il centramento
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
+6
View File
@@ -586,6 +586,7 @@ Use UI background = UIの背景を使う
% of the void = ボイドの%
% of viewport = ビューポートの%
%, 0:unlimited = %, 0 = 無制限
'Mailbox' (lower latency, recommended) = Mailbox (低レイテンシ、推奨)
(supersampling) = (スーパーサンプリング)
(upscaling) = (アップスケーリング)
1x PSP = 1× PSP
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = 画面解像度 (HWスケーラー)
Driver requires Android API version %1, current is %2 = ドライバーはAndroid API version %1を要求していますが, 現在 %2です
Drivers = ドライバー
Enable Cardboard VR = Cardboard VRを有効にする
FIFO (higher latency, framerate stability) = FIFO(遅延が大きい、フレームレートの安定性)
FIFO: latest ready = FIFO: 最新が準備済み
FIFO: relaxed = FIFO: 緩やか
FPS = FPS
Frame presentation mode = フレーム表示モード
Frame Rate Control = フレームレートのコントロール
Frame Skipping = フレームスキップ
Frame Skipping Type = フレームスキップのタイプ
@@ -666,6 +671,7 @@ High = 高
Hybrid = Hybrid
Hybrid + Bicubic = Hybrid + Bicubic
Ignore camera notch when centering = インカメラ液晶部分を画面センタリング領域に含めない
Immediate (lower latency, tearing) = 即時(低遅延、ティアリング)
Install custom driver... = カスタムドライバーのインストール...
Integer scale factor = 整数スケール係数
Internal Resolution = 内部解像度
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Use UI background
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = unlimited
'Mailbox' (lower latency, recommended) = Mailbox (latensi luwih rendah, disaranake)
(supersampling) = (supersampling)
(upscaling) = (upscaling)
1x PSP = 1× PSP
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Resolusi tampilan (HW scaler)
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Enable Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (latensi luwih dhuwur, stabilitas framerate)
FIFO: latest ready = FIFO: paling anyar siap
FIFO: relaxed = FIFO: santai
FPS = FPS
Frame presentation mode = Mode tampilan bingkai
Frame Rate Control = Kontrol Frame-rate
Frame Skipping = Frame-skip
Frame Skipping Type = Frame skipping type
@@ -666,6 +671,7 @@ High = Dhuwur
Hybrid = Hybrid
Hybrid + Bicubic = Hybrid + Bicubic
Ignore camera notch when centering = Ignore camera notch when centering
Immediate (lower latency, tearing) = Langsung (latensi luwih rendah, robekan gambar)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Resolusi internal
+6
View File
@@ -586,6 +586,7 @@ Use UI background = UI 배경 사용
% of the void = 공백의 %
% of viewport = 뷰포트의 %
%, 0:unlimited = %, 0 = 무제한
'Mailbox' (lower latency, recommended) = Mailbox (지연 시간 짧음, 권장)
(supersampling) = (슈퍼샘플링)
(upscaling) = (업스케일링)
1x PSP = PSP 1배
@@ -629,6 +630,10 @@ Disable culling = 컬링 비활성화
Display layout & effects = 화면 레이아웃 편집기
Driver requires Android API version %1, current is %2 = 드라이버에는 안드로이드 API 버전 %1이(가) 필요하며, 현재는 %2입니다.
Drivers = 드라이버
FIFO (higher latency, framerate stability) = FIFO(지연 증가, 프레임레이트 안정성)
FIFO: latest ready = FIFO: 최신 준비 완료
FIFO: relaxed = FIFO: 느슨함
Frame presentation mode = 프레임 표시 모드
GPU texture upscaler (fast) = 텍스처 쉐이더 (GPU)
GPUReadbackRequired = 경고: 이 게임을 하려면 "GPU 리드백 건너뛰기"를 끄기로 설정해야 합니다.
Both = 둘 다
@@ -666,6 +671,7 @@ High = 높음
Hybrid = 혼합
Hybrid + Bicubic = 혼합 + 고등차수보간
Ignore camera notch when centering = 센터링 시 카메라 노치 무시
Immediate (lower latency, tearing) = 즉시 (지연 감소, 화면 찢김)
Install custom driver... = 커스텀 드라이버 설치...
Integer scale factor = 정수 배율
Internal Resolution = 내부 해상도
+6
View File
@@ -600,6 +600,7 @@ Use UI background = دا UI بەکارهێنانی لە باکگراوند
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = unlimited
'Mailbox' (lower latency, recommended) = Mailbox (latensiya kêm, pêşniyar e)
(supersampling) = (supersampling)
(upscaling) = (upscaling)
1x PSP = 1× PSP
@@ -643,6 +644,10 @@ Disable culling = Disable culling
Display layout & effects = Display layout & effects
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
FIFO (higher latency, framerate stability) = FIFO (derengiya bilindtir, stabîlîtiya rêjeya freymê)
FIFO: latest ready = FIFO: herî dawî amade
FIFO: relaxed = FIFO: aram
Frame presentation mode = Moda nîşandina frame
GPU texture upscaler (fast) = GPU texture upscaler (fast)
GPUReadbackRequired = Warning: This game requires "Skip GPU Readbacks" to be set to Off.
Both = Both
@@ -680,6 +685,7 @@ High = High
Hybrid = Hybrid
Hybrid + Bicubic = Hybrid + Bicubic
Ignore camera notch when centering = Ignore camera notch when centering
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
+6
View File
@@ -586,6 +586,7 @@ Use UI background = ໃຊ້ເປັນພາບພື້ນຫຼັງ
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = ບໍ່ຈຳກັດ
'Mailbox' (lower latency, recommended) = Mailbox (ຄວາມຫຼ່ຳໜ້າຕ່ຳກວ່າ, ແນະນຳ)
(supersampling) = (supersampling)
(upscaling) = (ເພີ່ມຂະໜາດສເກລ)
1x PSP = 1× PSP
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = ຄວາມລະອຽດໜ້າຈໍ (ຕ
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Enable Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (ລໍຖ້າສູງຂຶ້ນ, ຄວາມສະຫງົບຂອງອັດຕາແຟຣມ)
FIFO: latest ready = FIFO: ລ່າສຸດພ້ອມ
FIFO: relaxed = FIFO: ຜ່ອນຄາຍ
FPS = FPS
Frame presentation mode = ຮູບແບບການສະແດງແຟຣມ
Frame Rate Control = ຄວບຄຸມເຟຣມເຣດ
Frame Skipping = ຂ້າມເຟຣມ
Frame Skipping Type = Frame skipping type
@@ -666,6 +671,7 @@ High = ສູງ
Hybrid = Hybrid
Hybrid + Bicubic = Hybrid + Bicubic
Ignore camera notch when centering = Ignore camera notch when centering
Immediate (lower latency, tearing) = ທັນທີ (ຄວາມຫຍໍ້ນ້ອຍກວ່າ, ການແຕກຂອງຮູບ)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = ຄວາມລະອຽດພາຍໃນ
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Use UI background
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = unlimited
'Mailbox' (lower latency, recommended) = Mailbox (mažesnis vėlinimas, rekomenduojama)
(supersampling) = (supersampling)
(upscaling) = (upscaling)
1x PSP = Originali PSP rezoliucija
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Ekrano rezoliucija ("HW" ištiesinimas)
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Enable Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (didesnis vėlinimas, kadrų dažnio stabilumas)
FIFO: latest ready = FIFO: naujausias paruoštas
FIFO: relaxed = FIFO: atsipalaidavęs
FPS = Kadrai per sekundę
Frame presentation mode = Kadro pateikimo režimas
Frame Rate Control = Kadrų kontrolė
Frame Skipping = Kadrų praleidimas
Frame Skipping Type = Frame skipping type
@@ -666,6 +671,7 @@ High = Aukšta
Hybrid = Hybridas
Hybrid + Bicubic = Hybridas + "Bicubic"
Ignore camera notch when centering = Ignore camera notch when centering
Immediate (lower latency, tearing) = Momentinis (mažesnė delsė, ekrano plyšimas)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Vidinė rezoliucija
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Use UI background
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = unlimited
'Mailbox' (lower latency, recommended) = Mailbox (latensi lebih rendah, disyorkan)
(supersampling) = (supersampling)
(upscaling) = (upscaling)
1x PSP = 1× PSP
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Display resolution (HW scaler)
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Enable Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (latensi lebih tinggi, kestabilan kadar bingkai)
FIFO: latest ready = FIFO: terbaru siap
FIFO: relaxed = FIFO: santai
FPS = FPS
Frame presentation mode = Mod paparan bingkai
Frame Rate Control = Kawalan kadar Frame
Frame Skipping = Pelompatan Frame
Frame Skipping Type = Frame skipping type
@@ -666,6 +671,7 @@ High = High
Hybrid = Hibrid
Hybrid + Bicubic = Hibrid + Bikubik
Ignore camera notch when centering = Ignore camera notch when centering
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
+6
View File
@@ -586,6 +586,7 @@ Use UI background = UI-achtergrond gebruiken
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = onbeperkt
'Mailbox' (lower latency, recommended) = Mailbox (lagere latency, aanbevolen)
(supersampling) = (supersampling)
(upscaling) = (upscaling)
1x PSP = 1× PSP
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Schermresolutie (hardware)
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Enable Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (hogere latency, stabiliteit van de framerate)
FIFO: latest ready = FIFO: laatst klaar
FIFO: relaxed = FIFO: ontspannen
FPS = FPS
Frame presentation mode = Weergavemodus voor frames
Frame Rate Control = Framerateinstellingen
Frame Skipping = Frames overslaan
Frame Skipping Type = Frame skipping type
@@ -666,6 +671,7 @@ High = Hoog
Hybrid = Hybride
Hybrid + Bicubic = Hybride + bicubisch
Ignore camera notch when centering = Ignore camera notch when centering
Immediate (lower latency, tearing) = Direct (lagere latentie, schermscheuren)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Interne resolutie
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Use UI background
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = unlimited
'Mailbox' (lower latency, recommended) = Mailbox (lavere ventetid, anbefalt)
(supersampling) = (supersampling)
(upscaling) = (upscaling)
1x PSP = 1× PSP
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Display resolution (HW scaler)
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Enable Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (høyere ventetid, stabil bildefrekvens)
FIFO: latest ready = FIFO: siste klar
FIFO: relaxed = FIFO: avslappet
FPS = FPS
Frame presentation mode = Rammevisningsmodus
Frame Rate Control = Framerate control
Frame Skipping = Ramme Hoppe over
Frame Skipping Type = Frame skipping type
@@ -666,6 +671,7 @@ High = High
Hybrid = Hybrid
Hybrid + Bicubic = Hybrid + Bicubic
Ignore camera notch when centering = Ignore camera notch when centering
Immediate (lower latency, tearing) = Umiddelbar (lavere latenstid, skjermrevner)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Internal resolution
+6
View File
@@ -590,6 +590,7 @@ Use UI background = Użyj tego tła
% of the void = % pustej przestrzeni
% of viewport = % widocznego obszaru
%, 0:unlimited = %, 0 = bez limitu
'Mailbox' (lower latency, recommended) = Mailbox (niższe opóźnienie, zalecane)
(supersampling) = (supersampling)
(upscaling) = (skalowanie)
1x PSP = 1× PSP
@@ -653,7 +654,11 @@ Display Resolution (HW scaler) = Rozdzielczość ekranu (skaler sprz.)
Driver requires Android API version %1, current is %2 = Sterownik wymaga wersji %1 Android API, aktualna wersja to %2
Drivers = Sterowniki
Enable Cardboard VR = Aktywuj Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (wyższe opóźnienie, stabilność liczby klatek)
FIFO: latest ready = FIFO: najnowszy gotowy
FIFO: relaxed = FIFO: luźny
FPS = Tylko FPS
Frame presentation mode = Tryb prezentacji klatek
Frame Rate Control = Kontrola klatek na sekundę
Frame Skipping = Pomijanie klatek
Frame Skipping Type = Tryb pomijania klatek
@@ -670,6 +675,7 @@ High = Wysokie
Hybrid = Hybrydowe
Hybrid + Bicubic = Hybrydowe + Dwusześcienne
Ignore camera notch when centering = Ignoruj przesunięcie kamery podczas centrowania
Immediate (lower latency, tearing) = Natychmiastowy (niższe opóźnienie, rozrywanie obrazu)
Install custom driver... = Zainstaluj niestandardowy sterownik...
Integer scale factor = Całkowity współczynnik skali
Internal Resolution = Rozdzielczość wewnętrzna
+6
View File
@@ -612,6 +612,7 @@ Use UI background = Usar cenário de fundo da interface do usuário
% of the void = % do vazio
% of viewport = % do visor
%, 0:unlimited = %, 0 = ilimitado
'Mailbox' (lower latency, recommended) = Mailbox (menor latência, recomendado)
(supersampling) = (super amostragem)
(upscaling) = (upscaling)
1x PSP = 1× PSP
@@ -655,6 +656,10 @@ Disable culling = Desativar o culling
Display layout & effects = Ajustar a tela & efeitos
Driver requires Android API version %1, current is %2 = O driver requer a versão %1 da API do Android, a atual é %2
Drivers = Drivers
FIFO (higher latency, framerate stability) = FIFO (maior latência, estabilidade da taxa de quadros)
FIFO: latest ready = FIFO: último pronto
FIFO: relaxed = FIFO: relaxado
Frame presentation mode = Modo de apresentação de quadros
GPU texture upscaler (fast) = Ampliador de texturas da GPU (rápido)
GPUReadbackRequired = Aviso: Este jogo requer que o "Ignorar Leituras da GPU" esteja definido como Desligado.
Both = Ambos
@@ -692,6 +697,7 @@ High = Alta
Hybrid = Híbrido
Hybrid + Bicubic = Híbrido + Bi-cúbico
Ignore camera notch when centering = Ignorar o furo da câmera ao centralizar a tela
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
+6
View File
@@ -610,6 +610,7 @@ Use UI background = Usar cenário de fundo da interface do usuário.
% of the void = % do vazio
% of viewport = % do visor
%, 0:unlimited = %, 0 = ilimitado
'Mailbox' (lower latency, recommended) = Mailbox (menor latência, recomendado)
(supersampling) = (super amostragem)
(upscaling) = (ampliação)
1x PSP = 1× PSP
@@ -673,7 +674,11 @@ Display Resolution (HW scaler) = Resolução da tela (Dimensionador do hardware)
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Ativar o VR Cardboard
FIFO (higher latency, framerate stability) = FIFO (maior latência, estabilidade da taxa de frames)
FIFO: latest ready = FIFO: último pronto
FIFO: relaxed = FIFO: relaxado
FPS = FPS (Frames Por Segundo)
Frame presentation mode = Modo de apresentação de quadros
Frame Rate Control = Controlo da taxa dos frames
Frame Skipping = Salto de frames
Frame Skipping Type = Tipo de salto de frames
@@ -690,6 +695,7 @@ High = Alta
Hybrid = Híbrido
Hybrid + Bicubic = Híbrido + Bicúbico
Ignore camera notch when centering = Ignora o nível da câmera quando centralizar
Immediate (lower latency, tearing) = Imediato (latência menor, rasgo da imagem)
Install custom driver... = Install custom driver...
Integer scale factor = Fator de escala inteiro
Internal Resolution = Resolução interna
+6
View File
@@ -587,6 +587,7 @@ Use UI background = Use UI background
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = unlimited
'Mailbox' (lower latency, recommended) = Mailbox (latență mai mică, recomandat)
(supersampling) = (supersampling)
(upscaling) = (upscaling)
1x PSP = 1× PSP
@@ -650,7 +651,11 @@ Display Resolution (HW scaler) = Rezoluție ecran (scalare HW)
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Enable Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (latență mai mare, stabilitate a ratei de cadre)
FIFO: latest ready = FIFO: cel mai recent gata
FIFO: relaxed = FIFO: relaxat
FPS = FPS
Frame presentation mode = Mod prezentare cadru
Frame Rate Control = Control rată de cadre
Frame Skipping = Cadre Omise
Frame Skipping Type = Frame skipping type
@@ -667,6 +672,7 @@ High = Înalt
Hybrid = Hibrid
Hybrid + Bicubic = Hibrid + Bicubic
Ignore camera notch when centering = Ignore camera notch when centering
Immediate (lower latency, tearing) = Imediat (latență mai mică, ruperea imaginii)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Rezoluție internă
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Использовать фон интерфейса
% of the void = % пустоты
% of viewport = % окна просмотра
%, 0:unlimited = %, 0 = без огр.
'Mailbox' (lower latency, recommended) = Mailbox (меньшая задержка, рекомендуется)
(supersampling) = (суперсэмплинг)
(upscaling) = (увеличение)
1x PSP = 1× PSP
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Разрешение экрана (аппара
Driver requires Android API version %1, current is %2 = Для драйвера требуется Android API версии %1, текущая - %2
Drivers = Драйверы
Enable Cardboard VR = Включить Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (большая задержка, стабильность частоты кадров)
FIFO: latest ready = FIFO: последний готов
FIFO: relaxed = FIFO: расслабленный
FPS = FPS
Frame presentation mode = Режим отображения кадров
Frame Rate Control = Управление частотой кадров
Frame Skipping = Пропуск кадров
Frame Skipping Type = Тип пропуска кадров
@@ -666,6 +671,7 @@ High = Высокое
Hybrid = Гибридный
Hybrid + Bicubic = Гибридный + Бикубический
Ignore camera notch when centering = Игнорировать чёлку камеры при центрировании
Immediate (lower latency, tearing) = Немедленно (меньшая задержка, разрывы изображения)
Install custom driver... = Установить сторонний драйвер...
Integer scale factor = Целочисленное масштабирование
Internal Resolution = Внутренние разрешение
+6
View File
@@ -587,6 +587,7 @@ Use UI background = Använd UI-bakgrund
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = unlimited
'Mailbox' (lower latency, recommended) = Mailbox (lägre latens, rekommenderas)
(supersampling) = (supersampling)
(upscaling) = (upscaling)
1x PSP = 1× PSP
@@ -650,7 +651,11 @@ Display Resolution (HW scaler) = Skärmupplösning (HW scaler)
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Enable Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (högre latens, stabil frekvens)
FIFO: latest ready = FIFO: senaste bildruta klar
FIFO: relaxed = FIFO: avslappnad
FPS = FPS
Frame presentation mode = Presentationsläge för bildrutor
Frame Rate Control = Framerate-kontroll
Frame Skipping = Frame-skipping
Frame Skipping Type = Frame skipping type
@@ -667,6 +672,7 @@ High = Hög
Hybrid = Hybrid
Hybrid + Bicubic = Hybrid + Bicubic
Ignore camera notch when centering = Ignorera kamerahål vid centrering
Immediate (lower latency, tearing) = Omedelbart (lägre latens, rivna bildrutor)
Install custom driver... = Installera inofficiell drivrutin...
Integer scale factor = Integer scale factor
Internal Resolution = Intern upplösning
+6
View File
@@ -587,6 +587,7 @@ Use UI background = Gamitin ang UI background mula sa laro
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = unlimited
'Mailbox' (lower latency, recommended) = Mailbox (mas mababang latency, inirerekomenda)
(supersampling) = (supersampling)
(upscaling) = (upscaling)
1x PSP = 1 beses sa orihinal na PSP
@@ -650,7 +651,11 @@ Display Resolution (HW scaler) = Display resolution (HW scaler)
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Enable Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (mas mataas na latency, katatagan ng framerate)
FIFO: latest ready = FIFO: охирин омода
FIFO: relaxed = FIFO: maluwag
FPS = FPS
Frame presentation mode = Mode ng pagpapakita ng frame
Frame Rate Control = Pag kontrol ng frame rate
Frame Skipping = Frame Skipping
Frame Skipping Type = Frame skipping type
@@ -667,6 +672,7 @@ High = Mataas
Hybrid = Hybrid
Hybrid + Bicubic = Hybrid + Bicubic
Ignore camera notch when centering = Ignore camera notch when centering
Immediate (lower latency, tearing) = Agad (mas mababang latency, pagkapunit ng imahe)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Resolusyong Internal
+6
View File
@@ -604,6 +604,7 @@ Use UI background = ใช้เป็นภาพพื้นหลัง
% of the void = % ของช่องว่าง
% of viewport = % ของพอร์ตมุมมอง
%, 0:unlimited = %, 0 = ไม่จำกัด
'Mailbox' (lower latency, recommended) = Mailbox (ความหน่วงต่ำกว่า, แนะนำ)
(supersampling) = (supersampling)
(upscaling) = (เพิ่มขนาดสเกล)
1x PSP = 1× PSP (480x272p)
@@ -668,8 +669,12 @@ Display Resolution (HW scaler) = ความละเอียดหน้า
Driver requires Android API version %1, current is %2 = ไดรเวอร์นี้ต้องการแอนดรอยด์ API ที่เวอร์ชั่น %1, แต่มือถือนี้ใช้เวอร์ชั่น %2
Drivers = ไดรเวอร์
Enable Cardboard VR = เปิดการทำงานแว่นการ์ดบอร์ด VR
FIFO (higher latency, framerate stability) = FIFO (ความหน่วงสูงขึ้น, ความเสถียรของอัตราเฟรม)
FIFO: latest ready = FIFO: ล่าสุดพร้อม
FIFO: relaxed = FIFO: ผ่อนคลาย
Force 60Hz = บังคับที่ 60Hz
FPS = เฟรมต่อวินาที
Frame presentation mode = โหมดการแสดงเฟรม
Frame Rate Control = การควบคุมเฟรมเรท
Frame Skipping = ข้ามเฟรม
Frame Skipping Type = รูปแบบการข้ามเฟรม
@@ -687,6 +692,7 @@ High = สูง
Hybrid = ไฮบริด
Hybrid + Bicubic = ไฮบริด + ไบคิวบิค
Ignore camera notch when centering = ละเว้นตำแหน่งจอแหว่ง ปรับภาพให้อยู่ตรงกลาง
Immediate (lower latency, tearing) = ทันที (หน่วงเวลาน้อยลง, ภาพฉีก)
Install custom driver... = ติดตั้งไดรเวอร์ปรับแต่ง...
Integer scale factor = สเกลภาพจำนวนเต็ม
Internal Resolution = ความละเอียดภายใน
+6
View File
@@ -588,6 +588,7 @@ Use UI background = Arayüz Arkaplanında Kullan
% of the void = % boşluk
% of viewport = % görüntüleme alanı
%, 0:unlimited = %, 0 = sınırsız
'Mailbox' (lower latency, recommended) = Mailbox (daha düşük gecikme, önerilir)
(supersampling) = (süper örnekleme)
(upscaling) = (yukarı ölçekleme)
1x PSP = 1x PSP
@@ -651,7 +652,11 @@ Display Resolution (HW scaler) = Görüntü Çözünürlüğü (HW ölçek)
Driver requires Android API version %1, current is %2 = Sürücü, Android API'nin %1 sürümünü gerektiriyor, şu anki sürüm %2
Drivers = Sürücüler
Enable Cardboard VR = Karton VR Etkinleştir
FIFO (higher latency, framerate stability) = FIFO (daha yüksek gecikme, kare hızı kararlılığı)
FIFO: latest ready = FIFO: en son hazır
FIFO: relaxed = FIFO: gevşek
FPS = FPS
Frame presentation mode = Kare sunum modu
Frame Rate Control = Kare Hızı Denetimi
Frame Skipping = Kare Atla
Frame Skipping Type = Kare Atlama Türü
@@ -668,6 +673,7 @@ High = Yüksek
Hybrid = Hibrit
Hybrid + Bicubic = Hibrit + Bikübik
Ignore camera notch when centering = Merkezleme sırasında kamera çentiğini yoksay
Immediate (lower latency, tearing) = Anında (daha düşük gecikme, görüntü yırtılması)
Install custom driver... = Özel sürücü yükle...
Integer scale factor = Tam Sayı Ölçek
Internal Resolution = Dahili Çözünürlük
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Використати фон інтерфейсу
% of the void = % з пустого
% of viewport = % з огляду
%, 0:unlimited = %, 0 = необмежено
'Mailbox' (lower latency, recommended) = Mailbox (нижча затримка, рекомендовано)
(supersampling) = (надвибірка)
(upscaling) = (збільшення)
1x PSP = 1× PSP
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Розширення екрану (HW масш
Driver requires Android API version %1, current is %2 = Драйвер вимагає Андроїд API версію %1, поточна %2
Drivers = Драйвери
Enable Cardboard VR = Увімкнути Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (вища затримка, стабільність частоти кадрів)
FIFO: latest ready = FIFO: останній готовий
FIFO: relaxed = FIFO: розслаблений
FPS = FPS
Frame presentation mode = Режим відображення кадру
Frame Rate Control = Управління частотою кадрів
Frame Skipping = Пропуск кадрів
Frame Skipping Type = Тип пропуску кадрів
@@ -666,6 +671,7 @@ High = Висока
Hybrid = Гібридний
Hybrid + Bicubic = Гібридний + Бікубічний
Ignore camera notch when centering = Ігнорувати виїмку камери під час центрування
Immediate (lower latency, tearing) = Негайно (менша затримка, розриви зображення)
Install custom driver... = Інсталювати кастомний драйвер...
Integer scale factor = Цілочисленне масштабування
Internal Resolution = Внутрішнє розширення
+6
View File
@@ -586,6 +586,7 @@ Use UI background = Sử dụng nền UI
% of the void = % of the void
% of viewport = % of viewport
%, 0:unlimited = %, 0 = không giới hạn
'Mailbox' (lower latency, recommended) = Mailbox (độ trễ thấp hơn, khuyến nghị)
(supersampling) = (siêu mẫu)
(upscaling) = (tăng tỉ lệ)
1x PSP = 1× PSP
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = Độ phân giải màn hình (HW scaler)
Driver requires Android API version %1, current is %2 = Driver requires Android API version %1, current is %2
Drivers = Drivers
Enable Cardboard VR = Enable Cardboard VR
FIFO (higher latency, framerate stability) = FIFO (độ trễ cao hơn, ổn định tốc độ khung hình)
FIFO: latest ready = FIFO: mới nhất sẵn sàng
FIFO: relaxed = FIFO: thư giãn
FPS = FPS (khung hình/giây)
Frame presentation mode = Chế độ hiển thị khung
Frame Rate Control = Điều khiển tốc độ khung hình
Frame Skipping = Nhảy khuôn hình
Frame Skipping Type = Frame skipping type
@@ -666,6 +671,7 @@ High = Cao
Hybrid = Hybrid (hỗn hợp)
Hybrid + Bicubic = Hybrid + Bicubic
Ignore camera notch when centering = Ignore camera notch when centering
Immediate (lower latency, tearing) = Ngay lập tức (độ trễ thấp hơn, rách hình)
Install custom driver... = Install custom driver...
Integer scale factor = Integer scale factor
Internal Resolution = Độ phân giải bên trong
+6
View File
@@ -586,6 +586,7 @@ Use UI background = 将游戏封面设为壁纸
% of the void = %的边框
% of viewport = %的视区
%, 0:unlimited = %,0 = 无限制
'Mailbox' (lower latency, recommended) = Mailbox (更低延迟,推荐)
(supersampling) = (超级采样)
(upscaling) = (提升放大)
1x PSP = 1倍PSP
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = 屏幕分辨率
Driver requires Android API version %1, current is %2 = 驱动需要Android API版本 %1, 目前系统版本为%2
Drivers = 驱动程序
Enable Cardboard VR = 启用Cardboard VR
FIFO (higher latency, framerate stability) = FIFO(更高延迟,帧率稳定)
FIFO: latest ready = FIFO: 最新就绪
FIFO: relaxed = FIFO: 宽松
FPS = 帧率 (FPS)
Frame presentation mode = 帧呈现模式
Frame Rate Control = 帧率控制
Frame Skipping = 跳帧
Frame Skipping Type = 跳帧方式
@@ -666,6 +671,7 @@ High = 高质量
Hybrid = 混合
Hybrid + Bicubic = 混合+双三次
Ignore camera notch when centering = 忽略摄像头挖孔
Immediate (lower latency, tearing) = 即时(延迟更低,画面撕裂)
Install custom driver... = 安装第三方驱动程序...
Integer scale factor = 整倍缩放
Internal Resolution = 内部分辨率
+6
View File
@@ -586,6 +586,7 @@ Use UI background = 使用 UI 背景
% of the void = % 的無效區
% of viewport = % 的檢視區
%, 0:unlimited = %,0 = 無限制
'Mailbox' (lower latency, recommended) = Mailbox (較低延遲,建議)
(supersampling) = (超級取樣)
(upscaling) = (放大)
1x PSP = 1× PSP
@@ -649,7 +650,11 @@ Display Resolution (HW scaler) = 顯示解析度 (硬體縮放)
Driver requires Android API version %1, current is %2 = 驅動程式需要 Android API 版本為 %1,目前為 %2
Drivers = 驅動程式
Enable Cardboard VR = 啟用 Cardboard VR
FIFO (higher latency, framerate stability) = FIFO(延遲較高,畫面幀率穩定)
FIFO: latest ready = FIFO: 最新就緒
FIFO: relaxed = FIFO: 寬鬆
FPS = FPS
Frame presentation mode = 幀呈現模式
Frame Rate Control = 影格速率控制
Frame Skipping = 影格跳過
Frame Skipping Type = 影格跳過類型
@@ -666,6 +671,7 @@ High = 高
Hybrid = 混合
Hybrid + Bicubic = 混合 + 雙立方
Ignore camera notch when centering = 置中時忽略相機凹口
Immediate (lower latency, tearing) = 即時(延遲較低,畫面撕裂)
Install custom driver... = 安裝自訂驅動程式…
Integer scale factor = 整數縮放比例
Internal Resolution = 內部解析度
@@ -0,0 +1,151 @@
#ifndef VULKAN_VIDEO_CODEC_VP9STD_H_
#define VULKAN_VIDEO_CODEC_VP9STD_H_ 1
/*
** Copyright 2015-2025 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
*/
/*
** This header is generated from the Khronos Vulkan XML API Registry.
**
*/
#ifdef __cplusplus
extern "C" {
#endif
// vulkan_video_codec_vp9std is a preprocessor guard. Do not pass it to API calls.
#define vulkan_video_codec_vp9std 1
#include "vulkan_video_codecs_common.h"
#define STD_VIDEO_VP9_NUM_REF_FRAMES 8
#define STD_VIDEO_VP9_REFS_PER_FRAME 3
#define STD_VIDEO_VP9_MAX_REF_FRAMES 4
#define STD_VIDEO_VP9_LOOP_FILTER_ADJUSTMENTS 2
#define STD_VIDEO_VP9_MAX_SEGMENTS 8
#define STD_VIDEO_VP9_SEG_LVL_MAX 4
#define STD_VIDEO_VP9_MAX_SEGMENTATION_TREE_PROBS 7
#define STD_VIDEO_VP9_MAX_SEGMENTATION_PRED_PROB 3
typedef enum StdVideoVP9Profile {
STD_VIDEO_VP9_PROFILE_0 = 0,
STD_VIDEO_VP9_PROFILE_1 = 1,
STD_VIDEO_VP9_PROFILE_2 = 2,
STD_VIDEO_VP9_PROFILE_3 = 3,
STD_VIDEO_VP9_PROFILE_INVALID = 0x7FFFFFFF,
STD_VIDEO_VP9_PROFILE_MAX_ENUM = 0x7FFFFFFF
} StdVideoVP9Profile;
typedef enum StdVideoVP9Level {
STD_VIDEO_VP9_LEVEL_1_0 = 0,
STD_VIDEO_VP9_LEVEL_1_1 = 1,
STD_VIDEO_VP9_LEVEL_2_0 = 2,
STD_VIDEO_VP9_LEVEL_2_1 = 3,
STD_VIDEO_VP9_LEVEL_3_0 = 4,
STD_VIDEO_VP9_LEVEL_3_1 = 5,
STD_VIDEO_VP9_LEVEL_4_0 = 6,
STD_VIDEO_VP9_LEVEL_4_1 = 7,
STD_VIDEO_VP9_LEVEL_5_0 = 8,
STD_VIDEO_VP9_LEVEL_5_1 = 9,
STD_VIDEO_VP9_LEVEL_5_2 = 10,
STD_VIDEO_VP9_LEVEL_6_0 = 11,
STD_VIDEO_VP9_LEVEL_6_1 = 12,
STD_VIDEO_VP9_LEVEL_6_2 = 13,
STD_VIDEO_VP9_LEVEL_INVALID = 0x7FFFFFFF,
STD_VIDEO_VP9_LEVEL_MAX_ENUM = 0x7FFFFFFF
} StdVideoVP9Level;
typedef enum StdVideoVP9FrameType {
STD_VIDEO_VP9_FRAME_TYPE_KEY = 0,
STD_VIDEO_VP9_FRAME_TYPE_NON_KEY = 1,
STD_VIDEO_VP9_FRAME_TYPE_INVALID = 0x7FFFFFFF,
STD_VIDEO_VP9_FRAME_TYPE_MAX_ENUM = 0x7FFFFFFF
} StdVideoVP9FrameType;
typedef enum StdVideoVP9ReferenceName {
STD_VIDEO_VP9_REFERENCE_NAME_INTRA_FRAME = 0,
STD_VIDEO_VP9_REFERENCE_NAME_LAST_FRAME = 1,
STD_VIDEO_VP9_REFERENCE_NAME_GOLDEN_FRAME = 2,
STD_VIDEO_VP9_REFERENCE_NAME_ALTREF_FRAME = 3,
STD_VIDEO_VP9_REFERENCE_NAME_INVALID = 0x7FFFFFFF,
STD_VIDEO_VP9_REFERENCE_NAME_MAX_ENUM = 0x7FFFFFFF
} StdVideoVP9ReferenceName;
typedef enum StdVideoVP9InterpolationFilter {
STD_VIDEO_VP9_INTERPOLATION_FILTER_EIGHTTAP = 0,
STD_VIDEO_VP9_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH = 1,
STD_VIDEO_VP9_INTERPOLATION_FILTER_EIGHTTAP_SHARP = 2,
STD_VIDEO_VP9_INTERPOLATION_FILTER_BILINEAR = 3,
STD_VIDEO_VP9_INTERPOLATION_FILTER_SWITCHABLE = 4,
STD_VIDEO_VP9_INTERPOLATION_FILTER_INVALID = 0x7FFFFFFF,
STD_VIDEO_VP9_INTERPOLATION_FILTER_MAX_ENUM = 0x7FFFFFFF
} StdVideoVP9InterpolationFilter;
typedef enum StdVideoVP9ColorSpace {
STD_VIDEO_VP9_COLOR_SPACE_UNKNOWN = 0,
STD_VIDEO_VP9_COLOR_SPACE_BT_601 = 1,
STD_VIDEO_VP9_COLOR_SPACE_BT_709 = 2,
STD_VIDEO_VP9_COLOR_SPACE_SMPTE_170 = 3,
STD_VIDEO_VP9_COLOR_SPACE_SMPTE_240 = 4,
STD_VIDEO_VP9_COLOR_SPACE_BT_2020 = 5,
STD_VIDEO_VP9_COLOR_SPACE_RESERVED = 6,
STD_VIDEO_VP9_COLOR_SPACE_RGB = 7,
STD_VIDEO_VP9_COLOR_SPACE_INVALID = 0x7FFFFFFF,
STD_VIDEO_VP9_COLOR_SPACE_MAX_ENUM = 0x7FFFFFFF
} StdVideoVP9ColorSpace;
typedef struct StdVideoVP9ColorConfigFlags {
uint32_t color_range : 1;
uint32_t reserved : 31;
} StdVideoVP9ColorConfigFlags;
typedef struct StdVideoVP9ColorConfig {
StdVideoVP9ColorConfigFlags flags;
uint8_t BitDepth;
uint8_t subsampling_x;
uint8_t subsampling_y;
uint8_t reserved1;
StdVideoVP9ColorSpace color_space;
} StdVideoVP9ColorConfig;
typedef struct StdVideoVP9LoopFilterFlags {
uint32_t loop_filter_delta_enabled : 1;
uint32_t loop_filter_delta_update : 1;
uint32_t reserved : 30;
} StdVideoVP9LoopFilterFlags;
typedef struct StdVideoVP9LoopFilter {
StdVideoVP9LoopFilterFlags flags;
uint8_t loop_filter_level;
uint8_t loop_filter_sharpness;
uint8_t update_ref_delta;
int8_t loop_filter_ref_deltas[STD_VIDEO_VP9_MAX_REF_FRAMES];
uint8_t update_mode_delta;
int8_t loop_filter_mode_deltas[STD_VIDEO_VP9_LOOP_FILTER_ADJUSTMENTS];
} StdVideoVP9LoopFilter;
typedef struct StdVideoVP9SegmentationFlags {
uint32_t segmentation_update_map : 1;
uint32_t segmentation_temporal_update : 1;
uint32_t segmentation_update_data : 1;
uint32_t segmentation_abs_or_delta_update : 1;
uint32_t reserved : 28;
} StdVideoVP9SegmentationFlags;
typedef struct StdVideoVP9Segmentation {
StdVideoVP9SegmentationFlags flags;
uint8_t segmentation_tree_probs[STD_VIDEO_VP9_MAX_SEGMENTATION_TREE_PROBS];
uint8_t segmentation_pred_prob[STD_VIDEO_VP9_MAX_SEGMENTATION_PRED_PROB];
uint8_t FeatureEnabled[STD_VIDEO_VP9_MAX_SEGMENTS];
int16_t FeatureData[STD_VIDEO_VP9_MAX_SEGMENTS][STD_VIDEO_VP9_SEG_LVL_MAX];
} StdVideoVP9Segmentation;
#ifdef __cplusplus
}
#endif
#endif
@@ -0,0 +1,68 @@
#ifndef VULKAN_VIDEO_CODEC_VP9STD_DECODE_H_
#define VULKAN_VIDEO_CODEC_VP9STD_DECODE_H_ 1
/*
** Copyright 2015-2025 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
*/
/*
** This header is generated from the Khronos Vulkan XML API Registry.
**
*/
#ifdef __cplusplus
extern "C" {
#endif
// vulkan_video_codec_vp9std_decode is a preprocessor guard. Do not pass it to API calls.
#define vulkan_video_codec_vp9std_decode 1
#include "vulkan_video_codec_vp9std.h"
#define VK_STD_VULKAN_VIDEO_CODEC_VP9_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0)
#define VK_STD_VULKAN_VIDEO_CODEC_VP9_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_VP9_DECODE_API_VERSION_1_0_0
#define VK_STD_VULKAN_VIDEO_CODEC_VP9_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_vp9_decode"
typedef struct StdVideoDecodeVP9PictureInfoFlags {
uint32_t error_resilient_mode : 1;
uint32_t intra_only : 1;
uint32_t allow_high_precision_mv : 1;
uint32_t refresh_frame_context : 1;
uint32_t frame_parallel_decoding_mode : 1;
uint32_t segmentation_enabled : 1;
uint32_t show_frame : 1;
uint32_t UsePrevFrameMvs : 1;
uint32_t reserved : 24;
} StdVideoDecodeVP9PictureInfoFlags;
typedef struct StdVideoDecodeVP9PictureInfo {
StdVideoDecodeVP9PictureInfoFlags flags;
StdVideoVP9Profile profile;
StdVideoVP9FrameType frame_type;
uint8_t frame_context_idx;
uint8_t reset_frame_context;
uint8_t refresh_frame_flags;
uint8_t ref_frame_sign_bias_mask;
StdVideoVP9InterpolationFilter interpolation_filter;
uint8_t base_q_idx;
int8_t delta_q_y_dc;
int8_t delta_q_uv_dc;
int8_t delta_q_uv_ac;
uint8_t tile_cols_log2;
uint8_t tile_rows_log2;
uint16_t reserved1[3];
const StdVideoVP9ColorConfig* pColorConfig;
const StdVideoVP9LoopFilter* pLoopFilter;
const StdVideoVP9Segmentation* pSegmentation;
} StdVideoDecodeVP9PictureInfo;
#ifdef __cplusplus
}
#endif
#endif
+4
View File
@@ -96,4 +96,8 @@
#include "vulkan_beta.h"
#endif
#ifdef VK_USE_PLATFORM_OHOS
#include "vulkan_ohos.h"
#endif
#endif // VULKAN_H_
+6
View File
@@ -35,12 +35,14 @@ typedef struct VkAndroidSurfaceCreateInfoKHR {
typedef VkResult (VKAPI_PTR *PFN_vkCreateAndroidSurfaceKHR)(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(
VkInstance instance,
const VkAndroidSurfaceCreateInfoKHR* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface);
#endif
#endif
// VK_ANDROID_external_memory_android_hardware_buffer is a preprocessor guard. Do not pass it to API calls.
@@ -109,16 +111,20 @@ typedef VkResult (VKAPI_PTR *PFN_vkGetAndroidHardwareBufferPropertiesANDROID)(Vk
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryAndroidHardwareBufferANDROID)(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetAndroidHardwareBufferPropertiesANDROID(
VkDevice device,
const struct AHardwareBuffer* buffer,
VkAndroidHardwareBufferPropertiesANDROID* pProperties);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryAndroidHardwareBufferANDROID(
VkDevice device,
const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo,
struct AHardwareBuffer** pBuffer);
#endif
#endif
// VK_ANDROID_external_format_resolve is a preprocessor guard. Do not pass it to API calls.
+119 -1
View File
@@ -120,7 +120,7 @@ typedef struct VkPipelineShaderStageNodeCreateInfoAMDX {
uint32_t index;
} VkPipelineShaderStageNodeCreateInfoAMDX;
typedef VkResult (VKAPI_PTR *PFN_vkCreateExecutionGraphPipelinesAMDX)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkExecutionGraphPipelineCreateInfoAMDX* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
typedef VkResult (VKAPI_PTR *PFN_vkCreateExecutionGraphPipelinesAMDX)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkExecutionGraphPipelineCreateInfoAMDX* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
typedef VkResult (VKAPI_PTR *PFN_vkGetExecutionGraphPipelineScratchSizeAMDX)(VkDevice device, VkPipeline executionGraph, VkExecutionGraphPipelineScratchSizeAMDX* pSizeInfo);
typedef VkResult (VKAPI_PTR *PFN_vkGetExecutionGraphPipelineNodeIndexAMDX)(VkDevice device, VkPipeline executionGraph, const VkPipelineShaderStageNodeCreateInfoAMDX* pNodeInfo, uint32_t* pNodeIndex);
typedef void (VKAPI_PTR *PFN_vkCmdInitializeGraphScratchMemoryAMDX)(VkCommandBuffer commandBuffer, VkPipeline executionGraph, VkDeviceAddress scratch, VkDeviceSize scratchSize);
@@ -129,6 +129,7 @@ typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphIndirectAMDX)(VkCommandBuffer
typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphIndirectCountAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceSize scratchSize, VkDeviceAddress countInfo);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateExecutionGraphPipelinesAMDX(
VkDevice device,
VkPipelineCache pipelineCache,
@@ -136,42 +137,159 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateExecutionGraphPipelinesAMDX(
const VkExecutionGraphPipelineCreateInfoAMDX* pCreateInfos,
const VkAllocationCallbacks* pAllocator,
VkPipeline* pPipelines);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetExecutionGraphPipelineScratchSizeAMDX(
VkDevice device,
VkPipeline executionGraph,
VkExecutionGraphPipelineScratchSizeAMDX* pSizeInfo);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetExecutionGraphPipelineNodeIndexAMDX(
VkDevice device,
VkPipeline executionGraph,
const VkPipelineShaderStageNodeCreateInfoAMDX* pNodeInfo,
uint32_t* pNodeIndex);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkCmdInitializeGraphScratchMemoryAMDX(
VkCommandBuffer commandBuffer,
VkPipeline executionGraph,
VkDeviceAddress scratch,
VkDeviceSize scratchSize);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphAMDX(
VkCommandBuffer commandBuffer,
VkDeviceAddress scratch,
VkDeviceSize scratchSize,
const VkDispatchGraphCountInfoAMDX* pCountInfo);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphIndirectAMDX(
VkCommandBuffer commandBuffer,
VkDeviceAddress scratch,
VkDeviceSize scratchSize,
const VkDispatchGraphCountInfoAMDX* pCountInfo);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphIndirectCountAMDX(
VkCommandBuffer commandBuffer,
VkDeviceAddress scratch,
VkDeviceSize scratchSize,
VkDeviceAddress countInfo);
#endif
#endif
// VK_NV_cuda_kernel_launch is a preprocessor guard. Do not pass it to API calls.
#define VK_NV_cuda_kernel_launch 1
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaModuleNV)
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaFunctionNV)
#define VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION 2
#define VK_NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME "VK_NV_cuda_kernel_launch"
typedef struct VkCudaModuleCreateInfoNV {
VkStructureType sType;
const void* pNext;
size_t dataSize;
const void* pData;
} VkCudaModuleCreateInfoNV;
typedef struct VkCudaFunctionCreateInfoNV {
VkStructureType sType;
const void* pNext;
VkCudaModuleNV module;
const char* pName;
} VkCudaFunctionCreateInfoNV;
typedef struct VkCudaLaunchInfoNV {
VkStructureType sType;
const void* pNext;
VkCudaFunctionNV function;
uint32_t gridDimX;
uint32_t gridDimY;
uint32_t gridDimZ;
uint32_t blockDimX;
uint32_t blockDimY;
uint32_t blockDimZ;
uint32_t sharedMemBytes;
size_t paramCount;
const void* const * pParams;
size_t extraCount;
const void* const * pExtras;
} VkCudaLaunchInfoNV;
typedef struct VkPhysicalDeviceCudaKernelLaunchFeaturesNV {
VkStructureType sType;
void* pNext;
VkBool32 cudaKernelLaunchFeatures;
} VkPhysicalDeviceCudaKernelLaunchFeaturesNV;
typedef struct VkPhysicalDeviceCudaKernelLaunchPropertiesNV {
VkStructureType sType;
void* pNext;
uint32_t computeCapabilityMinor;
uint32_t computeCapabilityMajor;
} VkPhysicalDeviceCudaKernelLaunchPropertiesNV;
typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaModuleNV)(VkDevice device, const VkCudaModuleCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaModuleNV* pModule);
typedef VkResult (VKAPI_PTR *PFN_vkGetCudaModuleCacheNV)(VkDevice device, VkCudaModuleNV module, size_t* pCacheSize, void* pCacheData);
typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaFunctionNV)(VkDevice device, const VkCudaFunctionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaFunctionNV* pFunction);
typedef void (VKAPI_PTR *PFN_vkDestroyCudaModuleNV)(VkDevice device, VkCudaModuleNV module, const VkAllocationCallbacks* pAllocator);
typedef void (VKAPI_PTR *PFN_vkDestroyCudaFunctionNV)(VkDevice device, VkCudaFunctionNV function, const VkAllocationCallbacks* pAllocator);
typedef void (VKAPI_PTR *PFN_vkCmdCudaLaunchKernelNV)(VkCommandBuffer commandBuffer, const VkCudaLaunchInfoNV* pLaunchInfo);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaModuleNV(
VkDevice device,
const VkCudaModuleCreateInfoNV* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkCudaModuleNV* pModule);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetCudaModuleCacheNV(
VkDevice device,
VkCudaModuleNV module,
size_t* pCacheSize,
void* pCacheData);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaFunctionNV(
VkDevice device,
const VkCudaFunctionCreateInfoNV* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkCudaFunctionNV* pFunction);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkDestroyCudaModuleNV(
VkDevice device,
VkCudaModuleNV module,
const VkAllocationCallbacks* pAllocator);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkDestroyCudaFunctionNV(
VkDevice device,
VkCudaFunctionNV function,
const VkAllocationCallbacks* pAllocator);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkCmdCudaLaunchKernelNV(
VkCommandBuffer commandBuffer,
const VkCudaLaunchInfoNV* pLaunchInfo);
#endif
#endif
// VK_NV_displacement_micromap is a preprocessor guard. Do not pass it to API calls.
+2408 -228
View File
File diff suppressed because it is too large. Load diff
+4
View File
@@ -36,17 +36,21 @@ typedef VkResult (VKAPI_PTR *PFN_vkCreateDirectFBSurfaceEXT)(VkInstance instance
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, IDirectFB* dfb);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDirectFBSurfaceEXT(
VkInstance instance,
const VkDirectFBSurfaceCreateInfoEXT* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceDirectFBPresentationSupportEXT(
VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex,
IDirectFB* dfb);
#endif
#endif
#ifdef __cplusplus
}
+20
View File
@@ -34,12 +34,14 @@ typedef struct VkImagePipeSurfaceCreateInfoFUCHSIA {
typedef VkResult (VKAPI_PTR *PFN_vkCreateImagePipeSurfaceFUCHSIA)(VkInstance instance, const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateImagePipeSurfaceFUCHSIA(
VkInstance instance,
const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface);
#endif
#endif
// VK_FUCHSIA_external_memory is a preprocessor guard. Do not pass it to API calls.
@@ -70,17 +72,21 @@ typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryZirconHandleFUCHSIA)(VkDevice device
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, zx_handle_t zirconHandle, VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandleFUCHSIA(
VkDevice device,
const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
zx_handle_t* pZirconHandle);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandlePropertiesFUCHSIA(
VkDevice device,
VkExternalMemoryHandleTypeFlagBits handleType,
zx_handle_t zirconHandle,
VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties);
#endif
#endif
// VK_FUCHSIA_external_semaphore is a preprocessor guard. Do not pass it to API calls.
@@ -107,15 +113,19 @@ typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreZirconHandleFUCHSIA)(VkDevice
typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreZirconHandleFUCHSIA)(VkDevice device, const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreZirconHandleFUCHSIA(
VkDevice device,
const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreZirconHandleFUCHSIA(
VkDevice device,
const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
zx_handle_t* pZirconHandle);
#endif
#endif
// VK_FUCHSIA_buffer_collection is a preprocessor guard. Do not pass it to API calls.
@@ -228,32 +238,42 @@ typedef void (VKAPI_PTR *PFN_vkDestroyBufferCollectionFUCHSIA)(VkDevice device,
typedef VkResult (VKAPI_PTR *PFN_vkGetBufferCollectionPropertiesFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionPropertiesFUCHSIA* pProperties);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferCollectionFUCHSIA(
VkDevice device,
const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkBufferCollectionFUCHSIA* pCollection);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionImageConstraintsFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionBufferConstraintsFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkDestroyBufferCollectionFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
const VkAllocationCallbacks* pAllocator);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferCollectionPropertiesFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
VkBufferCollectionPropertiesFUCHSIA* pProperties);
#endif
#endif
#ifdef __cplusplus
}
+2
View File
@@ -34,12 +34,14 @@ typedef struct VkStreamDescriptorSurfaceCreateInfoGGP {
typedef VkResult (VKAPI_PTR *PFN_vkCreateStreamDescriptorSurfaceGGP)(VkInstance instance, const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateStreamDescriptorSurfaceGGP(
VkInstance instance,
const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface);
#endif
#endif
// VK_GGP_frame_token is a preprocessor guard. Do not pass it to API calls.
+2
View File
@@ -34,12 +34,14 @@ typedef struct VkIOSSurfaceCreateInfoMVK {
typedef VkResult (VKAPI_PTR *PFN_vkCreateIOSSurfaceMVK)(VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateIOSSurfaceMVK(
VkInstance instance,
const VkIOSSurfaceCreateInfoMVK* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface);
#endif
#endif
#ifdef __cplusplus
}
+2
View File
@@ -34,12 +34,14 @@ typedef struct VkMacOSSurfaceCreateInfoMVK {
typedef VkResult (VKAPI_PTR *PFN_vkCreateMacOSSurfaceMVK)(VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateMacOSSurfaceMVK(
VkInstance instance,
const VkMacOSSurfaceCreateInfoMVK* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface);
#endif
#endif
#ifdef __cplusplus
}
+8
View File
@@ -40,12 +40,14 @@ typedef struct VkMetalSurfaceCreateInfoEXT {
typedef VkResult (VKAPI_PTR *PFN_vkCreateMetalSurfaceEXT)(VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateMetalSurfaceEXT(
VkInstance instance,
const VkMetalSurfaceCreateInfoEXT* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface);
#endif
#endif
// VK_EXT_metal_objects is a preprocessor guard. Do not pass it to API calls.
@@ -183,10 +185,12 @@ typedef struct VkImportMetalSharedEventInfoEXT {
typedef void (VKAPI_PTR *PFN_vkExportMetalObjectsEXT)(VkDevice device, VkExportMetalObjectsInfoEXT* pMetalObjectsInfo);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkExportMetalObjectsEXT(
VkDevice device,
VkExportMetalObjectsInfoEXT* pMetalObjectsInfo);
#endif
#endif
// VK_EXT_external_memory_metal is a preprocessor guard. Do not pass it to API calls.
@@ -217,17 +221,21 @@ typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryMetalHandleEXT)(VkDevice device, con
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryMetalHandlePropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHandle, VkMemoryMetalHandlePropertiesEXT* pMemoryMetalHandleProperties);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryMetalHandleEXT(
VkDevice device,
const VkMemoryGetMetalHandleInfoEXT* pGetMetalHandleInfo,
void** pHandle);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryMetalHandlePropertiesEXT(
VkDevice device,
VkExternalMemoryHandleTypeFlagBits handleType,
const void* pHandle,
VkMemoryMetalHandlePropertiesEXT* pMemoryMetalHandleProperties);
#endif
#endif
#ifdef __cplusplus
}
+53
View File
@@ -0,0 +1,53 @@
#ifndef VULKAN_OHOS_H_
#define VULKAN_OHOS_H_ 1
/*
** Copyright 2015-2025 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
*/
/*
** This header is generated from the Khronos Vulkan XML API Registry.
**
*/
#ifdef __cplusplus
extern "C" {
#endif
// VK_OHOS_surface is a preprocessor guard. Do not pass it to API calls.
#define VK_OHOS_surface 1
typedef struct NativeWindow OHNativeWindow;
#define VK_OHOS_SURFACE_SPEC_VERSION 1
#define VK_OHOS_SURFACE_EXTENSION_NAME "VK_OHOS_surface"
typedef VkFlags VkSurfaceCreateFlagsOHOS;
typedef struct VkOHSurfaceCreateInfoOHOS {
VkStructureType sType;
const void* pNext;
VkSurfaceCreateFlagsOHOS flags;
OHNativeWindow* window;
} VkOHSurfaceCreateInfoOHOS;
typedef VkOHSurfaceCreateInfoOHOS VkSurfaceCreateInfoOHOS;
typedef VkResult (VKAPI_PTR *PFN_vkCreateSurfaceOHOS)(VkInstance instance, const VkSurfaceCreateInfoOHOS* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateSurfaceOHOS(
VkInstance instance,
const VkSurfaceCreateInfoOHOS* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface);
#endif
#endif
#ifdef __cplusplus
}
#endif
#endif
+6
View File
@@ -36,17 +36,21 @@ typedef VkResult (VKAPI_PTR *PFN_vkCreateScreenSurfaceQNX)(VkInstance instance,
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct _screen_window* window);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateScreenSurfaceQNX(
VkInstance instance,
const VkScreenSurfaceCreateInfoQNX* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceScreenPresentationSupportQNX(
VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex,
struct _screen_window* window);
#endif
#endif
// VK_QNX_external_memory_screen_buffer is a preprocessor guard. Do not pass it to API calls.
@@ -95,11 +99,13 @@ typedef struct VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
typedef VkResult (VKAPI_PTR *PFN_vkGetScreenBufferPropertiesQNX)(VkDevice device, const struct _screen_buffer* buffer, VkScreenBufferPropertiesQNX* pProperties);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetScreenBufferPropertiesQNX(
VkDevice device,
const struct _screen_buffer* buffer,
VkScreenBufferPropertiesQNX* pProperties);
#endif
#endif
#ifdef __cplusplus
}
+2
View File
@@ -34,12 +34,14 @@ typedef struct VkViSurfaceCreateInfoNN {
typedef VkResult (VKAPI_PTR *PFN_vkCreateViSurfaceNN)(VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateViSurfaceNN(
VkInstance instance,
const VkViSurfaceCreateInfoNN* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface);
#endif
#endif
#ifdef __cplusplus
}
+4
View File
@@ -36,17 +36,21 @@ typedef VkResult (VKAPI_PTR *PFN_vkCreateWaylandSurfaceKHR)(VkInstance instance,
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateWaylandSurfaceKHR(
VkInstance instance,
const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWaylandPresentationSupportKHR(
VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex,
struct wl_display* display);
#endif
#endif
#ifdef __cplusplus
}
+30
View File
@@ -36,16 +36,20 @@ typedef VkResult (VKAPI_PTR *PFN_vkCreateWin32SurfaceKHR)(VkInstance instance, c
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateWin32SurfaceKHR(
VkInstance instance,
const VkWin32SurfaceCreateInfoKHR* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR(
VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex);
#endif
#endif
// VK_KHR_external_memory_win32 is a preprocessor guard. Do not pass it to API calls.
@@ -85,17 +89,21 @@ typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleKHR)(VkDevice device, con
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandlePropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleKHR(
VkDevice device,
const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo,
HANDLE* pHandle);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandlePropertiesKHR(
VkDevice device,
VkExternalMemoryHandleTypeFlagBits handleType,
HANDLE handle,
VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties);
#endif
#endif
// VK_KHR_win32_keyed_mutex is a preprocessor guard. Do not pass it to API calls.
@@ -158,15 +166,19 @@ typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreWin32HandleKHR)(VkDevice devic
typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreWin32HandleKHR)(VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreWin32HandleKHR(
VkDevice device,
const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreWin32HandleKHR(
VkDevice device,
const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo,
HANDLE* pHandle);
#endif
#endif
// VK_KHR_external_fence_win32 is a preprocessor guard. Do not pass it to API calls.
@@ -202,15 +214,19 @@ typedef VkResult (VKAPI_PTR *PFN_vkImportFenceWin32HandleKHR)(VkDevice device, c
typedef VkResult (VKAPI_PTR *PFN_vkGetFenceWin32HandleKHR)(VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceWin32HandleKHR(
VkDevice device,
const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceWin32HandleKHR(
VkDevice device,
const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo,
HANDLE* pHandle);
#endif
#endif
// VK_NV_external_memory_win32 is a preprocessor guard. Do not pass it to API calls.
@@ -234,12 +250,14 @@ typedef struct VkExportMemoryWin32HandleInfoNV {
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleNV)(VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE* pHandle);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleNV(
VkDevice device,
VkDeviceMemory memory,
VkExternalMemoryHandleTypeFlagsNV handleType,
HANDLE* pHandle);
#endif
#endif
// VK_NV_win32_keyed_mutex is a preprocessor guard. Do not pass it to API calls.
@@ -296,25 +314,33 @@ typedef VkResult (VKAPI_PTR *PFN_vkReleaseFullScreenExclusiveModeEXT)(VkDevice d
typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModes2EXT)(VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR* pModes);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModes2EXT(
VkPhysicalDevice physicalDevice,
const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
uint32_t* pPresentModeCount,
VkPresentModeKHR* pPresentModes);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkAcquireFullScreenExclusiveModeEXT(
VkDevice device,
VkSwapchainKHR swapchain);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkReleaseFullScreenExclusiveModeEXT(
VkDevice device,
VkSwapchainKHR swapchain);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModes2EXT(
VkDevice device,
const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
VkDeviceGroupPresentModeFlagsKHR* pModes);
#endif
#endif
// VK_NV_acquire_winrt_display is a preprocessor guard. Do not pass it to API calls.
@@ -325,15 +351,19 @@ typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physi
typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR* pDisplay);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(
VkPhysicalDevice physicalDevice,
VkDisplayKHR display);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
VkPhysicalDevice physicalDevice,
uint32_t deviceRelativeId,
VkDisplayKHR* pDisplay);
#endif
#endif
#ifdef __cplusplus
}
+4
View File
@@ -36,18 +36,22 @@ typedef VkResult (VKAPI_PTR *PFN_vkCreateXcbSurfaceKHR)(VkInstance instance, con
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateXcbSurfaceKHR(
VkInstance instance,
const VkXcbSurfaceCreateInfoKHR* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXcbPresentationSupportKHR(
VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex,
xcb_connection_t* connection,
xcb_visualid_t visual_id);
#endif
#endif
#ifdef __cplusplus
}
+4
View File
@@ -36,18 +36,22 @@ typedef VkResult (VKAPI_PTR *PFN_vkCreateXlibSurfaceKHR)(VkInstance instance, co
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR(
VkInstance instance,
const VkXlibSurfaceCreateInfoKHR* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXlibPresentationSupportKHR(
VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex,
Display* dpy,
VisualID visualID);
#endif
#endif
#ifdef __cplusplus
}
+4
View File
@@ -27,17 +27,21 @@ typedef VkResult (VKAPI_PTR *PFN_vkAcquireXlibDisplayEXT)(VkPhysicalDevice physi
typedef VkResult (VKAPI_PTR *PFN_vkGetRandROutputDisplayEXT)(VkPhysicalDevice physicalDevice, Display* dpy, RROutput rrOutput, VkDisplayKHR* pDisplay);
#ifndef VK_NO_PROTOTYPES
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkAcquireXlibDisplayEXT(
VkPhysicalDevice physicalDevice,
Display* dpy,
VkDisplayKHR display);
#endif
#ifndef VK_ONLY_EXPORTED_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetRandROutputDisplayEXT(
VkPhysicalDevice physicalDevice,
Display* dpy,
RROutput rrOutput,
VkDisplayKHR* pDisplay);
#endif
#endif
#ifdef __cplusplus
}
+6 -18
View File
@@ -27,23 +27,11 @@
#include "Core/HLE/sceUsbCam.h"
#include "Core/HLE/sceUsbGps.h"
#include "GPU/Vulkan/VulkanUtil.h"
// ViewController lifecycle:
// https://www.progressconcepts.com/blog/ios-appdelegate-viewcontroller-method-order/
// TODO: Share this between backends.
static VulkanInitFlags FlagsFromConfig() {
VulkanInitFlags flags;
if (g_Config.bVSync) {
flags = VulkanInitFlags::PRESENT_FIFO;
} else {
flags = VulkanInitFlags::PRESENT_MAILBOX | VulkanInitFlags::PRESENT_IMMEDIATE;
}
if (g_Config.bVulkanDisableImplicitLayers) {
flags |= VulkanInitFlags::DISABLE_IMPLICIT_LAYERS;
}
return flags;
}
enum class GraphicsContextState {
PENDING,
INITIALIZED,
@@ -148,7 +136,9 @@ void IOSVulkanContext::Resize() {
g_Vulkan->DestroySwapchain();
g_Vulkan->DestroySurface();
g_Vulkan->UpdateInitFlags(FlagsFromConfig());
VulkanContext::CreateInfo info{};
InitVulkanCreateInfoFromConfig(&info);
g_Vulkan->UpdateCreateInfo(info);
g_Vulkan->ReinitSurface();
g_Vulkan->InitSwapchain();
@@ -180,9 +170,7 @@ bool IOSVulkanContext::InitAPI() {
}
VulkanContext::CreateInfo info{};
info.app_name = "PPSSPP";
info.app_ver = gitVer.ToInteger();
info.flags = FlagsFromConfig();
InitVulkanCreateInfoFromConfig(&info);
if (!g_Vulkan->CreateInstanceAndDevice(info)) {
delete g_Vulkan;
g_Vulkan = nullptr;