[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [Git][tpo/applications/tor-browser][tor-browser-140.5.0esr-15.0-1] Bug 1941154 - Use shader to clear alpha targets on Adreno 510. a=diannaS DONTBUILD



Title: GitLab

ma1 pushed to branch tor-browser-140.5.0esr-15.0-1 at The Tor Project / Applications / Tor Browser

Commits:

  • f69a12e8
    by Jamie Nicol at 2025-11-21T22:03:59+01:00
    Bug 1941154 - Use shader to clear alpha targets on Adreno 510.  a=diannaS DONTBUILD
    
    Recent refactoring of render target initialization caused stale
    contents of alpha render targets to be used as clip masks instead of
    valid masks on Adreno 510 devices. Presumably we were fortunate not to
    be hitting this previously, and it was regressed by a subtle
    accidental behavioural change introduced by the refactor. Using quads
    to clear alpha targets appears to be the most robust way of avoiding
    it.
    
    Original Revision: https://phabricator.services.mozilla.com/D260105
    
    Differential Revision: https://phabricator.services.mozilla.com/D260301
    

1 changed file:

Changes:

  • gfx/wr/webrender/src/device/gl.rs
    ... ... @@ -1819,7 +1819,10 @@ impl Device {
    1819 1819
             // On Mali-Txxx devices we have observed crashes during draw calls when rendering
    
    1820 1820
             // to an alpha target immediately after using glClear to clear regions of it.
    
    1821 1821
             // Using a shader to clear the regions avoids the crash. See bug 1638593.
    
    1822
    -        let supports_alpha_target_clears = !is_mali_midgard(&renderer_name);
    
    1822
    +        // On Adreno 510 devices we have seen garbage being used as masks when clearing
    
    1823
    +        // alpha targets with glClear. Using quads to clear avoids this. See bug 1941154.
    
    1824
    +        let is_adreno_510 = renderer_name.starts_with("Adreno (TM) 510");
    
    1825
    +        let supports_alpha_target_clears = !is_mali_midgard(&renderer_name) && !is_adreno_510;
    
    1823 1826
     
    
    1824 1827
             // On Adreno 4xx devices with older drivers we have seen render tasks to alpha targets have
    
    1825 1828
             // no effect unless the target is fully cleared prior to rendering. See bug 1714227.
    

  • _______________________________________________
    tor-commits mailing list -- tor-commits@xxxxxxxxxxxxxxxxxxxx
    To unsubscribe send an email to tor-commits-leave@xxxxxxxxxxxxxxxxxxxx