Skip to content

Commit 601b0e6

Browse files
TellowKrinklelightningterror
authored andcommitted
GS:MTL: Move texture size calculation to dedicated function
1 parent a2e354c commit 601b0e6

File tree

3 files changed

+16
-14
lines changed

3 files changed

+16
-14
lines changed

pcsx2/GS/Renderers/Metal/GSDeviceMTL.mm

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,7 @@
3535
{
3636
GSAdapterInfo ai;
3737
ai.name = [[dev name] UTF8String];
38-
39-
ai.max_texture_size = 8192;
40-
if ([dev supportsFeatureSet:MTLFeatureSet_macOS_GPUFamily1_v1])
41-
ai.max_texture_size = 16384;
42-
if (@available(macOS 10.15, iOS 13.0, *))
43-
if ([dev supportsFamily:MTLGPUFamilyApple3])
44-
ai.max_texture_size = 16384;
45-
38+
ai.max_texture_size = GSMTLDevice::GetMaxTextureSize(dev);
4639
ai.max_upscale_multiplier = GSGetMaxUpscaleMultiplier(ai.max_texture_size);
4740
list.push_back(std::move(ai));
4841
}

pcsx2/GS/Renderers/Metal/GSMTLDeviceInfo.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ struct GSMTLDevice
4242
GSMTLDevice() = default;
4343
explicit GSMTLDevice(MRCOwned<id<MTLDevice>> dev);
4444

45+
static u32 GetMaxTextureSize(id<MTLDevice> dev);
46+
4547
bool IsOk() const { return dev && shaders; }
4648
void Reset()
4749
{

pcsx2/GS/Renderers/Metal/GSMTLDeviceInfo.mm

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -191,16 +191,23 @@ static DetectionResult detectIntelGPU(id<MTLDevice> dev, id<MTLLibrary> lib)
191191
else
192192
features.slow_color_compression = [[dev name] containsString:@"AMD"] || [[dev name] isEqualToString:@"Intel HD Graphics 4000"];
193193

194-
features.max_texsize = 8192;
195-
if ([dev supportsFeatureSet:MTLFeatureSet_macOS_GPUFamily1_v1])
196-
features.max_texsize = 16384;
197-
if (@available(macOS 10.15, iOS 13.0, *))
198-
if ([dev supportsFamily:MTLGPUFamilyApple3])
199-
features.max_texsize = 16384;
194+
features.max_texsize = GetMaxTextureSize(dev);
200195

201196
this->dev = std::move(dev);
202197
}
203198

199+
u32 GSMTLDevice::GetMaxTextureSize(id<MTLDevice> dev)
200+
{
201+
if (@available(macOS 10.15, iOS 13.0, *))
202+
{
203+
if ([dev supportsFamily:MTLGPUFamilyApple3])
204+
return 16384;
205+
}
206+
if ([dev supportsFeatureSet:MTLFeatureSet_macOS_GPUFamily1_v1])
207+
return 16384;
208+
return 8192;
209+
}
210+
204211
const char* to_string(GSMTLDevice::MetalVersion ver)
205212
{
206213
switch (ver)

0 commit comments

Comments
 (0)