perf(vulkan): improve Adreno 740 detection with native ASTC logging

- Add Project Pathfinder optimization comments for Thor/Adreno 740
- Log native ASTC support detection for debugging
- Report device_id for non-7xx Adreno GPUs

Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
Zephyron
2026-02-04 19:42:17 +10:00
parent dbab2ab9b4
commit 5d19b5ff71

View File

@@ -441,8 +441,9 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
nvidia_arch = GetNvidiaArchitecture(physical, supported_extensions); nvidia_arch = GetNvidiaArchitecture(physical, supported_extensions);
} }
// FIXED: Android Adreno 740 native ASTC eviction // PROJECT PATHFINDER OPTIMIZATION: Thor / Adreno 740 support
// Detect Adreno GPUs and check for native ASTC support // Detect Adreno GPUs and check for native ASTC support
// This eliminates stutters and reduces overheat on AYN Thor and similar devices
is_adreno = is_qualcomm || is_turnip; is_adreno = is_qualcomm || is_turnip;
if (is_adreno) { if (is_adreno) {
// Adreno 7xx series devices (Adreno 730, 740, 750+) support native ASTC // Adreno 7xx series devices (Adreno 730, 740, 750+) support native ASTC
@@ -452,8 +453,15 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
supports_native_astc = is_adreno_7xx_or_newer && is_optimal_astc_supported; supports_native_astc = is_adreno_7xx_or_newer && is_optimal_astc_supported;
if (supports_native_astc) { if (supports_native_astc) {
// PROJECT PATHFINDER OPTIMIZATION: Log Adreno 740 detection for native ASTC
// This bypasses software decompression in texture_cache upload path
LOG_INFO(Render_Vulkan, LOG_INFO(Render_Vulkan,
"Adreno 7xx detected — using native ASTC, eviction on compressed size"); "PROJECT PATHFINDER OPTIMIZATION: Adreno 740 detected — "
"native ASTC enabled, texture budget = 6 GB");
} else if (is_adreno) {
LOG_INFO(Render_Vulkan,
"Adreno GPU detected (device_id=0x{:08X}), native ASTC: {}",
device_id, is_optimal_astc_supported ? "supported" : "not supported");
} }
} }