1414 * limitations under the License.
1515 */
1616#include " Cache.h"
17+
18+ #define ATRACE_TAG ATRACE_TAG_GRAPHICS
19+
1720#include " AutoBackendTexture.h"
1821#include " SkiaRenderEngine.h"
1922#include " android-base/unique_fd.h"
2831#include " utils/Timers.h"
2932
3033#include < com_android_graphics_libgui_flags.h>
34+ #include < common/trace.h>
3135
3236namespace android ::renderengine::skia {
3337
@@ -659,6 +663,7 @@ static void drawEdgeExtensionLayers(SkiaRenderEngine* renderengine, const Displa
659663// in external/skia/src/gpu/gl/builders/GrGLShaderStringBuilder.cpp
660664// gPrintSKSL = true
661665void Cache::primeShaderCache (SkiaRenderEngine* renderengine, PrimeCacheConfig config) {
666+ SFTRACE_CALL ();
662667 const int previousCount = renderengine->reportShadersCompiled ();
663668 if (previousCount) {
664669 ALOGD (" %d Shaders already compiled before Cache::primeShaderCache ran\n " , previousCount);
@@ -724,24 +729,29 @@ void Cache::primeShaderCache(SkiaRenderEngine* renderengine, PrimeCacheConfig co
724729 impl::ExternalTexture::Usage::WRITEABLE);
725730
726731 if (config.cacheHolePunchLayer ) {
732+ SFTRACE_NAME (" cacheHolePunchLayer" );
727733 drawHolePunchLayer (renderengine, display, dstTexture);
728734 }
729735
730736 if (config.cacheSolidLayers ) {
737+ SFTRACE_NAME (" cacheSolidLayers" );
731738 drawSolidLayers (renderengine, display, dstTexture);
732739 drawSolidLayers (renderengine, p3Display, dstTexture);
733740 }
734741
735742 if (config.cacheSolidDimmedLayers ) {
743+ SFTRACE_NAME (" cacheSolidDimmedLayers" );
736744 drawSolidDimmedLayers (renderengine, display, dstTexture);
737745 }
738746
739747 if (config.cacheShadowLayers ) {
748+ SFTRACE_NAME (" cacheShadowLayers" );
740749 drawShadowLayers (renderengine, display, srcTexture);
741750 drawShadowLayers (renderengine, p3Display, srcTexture);
742751 }
743752
744753 if (renderengine->supportsBackgroundBlur ()) {
754+ SFTRACE_NAME (" supportsBackgroundBlur" );
745755 drawBlurLayers (renderengine, display, dstTexture);
746756 }
747757
@@ -776,32 +786,38 @@ void Cache::primeShaderCache(SkiaRenderEngine* renderengine, PrimeCacheConfig co
776786
777787 for (auto texture : textures) {
778788 if (config.cacheImageLayers ) {
789+ SFTRACE_NAME (" cacheImageLayers" );
779790 drawImageLayers (renderengine, display, dstTexture, texture);
780791 }
781792
782793 if (config.cacheImageDimmedLayers ) {
794+ SFTRACE_NAME (" cacheImageDimmedLayers" );
783795 drawImageDimmedLayers (renderengine, display, dstTexture, texture);
784796 drawImageDimmedLayers (renderengine, p3Display, dstTexture, texture);
785797 drawImageDimmedLayers (renderengine, bt2020Display, dstTexture, texture);
786798 }
787799
788800 if (config.cacheClippedLayers ) {
801+ SFTRACE_NAME (" cacheClippedLayers" );
789802 // Draw layers for b/185569240.
790803 drawClippedLayers (renderengine, display, dstTexture, texture);
791804 }
792805
793806 if (com::android::graphics::libgui::flags::edge_extension_shader () &&
794807 config.cacheEdgeExtension ) {
808+ SFTRACE_NAME (" cacheEdgeExtension" );
795809 drawEdgeExtensionLayers (renderengine, display, dstTexture, texture);
796810 drawEdgeExtensionLayers (renderengine, p3Display, dstTexture, texture);
797811 }
798812 }
799813
800814 if (config.cachePIPImageLayers ) {
815+ SFTRACE_NAME (" cachePIPImageLayers" );
801816 drawPIPImageLayer (renderengine, display, dstTexture, externalTexture);
802817 }
803818
804819 if (config.cacheTransparentImageDimmedLayers ) {
820+ SFTRACE_NAME (" cacheTransparentImageDimmedLayers" );
805821 drawTransparentImageDimmedLayers (renderengine, bt2020Display, dstTexture,
806822 externalTexture);
807823 drawTransparentImageDimmedLayers (renderengine, display, dstTexture, externalTexture);
@@ -811,10 +827,12 @@ void Cache::primeShaderCache(SkiaRenderEngine* renderengine, PrimeCacheConfig co
811827 }
812828
813829 if (config.cacheClippedDimmedImageLayers ) {
830+ SFTRACE_NAME (" cacheClippedDimmedImageLayers" );
814831 drawClippedDimmedImageLayers (renderengine, bt2020Display, dstTexture, externalTexture);
815832 }
816833
817834 if (config.cacheUltraHDR ) {
835+ SFTRACE_NAME (" cacheUltraHDR" );
818836 drawBT2020ClippedImageLayers (renderengine, bt2020Display, dstTexture, externalTexture);
819837
820838 drawBT2020ImageLayers (renderengine, bt2020Display, dstTexture, externalTexture);
@@ -833,7 +851,10 @@ void Cache::primeShaderCache(SkiaRenderEngine* renderengine, PrimeCacheConfig co
833851 };
834852 auto layers = std::vector<LayerSettings>{layer};
835853 // call get() to make it synchronous
836- renderengine->drawLayers (display, layers, dstTexture, base::unique_fd ()).get ();
854+ {
855+ SFTRACE_NAME (" finalLayer" );
856+ renderengine->drawLayers (display, layers, dstTexture, base::unique_fd ()).get ();
857+ }
837858
838859 const nsecs_t timeAfter = systemTime ();
839860 const float compileTimeMs = static_cast <float >(timeAfter - timeBefore) / 1.0E6 ;
0 commit comments