[DeviceProfiles] +DeviceProfileNameAndTypes=Mobile,Mobile +DeviceProfileNameAndTypes=Android_Galaxy_S7_Mali,Android +DeviceProfileNameAndTypes=Android_Galaxy_S8_Mali,Android +DeviceProfileNameAndTypes=Android_Galaxy_S8_Mali_LowMem,Android +DeviceProfileNameAndTypes=Android_Galaxy_S8_Mali_LowMem2,Android +DeviceProfileNameAndTypes=Android_Galaxy_Note8_Mali,Android +DeviceProfileNameAndTypes=Android_Galaxy_S9_Mali,Android +DeviceProfileNameAndTypes=Android_Galaxy_S9Plus_Mali,Android +DeviceProfileNameAndTypes=Android_Galaxy_Note9_Mali,Android +DeviceProfileNameAndTypes=Android_Galaxy_S7_Mali_Vulkan,Android +DeviceProfileNameAndTypes=Android_Galaxy_S8_Mali_Vulkan,Android +DeviceProfileNameAndTypes=Android_Galaxy_Note8_Mali_Vulkan,Android +DeviceProfileNameAndTypes=Android_Galaxy_S9_Mali_Vulkan,Android +DeviceProfileNameAndTypes=Android_Galaxy_S9Plus_Mali_Vulkan,Android +DeviceProfileNameAndTypes=Android_Galaxy_Note9_Mali_Vulkan,Android +DeviceProfileNameAndTypes=Android_Galaxy_A9_Adreno,Android +DeviceProfileNameAndTypes=Android_Galaxy_A9_Adreno_LRU,Android +DeviceProfileNameAndTypes=Android_Galaxy_S7_Adreno,Android +DeviceProfileNameAndTypes=Android_Galaxy_S7_Adreno_LRU,Android +DeviceProfileNameAndTypes=Android_Galaxy_TabS3_Adreno,Android +DeviceProfileNameAndTypes=Android_Galaxy_TabS3_Adreno_Safe,Android +DeviceProfileNameAndTypes=Android_Galaxy_TabS3_Adreno_LRU,Android +DeviceProfileNameAndTypes=Android_Galaxy_S8_Adreno,Android +DeviceProfileNameAndTypes=Android_Galaxy_S8_Adreno_LowMem,Android +DeviceProfileNameAndTypes=Android_Galaxy_S8_Adreno_LowMem2,Android +DeviceProfileNameAndTypes=Android_Galaxy_S8_Adreno_LRU,Android +DeviceProfileNameAndTypes=Android_Galaxy_TabS4_Adreno,Android +DeviceProfileNameAndTypes=Android_Galaxy_TabS4_Adreno_Safe,Android +DeviceProfileNameAndTypes=Android_Galaxy_TabS4_Adreno_LRU,Android +DeviceProfileNameAndTypes=Android_Galaxy_Note8_Adreno,Android +DeviceProfileNameAndTypes=Android_Galaxy_S9_Adreno,Android +DeviceProfileNameAndTypes=Android_Galaxy_S9_Adreno_LowMem,Android +DeviceProfileNameAndTypes=Android_Galaxy_S9_Adreno_LowMem2,Android +DeviceProfileNameAndTypes=Android_Galaxy_S9_Adreno_LowMem3,Android +DeviceProfileNameAndTypes=Android_Galaxy_S9_Adreno_LRU,Android +DeviceProfileNameAndTypes=Android_Galaxy_S9_Adreno_LowMemLRU,Android +DeviceProfileNameAndTypes=Android_Galaxy_S9Plus_Adreno,Android +DeviceProfileNameAndTypes=Android_Galaxy_Note9_Adreno,Android +DeviceProfileNameAndTypes=Android_Galaxy_S7_Adreno_Vulkan,Android +DeviceProfileNameAndTypes=Android_Galaxy_TabS3_Adreno_Vulkan,Android +DeviceProfileNameAndTypes=Android_Galaxy_S8_Adreno_Vulkan,Android +DeviceProfileNameAndTypes=Android_Galaxy_TabS4_Adreno_Vulkan,Android +DeviceProfileNameAndTypes=Android_Galaxy_Note8_Adreno_Vulkan,Android +DeviceProfileNameAndTypes=Android_Galaxy_S9_Adreno_Vulkan,Android +DeviceProfileNameAndTypes=Android_Galaxy_S9Plus_Adreno_Vulkan,Android +DeviceProfileNameAndTypes=Android_Galaxy_Note9_Adreno_Vulkan,Android +DeviceProfileNameAndTypes=Android_Galaxy_Note9_Adreno_Vulkan_60,Android +DeviceProfileNameAndTypes=Android_Galaxy_S10Lite_Adreno_Vulkan_60,Android +DeviceProfileNameAndTypes=Android_Galaxy_S10Lite_Mali_Vulkan_60,Android +DeviceProfileNameAndTypes=Android_Galaxy_S10_Adreno_Vulkan_60,Android +DeviceProfileNameAndTypes=Android_Galaxy_S10_Mali_Vulkan_60,Android +DeviceProfileNameAndTypes=Android_Galaxy_S10Plus_Adreno_Vulkan_60,Android +DeviceProfileNameAndTypes=Android_Galaxy_S10Plus_Mali_Vulkan_60,Android +DeviceProfileNameAndTypes=Android_Pixel,Android +DeviceProfileNameAndTypes=Android_Pixel_Vulkan,Android +DeviceProfileNameAndTypes=Android_Pixel_LRU,Android +DeviceProfileNameAndTypes=Android_PixelXL,Android +DeviceProfileNameAndTypes=Android_PixelXL_Vulkan,Android +DeviceProfileNameAndTypes=Android_PixelXL_LRU,Android +DeviceProfileNameAndTypes=Android_Pixel2,Android +DeviceProfileNameAndTypes=Android_Pixel2_Safe,Android +DeviceProfileNameAndTypes=Android_Pixel2_Vulkan,Android +DeviceProfileNameAndTypes=Android_Pixel2XL,Android +DeviceProfileNameAndTypes=Android_Pixel2XL_Safe,Android +DeviceProfileNameAndTypes=Android_Pixel2XL_Vulkan,Android +DeviceProfileNameAndTypes=Android_Pixel3,Android +DeviceProfileNameAndTypes=Android_Pixel3XL,Android +DeviceProfileNameAndTypes=Android_RazerPhone,Android +DeviceProfileNameAndTypes=Android_RazerPhone_Vulkan,Android +DeviceProfileNameAndTypes=Android_Adreno53x_LRU,Android +DeviceProfileNameAndTypes=Android_Adreno54x_LRU,Android +DeviceProfileNameAndTypes=Android_Adreno615,Android +DeviceProfileNameAndTypes=Android_Adreno61x,Android +DeviceProfileNameAndTypes=Android_Adreno6xx_LRU,Android +DeviceProfileNameAndTypes=Android_Mali_G76,Android +DeviceProfileNameAndTypes=Android_Mali_G76_High,Android +DeviceProfileNameAndTypes=Android_Mali_G76_Vulkan,Android +DeviceProfileNameAndTypes=Android_Honor_View20_60,Android +DeviceProfileNameAndTypes=Android_Huawei_Mate20,Android +DeviceProfileNameAndTypes=Android_Huawei_Mate20X_60,Android +DeviceProfileNameAndTypes=Android_Huawei_Mate20Pro,Android +DeviceProfileNameAndTypes=Android_Xiaomi_MI9_60,Android ; Project-specific texture LOD groups [/Script/Engine.TextureLODSettings] ; Spray decals +TextureLODGroups=(Group=TEXTUREGROUP_Project04,MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point,MipGenSettings=TMGS_NoMipmaps) [Windows DeviceProfile] DeviceType=Windows BaseProfileName= ; If no benchmark is run, use 'High' as device default +CVars=sg.ViewDistanceQuality=2 +CVars=sg.AntiAliasingQuality=2 +CVars=sg.ShadowQuality=2 +CVars=sg.PostProcessQuality=2 +CVars=sg.TextureQuality=2 +CVars=sg.EffectsQuality=2 ; ------------------------------------------------------------------------------ ; MOBILE: Defaults for all devices ; ------------------------------------------------------------------------------ [Mobile DeviceProfile] +TextureLODGroups=(Group=TEXTUREGROUP_World, MaxLODSize=1024, OptionalMaxLODSize=1024, OptionalLODBias=1, MaxLODSize_Smaller=1024, MaxLODSize_Smallest=1024, MaxLODSize_Tiniest=256, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_WorldNormalMap, MaxLODSize=512, OptionalMaxLODSize=512, OptionalLODBias=1, MaxLODSize_Smaller=512, MaxLODSize_Smallest=512, MaxLODSize_Tiniest=128, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_WorldSpecular, MaxLODSize=512, OptionalMaxLODSize=64, OptionalLODBias=1, MaxLODSize_Smaller=256, MaxLODSize_Smallest=64, MaxLODSize_Tiniest=32, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_Character, MaxLODSize=1024, OptionalMaxLODSize=1024, OptionalLODBias=1, MaxLODSize_Smaller=1024, MaxLODSize_Smallest=1024, MaxLODSize_Tiniest=256, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_CharacterNormalMap, MaxLODSize=512, OptionalMaxLODSize=512, OptionalLODBias=1, MaxLODSize_Smaller=1024, MaxLODSize_Smallest=512, MaxLODSize_Tiniest=128, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_CharacterSpecular, MaxLODSize=512, OptionalMaxLODSize=64, OptionalLODBias=1, MaxLODSize_Smaller=256, MaxLODSize_Smallest=64, MaxLODSize_Tiniest=32, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_Weapon, MaxLODSize=1024, OptionalMaxLODSize=256, OptionalLODBias=1, MaxLODSize_Smaller=512, MaxLODSize_Smallest=256, MaxLODSize_Tiniest=64, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_WeaponNormalMap, MaxLODSize=512, OptionalMaxLODSize=128, OptionalLODBias=1, MaxLODSize_Smaller=256, MaxLODSize_Smallest=128, MaxLODSize_Tiniest=64, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_WeaponSpecular, MaxLODSize=512, OptionalMaxLODSize=64, OptionalLODBias=1, MaxLODSize_Smaller=256, MaxLODSize_Smallest=64, MaxLODSize_Tiniest=32, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_Vehicle, MaxLODSize=1024, OptionalMaxLODSize=128, OptionalLODBias=1, MaxLODSize_Smaller=512, MaxLODSize_Smallest=128, MaxLODSize_Tiniest=64, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_VehicleNormalMap, MaxLODSize=512, OptionalMaxLODSize=64, OptionalLODBias=1, MaxLODSize_Smaller=256, MaxLODSize_Smallest=64, MaxLODSize_Tiniest=32, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_VehicleSpecular, MaxLODSize=512, OptionalMaxLODSize=64, OptionalLODBias=1, MaxLODSize_Smaller=256, MaxLODSize_Smallest=64, MaxLODSize_Tiniest=32, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_Cinematic, MaxLODSize=1024, OptionalMaxLODSize=64, OptionalLODBias=1, MaxLODSize_Smaller=512, MaxLODSize_Smallest=64, MaxLODSize_Tiniest=32, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_Effects, MaxLODSize=1024, OptionalMaxLODSize=256, OptionalLODBias=1, MaxLODSize_Smaller=512, MaxLODSize_Smallest=256, MaxLODSize_Tiniest=64, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=linear, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_EffectsNotFiltered, MaxLODSize=1024, OptionalMaxLODSize=128, OptionalLODBias=1, MaxLODSize_Smaller=512, MaxLODSize_Smallest=128, MaxLODSize_Tiniest=64, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_Skybox, MaxLODSize=1024, OptionalMaxLODSize=128, OptionalLODBias=1, MaxLODSize_Smaller=512, MaxLODSize_Smallest=128, MaxLODSize_Tiniest=64, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_UI, MaxLODSize=4096, OptionalLODBias=0, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=0, MinMagFilter=aniso, MipFilter=point, MipGenSettings=TMGS_NoMipmaps) +TextureLODGroups=(Group=TEXTUREGROUP_Lightmap, MaxLODSize=1024, OptionalLODBias=1, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_Shadowmap, MaxLODSize=1024, OptionalLODBias=1, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point, NumStreamedMips=3) +TextureLODGroups=(Group=TEXTUREGROUP_RenderTarget, MaxLODSize=1024, OptionalLODBias=1, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_MobileFlattened, MaxLODSize=1024, OptionalLODBias=1, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_Terrain_Heightmap, MaxLODSize=1024, OptionalLODBias=1, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_Terrain_Weightmap, MaxLODSize=1024, OptionalLODBias=1, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_Bokeh, MaxLODSize=256, OptionalLODBias=1, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=linear, MipFilter=linear) +TextureLODGroups=(Group=TEXTUREGROUP_Pixels2D, MaxLODSize=1024, OptionalLODBias=0, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=0, MinMagFilter=point, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_Impostor, MaxLODSize=1024, OptionalMaxLODSize=1024, OptionalLODBias=1, MaxLODSize_Smaller=1024, MaxLODSize_Smallest=1024, MaxLODSize_Tiniest=256, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_ImpostorNormalDepth, MaxLODSize=1024, OptionalMaxLODSize=1024, OptionalLODBias=1, MaxLODSize_Smaller=1024, MaxLODSize_Smallest=1024, MaxLODSize_Tiniest=256, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +TextureLODGroups=(Group=TEXTUREGROUP_HierarchicalLOD, MaxLODSize=512, OptionalMaxLODSize=256, OptionalLODBias=1, MaxLODSize_Smaller=512, MaxLODSize_Smallest=256, MaxLODSize_Tiniest=64, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) +CVars=slate.AbsoluteIndices=1 ; Settings for GPU particles +CVars=FX.AllowGPUParticles=1 ; Max 256k partices +CVars=fx.GPUSimulationTextureSizeX=512 +CVars=fx.GPUSimulationTextureSizeY=512 ; Max 64k particles on low memory devices +CVars_Smallest=fx.GPUSimulationTextureSizeX=256 +CVars_Tiniest=fx.GPUSimulationTextureSizeX=128 +CVars_Smallest=fx.GPUSimulationTextureSizeY=256 +CVars_Tiniest=fx.GPUSimulationTextureSizeY=128 +CVars=r.CustomDepth=0 +CVars=r.SupportReversedIndexBuffers=False +CVars=r.SupportDepthOnlyIndexBuffers=False +CVars=ai.NavCollisionAvailable=0 ; On low memory devices we force grass off and discard data on load! +CVars_Smallest=grass.densityScale=0 +CVars_Tiniest=grass.densityScale=0 +CVars_Smallest=grass.DiscardDataOnLoad=1 +CVars_Tiniest=grass.DiscardDataOnLoad=1 +CVars_Smallest=foliage.densityScale=0 +CVars_Tiniest=foliage.densityScale=0 +CVars_Smallest=foliage.DiscardDataOnLoad=1 +CVars_Tiniest=foliage.DiscardDataOnLoad=1 ; Low quality materials are used on all mobile devices +CVars=r.MaterialQualityLevel=0 ;@todo: what does this do exactly? +CVars=r.Streaming.UseFixedPoolSize=0 +CVars_Largest=r.Streaming.PoolSize=200 +CVars_Larger=r.Streaming.PoolSize=200 +CVars_Default=r.Streaming.PoolSize=200 +CVars_Smaller=r.Streaming.PoolSize=150 +CVars_Smallest=r.Streaming.PoolSize=100 +CVars_Tiniest=r.Streaming.PoolSize=16 +CVars_Largest=Fort.Streaming.FrontEndPoolSize=400 +CVars_Larger=Fort.Streaming.FrontEndPoolSize=400 +CVars_Default=Fort.Streaming.FrontEndPoolSize=400 +CVars_Smaller=Fort.Streaming.FrontEndPoolSize=300 +CVars_Smallest=Fort.Streaming.FrontEndPoolSize=200 +CVars_Tiniest=Fort.Streaming.FrontEndPoolSize=32 +CVars_Smallest=r.Streaming.MaxTempMemoryAllowed=35 +CVars_Tiniest=r.Streaming.MaxTempMemoryAllowed=4 +CVars_Largest=fort.skippreloadhack=0 +CVars_Larger=fort.skippreloadhack=0 +CVars_Default=fort.skippreloadhack=0 +CVars_Smaller=fort.skippreloadhack=0 +CVars_Smallest=fort.skippreloadhack=0 +Cvars_Tiniest=fort.skippreloadhack=0 +CVars_Largest=Fort.CosmeticManager.MaxCharacterParts=72 +CVars_Larger=Fort.CosmeticManager.MaxCharacterParts=72 +CVars_Default=Fort.CosmeticManager.MaxCharacterParts=72 +CVars_Smaller=Fort.CosmeticManager.MaxCharacterParts=48 +CVars_Smallest=Fort.CosmeticManager.MaxCharacterParts=36 +CVars_Tiniest=Fort.CosmeticManager.MaxCharacterParts=18 ; Scalability Groups +CVars=sg.ViewDistanceQuality=0 +CVars=sg.AntiAliasingQuality=0 +CVars=sg.ShadowQuality=0 +CVars=sg.PostProcessQuality=0 +CVars=sg.TextureQuality=0 +CVars=sg.EffectsQuality=0 +CVars=sg.FoliageQuality=0 ; Dump shaders for non-active material qualities on load +CVars=r.DiscardUnusedQuality=1 ; This reduces total number of PSO at minor GPU cost +CVars=r.ForceSceneHasDecals=1 ; Shader cache +CVars=r.ShaderPipelineCache.Enabled=1 +CVars=r.ShaderPipelineCache.LogPSO=0 +CVars=r.ShaderPipelineCache.ReportPSO=1 ; Disable LOD cross-fading +CVars=lod.TemporalLag=0 ; TODO: maybe move to scalability? +CVars=r.SkeletalMeshLODBias=1 +CVars=r.SkeletalMeshLODRadiusScale=0.6 +CVars=r.FreeSkeletalMeshBuffers=1 +CVars=foliage.MinLod=1 ; Settings we want disabled globally / not set by scalability +CVars=r.DetailMode=0 ; Cook out emitters that don't match the device's detail mode +CVars=fx.PruneEmittersOnCookByDetailMode=1 +CVars=r.CookOutUnusedDetailModeComponents=1 +CVars=r.PostProcessing.DisableMaterials=0 +CVars=r.DisableDistortion=1 +CVars=r.BloomQuality=0 +CVars=r.LightShaftQuality=0 +CVars=grass.DisableDynamicShadows=1 +CVars=r.Tonemapper.Sharpen=0 +CVars=r.PostProcessAAQuality=0 +CVars=r.LightFunctionQuality=0 +CVars=r.SimpleForwardShading=0 +CVars=r.EyeAdaptationQuality=0 ; Landscape distribution scale, same for all mobile devices +CVars=r.LandscapeLOD0DistributionScale=1.0 +CVars=r.LandscapeLODDistributionScale=0.5 ; Include medium level hlod +CVars=Athena.CookOutMediumLevelHLODs=0 ; Do not serialize foliage render data, as on mobile it will be rebuilt anyway +CVars=foliage.SaveRenderData=0 ; Applied when a device is in low-power mode +CVars=sg.ViewDistanceQuality.LowPower=0 +CVars=sg.ShadowQuality.LowPower=0 +CVars=sg.TextureQuality.LowPower=0 +CVars=sg.EffectsQuality.LowPower=0 ; Applied when in the frontend, browsing the store etc. +CVars=sg.ViewDistanceQuality.Frontend=3 +CVars=sg.ShadowQuality.Frontend=3 +CVars=sg.TextureQuality.Frontend=3 +CVars=sg.EffectsQuality.Frontend=3 ; Default all devices to 30fps vsync +CVars=r.VSync=1 +CVars=Fort.Mobile.DefaultSyncInterval=2 ; Animation - Frame Stripping on mobile to save memory +CVars=a.StripFramesOnCompression=1 +CVars=r.RenderTargetPoolMin=150 ; ------------------------------------------------------------------------------ ; iOS: Defaults for all devices ; ------------------------------------------------------------------------------ [IOS DeviceProfile] BaseProfileName=Mobile !CVars=ClearArray ; Temp: allow in iOS +CVars=r.PostProcessing.DisableMaterials=0 ; By default, target retina resolution +CVars=r.MobileContentScaleFactor=0 +CVars=sg.ResolutionQuality=100 ; Default to 4x MSAA +CVars=r.MobileMSAA=4 ; iOS specific overrides +CVars=r.Scalability.MaxTextureQualityForLowVirtualMemory=0 +CVars=r.MetalHullParameterSize=0 +CVars=r.MetalDomainParameterSize=0 +CVars=r.MorphTarget.Mode=0 ;+CVars=MobileDPI.InGame=0.8 ;+CVars=MobileDPI.FrontEnd=0.8 +CVars=Mobile.FormFactor=0 +CVars=r.ShaderPipelineCache.BatchSize=50 +CVars=r.ShaderPipelineCache.BatchTime=100.0 +CVars=r.ShaderPipelineCache.GameFileMaskEnabled=1 +CVars=r.ShaderPipelineCache.MinBindCount=0 ; ------------------------------------------------------------------------------ ; iOS: Scalability buckets for low/med/high ; ------------------------------------------------------------------------------ [IOS_Low DeviceProfile] BaseProfileName=IOS +CVars=sg.ViewDistanceQuality=0 +CVars=sg.AntiAliasingQuality=0 +CVars=sg.ShadowQuality=0 +CVars=sg.PostProcessQuality=0 +CVars=sg.TextureQuality=0 +CVars=sg.EffectsQuality=0 +CVars=sg.FoliageQuality=0 ; Applied when in the frontend, browsing the store etc. +CVars=sg.ShadowQuality.Frontend=2 +CVars=sg.TextureQuality.Frontend=2 +CVars=r.ShaderPipelineCache.BatchSize=20 +CVars=r.RenderTargetPoolMin=75 [IOS_Mid DeviceProfile] BaseProfileName=IOS +CVars=sg.ViewDistanceQuality=1 +CVars=sg.AntiAliasingQuality=1 +CVars=sg.ShadowQuality=1 +CVars=sg.PostProcessQuality=1 +CVars=sg.TextureQuality=1 +CVars=sg.EffectsQuality=1 +CVars=sg.FoliageQuality=1 +CVars=r.ShaderPipelineCache.BatchSize=20 +CVars=r.RenderTargetPoolMin=100 [IOS_High DeviceProfile] BaseProfileName=IOS +CVars=sg.ViewDistanceQuality=2 +CVars=sg.AntiAliasingQuality=2 +CVars=sg.ShadowQuality=2 +CVars=sg.PostProcessQuality=2 +CVars=sg.TextureQuality=2 +CVars=sg.EffectsQuality=2 +CVars=sg.FoliageQuality=2 +CVars=r.RenderTargetPoolMin=150 [IOS_Epic DeviceProfile] BaseProfileName=IOS +CVars=sg.ViewDistanceQuality=3 +CVars=sg.AntiAliasingQuality=3 +CVars=sg.ShadowQuality=3 +CVars=sg.PostProcessQuality=3 +CVars=sg.TextureQuality=3 +CVars=sg.EffectsQuality=3 +CVars=sg.FoliageQuality=3 +CVars=r.RenderTargetPoolMin=200 ; ------------------------------------------------------------------------------ ; iOS: Low spec devices ; ------------------------------------------------------------------------------ [iPhone6S DeviceProfile] BaseProfileName=IOS_Low !CVars=ClearArray +CVars=r.MobileContentScaleFactor=2.0 +CVars=sg.ResolutionQuality=70 +CVars=Mobile.SupportsForceFeedback=0 ;+CVars=MobileDPI.FrontEnd=0.67 ;+CVars=MobileDPI.InGame=0.6 [iPhone6SPlus DeviceProfile] BaseProfileName=IOS_Low !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.28 +CVars=Mobile.SupportsForceFeedback=0 ;+CVars=MobileDPI.FrontEnd=0.45 ;+CVars=MobileDPI.InGame=0.45 [iPhoneSE DeviceProfile] BaseProfileName=IOS_Low !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.7 +CVars=Mobile.SupportsForceFeedback=0 +CVars=r.MobileMSAA=1 ;+CVars=MobileDPI.FrontEnd=0.5 ;+CVars=MobileDPI.InGame=0.45 [iPhone6 DeviceProfile] BaseProfileName=IOS_Low !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.0 +CVars=Mobile.SupportsForceFeedback=0 ;+CVars=MobileDPI.FrontEnd=0.5 ;+CVars=MobileDPI.InGame=0.45 [iPhone6Plus DeviceProfile] BaseProfileName=IOS_Low !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.0 +CVars=Mobile.SupportsForceFeedback=0 ;+CVars=MobileDPI.FrontEnd=0.5 ;+CVars=MobileDPI.InGame=0.45 [iPhone5S DeviceProfile] BaseProfileName=IOS_Low !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.0 +CVars=Mobile.SupportsForceFeedback=0 ;+CVars=MobileDPI.FrontEnd=0.5 ;+CVars=MobileDPI.InGame=0.45 [iPad5 DeviceProfile] BaseProfileName=IOS_Low !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.0 +CVars=sg.ResolutionQuality=85 +CVars=Mobile.FormFactor=2 ;+CVars=MobileDPI.FrontEnd=0.525 ;+CVars=MobileDPI.InGame=0.5 [iPadAir2 DeviceProfile] BaseProfileName=IOS_Low !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.0 +CVars=sg.ResolutionQuality=75 +CVars=Mobile.FormFactor=2 +CVars=r.MobileMSAA=1 ;+CVars=MobileDPI.FrontEnd=0.55 ;+CVars=MobileDPI.InGame=0.5 [iPadAir DeviceProfile] BaseProfileName=IOS_Low !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.0 +CVars=r.MobileMSAA=1 ;+CVars=MobileDPI.FrontEnd=0.5 ;+CVars=MobileDPI.InGame=0.45 [iPadMini4 DeviceProfile] BaseProfileName=IOS_Low !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.0 +CVars=Mobile.FormFactor=2 +CVars=r.MobileMSAA=1 ;+CVars=MobileDPI.FrontEnd=0.5 ;+CVars=MobileDPI.InGame=0.55 [iPadMini2 DeviceProfile] BaseProfileName=IOS_Low !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.0 ;+CVars=MobileDPI.FrontEnd=0.5 ;+CVars=MobileDPI.InGame=0.45 [iPadMini3 DeviceProfile] BaseProfileName=IOS_Low !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.0 ;+CVars=MobileDPI.FrontEnd=0.5 ;+CVars=MobileDPI.InGame=0.45 [iPodTouch6 DeviceProfile] BaseProfileName=IOS_Low !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.0 ;+CVars=MobileDPI.FrontEnd=0.5 ;+CVars=MobileDPI.InGame=0.45 ; ------------------------------------------------------------------------------ ; iOS: Mid spec devices ; ------------------------------------------------------------------------------ [iPhone7 DeviceProfile] BaseProfileName=IOS_Mid !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.85 ;+CVars=MobileDPI.FrontEnd=0.625 ;+CVars=MobileDPI.InGame=0.625 [iPhone7Plus DeviceProfile] BaseProfileName=IOS_Mid !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.7 ;+CVars=MobileDPI.FrontEnd=0.65 ;+CVars=MobileDPI.InGame=0.6 [iPadPro129 DeviceProfile] BaseProfileName=IOS_Mid !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.0 +CVars=Mobile.FormFactor=3 ;+CVars=MobileDPI.FrontEnd=0.65 ;+CVars=MobileDPI.InGame=0.65 [iPadPro97 DeviceProfile] BaseProfileName=IOS_Mid !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.25 +CVars=Mobile.FormFactor=2 ;+CVars=MobileDPI.FrontEnd=0.6 ;+CVars=MobileDPI.InGame=0.65 [iPad6 DeviceProfile] BaseProfileName=IOS_Mid !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.25 +CVars=Mobile.FormFactor=2 ;+CVars=MobileDPI.FrontEnd=0.6 ;+CVars=MobileDPI.InGame=0.65 ; ------------------------------------------------------------------------------ ; iOS: High spec devices ; ------------------------------------------------------------------------------ [iPhone8 DeviceProfile] BaseProfileName=IOS_High !CVars=ClearArray +CVars=r.MobileContentScaleFactor=2.0 ;+CVars=MobileDPI.FrontEnd=0.7 ;+CVars=MobileDPI.InGame=0.65 [iPhone8Plus DeviceProfile] BaseProfileName=IOS_High !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.956 ;+CVars=MobileDPI.FrontEnd=0.75 ;+CVars=MobileDPI.InGame=0.7 [iPadPro2_129 DeviceProfile] BaseProfileName=IOS_High !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.23 +CVars=Mobile.FormFactor=3 ; Support 60Hz capped at IOS_Mid quality +CVars=Fort.Mobile.Allow60fpsMode=1 +CVars=Fort.Mobile.MaxQualityIn60fpsMode=1 ;+CVars=MobileDPI.FrontEnd=0.8 ;+CVars=MobileDPI.InGame=0.8 [iPadPro105 DeviceProfile] BaseProfileName=IOS_High !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.3 +CVars=Mobile.FormFactor=2 ; Support 60Hz capped at IOS_Mid quality +CVars=Fort.Mobile.Allow60fpsMode=1 +CVars=Fort.Mobile.MaxQualityIn60fpsMode=1 ;+CVars=MobileDPI.FrontEnd=0.68 ;+CVars=MobileDPI.InGame=0.65 [iPhoneX DeviceProfile] BaseProfileName=IOS_High !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.775 +CVars=r.CustomUnsafeZones="(L:free[0,-15][812,15]);(P:fixed[83,0][206,30])" ; non-notch side +CVars=SafeZone.Landscape.Left=15 +CVars=SafeZone.Landscape.Top=5 ; notch side +CVars=SafeZone.Landscape.Right=26 +CVars=SafeZone.Landscape.Bottom=15 +CVars=Mobile.FormFactor=1 ;+CVars=MobileDPI.FrontEnd=0.7 ;+CVars=MobileDPI.InGame=0.65 ; ------------------------------------------------------------------------------ ; iOS: Epic spec devices ; ------------------------------------------------------------------------------ [iPadPro11 DeviceProfile] BaseProfileName=IOS_Epic !CVars=ClearArray +CVars=r.MobileContentScaleFactor=2.0 +CVars=Mobile.FormFactor=2 ;+CVars=MobileDPI.FrontEnd=0.68 ;+CVars=MobileDPI.InGame=0.65 +CVars=Fort.Mobile.Allow60fpsMode=1 +CVars=Fort.Mobile.MaxQualityIn60fpsMode=2 [iPadPro3_129 DeviceProfile] BaseProfileName=IOS_Epic !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.75 +CVars=Mobile.FormFactor=3 ;+CVars=MobileDPI.FrontEnd=0.8 ;+CVars=MobileDPI.InGame=0.8 +CVars=Fort.Mobile.Allow60fpsMode=1 +CVars=Fort.Mobile.MaxQualityIn60fpsMode=2 [iPhoneXS DeviceProfile] BaseProfileName=IOS_Epic !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.775 +CVars=r.CustomUnsafeZones="(L:free[0,-15][812,15]);(P:fixed[83,0][206,30])" ; non-notch side +CVars=SafeZone.Landscape.Left=15 +CVars=SafeZone.Landscape.Top=5 ; notch side +CVars=SafeZone.Landscape.Right=26 +CVars=SafeZone.Landscape.Bottom=15 +CVars=Mobile.FormFactor=1 ;+CVars=MobileDPI.FrontEnd=0.7 ;+CVars=MobileDPI.InGame=0.65 +CVars=Fort.Mobile.Allow60fpsMode=1 +CVars=Fort.Mobile.MaxQualityIn60fpsMode=2 [iPhoneXSMax DeviceProfile] BaseProfileName=IOS_Epic !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.775 +CVars=r.CustomUnsafeZones="(L:free[0,-15][812,15]);(P:fixed[83,0][206,30])" ; non-notch side +CVars=SafeZone.Landscape.Left=15 +CVars=SafeZone.Landscape.Top=5 ; notch side +CVars=SafeZone.Landscape.Right=26 +CVars=SafeZone.Landscape.Bottom=15 +CVars=Mobile.FormFactor=1 ;+CVars=MobileDPI.FrontEnd=0.7 ;+CVars=MobileDPI.InGame=0.65 +CVars=Fort.Mobile.Allow60fpsMode=1 +CVars=Fort.Mobile.MaxQualityIn60fpsMode=2 [iPhoneXR DeviceProfile] BaseProfileName=IOS_Epic !CVars=ClearArray +CVars=r.MobileContentScaleFactor=1.775 +CVars=r.CustomUnsafeZones="(L:free[0,-15][812,15]);(P:fixed[83,0][206,30])" ; non-notch side +CVars=SafeZone.Landscape.Left=15 +CVars=SafeZone.Landscape.Top=5 ; notch side +CVars=SafeZone.Landscape.Right=26 +CVars=SafeZone.Landscape.Bottom=15 +CVars=Mobile.FormFactor=1 ;+CVars=MobileDPI.FrontEnd=0.7 ;+CVars=MobileDPI.InGame=0.65 +CVars=Fort.Mobile.Allow60fpsMode=1 +CVars=Fort.Mobile.MaxQualityIn60fpsMode=2 ; ------------------------------------------------------------------------------ ; Android: defaults for all devices ; ------------------------------------------------------------------------------ [Android DeviceProfile] DeviceType=Android BaseProfileName=Mobile +TextureLODGroups=(Group=TEXTUREGROUP_HierarchicalLOD, MaxLODSize=1024, MaxLODSize_Smaller=1024, MaxLODSize_Smallest=1024, MaxLODSize_Tiniest=256, LODBias=0, LODBias_Smaller=0, LODBias_Smallest=1, MinMagFilter=aniso, MipFilter=point) !CVars=ClearArray +CVars_Largest=r.Streaming.PoolSize=125 +CVars_Larger=r.Streaming.PoolSize=125 +CVars_Default=r.Streaming.PoolSize=125 +CVars_Smaller=r.Streaming.PoolSize=90 +CVars_Smallest=r.Streaming.PoolSize=50 +CVars_Largest=Fort.Streaming.FrontEndPoolSize=250 +CVars_Larger=Fort.Streaming.FrontEndPoolSize=250 +CVars_Default=Fort.Streaming.FrontEndPoolSize=250 +CVars_Smaller=Fort.Streaming.FrontEndPoolSize=180 +CVars_Smallest=Fort.Streaming.FrontEndPoolSize=100 +CVars_Largest=r.Streaming.MaxTempMemoryAllowed=20 +CVars_Larger=r.Streaming.MaxTempMemoryAllowed=20 +CVars_Default=r.Streaming.MaxTempMemoryAllowed=20 +CVars_Smaller=r.Streaming.MaxTempMemoryAllowed=15 +CVars_Smallest=r.Streaming.MaxTempMemoryAllowed=10 +CVars_Largest=Fort.CosmeticManager.MaxCharacterParts=48 +CVars_Larger=Fort.CosmeticManager.MaxCharacterParts=48 +CVars_Default=Fort.CosmeticManager.MaxCharacterParts=48 +CVars_Smaller=Fort.CosmeticManager.MaxCharacterParts=36 +CVars_Smallest=Fort.CosmeticManager.MaxCharacterParts=18 +CVars=r.MobileContentScaleFactor=1.0 +CVars=r.AllowSubPrimitiveQueries=0 +Cvars=a.UseFrameTimeStampsForPacing=1 +Cvars=r.ShaderPipelineCache.LazyLoadShadersWhenPSOCacheIsPresent=1 +CVars=sg.ResolutionQuality=100 ; Disabling Vulkan support by default, will enable it for specific devices in device profiles +CVars=r.Android.DisableVulkanSupport=1 ; trickle in 10 entries per frame to reduce the black screen +CVars=r.ShaderPipelineCache.BatchSize=10 ; disable dynamic batch size adjustment as we have a modal compling screen +CVars=r.ShaderPipelineCache.BatchTime=0.0 ; this only applies to vulkan and enables the tying of the binary shader cache to the PSOFC +CVars=r.Vulkan.PipelineCacheFromShaderPipelineCache=1 ; acquire next image right after presenting current one +CVars=r.Vulkan.DelayAcquireBackBuffer=2 ; do not submit cmd buffer on every texture unlock, reduces loading time and hitches +CVars=r.Vulkan.SubmitOnTextureUnlock=0 ; ------------------------------------------------------------------------------ ; Android: Scalability buckets for low/med/high ; ------------------------------------------------------------------------------ [Android_Unsupported DeviceProfile] BaseProfileName=Android !CVars=ClearArray ;TODO - display message to the user here ; 20 fps +CVars=Fort.Mobile.DefaultSyncInterval=3 ; Scalability +CVars=sg.ResolutionQuality=75 +CVars=sg.ViewDistanceQuality=0 +CVars=sg.AntiAliasingQuality=0 +CVars=sg.ShadowQuality=0 +CVars=sg.PostProcessQuality=0 +CVars=sg.TextureQuality=0 +CVars=sg.EffectsQuality=0 +CVars=sg.FoliageQuality=0 [Android_Lowest DeviceProfile] BaseProfileName=Android !CVars=ClearArray ; Scalability +CVars=sg.ResolutionQuality=75 +CVars=sg.ViewDistanceQuality=0 +CVars=sg.AntiAliasingQuality=0 +CVars=sg.ShadowQuality=0 +CVars=sg.PostProcessQuality=0 +CVars=sg.TextureQuality=0 +CVars=sg.EffectsQuality=0 +CVars=sg.FoliageQuality=0 ; Applied when in the frontend, browsing the store etc. +CVars=sg.ShadowQuality.Frontend=2 +CVars=sg.TextureQuality.Frontend=2 ; 20 fps +CVars=Fort.Mobile.DefaultSyncInterval=3 [Android_Default DeviceProfile] BaseProfileName=Android_Lowest !CVars=ClearArray ; Android_Low is intended to be similar to IOS_Mid but with reduced draw call counts. [Android_Low DeviceProfile] BaseProfileName=Android !CVars=ClearArray ; Scalability +CVars=sg.ResolutionQuality=75 +CVars=sg.ViewDistanceQuality=1 +CVars=sg.AntiAliasingQuality=1 +CVars=sg.ShadowQuality=1 +CVars=sg.PostProcessQuality=1 +CVars=sg.TextureQuality=1 +CVars=sg.EffectsQuality=1 +CVars=sg.FoliageQuality=1 ; Android_Mid is intended to be similar to IOS_Mid [Android_Mid DeviceProfile] BaseProfileName=Android !CVars=ClearArray ; Scalability +CVars=sg.ResolutionQuality=75 +CVars=sg.ViewDistanceQuality=2 +CVars=sg.AntiAliasingQuality=2 +CVars=sg.ShadowQuality=2 +CVars=sg.PostProcessQuality=2 +CVars=sg.TextureQuality=2 +CVars=sg.EffectsQuality=2 +CVars=sg.FoliageQuality=2 +CVars=sg.ResolutionQuality.Frontend=100 ; Android_High is intended to be similar to IOS_High [Android_High DeviceProfile] BaseProfileName=Android !CVars=ClearArray ; Scalability +CVars=sg.ResolutionQuality=75 +CVars=sg.ViewDistanceQuality=3 +CVars=sg.AntiAliasingQuality=3 +CVars=sg.ShadowQuality=3 +CVars=sg.PostProcessQuality=3 +CVars=sg.TextureQuality=3 +CVars=sg.EffectsQuality=3 +CVars=sg.FoliageQuality=3 +CVars=sg.ResolutionQuality.Frontend=100 ; ------------------------------------------------------------------------------ ; Android: Device-specific settings ; ------------------------------------------------------------------------------ [Android_Atom] BaseProfileName=Android_Unsupported !CVars=ClearArray [Android_Adreno320 DeviceProfile] BaseProfileName=Android_Unsupported !CVars=ClearArray [Android_Adreno330 DeviceProfile] BaseProfileName=Android_Unsupported !CVars=ClearArray +CVars=OpenGL.UseBufferDiscard=0 [Android_Adreno330_Ver53 DeviceProfile] BaseProfileName=Android_Unsupported +CVars=r.DisjointTimerQueries=0 [Android_Adreno4xx DeviceProfile] BaseProfileName=Android_Unsupported !CVars=ClearArray [Android_Adreno4xx_Nexus6 DeviceProfile] BaseProfileName=Android_Adreno4xx !CVars=ClearArray [Android_Adreno51x DeviceProfile] BaseProfileName=Android_Unsupported !CVars=ClearArray [Android_Adreno53x DeviceProfile] BaseProfileName=Android_Lowest !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 [Android_Adreno53x_LRU DeviceProfile] BaseProfileName=Android_Adreno53x !CVars=ClearArray +CVars=r.OpenGL.StoreCompressedProgramBinaries=1 +CVars=r.OpenGL.EnableProgramLRUCache=1 +CVars=r.OpenGL.ProgramLRUCount=10000 +CVars=r.OpenGL.ProgramLRUBinarySize=1000000000 +CVars=r.OpenGL.EvictOnBSSDestruct=1 +CVars=r.OpenGL.EvictOnBSSDestruct.Latency=200 +CVars=r.OpenGL.ProgramLRUKeepBinaryResident=1 [Android_Adreno54x DeviceProfile] BaseProfileName=Android_Mid !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 +CVars=sg.ShadowQuality=0 [Android_Adreno54x_LRU DeviceProfile] BaseProfileName=Android_Adreno54x !CVars=ClearArray +CVars=r.OpenGL.StoreCompressedProgramBinaries=1 +CVars=r.OpenGL.EnableProgramLRUCache=1 +CVars=r.OpenGL.ProgramLRUCount=10000 +CVars=r.OpenGL.ProgramLRUBinarySize=1000000000 +CVars=r.OpenGL.EvictOnBSSDestruct=1 +CVars=r.OpenGL.EvictOnBSSDestruct.Latency=200 +CVars=r.OpenGL.ProgramLRUKeepBinaryResident=1 [Android_Adreno615 DeviceProfile] BaseProfileName=Android_Lowest !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 +CVars=r.MobileContentScaleFactor=0.8 [Android_Adreno61x DeviceProfile] BaseProfileName=Android_Low !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 +CVars=r.MobileContentScaleFactor=0.8 [Android_Adreno6xx DeviceProfile] BaseProfileName=Android_High !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 [Android_Adreno6xx_LRU DeviceProfile] BaseProfileName=Android_Adreno6xx !CVars=ClearArray +CVars=r.OpenGL.StoreCompressedProgramBinaries=1 +CVars=r.OpenGL.EnableProgramLRUCache=1 +CVars=r.OpenGL.ProgramLRUCount=10000 +CVars=r.OpenGL.ProgramLRUBinarySize=1000000000 +CVars=r.OpenGL.EvictOnBSSDestruct=1 +CVars=r.OpenGL.EvictOnBSSDestruct.Latency=200 +CVars=r.OpenGL.ProgramLRUKeepBinaryResident=1 [Android_RazerPhone DeviceProfile] BaseProfileName=Android_High !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 [Android_RazerPhone_Vulkan DeviceProfile] BaseProfileName=Android_High !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 +CVars=r.Android.DisableVulkanSupport=0 [Android_PowerVR DeviceProfile] BaseProfileName=Android_Unsupported !CVars=ClearArray +CVars=r.Android.DisableASTCSupport=1 [Android_IntelHD_ES3 DeviceProfile] BaseProfileName=Android_Unsupported !CVars=ClearArray [Android_Mali_T6xx DeviceProfile] BaseProfileName=Android_Unsupported !CVars=ClearArray +CVars=r.OpenGL.EnableProgramLRUCache=1 [Android_Mali_T7xx DeviceProfile] BaseProfileName=Android_Unsupported !CVars=ClearArray +CVars=r.OpenGL.EnableProgramLRUCache=1 [Android_Mali_T8xx DeviceProfile] BaseProfileName=Android_Lowest !CVars=ClearArray +CVars=r.OpenGL.EnableProgramLRUCache=1 [Android_Mali_G71 DeviceProfile] BaseProfileName=Android_Low !CVars=ClearArray +CVars=sg.ResolutionQuality=75 +CVars=r.OpenGL.EnableProgramLRUCache=1 [Android_Mali_G71_MP8 DeviceProfile] BaseProfileName=Android_Lowest !CVars=ClearArray +CVars=sg.ResolutionQuality=75 +CVars=r.OpenGL.EnableProgramLRUCache=1 [Android_Mali_G72 DeviceProfile] BaseProfileName=Android_Mid !CVars=ClearArray +CVars=r.OpenGL.EnableProgramLRUCache=1 [Android_Mali_G76 DeviceProfile] BaseProfileName=Android_Mid !CVars=ClearArray +CVars=r.OpenGL.EnableProgramLRUCache=1 [Android_Mali_G76_High DeviceProfile] BaseProfileName=Android_High !CVars=ClearArray +CVars=r.OpenGL.EnableProgramLRUCache=1 [Android_Mali_G76_Vulkan DeviceProfile] BaseProfileName=Android_High !CVars=ClearArray +CVars=r.Android.DisableVulkanSupport=0 [Android_TegraK1 DeviceProfile] BaseProfileName=Android_Unsupported !CVars=ClearArray ; ------------------------------------------------------------------------------ ; Android: Samsung Device-specific settings ; ------------------------------------------------------------------------------ ; Samsung Mali [Android_Galaxy_S7_Mali DeviceProfile] BaseProfileName=Android_Lowest !CVars=ClearArray +CVars=r.OpenGL.EnableProgramLRUCache=1 [Android_Galaxy_S7_Mali_Vulkan DeviceProfile] BaseProfileName=Android_Lowest !CVars=ClearArray +CVars= r.Vulkan.EnablePipelineLRUCache=1 +CVars=r.Android.DisableVulkanSupport=0 ;work around for quickbar disappearing. (empty clear renderpass bug on Mali) +CVars=Slate.EnableRetainedRendering=0 [Android_Galaxy_S8_Mali DeviceProfile] BaseProfileName=Android_Low !CVars=ClearArray +CVars=r.OpenGL.EnableProgramLRUCache=1 [Android_Galaxy_S8_Mali_LowMem DeviceProfile] BaseProfileName=Android_Galaxy_S8_Mali !CVars=ClearArray +CVars_Largest=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Larger=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Default=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Smaller=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Smallest=Fort.CosmeticManager.MaxCharacterParts=18 [Android_Galaxy_S8_Mali_LowMem2 DeviceProfile] BaseProfileName=Android_Galaxy_S8_Mali !CVars=ClearArray +CVars_Largest=r.Streaming.PoolSize=50 +CVars_Larger=r.Streaming.PoolSize=50 +CVars_Default=r.Streaming.PoolSize=50 +CVars_Smaller=r.Streaming.PoolSize=50 +CVars_Smallest=r.Streaming.PoolSize=50 +CVars_Largest=Fort.Streaming.FrontEndPoolSize=100 +CVars_Larger=Fort.Streaming.FrontEndPoolSize=100 +CVars_Default=Fort.Streaming.FrontEndPoolSize=100 +CVars_Smaller=Fort.Streaming.FrontEndPoolSize=100 +CVars_Smallest=Fort.Streaming.FrontEndPoolSize=100 +CVars_Largest=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Larger=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Default=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Smaller=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Smallest=Fort.CosmeticManager.MaxCharacterParts=18 [Android_Galaxy_S8_Mali_Vulkan DeviceProfile] BaseProfileName=Android_Galaxy_S8_Mali !CVars=ClearArray +CVars=r.Vulkan.EnablePipelineLRUCache=1 +CVars=r.Android.DisableVulkanSupport=0 ;work around for quickbar disappearing. (empty clear renderpass bug on Mali) +CVars=Slate.EnableRetainedRendering=0 [Android_Galaxy_Note8_Mali DeviceProfile] BaseProfileName=Android_Low !CVars=ClearArray +CVars=r.OpenGL.EnableProgramLRUCache=1 [Android_Galaxy_Note8_Mali_Vulkan DeviceProfile] BaseProfileName=Android_Low !CVars=ClearArray +CVars= r.Vulkan.EnablePipelineLRUCache=1 +CVars=r.Android.DisableVulkanSupport=0 ;work around for quickbar disappearing. (empty clear renderpass bug on Mali) +CVars=Slate.EnableRetainedRendering=0 [Android_Galaxy_S9_Mali DeviceProfile] BaseProfileName=Android_Mid !CVars=ClearArray +CVars=r.OpenGL.EnableProgramLRUCache=1 [Android_Galaxy_S9_Mali_Vulkan DeviceProfile] BaseProfileName=Android_Galaxy_S9_Mali !CVars=ClearArray +CVars= r.Vulkan.EnablePipelineLRUCache=1 +CVars=r.Android.DisableVulkanSupport=0 ;work around for quickbar disappearing. (empty clear renderpass bug on Mali) +CVars=Slate.EnableRetainedRendering=0 [Android_Galaxy_S9Plus_Mali DeviceProfile] BaseProfileName=Android_Mid !CVars=ClearArray +CVars=r.OpenGL.EnableProgramLRUCache=1 [Android_Galaxy_S9Plus_Mali_Vulkan DeviceProfile] BaseProfileName=Android_Galaxy_S9Plus_Mali !CVars=ClearArray +CVars= r.Vulkan.EnablePipelineLRUCache=1 +CVars=r.Android.DisableVulkanSupport=0 ;work around for quickbar disappearing. (empty clear renderpass bug on Mali) +CVars=Slate.EnableRetainedRendering=0 [Android_Galaxy_Note9_Mali DeviceProfile] BaseProfileName=Android_Mid !CVars=ClearArray +CVars=r.OpenGL.EnableProgramLRUCache=1 ; Note9 has 32MB for shaders +CVars=r.OpenGL.ProgramLRUCount=1000 [Android_Galaxy_Note9_Mali_Vulkan DeviceProfile] BaseProfileName=Android_Mid !CVars=ClearArray +CVars= r.Vulkan.EnablePipelineLRUCache=1 ; 20MB +CVars=r.Vulkan.PipelineLRUSize=20971520 +CVars=r.Android.DisableVulkanSupport=0 ;work around for quickbar disappearing. (empty clear renderpass bug on Mali) +CVars=Slate.EnableRetainedRendering=0 ; Samsung Adreno [Android_Galaxy_A9_Adreno DeviceProfile] BaseProfileName=Android_Lowest !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 +CVars=r.MobileContentScaleFactor=0.8 [Android_Galaxy_A9_Adreno_LRU DeviceProfile] BaseProfileName=Android_Galaxy_A9_Adreno !CVars=ClearArray +CVars=r.OpenGL.StoreCompressedProgramBinaries=1 +CVars=r.OpenGL.EnableProgramLRUCache=1 +CVars=r.OpenGL.ProgramLRUCount=10000 +CVars=r.OpenGL.ProgramLRUBinarySize=1000000000 +CVars=r.OpenGL.EvictOnBSSDestruct=1 +CVars=r.OpenGL.EvictOnBSSDestruct.Latency=200 +CVars=r.OpenGL.ProgramLRUKeepBinaryResident=1 [Android_Galaxy_S7_Adreno DeviceProfile] BaseProfileName=Android_Lowest !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 [Android_Galaxy_S7_Adreno_Vulkan DeviceProfile] BaseProfileName=Android_Lowest !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 +CVars=r.Android.DisableVulkanSupport=0 [Android_Galaxy_S7_Adreno_LRU DeviceProfile] BaseProfileName=Android_Galaxy_S7_Adreno !CVars=ClearArray +CVars=r.OpenGL.StoreCompressedProgramBinaries=1 +CVars=r.OpenGL.EnableProgramLRUCache=1 +CVars=r.OpenGL.ProgramLRUCount=10000 +CVars=r.OpenGL.ProgramLRUBinarySize=1000000000 +CVars=r.OpenGL.EvictOnBSSDestruct=1 +CVars=r.OpenGL.EvictOnBSSDestruct.Latency=200 +CVars=r.OpenGL.ProgramLRUKeepBinaryResident=1 [Android_Galaxy_TabS3_Adreno DeviceProfile] BaseProfileName=Android_Lowest !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 +CVars=r.MobileContentScaleFactor=1.5 +CVars=sg.ResolutionQuality=75 [Android_Galaxy_TabS3_Adreno_Safe DeviceProfile] BaseProfileName=Android_Lowest !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 [Android_Galaxy_TabS3_Adreno_Vulkan DeviceProfile] BaseProfileName=Android_Lowest !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 +CVars=r.Android.DisableVulkanSupport=0 [Android_Galaxy_TabS3_Adreno_LRU DeviceProfile] BaseProfileName=Android_Galaxy_TabS3_Adreno !CVars=ClearArray +CVars=r.OpenGL.StoreCompressedProgramBinaries=1 +CVars=r.OpenGL.EnableProgramLRUCache=1 +CVars=r.OpenGL.ProgramLRUCount=10000 +CVars=r.OpenGL.ProgramLRUBinarySize=1000000000 +CVars=r.OpenGL.EvictOnBSSDestruct=1 +CVars=r.OpenGL.EvictOnBSSDestruct.Latency=200 +CVars=r.OpenGL.ProgramLRUKeepBinaryResident=1 [Android_Galaxy_S8_Adreno DeviceProfile] BaseProfileName=Android_Low !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 [Android_Galaxy_S8_Adreno_LowMem DeviceProfile] BaseProfileName=Android_Galaxy_S8_Adreno !CVars=ClearArray +CVars_Largest=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Larger=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Default=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Smaller=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Smallest=Fort.CosmeticManager.MaxCharacterParts=18 +CVars=sg.ShadowQuality=0 [Android_Galaxy_S8_Adreno_LowMem2 DeviceProfile] BaseProfileName=Android_Galaxy_S8_Adreno !CVars=ClearArray +CVars_Largest=r.Streaming.PoolSize=50 +CVars_Larger=r.Streaming.PoolSize=50 +CVars_Default=r.Streaming.PoolSize=50 +CVars_Smaller=r.Streaming.PoolSize=50 +CVars_Smallest=r.Streaming.PoolSize=50 +CVars_Largest=Fort.Streaming.FrontEndPoolSize=100 +CVars_Larger=Fort.Streaming.FrontEndPoolSize=100 +CVars_Default=Fort.Streaming.FrontEndPoolSize=100 +CVars_Smaller=Fort.Streaming.FrontEndPoolSize=100 +CVars_Smallest=Fort.Streaming.FrontEndPoolSize=100 +CVars_Largest=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Larger=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Default=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Smaller=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Smallest=Fort.CosmeticManager.MaxCharacterParts=18 [Android_Galaxy_S8_Adreno_Vulkan DeviceProfile] BaseProfileName=Android_Galaxy_S8_Adreno !CVars=ClearArray +CVars=r.Android.DisableVulkanSupport=0 [Android_Galaxy_S8_Adreno_LRU DeviceProfile] BaseProfileName=Android_Galaxy_S8_Adreno !CVars=ClearArray +CVars=r.OpenGL.StoreCompressedProgramBinaries=1 +CVars=r.OpenGL.EnableProgramLRUCache=1 +CVars=r.OpenGL.ProgramLRUCount=10000 +CVars=r.OpenGL.ProgramLRUBinarySize=1000000000 +CVars=r.OpenGL.EvictOnBSSDestruct=1 +CVars=r.OpenGL.EvictOnBSSDestruct.Latency=200 +CVars=r.OpenGL.ProgramLRUKeepBinaryResident=1 [Android_Galaxy_TabS4_Adreno DeviceProfile] BaseProfileName=Android_Mid !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 +CVars=r.MobileContentScaleFactor=1.25 +CVars=sg.ResolutionQuality=75 [Android_Galaxy_TabS4_Adreno_Safe DeviceProfile] BaseProfileName=Android_Mid !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 [Android_Galaxy_TabS4_Adreno_Vulkan DeviceProfile] BaseProfileName=Android_Mid !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 +CVars=r.Android.DisableVulkanSupport=0 [Android_Galaxy_TabS4_Adreno_LRU DeviceProfile] BaseProfileName=Android_Galaxy_TabS4_Adreno !CVars=ClearArray +CVars=r.OpenGL.StoreCompressedProgramBinaries=1 +CVars=r.OpenGL.EnableProgramLRUCache=1 +CVars=r.OpenGL.ProgramLRUCount=10000 +CVars=r.OpenGL.ProgramLRUBinarySize=1000000000 +CVars=r.OpenGL.EvictOnBSSDestruct=1 +CVars=r.OpenGL.EvictOnBSSDestruct.Latency=200 +CVars=r.OpenGL.ProgramLRUKeepBinaryResident=1 [Android_Galaxy_Note8_Adreno DeviceProfile] BaseProfileName=Android_Mid !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 [Android_Galaxy_Note8_Adreno_Vulkan DeviceProfile] BaseProfileName=Android_Mid !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 +CVars=r.Android.DisableVulkanSupport=0 [Android_Galaxy_S9_Adreno DeviceProfile] BaseProfileName=Android_High !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 [Android_Galaxy_S9_Adreno_LowMem DeviceProfile] BaseProfileName=Android_Galaxy_S9_Adreno !CVars=ClearArray +CVars_Largest=r.Streaming.PoolSize=80 +CVars_Larger=r.Streaming.PoolSize=80 +CVars_Default=r.Streaming.PoolSize=80 +CVars_Smaller=r.Streaming.PoolSize=80 +CVars_Smallest=r.Streaming.PoolSize=80 +CVars_Largest=Fort.Streaming.FrontEndPoolSize=160 +CVars_Larger=Fort.Streaming.FrontEndPoolSize=160 +CVars_Default=Fort.Streaming.FrontEndPoolSize=160 +CVars_Smaller=Fort.Streaming.FrontEndPoolSize=160 +CVars_Smallest=Fort.Streaming.FrontEndPoolSize=160 +CVars_Largest=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Larger=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Default=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Smaller=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Smallest=Fort.CosmeticManager.MaxCharacterParts=18 +CVars=sg.ShadowQuality=0 [Android_Galaxy_S9_Adreno_LowMem3 DeviceProfile] BaseProfileName=Android_Galaxy_S9_Adreno !CVars=ClearArray +CVars_Largest=r.Streaming.PoolSize=80 +CVars_Larger=r.Streaming.PoolSize=80 +CVars_Default=r.Streaming.PoolSize=80 +CVars_Smaller=r.Streaming.PoolSize=80 +CVars_Smallest=r.Streaming.PoolSize=80 +CVars_Largest=Fort.Streaming.FrontEndPoolSize=160 +CVars_Larger=Fort.Streaming.FrontEndPoolSize=160 +CVars_Default=Fort.Streaming.FrontEndPoolSize=160 +CVars_Smaller=Fort.Streaming.FrontEndPoolSize=160 +CVars_Smallest=Fort.Streaming.FrontEndPoolSize=160 +CVars_Largest=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Larger=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Default=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Smaller=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Smallest=Fort.CosmeticManager.MaxCharacterParts=18 +CVars=sg.ShadowQuality=0 +CVars=sg.FoliageQuality=0 +CVars=grass.DiscardDataOnLoad=1 +CVars=foliage.DiscardDataOnLoad=1 [Android_Galaxy_S9_Adreno_LowMem2 DeviceProfile] BaseProfileName=Android_Galaxy_S9_Adreno !CVars=ClearArray +CVars_Largest=r.Streaming.PoolSize=50 +CVars_Larger=r.Streaming.PoolSize=50 +CVars_Default=r.Streaming.PoolSize=50 +CVars_Smaller=r.Streaming.PoolSize=50 +CVars_Smallest=r.Streaming.PoolSize=50 +CVars_Largest=Fort.Streaming.FrontEndPoolSize=100 +CVars_Larger=Fort.Streaming.FrontEndPoolSize=100 +CVars_Default=Fort.Streaming.FrontEndPoolSize=100 +CVars_Smaller=Fort.Streaming.FrontEndPoolSize=100 +CVars_Smallest=Fort.Streaming.FrontEndPoolSize=100 +CVars_Largest=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Larger=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Default=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Smaller=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Smallest=Fort.CosmeticManager.MaxCharacterParts=18 [Android_Galaxy_S9_Adreno_LowMemLRU DeviceProfile] BaseProfileName=Android_Galaxy_S9_Adreno_LowMem !CVars=ClearArray +CVars=r.OpenGL.StoreCompressedProgramBinaries=1 +CVars=r.OpenGL.EnableProgramLRUCache=1 +CVars=r.OpenGL.ProgramLRUCount=10000 +CVars=r.OpenGL.ProgramLRUBinarySize=1000000000 +CVars=r.OpenGL.EvictOnBSSDestruct=1 +CVars=r.OpenGL.EvictOnBSSDestruct.Latency=200 +CVars=r.OpenGL.ProgramLRUKeepBinaryResident=1 [Android_Galaxy_S9_Adreno_LRU DeviceProfile] BaseProfileName=Android_Galaxy_S9_Adreno !CVars=ClearArray +CVars=r.OpenGL.StoreCompressedProgramBinaries=1 +CVars=r.OpenGL.EnableProgramLRUCache=1 +CVars=r.OpenGL.ProgramLRUCount=10000 +CVars=r.OpenGL.ProgramLRUBinarySize=1000000000 +CVars=r.OpenGL.EvictOnBSSDestruct=1 +CVars=r.OpenGL.EvictOnBSSDestruct.Latency=200 +CVars=r.OpenGL.ProgramLRUKeepBinaryResident=1 [Android_Galaxy_S9_Adreno_Vulkan DeviceProfile] BaseProfileName=Android_Galaxy_S9_Adreno +CVars=r.Android.DisableVulkanSupport=0 [Android_Galaxy_S9Plus_Adreno DeviceProfile] BaseProfileName=Android_High !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 [Android_Galaxy_S9Plus_Adreno_Vulkan DeviceProfile] BaseProfileName=Android_Galaxy_S9Plus_Adreno !CVars=ClearArray +CVars=r.Android.DisableVulkanSupport=0 [Android_Galaxy_Note9_Adreno DeviceProfile] BaseProfileName=Android_High !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 [Android_Galaxy_Note9_Adreno_Vulkan DeviceProfile] BaseProfileName=Android_High !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 +CVars=r.Android.DisableVulkanSupport=0 [Android_Galaxy_Note9_Adreno_Vulkan_60 DeviceProfile] BaseProfileName=Android_Galaxy_Note9_Adreno_Vulkan !CVars=ClearArray +CVars=Fort.Mobile.Allow60fpsMode=1 +CVars=Fort.Mobile.MaxQualityIn60fpsMode=2 +CVars=Fort.Mobile.60FPS.MaxResQuality=75 [Android_Galaxy_S10Lite_Adreno_Vulkan_60 DeviceProfile] BaseProfileName=Android_High !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 +CVars=r.Android.DisableVulkanSupport=0 +CVars=Fort.Mobile.Allow60fpsMode=1 +CVars=Fort.Mobile.MaxQualityIn60fpsMode=2 +CVars=Fort.Mobile.60FPS.MaxResQuality=75 [Android_Galaxy_S10Lite_Mali_Vulkan_60 DeviceProfile] BaseProfileName=Android_High !CVars=ClearArray +CVars= r.Vulkan.EnablePipelineLRUCache=1 ; 20MB +CVars=r.Vulkan.PipelineLRUSize=20971520 +CVars=r.Android.DisableVulkanSupport=0 ;work around for quickbar disappearing. (empty clear renderpass bug on Mali) +CVars=Slate.EnableRetainedRendering=0 +CVars=Fort.Mobile.Allow60fpsMode=1 +CVars=Fort.Mobile.MaxQualityIn60fpsMode=2 +CVars=Fort.Mobile.60FPS.MaxResQuality=75 [Android_Galaxy_S10_Adreno_Vulkan_60 DeviceProfile] BaseProfileName=Android_High !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 +CVars=r.Android.DisableVulkanSupport=0 +CVars=Fort.Mobile.Allow60fpsMode=1 +CVars=Fort.Mobile.MaxQualityIn60fpsMode=2 +CVars=Fort.Mobile.60FPS.MaxResQuality=75 [Android_Galaxy_S10_Mali_Vulkan_60 DeviceProfile] BaseProfileName=Android_High !CVars=ClearArray +CVars= r.Vulkan.EnablePipelineLRUCache=1 ; 20MB +CVars=r.Vulkan.PipelineLRUSize=20971520 +CVars=r.Android.DisableVulkanSupport=0 ;work around for quickbar disappearing. (empty clear renderpass bug on Mali) +CVars=Slate.EnableRetainedRendering=0 +CVars=Fort.Mobile.Allow60fpsMode=1 +CVars=Fort.Mobile.MaxQualityIn60fpsMode=2 +CVars=Fort.Mobile.60FPS.MaxResQuality=75 [Android_Galaxy_S10Plus_Adreno_Vulkan_60 DeviceProfile] BaseProfileName=Android_High !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 +CVars=r.Android.DisableVulkanSupport=0 +CVars=Fort.Mobile.Allow60fpsMode=1 +CVars=Fort.Mobile.MaxQualityIn60fpsMode=2 +CVars=Fort.Mobile.60FPS.MaxResQuality=75 [Android_Galaxy_S10Plus_Mali_Vulkan_60 DeviceProfile] BaseProfileName=Android_High !CVars=ClearArray +CVars= r.Vulkan.EnablePipelineLRUCache=1 ; 20MB +CVars=r.Vulkan.PipelineLRUSize=20971520 +CVars=r.Android.DisableVulkanSupport=0 ;work around for quickbar disappearing. (empty clear renderpass bug on Mali) +CVars=Slate.EnableRetainedRendering=0 +CVars=Fort.Mobile.Allow60fpsMode=1 +CVars=Fort.Mobile.MaxQualityIn60fpsMode=2 +CVars=Fort.Mobile.60FPS.MaxResQuality=75 ; ------------------------------------------------------------------------------ ; Android: Huawei devices ; ------------------------------------------------------------------------------ [Android_Honor_View20_60 DeviceProfile] BaseProfileName=Android_High !CVars=ClearArray +CVars=r.OpenGL.EnableProgramLRUCache=1 +CVars=Fort.Mobile.Allow60fpsMode=1 +CVars=Fort.Mobile.MaxQualityIn60fpsMode=2 +CVars=Fort.Mobile.60FPS.MaxResQuality=75 ; Ensure we get aniso even when clamping quality for 60fps +CVars=r.MaxAnisotropy=4 [Android_Huawei_Mate20 DeviceProfile] BaseProfileName=Android_High !CVars=ClearArray +CVars=r.OpenGL.EnableProgramLRUCache=1 ; Ensure we get aniso even when clamping quality for 60fps +CVars=r.MaxAnisotropy=4 [Android_Huawei_Mate20X_60 DeviceProfile] BaseProfileName=Android_High !CVars=ClearArray +CVars=r.OpenGL.EnableProgramLRUCache=1 +CVars=Fort.Mobile.Allow60fpsMode=1 +CVars=Fort.Mobile.MaxQualityIn60fpsMode=2 +CVars=Fort.Mobile.60FPS.MaxResQuality=75 ; Ensure we get aniso even when clamping quality for 60fps +CVars=r.MaxAnisotropy=4 [Android_Huawei_Mate20Pro DeviceProfile] BaseProfileName=Android_High !CVars=ClearArray +CVars=r.OpenGL.EnableProgramLRUCache=1 ; Ensure we get aniso even when clamping quality for 60fps +CVars=r.MaxAnisotropy=4 [Android_Xiaomi_MI9 DeviceProfile] BaseProfileName=Android_High !CVars=ClearArray +CVars=r.OpenGL.EnableProgramLRUCache=1 +CVars=Fort.Mobile.Allow60fpsMode=1 +CVars=Fort.Mobile.MaxQualityIn60fpsMode=2 +CVars=Fort.Mobile.60FPS.MaxResQuality=75 ; Ensure we get aniso even when clamping quality for 60fps +CVars=r.MaxAnisotropy=4 ; ------------------------------------------------------------------------------ ; Android: Pixel devices ; ------------------------------------------------------------------------------ [Android_Pixel DeviceProfile] BaseProfileName=Android_Lowest !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 ; settings to reduce memory for google devices ;+CVars=r.MobileContentScaleFactor=.75 +CVars=sg.ShadowQuality=0 +CVars=sg.FoliageQuality=0 +CVars=grass.DiscardDataOnLoad=1 +CVars=foliage.DiscardDataOnLoad=1 +CVars_Smaller=r.Streaming.PoolSize=65 +CVars_Smaller=Fort.Streaming.FrontEndPoolSize=130 ; Sync at 20 fps +CVars=Fort.Mobile.DefaultSyncInterval=3 +CVars_Largest=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Larger=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Default=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Smaller=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Smallest=Fort.CosmeticManager.MaxCharacterParts=18 [Android_Pixel_Vulkan DeviceProfile] BaseProfileName=Android_Pixel !CVars=ClearArray +CVars=r.Android.DisableVulkanSupport=0 [Android_Pixel_LRU DeviceProfile] BaseProfileName=Android_Pixel !CVars=ClearArray +CVars=r.OpenGL.StoreCompressedProgramBinaries=1 +CVars=r.OpenGL.EnableProgramLRUCache=1 +CVars=r.OpenGL.ProgramLRUCount=10000 +CVars=r.OpenGL.ProgramLRUBinarySize=1000000000 +CVars=r.OpenGL.EvictOnBSSDestruct=1 +CVars=r.OpenGL.EvictOnBSSDestruct.Latency=200 +CVars=r.OpenGL.ProgramLRUKeepBinaryResident=1 [Android_PixelXL DeviceProfile] BaseProfileName=Android_Lowest !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 ; settings to reduce memory for XL devices ;+CVars=r.MobileContentScaleFactor=.75 +CVars=sg.ShadowQuality=0 +CVars=sg.FoliageQuality=0 +CVars=grass.DiscardDataOnLoad=1 +CVars=foliage.DiscardDataOnLoad=1 +CVars_Smaller=r.Streaming.PoolSize=65 +CVars_Smaller=Fort.Streaming.FrontEndPoolSize=130 ; Sync at 20 fps +CVars=Fort.Mobile.DefaultSyncInterval=3 +CVars_Largest=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Larger=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Default=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Smaller=Fort.CosmeticManager.MaxCharacterParts=18 +CVars_Smallest=Fort.CosmeticManager.MaxCharacterParts=18 [Android_PixelXL_Vulkan DeviceProfile] BaseProfileName=Android_PixelXL !CVars=ClearArray +CVars=r.Android.DisableVulkanSupport=0 [Android_PixelXL_LRU DeviceProfile] BaseProfileName=Android_PixelXL !CVars=ClearArray +CVars=r.OpenGL.StoreCompressedProgramBinaries=1 +CVars=r.OpenGL.EnableProgramLRUCache=1 +CVars=r.OpenGL.ProgramLRUCount=10000 +CVars=r.OpenGL.ProgramLRUBinarySize=1000000000 +CVars=r.OpenGL.EvictOnBSSDestruct=1 +CVars=r.OpenGL.EvictOnBSSDestruct.Latency=200 +CVars=r.OpenGL.ProgramLRUKeepBinaryResident=1 [Android_Pixel2 DeviceProfile] BaseProfileName=Android_High !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 [Android_Pixel2_Safe DeviceProfile] BaseProfileName=Android_Mid !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 ; settings to reduce memory for google devices ;+CVars=r.MobileContentScaleFactor=.75 +CVars=sg.ShadowQuality=0 +CVars=sg.FoliageQuality=0 +CVars=grass.DiscardDataOnLoad=1 +CVars=foliage.DiscardDataOnLoad=1 +CVars_Smaller=r.Streaming.PoolSize=65 +CVars_Smaller=Fort.Streaming.FrontEndPoolSize=130 [Android_Pixel2_Vulkan DeviceProfile] BaseProfileName=Android_Mid !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 +CVars=r.Android.DisableVulkanSupport=0 ; settings to reduce memory for google devices ;+CVars=r.MobileContentScaleFactor=.75 +CVars=sg.ShadowQuality=0 +CVars=sg.FoliageQuality=0 +CVars=grass.DiscardDataOnLoad=1 +CVars=foliage.DiscardDataOnLoad=1 +CVars_Smaller=r.Streaming.PoolSize=65 +CVars_Smaller=Fort.Streaming.FrontEndPoolSize=130 [Android_Pixel2XL DeviceProfile] BaseProfileName=Android_High !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 [Android_Pixel2XL_LRU DeviceProfile] BaseProfileName=Android_Pixel2XL !CVars=ClearArray +CVars=r.OpenGL.StoreCompressedProgramBinaries=1 +CVars=r.OpenGL.EnableProgramLRUCache=1 +CVars=r.OpenGL.ProgramLRUCount=10000 +CVars=r.OpenGL.ProgramLRUBinarySize=1000000000 +CVars=r.OpenGL.EvictOnBSSDestruct=1 +CVars=r.OpenGL.EvictOnBSSDestruct.Latency=200 +CVars=r.OpenGL.ProgramLRUKeepBinaryResident=1 [Android_Pixel2XL_Safe DeviceProfile] BaseProfileName=Android_Mid !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 ; settings to reduce memory for XL devices ;+CVars=r.MobileContentScaleFactor=.75 +CVars=sg.ShadowQuality=0 +CVars=sg.FoliageQuality=0 +CVars=grass.DiscardDataOnLoad=1 +CVars=foliage.DiscardDataOnLoad=1 +CVars_Smaller=r.Streaming.PoolSize=65 +CVars_Smaller=Fort.Streaming.FrontEndPoolSize=130 [Android_Pixel2XL_Vulkan DeviceProfile] BaseProfileName=Android_Mid !CVars=ClearArray +CVars=r.DisjointTimerQueries=1 +CVars=r.Android.DisableVulkanSupport=0 ; settings to reduce memory for XL devices ;+CVars=r.MobileContentScaleFactor=.75 +CVars=sg.ShadowQuality=0 +CVars=sg.FoliageQuality=0 +CVars=grass.DiscardDataOnLoad=1 +CVars=foliage.DiscardDataOnLoad=1 +CVars_Smaller=r.Streaming.PoolSize=65 +CVars_Smaller=Fort.Streaming.FrontEndPoolSize=130 [Android_Pixel3 DeviceProfile] BaseProfileName=Android_Adreno6xx_LRU [Android_Pixel3XL DeviceProfile] BaseProfileName=Android_Adreno6xx_LRU ; ------------------------------------------------------------------------------ ; Android: Rules for matching devices ; ------------------------------------------------------------------------------ [/Script/AndroidDeviceProfileSelector.AndroidDeviceProfileMatchingRules] !MatchProfile=CLEAR_ARRAY ; Don't support ES2 devices (eg Mali 4xx, Adreno 2xx, PowerVR SGX 5xx and others) MatchProfile=(Profile="Android_Unsupported",Match=((SourceType=SRC_GlVersion,CompareType=CMP_Regex,MatchString="^OpenGL ES 2\\."))) ; Don't currently support ES 3.0-only devices +MatchProfile=(Profile="Android_Unsupported",Match=((SourceType=SRC_GlVersion,CompareType=CMP_Regex,MatchString="^OpenGL ES 3\\.0"))) ; All the below are based on Android_Lowest +MatchProfile=(Profile="Android_Atom",Match=((SourceType=SRC_UsingHoudini,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_PowerVR",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="PowerVR"))) +MatchProfile=(Profile="Android_Adreno320",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Equal,MatchString="Adreno (TM) 320"))) +MatchProfile=(Profile="Android_Adreno330_Ver53",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Equal,MatchString="Adreno (TM) 330"),(SourceType=SRC_GlVersion,CompareType=CMP_Regex,MatchString="ES 3\\.0 V@([0-9]+)"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="53"))) +MatchProfile=(Profile="Android_Adreno330",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Equal,MatchString="Adreno (TM) 330"))) +MatchProfile=(Profile="Android_Adreno4xx_Nexus6",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Equal,MatchString="Nexus 6"))) +MatchProfile=(Profile="Android_Adreno4xx",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="Adreno \\(TM\\) 4[0-9][0-9]"))) +MatchProfile=(Profile="Android_Mali_T6xx",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="^Mali\\-T6"))) +MatchProfile=(Profile="Android_Mali_T7xx",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="^Mali\\-T7"))) ; Samsung Galaxy - Mali Devices ; Vulkan, currently disabled unless -detectvulkan is passed. +MatchProfile=(Profile="Android_Galaxy_S7_Mali_Vulkan", Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-[GN]93[05][NFSKLW]"),(SourceType=SRC_AndroidVersion, CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S8_Mali_Vulkan", Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G95[05]F"),(SourceType=SRC_AndroidVersion, CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_DeviceBuildNumber, CompareType=CMP_Regex,MatchString=".*([A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9])"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="CRD1"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S8_Mali_Vulkan", Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G95[05][NKLS]"),(SourceType=SRC_AndroidVersion, CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_DeviceBuildNumber, CompareType=CMP_Regex,MatchString=".*([A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9])"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="CRD7"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_Note8_Mali_Vulkan", Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-N95[05]F"),(SourceType=SRC_AndroidVersion, CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_DeviceBuildNumber, CompareType=CMP_Regex,MatchString=".*([A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9])"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="CRF4"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_Note8_Mali_Vulkan", Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-N95[05][NKLS]"),(SourceType=SRC_AndroidVersion, CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_DeviceBuildNumber, CompareType=CMP_Regex,MatchString=".*([A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9])"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="CRD3"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S9_Mali_Vulkan", Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G960[FNKLS]"),(SourceType=SRC_AndroidVersion, CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_DeviceBuildNumber, CompareType=CMP_Regex,MatchString=".*([A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9])"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="ARF1"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S9Plus_Mali_Vulkan", Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G965[FNKLS]"),(SourceType=SRC_AndroidVersion, CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_DeviceBuildNumber, CompareType=CMP_Regex,MatchString=".*([A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9])"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="ARF1"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) ; Vulkan, enabled by default +MatchProfile=(Profile="Android_Galaxy_S10Lite_Mali_Vulkan_60",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G970[FNKLS]"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S10Lite_Mali_Vulkan_60",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G970X[NX]"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S10_Mali_Vulkan_60",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G973[FNKLS]"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S10_Mali_Vulkan_60",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G973X[NX]"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S10Plus_Mali_Vulkan_60",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G975[FNKLS]"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S10Plus_Mali_Vulkan_60",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G975X[NX]"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) ; Fall back to ES 3.1 +MatchProfile=(Profile="Android_Galaxy_S7_Mali",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-[GN]93[05][NFSKLW]"))) +MatchProfile=(Profile="Android_Galaxy_S8_Mali_LowMem",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G95[05][FNKLS]"))) +MatchProfile=(Profile="Android_Galaxy_Note8_Mali", Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-N95[05][FNKLS]"))) +MatchProfile=(Profile="Android_Galaxy_S9_Mali",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G960[FNKLS]"))) +MatchProfile=(Profile="Android_Galaxy_S9Plus_Mali",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G965[FNKLS]"))) ; Samsung Galaxy - Adreno Devices ; Vulkan, currently disabled unless -detectvulkan is passed. +MatchProfile=(Profile="Android_Galaxy_S7_Adreno_Vulkan",Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G93[05]"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S7_Adreno_Vulkan",Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceModel,CompareType=CMP_Equal,MatchString="SC-02"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S7_Adreno_Vulkan",Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SCV33"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S7_Adreno_Vulkan",Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G891[AU]"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_TabS3_Adreno_Vulkan",Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-T82[057]"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S8_Adreno_Vulkan",Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G95[05]"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S8_Adreno_Vulkan",Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SC\\-0[23]J"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S8_Adreno_Vulkan",Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SCV3[56]"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S8_Adreno_Vulkan",Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G892[AU]"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_TabS4_Adreno_Vulkan",Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-T83[057]"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_Note8_Adreno_Vulkan",Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-N95[05]"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_Note8_Adreno_Vulkan",Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SC\\-01K"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_Note8_Adreno_Vulkan",Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SCV37"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S9_Adreno_Vulkan",Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G960"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) ; Vulkan, enabled by default +MatchProfile=(Profile="Android_Galaxy_S9Plus_Adreno_Vulkan",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G965"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S9Plus_Adreno_Vulkan",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SC\\-03K"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S9Plus_Adreno_Vulkan",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SCV39"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_Note9_Mali_Vulkan",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\-N96[05]F"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_Note9_Mali_Vulkan",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\-N96[05]X$"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_Note9_Mali_Vulkan",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\-N96[05][NKLS]"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_Note9_Adreno_Vulkan_60",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-N96[05]"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_Note9_Adreno_Vulkan_60",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SC\\-01L"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_Note9_Adreno_Vulkan_60",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SCV40"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S10Lite_Adreno_Vulkan_60",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G970[08UW]"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S10Lite_Adreno_Vulkan_60",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G970X[CU]"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S10_Adreno_Vulkan_60",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G973[0UW]"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S10_Adreno_Vulkan_60",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G973X[CU]"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S10_Adreno_Vulkan_60",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SC-03L"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S10_Adreno_Vulkan_60",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SCV41"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S10Plus_Adreno_Vulkan_60",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G975[0UW]"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S10Plus_Adreno_Vulkan_60",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G975X[CU]"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S10Plus_Adreno_Vulkan_60",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SC-04L"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Galaxy_S10Plus_Adreno_Vulkan_60",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SCV42"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) ; Fall back to ES 3.1 +MatchProfile=(Profile="Android_Galaxy_A9_Adreno_LRU",Match=((SoruceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-A920"))) +MatchProfile=(Profile="Android_Galaxy_S7_Adreno_LRU",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G93[05]"))) +MatchProfile=(Profile="Android_Galaxy_S7_Adreno_LRU",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Equal,MatchString="SC-02"))) +MatchProfile=(Profile="Android_Galaxy_S7_Adreno_LRU",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SC\\-02H"))) +MatchProfile=(Profile="Android_Galaxy_S7_Adreno_LRU",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SCV33"))) +MatchProfile=(Profile="Android_Galaxy_S7_Adreno_LRU",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G891[AU]"))) +MatchProfile=(Profile="Android_Galaxy_TabS3_Adreno_LRU",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-T82[057]"))) +MatchProfile=(Profile="Android_Galaxy_S8_Adreno_LRU",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G95[05]"))) +MatchProfile=(Profile="Android_Galaxy_S8_Adreno_LRU",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SC\\-0[23]J"))) +MatchProfile=(Profile="Android_Galaxy_S8_Adreno_LRU",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SCV3[56]"))) +MatchProfile=(Profile="Android_Galaxy_S8_Adreno_LRU",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G892[AU]"))) +MatchProfile=(Profile="Android_Galaxy_TabS4_Adreno",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-T83[057]"))) +MatchProfile=(Profile="Android_Galaxy_Note8_Adreno",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-N95[05]"))) +MatchProfile=(Profile="Android_Galaxy_Note8_Adreno",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SC\\-01K"))) +MatchProfile=(Profile="Android_Galaxy_Note8_Adreno",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SCV37"))) +MatchProfile=(Profile="Android_Galaxy_S9_Adreno_LRU",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G960"))) +MatchProfile=(Profile="Android_Galaxy_S9_Adreno_LRU",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SC\\-02K"))) +MatchProfile=(Profile="Android_Galaxy_S9_Adreno_LRU",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SCV38"))) +MatchProfile=(Profile="Android_Galaxy_S9Plus_Adreno",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-G965"))) +MatchProfile=(Profile="Android_Galaxy_S9Plus_Adreno",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SC\\-03K"))) +MatchProfile=(Profile="Android_Galaxy_S9Plus_Adreno",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SCV39"))) +MatchProfile=(Profile="Android_Galaxy_Note9_Mali",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM\\-N96[05]"),(SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="^Mali"))) +MatchProfile=(Profile="Android_Galaxy_Note9_Adreno",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SM-N96[05]"))) +MatchProfile=(Profile="Android_Galaxy_Note9_Adreno",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SC\\-01L"))) +MatchProfile=(Profile="Android_Galaxy_Note9_Adreno",Match=((SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="SCV40"))) ; Razer Phone detected separately as it's only an Adreno 540 but we want it to use Android_High on Vulkan and Android_Mid otherwise. ; Vulkan, currently disabled unless -detectvulkan is passed. +MatchProfile=(Profile="Android_RazerPhone_Vulkan",Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="Razer"),(SourceType=SRC_DeviceModel,CompareType=CMP_Equal,MatchString="Phone"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) ; fall back to GL +MatchProfile=(Profile="Android_RazerPhone",Match=((SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="Razer"),(SourceType=SRC_DeviceModel,CompareType=CMP_Equal,MatchString="Phone"))) ; Matching Pixel devices directly ; Vulkan, currently disabled unless -detectvulkan is passed. +MatchProfile=(Profile="Android_Pixel_Vulkan",Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="Google"),(SourceType=SRC_DeviceModel,CompareType=CMP_Equal,MatchString="Pixel"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_PixelXL_Vulkan",Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="Google"),(SourceType=SRC_DeviceModel,CompareType=CMP_Equal,MatchString="Pixel XL"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Pixel2_Vulkan",Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="Google"),(SourceType=SRC_DeviceModel,CompareType=CMP_Equal,MatchString="Pixel 2"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) +MatchProfile=(Profile="Android_Pixel2XL_Vulkan",Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="Google"),(SourceType=SRC_DeviceModel,CompareType=CMP_Equal,MatchString="Pixel 2 XL"),(SourceType=SRC_AndroidVersion,CompareType=CMP_Regex,MatchString="([0-9]).*"),(SourceType=SRC_PreviousRegexMatch,CompareType=CMP_GreaterEqual,MatchString="8"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) ; fall back to GL +MatchProfile=(Profile="Android_Pixel",Match=((SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="Google"),(SourceType=SRC_DeviceModel,CompareType=CMP_Equal,MatchString="Pixel"))) +MatchProfile=(Profile="Android_PixelXL",Match=((SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="Google"),(SourceType=SRC_DeviceModel,CompareType=CMP_Equal,MatchString="Pixel XL"))) +MatchProfile=(Profile="Android_Pixel2",Match=((SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="Google"),(SourceType=SRC_DeviceModel,CompareType=CMP_Equal,MatchString="Pixel 2"))) +MatchProfile=(Profile="Android_Pixel2XL_LRU",Match=((SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="Google"),(SourceType=SRC_DeviceModel,CompareType=CMP_Equal,MatchString="Pixel 2 XL"))) +MatchProfile=(Profile="Android_Pixel3",Match=((SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="Google"),(SourceType=SRC_DeviceModel,CompareType=CMP_Equal,MatchString="Pixel 3"))) +MatchProfile=(Profile="Android_Pixel3XL",Match=((SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="Google"),(SourceType=SRC_DeviceModel,CompareType=CMP_Equal,MatchString="Pixel 3 XL"))) ; Matching Huawei devices directly (GL) +MatchProfile=(Profile="Android_Honor_View20_60",Match=((SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="HUAWEI"),(SourceType=SRC_DeviceModel,CompareType=CMP_Equal,MatchString="PCT-L29"))) +MatchProfile=(Profile="Android_Honor_View20_60",Match=((SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="HUAWEI"),(SourceType=SRC_DeviceModel,CompareType=CMP_Equal,MatchString="PCT-AL10"))) +MatchProfile=(Profile="Android_Honor_View20_60",Match=((SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="HUAWEI"),(SourceType=SRC_DeviceModel,CompareType=CMP_Equal,MatchString="PCT-TL10"))) ; HUAWEI Mate 20X +MatchProfile=(Profile="Android_Huawei_Mate20X_60",Match=((SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="HUAWEI"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="EVR\\-[AT]L00"))) +MatchProfile=(Profile="Android_Huawei_Mate20X_60",Match=((SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="HUAWEI"),(SourceType=SRC_DeviceModel,CompareType=CMP_Equal,MatchString="EVR-L29"))) ; HUAWEI Mate 20Pro +MatchProfile=(Profile="Android_Huawei_Mate20Pro",Match=((SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="HUAWEI"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="LYA\\-AL00P"))) +MatchProfile=(Profile="Android_Huawei_Mate20Pro",Match=((SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="HUAWEI"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="LYA\\-AL[01]0"))) +MatchProfile=(Profile="Android_Huawei_Mate20Pro",Match=((SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="HUAWEI"),(SourceType=SRC_DeviceModel,CompareType=CMP_Equal,MatchString="LYA-TL00"))) +MatchProfile=(Profile="Android_Huawei_Mate20Pro",Match=((SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="HUAWEI"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="LYA\\-L[02]9"))) +MatchProfile=(Profile="Android_Huawei_Mate20Pro",Match=((SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="HUAWEI"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="LYA\\-L0C"))) ; HUAWEI Mate 20 +MatchProfile=(Profile="Android_Huawei_Mate20",Match=((SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="HUAWEI"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="HMA\\-[AT]L00"))) +MatchProfile=(Profile="Android_Huawei_Mate20",Match=((SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="HUAWEI"),(SourceType=SRC_DeviceModel,CompareType=CMP_Regex,MatchString="HMA\\-L[02]9"))) ; Matching Xiaomi devices directly (GL) +MatchProfile=(Profile="Android_Xiaomi_MI9_60",Match=((SourceType=SRC_DeviceMake,CompareType=CMP_Equal,MatchString="Xiaomi"),(SourceType=SRC_DeviceModel,CompareType=CMP_Equal,MatchString="MI 9"))) ; Android 5xx below 530 are based on Android_Lowest +MatchProfile=(Profile="Android_Adreno51x",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="Adreno \\(TM\\) 5[0-2][0-9]"))) ; Android 53x and based on Android_Low (eg Adreno Galaxy S7, Tab S3, LG G6, Pixel) +MatchProfile=(Profile="Android_Adreno53x",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="Adreno \\(TM\\) 53[0-9]"))) ; Android 54x and above are based on Android_Mid (eg Galaxy S8 Adreno) +MatchProfile=(Profile="Android_Adreno54x",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="Adreno \\(TM\\) 5[4-9][0-9]"))) ; Android_Adreno615 is based on Android_Lowest, eg SDM670 devices Oppo R17. +MatchProfile=(Profile="Android_Adreno615",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="Adreno \\(TM\\) 615"))) ; Android_Adreno61x are based on Android_Low, eg SDM710 devices like Mi8SE, Oppo R17Pro. +MatchProfile=(Profile="Android_Adreno61x",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="Adreno \\(TM\\) 61[0-9]"))) ; Android 6xx are based on Android_High (eg Galaxy S9 Adreno) +MatchProfile=(Profile="Android_Adreno6xx",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="Adreno \\(TM\\) 6[0-9][0-9]"))) ; Mali 8xx devices are based on Android_Lowest (eg Mali Galaxy S7) +MatchProfile=(Profile="Android_Mali_T8xx",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="^Mali\\-T8"))) ; Mali G71 devices are based on Android_Low (eg Mali Galaxy S8) +MatchProfile=(Profile="Android_Mali_G71_MP8",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="^Mali\\-G71 MP8"))) +MatchProfile=(Profile="Android_Mali_G71",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="^Mali\\-G71"))) ; Mali G72 devices are based on Android_Mid (eg Mali Galaxy S9) +MatchProfile=(Profile="Android_Mali_G72",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="^Mali\\-G72"))) ; Mali G76 Vulkan, currently disabled unless -detectvulkan is passed. +MatchProfile=(Profile="Android_Mali_G76_Vulkan",Match=((SourceType=SRC_CommandLine,CompareType=CMP_Equal,MatchString="detectvulkan"),(SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="^Mali\\-G76"),(SourceType=SRC_VulkanAvailable,CompareType=CMP_Equal,MatchString="true"))) ; Mali G76 devices are based on Android_Mid (Android_Mali_G76_High also available) +MatchProfile=(Profile="Android_Mali_G76",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Regex,MatchString="^Mali\\-G76"))) ; Tegra and IntelHD are should be able to deal with more drawcalls and are based on Android_Low +MatchProfile=(Profile="Android_TegraK1",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Equal,MatchString="NVIDIA Tegra"),(SourceType=SRC_GlVersion,CompareType=CMP_Regex,MatchString="^OpenGL ES 3\\."))) +MatchProfile=(Profile="Android_IntelHD_ES3",Match=((SourceType=SRC_GpuFamily,CompareType=CMP_Equal,MatchString="Intel(R) HD Graphics"),(SourceType=SRC_GlVersion,CompareType=CMP_Regex,MatchString="^OpenGL ES 3\\."))) ; Other ES 3.x devices fall back to Android_Lowest +MatchProfile=(Profile="Android_Lowest",Match=((SourceType=SRC_GlVersion,CompareType=CMP_Regex,MatchString="^OpenGL ES 3\\.")))