Blur shader performance optimizations

- removed mipmap in favor of fbo approach
- bell curve computation outside of shade
- type casting optimizations
- pre-computation of shader variables
- increased UV precision to remove scaling artifacts
- move final copy operation to a blit

Test: visual
Test: systrace
Test: SurfaceFlinger_test
Fixes: 148292484
Change-Id: I2ad38cde837b090cadbadbb79b941dc0524948a4
diff --git a/services/surfaceflinger/CompositionEngine/src/Output.cpp b/services/surfaceflinger/CompositionEngine/src/Output.cpp
index 61dadfd..2c6eb5c 100644
--- a/services/surfaceflinger/CompositionEngine/src/Output.cpp
+++ b/services/surfaceflinger/CompositionEngine/src/Output.cpp
@@ -898,8 +898,7 @@
     // GPU composition can finish in time. We must reset GPU frequency afterwards,
     // because high frequency consumes extra battery.
     const bool expensiveRenderingExpected =
-            clientCompositionDisplay.outputDataspace == ui::Dataspace::DISPLAY_P3 ||
-            mLayerRequestingBackgroundBlur != nullptr;
+            clientCompositionDisplay.outputDataspace == ui::Dataspace::DISPLAY_P3;
     if (expensiveRenderingExpected) {
         setExpensiveRenderingExpected(true);
     }