Search Unity

Post Processing can not use on some Android devices

Discussion in 'Shaders' started by FotusCN, Nov 9, 2020.

  1. FotusCN

    FotusCN

    Joined:
    Oct 28, 2016
    Posts:
    5
    Hi
    I use Until 2019.4.14, and the Post Processing version is: 2.3.0, and I tried 3.0.1 too.
    On Nokia 1(Android 8.1 SDK 27) device and Meizu MX 4(Android 5.1), The Post Processing get error. And the Bloom and Color Grading has no effect.
    The error like this:

    NullReferenceException: Object reference not set to an instance of an object. UnityEngine.Rendering.PostProcessing.ColorGradingRenderer.CheckInternalStripLut () (at <00000000000000000000000000000000>:0) UnityEngine.Rendering.PostProcessing.ColorGradingRenderer.RenderLDRPipeline2D (UnityEngine.Rendering.PostProcessing.PostProcessRenderContext context) (at <00000000000000000000000000000000>:0) UnityEngine.Rendering.PostProcessing.PostProcessLayer.RenderEffect[T] (UnityEngine.Rendering.PostProcessing.PostProcessRenderContext context, System.Boolean useTempTarget) (at <00000000000000000000000000000000>:0) UnityEngine.Rendering.PostProcessing.PostProcessLayer.RenderBuiltins (UnityEngine.Rendering.PostProcessing.PostProcessRenderContext context, System.Boolean isFinalPass, System.Int32 releaseTargetAfterUse, System.Int32 eye) (at <00000000000000000000000000000000>:0) UnityEngine.Rendering.PostProcessing.PostProcessLayer.Render (UnityEngine.Rendering.PostProcessing.PostProcessRenderContext context) (at <00000000000000000000000000000000>:0) UnityEngine.Rendering.PostProcessing.PostProcessLayer.BuildCommandBuffers () (at <00000000000000000000000000000000>:0) UnityEngine.Rendering.PostProcessing.PostProcessLayer.OnPreCull () (at <00000000000000000000000000000000>:0)


    Texture creation failed. 'None' is not supported for Render usage on this platform. Use 'SystemInfo.IsFormatSupported' C# API to check format support. UnityEngine.Rendering.PostProcessing.PostProcessLayer:OnPreCull()


    11-05 10:55:46.231: E/Unity(21008): UnityEngine.Logger:Log(LogType, Object, Object)
    11-05 10:55:46.231: E/Unity(21008): UnityEngine.Debug:LogError(Object, Object)
    11-05 10:55:46.231: E/Unity(21008): UnityEngine.Texture:ValidateFormat(GraphicsFormat, FormatUsage)
    11-05 10:55:46.231: E/Unity(21008): UnityEngine.RenderTexture:.ctor(Int32, Int32, Int32, GraphicsFormat)
    11-05 10:55:46.231: E/Unity(21008): UnityEngine.RenderTexture:.ctor(Int32, Int32, Int32, RenderTextureFormat, RenderTextureReadWrite)
    11-05 10:55:46.231: E/Unity(21008): UnityEngine.Rendering.PostProcessing.ColorGradingRenderer:CheckInternalStripLut()
    11-05 10:55:46.231: E/Unity(21008): UnityEngine.Rendering.PostProcessing.ColorGradingRenderer:RenderLDRPipeline2D(PostProcessRenderContext)
    11-05 10:55:46.231: E/Unity(21008): UnityEngine.Rendering.PostProcessing.PostProcessLayer:RenderEffect(PostProcessRenderContext, Boolean)
    11-05 10:55:46.231: E/Unity(21008): UnityEngine.Rendering.PostProcessing.PostProcessLayer:RenderBuiltins(PostProcessRenderContext, Boolean, Int32, Int32)
    11-05 10:55:46.231: E/Unity(21008): UnityEngine.Rendering.PostProcessing.PostProcessLayer:Render(PostProcessRenderContext)
    11-05 10:55:46.231: E/Unity(21008): UnityEngine.Rendering.PostProcessing.PostProcessLayer:Bui
    11-05 10:55:46.268: E/Unity(21008): NullReferenceException: Object reference not set to an instance of an object.
    11-05 10:55:46.268: E/Unity(21008): at UnityEngine.Rendering.PostProcessing.ColorGradingRenderer.CheckInternalStripLut () [0x00000] in <00000000000000000000000000000000>:0
    11-05 10:55:46.268: E/Unity(21008): at UnityEngine.Rendering.PostProcessing.ColorGradingRenderer.RenderLDRPipeline2D (UnityEngine.Rendering.PostProcessing.PostProcessRenderContext context) [0x00000] in <00000000000000000000000000000000>:0
    11-05 10:55:46.268: E/Unity(21008): at UnityEngine.Rendering.PostProcessing.PostProcessLayer.RenderEffect[T] (UnityEngine.Rendering.PostProcessing.PostProcessRenderContext context, System.Boolean useTempTarget) [0x00000] in <00000000000000000000000000000000>:0
    11-05 10:55:46.268: E/Unity(21008): at UnityEngine.Rendering.PostProcessing.PostProcessLayer.RenderBuiltins (UnityEngine.Rendering.PostProcessing.PostProcessRenderContext context, System.Boolean isFinalPass, System.Int32 releaseTargetAfterUse, System.Int32 eye) [0x00000] in <00000000000000000000000000000000>:0
    11-05 10:55:46.268: E/Unity(21008): at UnityEngine.Rendering.PostProcessing.PostProcessLayer.Render (UnityEngine.Rendering.Post
    11-05 10:55:46.286: W/Unity(21008): When used with builtin render pipeline, Postprocessing package expects to be used on a fullscreen Camera.
    11-05 10:55:46.286: W/Unity(21008): Please note that using Camera viewport may result in visual artefacts or some things not working.
    11-05 10:55:46.286: W/Unity(21008): UnityEngine.Logger:Log(LogType, Object, Object)
    11-05 10:55:46.286: W/Unity(21008): UnityEngine.Debug:LogWarning(Object, Object)
    11-05 10:55:46.286: W/Unity(21008): UnityEngine.Rendering.PostProcessing.PostProcessLayer:OnPreCull()
    11-05 10:55:46.286: W/Unity(21008):
    11-05 10:55:46.286: W/Unity(21008): (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    11-05 10:55:46.289: W/Unity(21008): 'R16G16B16A16_SFloat' is not supported. RenderTexture::GetTemporary fallbacks to None format on this platform. Use 'SystemInfo.IsFormatSupported' C# API to check format support.
    11-05 10:55:46.289: W/Unity(21008): UnityEngine.Logger:Log(LogType, Object)
    11-05 10:55:46.289: W/Unity(21008): UnityEngine.RenderTexture:GetCompatibleFormat(RenderTextureFormat, RenderTextureReadWrite)
    11-05 10:55:46.289: W/Unity(21008): UnityEngine.RenderTexture:.ctor(Int32, Int32, Int32, RenderTextureFormat, RenderTextureReadWrite)
    11-05 10:55:46.289: W/Unity(21008): UnityEngine.Rendering.PostProcessing.ColorGradingRenderer:CheckInternalStripLut()
    11-05 10:55:46.289: W/Unity(21008): UnityEngine.Rendering.PostProcessing.ColorGradingRenderer:RenderLDRPipeline2D(PostProcessRenderContext)
    11-05 10:55:46.289: W/Unity(21008): UnityEngine.Rendering.PostProcessing.PostProcessLayer:RenderEffect(PostProcessRenderContext, Boolean)
    11-05 10:55:46.289: W/Unity(21008): UnityEngine.Rendering.PostProcessing.PostProcessLayer:RenderBuiltins(PostProcessRenderContext, Boolean, Int32, Int32)
    11-05 10:55:46.289: W/Unity(21008): UnityEngine.Rendering.PostProcessing.PostProcessLayer:Render(PostProcessRenderContext)
    11-05 10:55:46.289: W/Unity(21008): UnityEngine.Rendering.PostProcessing.PostProcessLayer:BuildCommandBuffers()
    11-05 10:55:46.289: W/Unity(21008): UnityEngine.Rendering.PostProcessing.PostProces
    11-05 10:55:46.309: I/DisplayDevice(295): [Built-in Screen (type:0)] fps:7.410810,dur:1079.50,max:202.05,min:20.57
    11-05 10:55:46.309: I/DisplayDevice(295): [ScreenRecorder (type:2)] fps:7.410847,dur:1079.50,max:202.06,min:20.56
    11-05 10:55:46.313: I/BufferQueueProducer(352): [GraphicBufferSource](this:0xa7068000,id:0,api:1,p:352,c:352) queueBuffer: fps=7.41 dur=1079.17 max=202.04 min=17.24
     
    DungDajHjep and konsnos like this.
  2. unityuserunity85496

    unityuserunity85496

    Joined:
    Jan 9, 2019
    Posts:
    89
    UNless the hardware is SUppppper new mobile support for post processing is SUPPER hit or miss. Your best bet is to learn BLIT and try to slowy find what screen effects you can build up. You''ll absolutely have to get into the nitty gritty of shaders and Depth reading if you want to do some stuff. Otherwise just dig through the asset store and see if their stuff still works. Phones updates will destroy support. This will always be the way with android mobile. ios does its own thing as well but you'll find more updated support for those. Same frustrations though
     
  3. konsnos

    konsnos

    Joined:
    Feb 13, 2012
    Posts:
    121
    Happens to me too, on devices SM-J700M, SN-A510M, SM-G532M, SM-G570M, SM-J260M and others. Haven't found a way yet to fix it.

    Unity: 2019.4.19f1
    Post Processing: 3.0.1
     
  4. dipanker_g2w

    dipanker_g2w

    Joined:
    Oct 22, 2019
    Posts:
    2
    @FotusCN Did you found any solution for this?
     
  5. FotusCN

    FotusCN

    Joined:
    Oct 28, 2016
    Posts:
    5
    @dipanker_g2w, Hi, Unity email me :
    Could you please try installing the newest 2019.4 version with the newest Post-Processing package. Also are you able to reproduce this issue with new project on the same device?
    I also want to inform you that Unity is dropping support for many older devices and if the issue only reproduces with them there is no chance of the issue being fixed on specific old devices.
     
  6. Revolter

    Revolter

    Joined:
    Mar 15, 2014
    Posts:
    216
    Still happens on Unity 2020.3.1.18f1 and the latest Post-Processing package
    upload_2021-10-19_9-18-0.png
     
    andreyul likes this.
  7. andreyul

    andreyul

    Joined:
    Nov 25, 2014
    Posts:
    2
    This crash happens on some Android devices.
    Unity 2020.3.23f1
    Post Processing 3.2.0

    Code (CSharp):
    1. UnityEngine.Rendering.PostProcessing.ColorGradingRenderer.CheckInternalStripLut () (at <00000000000000000000000000000000>:0)
    2. UnityEngine.Rendering.PostProcessing.ColorGradingRenderer.RenderLDRPipeline2D (UnityEngine.Rendering.PostProcessing.PostProcessRenderContext context) (at <00000000000000000000000000000000>:0)
    3. UnityEngine.Rendering.PostProcessing.PostProcessEffectRendererExtensions.RenderOrLog (UnityEngine.Rendering.PostProcessing.PostProcessEffectRenderer self, UnityEngine.Rendering.PostProcessing.PostProcessRenderContext context) (at <00000000000000000000000000000000>:0)
    4. UnityEngine.Rendering.PostProcessing.PostProcessLayer.RenderEffect[T] (UnityEngine.Rendering.PostProcessing.PostProcessRenderContext context, System.Boolean useTempTarget) (at <00000000000000000000000000000000>:0)
    5. UnityEngine.Rendering.PostProcessing.PostProcessLayer.RenderBuiltins (UnityEngine.Rendering.PostProcessing.PostProcessRenderContext context, System.Boolean isFinalPass, System.Int32 releaseTargetAfterUse, System.Int32 eye) (at <00000000000000000000000000000000>:0)
    6. UnityEngine.Rendering.PostProcessing.PostProcessLayer.Render (UnityEngine.Rendering.PostProcessing.PostProcessRenderContext context) (at <00000000000000000000000000000000>:0)
    7. UnityEngine.Rendering.PostProcessing.PostProcessLayer.BuildCommandBuffers () (at <00000000000000000000000000000000>:0)
    8. UnityEngine.Rendering.PostProcessing.PostProcessLayer.OnPreCull () (at <00000000000000000000000000000000>:0)
    9. UnityEngine.Rendering.PostProcessing.PostProcessLayer:OnPreCull()
    Galaxy J2 Prime Android 6.0.1
    HUAWEI Y6 2017 Android 6.0
    Nokia 3 Android 9
    Galaxy J1 (2016) Android 5.1.1
    Galaxy J7 Android 6.0.1
    Galaxy A7(2016) Android 6.0.1
    Galaxy Grand Prime Plus Android 6.0.1
    Nokia 3 Android 9
    Moto E (4) Plus Android 7.1.1
    GR3 Android 5.1
    Galaxy J2 Core Android 8.1.0
    Galaxy XCover4 Android 9
     
  8. ghanbari_daniel

    ghanbari_daniel

    Joined:
    Jan 28, 2022
    Posts:
    2
    This crash happens on "LGE/LG-K430/m253", "vivo/vivo V3/PD1524" Android device too.
    Unity: 2021.1.11f1
    Post Processing 3.1.1

    Code (CSharp):
    1. UnityEngine.Rendering.PostProcessing.ColorGradingRenderer.CheckInternalStripLut () (at <00000000000000000000000000000000>:0)
    2. UnityEngine.Rendering.PostProcessing.ColorGradingRenderer.RenderHDRPipeline2D (UnityEngine.Rendering.PostProcessing.PostProcessRenderContext context) (at <00000000000000000000000000000000>:0)
    3. UnityEngine.Rendering.PostProcessing.PostProcessLayer.RenderEffect[T] (UnityEngine.Rendering.PostProcessing.PostProcessRenderContext context, System.Boolean useTempTarget) (at <00000000000000000000000000000000>:0)
    4. UnityEngine.Rendering.PostProcessing.PostProcessLayer.RenderBuiltins (UnityEngine.Rendering.PostProcessing.PostProcessRenderContext context, System.Boolean isFinalPass, System.Int32 releaseTargetAfterUse, System.Int32 eye) (at <00000000000000000000000000000000>:0)
    5. UnityEngine.Rendering.PostProcessing.PostProcessLayer.Render (UnityEngine.Rendering.PostProcessing.PostProcessRenderContext context) (at <00000000000000000000000000000000>:0)
    6. UnityEngine.Rendering.PostProcessing.PostProcessLayer.BuildCommandBuffers () (at <00000000000000000000000000000000>:0)
    7. UnityEngine.Rendering.PostProcessing.PostProcessLayer.OnPreCull () (at <00000000000000000000000000000000>:0)
    screen_size: 1280 x 720
    refresh_rate: 60
    gpu_api: 11
    gfx: Adreno (TM) 405
    gpu_version: OpenGL ES 3.0
    Android OS 5.1.1 / API-22 (LMY47V/eng.compiler.20191101
    scripting_backend: IL2CPP
    gpu_driver: V@100.0 AU@ (GIT@Ic4528faa6f)
     
    Last edited: Mar 5, 2022
  9. huangdongxc

    huangdongxc

    Joined:
    Mar 22, 2020
    Posts:
    6
    Same issue. Any updates?