aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Ryan Macnak <rmacnak@google.com>2017-07-10 10:36:34 -0700
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-07-13 18:11:22 +0000
commit38a10ad434917681520cacb94050d14b2f24dd06 (patch)
treee544ff8bb7b2fff56b17d66476d25ee5290d70f2 /src
parentee6aa80e88a7b2953e9b6e4dfa6bd44355815f03 (diff)
Add trace events for shader generation.
This helps explain why some frames are slow in Flutter. Change-Id: Ic8b36186f1c8c262950e5ff9e0da3b808cff8d0c Reviewed-on: https://skia-review.googlesource.com/22087 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src')
-rw-r--r--src/gpu/gl/GrGLGpu.cpp5
-rw-r--r--src/gpu/gl/builders/GrGLProgramBuilder.cpp2
-rw-r--r--src/gpu/vk/GrVkCopyManager.cpp3
3 files changed, 10 insertions, 0 deletions
diff --git a/src/gpu/gl/GrGLGpu.cpp b/src/gpu/gl/GrGLGpu.cpp
index e85b34cab1..a73f97c97f 100644
--- a/src/gpu/gl/GrGLGpu.cpp
+++ b/src/gpu/gl/GrGLGpu.cpp
@@ -33,6 +33,7 @@
#include "SkSLCompiler.h"
#include "SkStrokeRec.h"
#include "SkTemplates.h"
+#include "SkTraceEvent.h"
#include "SkTypes.h"
#include "builders/GrGLShaderStringBuilder.h"
#include "instanced/GLInstancedRendering.h"
@@ -3428,6 +3429,8 @@ bool GrGLGpu::onCopySurface(GrSurface* dst,
}
bool GrGLGpu::createCopyProgram(GrTexture* srcTex) {
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("skia"), "GrGLGpu::createCopyProgram()");
+
int progIdx = TextureToCopyProgramIdx(srcTex);
const GrShaderCaps* shaderCaps = this->caps()->shaderCaps();
GrSLType samplerType = srcTex->texturePriv().samplerType();
@@ -3705,6 +3708,8 @@ bool GrGLGpu::createMipmapProgram(int progIdx) {
}
bool GrGLGpu::createStencilClipClearProgram() {
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("skia"), "GrGLGpu::createStencilClipClearProgram()");
+
if (!fStencilClipClearArrayBuffer) {
static const GrGLfloat vdata[] = {-1, -1, 1, -1, -1, 1, 1, 1};
fStencilClipClearArrayBuffer.reset(GrGLBuffer::Create(
diff --git a/src/gpu/gl/builders/GrGLProgramBuilder.cpp b/src/gpu/gl/builders/GrGLProgramBuilder.cpp
index e4c4cb98c3..55557a55e1 100644
--- a/src/gpu/gl/builders/GrGLProgramBuilder.cpp
+++ b/src/gpu/gl/builders/GrGLProgramBuilder.cpp
@@ -98,6 +98,8 @@ bool GrGLProgramBuilder::compileAndAttachShaders(GrGLSLShaderBuilder& shader,
}
GrGLProgram* GrGLProgramBuilder::finalize() {
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("skia"), "GrGLProgramBuilder::finalize()");
+
// verify we can get a program id
GrGLuint programID;
GL_CALL_RET(programID, CreateProgram());
diff --git a/src/gpu/vk/GrVkCopyManager.cpp b/src/gpu/vk/GrVkCopyManager.cpp
index cd5dba4b18..f0dc60297b 100644
--- a/src/gpu/vk/GrVkCopyManager.cpp
+++ b/src/gpu/vk/GrVkCopyManager.cpp
@@ -24,6 +24,7 @@
#include "GrVkVertexBuffer.h"
#include "SkPoint.h"
#include "SkRect.h"
+#include "SkTraceEvent.h"
GrVkCopyManager::GrVkCopyManager()
: fVertShaderModule(VK_NULL_HANDLE)
@@ -33,6 +34,8 @@ GrVkCopyManager::GrVkCopyManager()
GrVkCopyManager::~GrVkCopyManager() {}
bool GrVkCopyManager::createCopyProgram(GrVkGpu* gpu) {
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("skia"), "GrVkCopyManager::createCopyProgram()");
+
const GrShaderCaps* shaderCaps = gpu->caps()->shaderCaps();
const char* version = shaderCaps->versionDeclString();
SkString vertShaderText(version);