Skip to content

Commit d5d960a

Browse files
authored
feat(quality): Support PowerVR DXT and BXM series (#33)
* feat(quality): Support PowerVR DXT and BXM series * chore(quality): bump version v1.2.0
1 parent 2c9b075 commit d5d960a

6 files changed

Lines changed: 38 additions & 3 deletions

File tree

Packages/MobileSupportQualityTuner/CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Release notes
22

3+
## v1.2.0 - 2024/08/29
4+
5+
- New Features :rocket:
6+
- Support PowerVR DXT and BXM GPU series
7+
- DXT series: ex: PowerVR D-Series DXT-48-1536
8+
- BXM series: ex: PowerVR B-Series BXM-8-256
9+
310
## v1.1.0 - 2024/08/27
411

512
- New Features :rocket:

Packages/MobileSupportQualityTuner/Runtime/Scripts/GpuSeriesEnums.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,16 @@ public enum GpuMinorSeries
148148
/// </summary>
149149
PowerVR9XM = 43,
150150

151+
/// <summary>
152+
/// PowerVR BXM series
153+
/// </summary>
154+
PowerVRBXM = 44,
155+
156+
/// <summary>
157+
/// PowerVR DXT series
158+
/// </summary>
159+
PowerVRDXT = 45,
160+
151161
/// <summary>
152162
/// Samsung Xclipse series
153163
/// </summary>
@@ -201,6 +211,8 @@ public class GpuSeriesEnumeration : IComparable
201211
public static readonly GpuSeriesEnumeration PowerVR6XT = new(GpuMajorSeries.PowerVR, GpuMinorSeries.PowerVR6XT);
202212
public static readonly GpuSeriesEnumeration PowerVR8XE = new(GpuMajorSeries.PowerVR, GpuMinorSeries.PowerVR8XE);
203213
public static readonly GpuSeriesEnumeration PowerVR9XM = new(GpuMajorSeries.PowerVR, GpuMinorSeries.PowerVR9XM);
214+
public static readonly GpuSeriesEnumeration PowerVRDXT = new(GpuMajorSeries.PowerVR, GpuMinorSeries.PowerVRDXT);
215+
public static readonly GpuSeriesEnumeration PowerVRBXM = new(GpuMajorSeries.PowerVR, GpuMinorSeries.PowerVRBXM);
204216

205217
// Samsung
206218
public static readonly GpuSeriesEnumeration Xclipse = new(GpuMajorSeries.Xclipse, GpuMinorSeries.Xclipse);

Packages/MobileSupportQualityTuner/Runtime/Scripts/HardwareInfo.Android.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,19 @@ public static (GpuMinorSeries, int) ParsePowerVRGpuSeries(string gpuName)
120120
_ => (GpuMinorSeries.Unknown, number)
121121
};
122122

123+
// parse PowerVR B-Series BXM series
124+
// ex: PowerVR B-Series BXM-8-256, PowerVR B-Series BXM-4-64
125+
match = Regex.Match(gpuName, @"BXM-(\d+)-(\d+)");
126+
if (match.Success)
127+
if (int.TryParse(match.Groups[1].Value, out var bxmNumber))
128+
return (GpuMinorSeries.PowerVRBXM, bxmNumber);
129+
130+
// parse PowerVR D-Series DXT series
131+
// ex: PowerVR D-Series DXT-24-1024
132+
match = Regex.Match(gpuName, @"DXT-(\d+)-(\d+)");
133+
if (match.Success)
134+
if (int.TryParse(match.Groups[1].Value, out var dxtNumber))
135+
return (GpuMinorSeries.PowerVRDXT, dxtNumber);
123136

124137
return (GpuMinorSeries.Unknown, 0);
125138
}

Packages/MobileSupportQualityTuner/Tests/Editor/Scripts/HardwareInfo.AndroidTests.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,10 @@ private static IEnumerable PowerVRTestCases
4949
yield return new TestCaseData("PowerVR Rogue GE8320").Returns((GpuMinorSeries.PowerVR8XE, 8320));
5050
yield return new TestCaseData("PowerVR Rogue GE8322").Returns((GpuMinorSeries.PowerVR8XE, 8322));
5151
yield return new TestCaseData("PowerVR Rogue GM9446").Returns((GpuMinorSeries.PowerVR9XM, 9446));
52-
yield return new TestCaseData("PowerVR B-Series BXM-8-256").Returns((GpuMinorSeries.Unknown, 0));
52+
yield return new TestCaseData("PowerVR B-Series BXM-4-128").Returns((GpuMinorSeries.PowerVRBXM, 4));
53+
yield return new TestCaseData("PowerVR B-Series BXM-8-256").Returns((GpuMinorSeries.PowerVRBXM, 8));
54+
yield return new TestCaseData("PowerVR B-Series BXM-16-512").Returns((GpuMinorSeries.PowerVRBXM, 16));
55+
yield return new TestCaseData("PowerVR D-Series DXT-48-1536").Returns((GpuMinorSeries.PowerVRDXT, 48));
5356
yield return new TestCaseData("PowerVR Rogue GM2147483648").Returns((GpuMinorSeries.Unknown, 0));
5457
}
5558
}

Packages/MobileSupportQualityTuner/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "jp.co.cyberagent.unity-mobile-support-quality-tuner",
33
"displayName": "Mobile Support - Quality Tuner",
4-
"version": "1.1.0",
4+
"version": "1.2.0",
55
"unity": "2021.3",
66
"description": "Tools to support deciding quality level by hardware spec of mobile devices.",
77
"keywords": [

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ Scripts ars split into multiple packages, so choose packages what you only need.
1010
| Storage | Functions to retrive information about storage | v1.0.0 | [README.md](Packages/MobileSupportStorage/README.md) | [CHANGELOG.md](Packages/MobileSupportStorage/CHANGELOG.md) |
1111
| Thermal | Functions to retrive information about thermal | v2.0.0 | [README.md](Packages/MobileSupportThermal/README.md) | [CHANGELOG.md](Packages/MobileSupportThermal/CHANGELOG.md) |
1212
| AndroidGame | Functions to integrate with Android GameManager APIs | v1.1.0 | [README.md](Packages/MobileSupportAndroidGame/README.md) | [CHANGELOG.md](Packages/MobileSupportAndroidGame/CHANGELOG.md) |
13-
| QualityTuner | Package to get hardware specs and tool to decide quality level | v1.1.0 | [README.md](Packages/MobileSupportQualityTuner/README.md) | [CHANGELOG.md](Packages/MobileSupportQualityTuner/CHANGELOG.md) |
13+
| QualityTuner | Package to get hardware specs and tool to decide quality level | v1.2.0 | [README.md](Packages/MobileSupportQualityTuner/README.md) | [CHANGELOG.md](Packages/MobileSupportQualityTuner/CHANGELOG.md) |

0 commit comments

Comments
 (0)