mirror of
https://github.com/ARMSX2/ARMSX2.git
synced 2026-08-24 16:50:16 -07:00
- Mali Vulkan: drop the old blend-clamp band-aid; rely on dual_source_blend feature detection so only SRC1/blend-mix draws take the SW-blend path (no more forced Blending=Max on Mali) - Fix intermittent stale-tile reads: input-attachment descriptor type for the texture-barrier feedback path, vendor-scoped to Mali - broken_mad_deinterlace weave fallback for Mali-G57 FastMAD - Add per-vendor mobile GPU profile system (Mali/Adreno/PowerVR) - Tie test_and_sample_depth to texture_barrier (was forced on) - Richer Vulkan device telemetry for field diagnosis
31 lines
1.0 KiB
C++
31 lines
1.0 KiB
C++
// SPDX-FileCopyrightText: 2002-2026 PCSX2 Dev Team
|
|
// SPDX-License-Identifier: GPL-3.0+
|
|
|
|
#include "GS/Renderers/Common/GSGPUProfilePrivate.h"
|
|
|
|
namespace GpuProfileDetail
|
|
{
|
|
bool LooksLikePowerVR(std::string_view lowered_hints)
|
|
{
|
|
// "img" is far too broad for a substring search (it appears in unrelated model/property values).
|
|
return ContainsAny(lowered_hints, {"imagination technologies", "imgtec", "powervr"});
|
|
}
|
|
|
|
ResolvedGpuProfile ResolvePowerVRProfile(std::string_view lowered_hints)
|
|
{
|
|
ResolvedGpuProfile resolved;
|
|
resolved.gpu.architecture = MobileGpuArchitecture::PowerVR;
|
|
resolved.gpu.name = "PowerVR";
|
|
resolved.tuning = MakeMobileGsTuning(72, 6, 72, 5);
|
|
|
|
if (ContainsAny(lowered_hints, {"b-series", "bxs", "bxt", "d-series", "dxt", "dmtp"}))
|
|
{
|
|
resolved.gpu.recognized = true;
|
|
resolved.gpu.name = ContainsAny(lowered_hints, {"d-series", "dxt", "dmtp"}) ?
|
|
"PowerVR D-Series" : "PowerVR B-Series";
|
|
resolved.tuning = MakeMobileGsTuning(112, 8, 112, 7);
|
|
}
|
|
return resolved;
|
|
}
|
|
} // namespace GpuProfileDetail
|