gl-renderer: fix performance regression in frag
When color management is disabled, the fragment shader was still first ensuring straight alpha and then immediately just going back to pre-multiplied. This is near-impossible for a shader compiler to optimize out, I guess because of the if-statement to handle division by zero. Having view alpha applied in between certainly didn't make it easier. That causes extra fragment computations that are unnecessary. In the issue report this was found to cause a notable performance regression. Fix the performance regression by introducing special-case paths for when straight alpha is not needed. This skips the unnecessary computations. Fixes: wayland/weston#623 Fixes: 9a6a4e70 Signed-off-by:Pekka Paalanen <pekka.paalanen@collabora.com>
parent
fb7b1a41
No related branches found
No related tags found
Pipeline #602279 passed
Stage: Base container
Stage: Full build and test
Stage: No-GL build and test
Stage: Other builds
Stage: pages
Loading
Please register or sign in to comment