aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/scenegraph/openvg/openvg.tracepoints0
-rw-r--r--src/qml/CMakeLists.txt10
-rw-r--r--src/qml/jsruntime/qv4vme_moth.cpp3
-rw-r--r--src/qml/qml/qqmlbinding.cpp3
-rw-r--r--src/qml/qml/qqmlboundsignal.cpp4
-rw-r--r--src/qml/qml/qqmlobjectcreator.cpp13
-rw-r--r--src/qml/qml/qqmltypeloader.cpp3
-rw-r--r--src/qml/qtqml.tracepoints21
-rw-r--r--src/quick/CMakeLists.txt9
-rw-r--r--src/quick/qtquick.tracepoints48
-rw-r--r--src/quick/scenegraph/coreapi/qsgrenderer.cpp7
-rw-r--r--src/quick/scenegraph/qsgadaptationlayer.cpp7
-rw-r--r--src/quick/scenegraph/qsgrenderloop.cpp12
-rw-r--r--src/quick/scenegraph/qsgthreadedrenderloop.cpp9
14 files changed, 78 insertions, 71 deletions
diff --git a/src/plugins/scenegraph/openvg/openvg.tracepoints b/src/plugins/scenegraph/openvg/openvg.tracepoints
deleted file mode 100644
index e69de29bb2..0000000000
--- a/src/plugins/scenegraph/openvg/openvg.tracepoints
+++ /dev/null
diff --git a/src/qml/CMakeLists.txt b/src/qml/CMakeLists.txt
index 8f1963cc4d..eeb65be999 100644
--- a/src/qml/CMakeLists.txt
+++ b/src/qml/CMakeLists.txt
@@ -700,7 +700,15 @@ qt_internal_extend_target(Qml CONDITION DEFINES___contains___WTF_USE_UDIS86=1
../3rdparty/masm/disassembler/udis86/udis86_syn-intel.c
)
-qt_internal_create_tracepoints(Qml qtqml.tracepoints)
+qt_internal_generate_tracepoints(Qml qml
+ SOURCES
+ qml/qqmlobjectcreator.cpp
+ qml/qqmlboundsignal.cpp
+ qml/qqmlbinding.cpp
+ qml/qqmltypeloader.cpp
+ jsruntime/qv4vme_moth.cpp
+)
+
qt_internal_add_docs(Qml
doc/qtqml.qdocconf
)
diff --git a/src/qml/jsruntime/qv4vme_moth.cpp b/src/qml/jsruntime/qv4vme_moth.cpp
index 41fbc9c182..ee7a1ce68e 100644
--- a/src/qml/jsruntime/qv4vme_moth.cpp
+++ b/src/qml/jsruntime/qv4vme_moth.cpp
@@ -35,6 +35,9 @@
#undef COUNT_INSTRUCTIONS
+Q_TRACE_POINT(qtqml, QQmlV4_function_call_entry, const QV4::ExecutionEngine *engine, const QString &function, const QString &fileName, int line, int column)
+Q_TRACE_POINT(qtqml, QQmlV4_function_call_exit)
+
enum { ShowWhenDeoptimiationHappens = 0 };
extern "C" {
diff --git a/src/qml/qml/qqmlbinding.cpp b/src/qml/qml/qqmlbinding.cpp
index cd4af5c839..8bf1a9a7d0 100644
--- a/src/qml/qml/qqmlbinding.cpp
+++ b/src/qml/qml/qqmlbinding.cpp
@@ -29,6 +29,9 @@
QT_BEGIN_NAMESPACE
+Q_TRACE_POINT(qtqml, QQmlBinding_entry, const QQmlEngine *engine, const QString &function, const QString &fileName, int line, int column)
+Q_TRACE_POINT(qtqml, QQmlBinding_exit)
+
QQmlBinding *QQmlBinding::create(const QQmlPropertyData *property, const QQmlScriptString &script, QObject *obj, QQmlContext *ctxt)
{
QQmlBinding *b = newBinding(property);
diff --git a/src/qml/qml/qqmlboundsignal.cpp b/src/qml/qml/qqmlboundsignal.cpp
index 55e21abae2..e422ca5ee0 100644
--- a/src/qml/qml/qqmlboundsignal.cpp
+++ b/src/qml/qml/qqmlboundsignal.cpp
@@ -24,6 +24,10 @@
QT_BEGIN_NAMESPACE
+Q_TRACE_POINT(qtqml, QQmlHandlingSignal_entry, const QQmlEngine *engine, const QString &function,
+ const QString &fileName, int line, int column)
+Q_TRACE_POINT(qtqml, QQmlHandlingSignal_exit)
+
QQmlBoundSignalExpression::QQmlBoundSignalExpression(const QObject *target, int index, const QQmlRefPointer<QQmlContextData> &ctxt, QObject *scope,
const QString &expression, const QString &fileName, quint16 line, quint16 column,
const QString &handlerName, const QString &parameterString)
diff --git a/src/qml/qml/qqmlobjectcreator.cpp b/src/qml/qml/qqmlobjectcreator.cpp
index 46fe25b1ba..a4861464ad 100644
--- a/src/qml/qml/qqmlobjectcreator.cpp
+++ b/src/qml/qml/qqmlobjectcreator.cpp
@@ -38,6 +38,19 @@ Q_LOGGING_CATEGORY(lcQmlDefaultMethod, "qt.qml.defaultmethod")
QT_USE_NAMESPACE
+Q_TRACE_PREFIX(qtqml,
+"namespace QV4 {" \
+"struct ExecutionEngine;" \
+"namespace CompiledData {" \
+"struct CompilationUnit;" \
+"struct Object;" \
+"}}" \
+"class QQmlEngine;"
+)
+
+Q_TRACE_POINT(qtqml, QQmlObjectCreator_createInstance_entry, const QV4::CompiledData::CompilationUnit *compilationUnit, const QV4::CompiledData::Object *object, const QUrl &url)
+Q_TRACE_POINT(qtqml, QQmlObjectCreator_createInstance_exit, const QString &typeName)
+
QQmlObjectCreator::QQmlObjectCreator(
QQmlRefPointer<QQmlContextData> parentContext,
const QQmlRefPointer<QV4::ExecutableCompilationUnit> &compilationUnit,
diff --git a/src/qml/qml/qqmltypeloader.cpp b/src/qml/qml/qqmltypeloader.cpp
index 4e45df2d28..804becccc2 100644
--- a/src/qml/qml/qqmltypeloader.cpp
+++ b/src/qml/qml/qqmltypeloader.cpp
@@ -46,6 +46,9 @@ namespace {
};
}
+Q_TRACE_POINT(qtqml, QQmlCompiling_entry, const QUrl &url)
+Q_TRACE_POINT(qtqml, QQmlCompiling_exit)
+
/*!
\class QQmlTypeLoader
\brief The QQmlTypeLoader class abstracts loading files and their dependencies over the network.
diff --git a/src/qml/qtqml.tracepoints b/src/qml/qtqml.tracepoints
deleted file mode 100644
index 20fac87660..0000000000
--- a/src/qml/qtqml.tracepoints
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-namespace QV4 {
-struct ExecutionEngine;
-namespace CompiledData {
-struct CompilationUnit;
-struct Object;
-} // CompiledData
-} // QV4
-class QQmlEngine;
-}
-
-QQmlObjectCreator_createInstance_entry(const QV4::CompiledData::CompilationUnit *compilationUnit, const QV4::CompiledData::Object *object, const QUrl &url)
-QQmlObjectCreator_createInstance_exit(const QString &typeName)
-QQmlCompiling_entry(const QUrl &url)
-QQmlCompiling_exit()
-QQmlV4_function_call_entry(const QV4::ExecutionEngine *engine, const QString &function, const QString &fileName, int line, int column)
-QQmlV4_function_call_exit()
-QQmlBinding_entry(const QQmlEngine *engine, const QString &function, const QString &fileName, int line, int column)
-QQmlBinding_exit()
-QQmlHandlingSignal_entry(const QQmlEngine *engine, const QString &function, const QString &fileName, int line, int column)
-QQmlHandlingSignal_exit()
diff --git a/src/quick/CMakeLists.txt b/src/quick/CMakeLists.txt
index 5819b5f1c8..c70a18f154 100644
--- a/src/quick/CMakeLists.txt
+++ b/src/quick/CMakeLists.txt
@@ -514,7 +514,14 @@ qt_internal_extend_target(Quick CONDITION QT_FEATURE_im
util/qquickinputmethod.cpp util/qquickinputmethod_p.h
)
-qt_internal_create_tracepoints(Quick qtquick.tracepoints)
+qt_internal_generate_tracepoints(Quick quick
+ SOURCES
+ scenegraph/qsgrenderloop.cpp
+ scenegraph/coreapi/qsgrenderer.cpp
+ scenegraph/qsgthreadedrenderloop.cpp
+ scenegraph/adaptations/software/qsgsoftwarethreadedrenderloop.cpp
+ scenegraph/qsgadaptationlayer.cpp
+)
qt_internal_add_docs(Quick
doc/qtquick.qdocconf
)
diff --git a/src/quick/qtquick.tracepoints b/src/quick/qtquick.tracepoints
deleted file mode 100644
index f6518444d2..0000000000
--- a/src/quick/qtquick.tracepoints
+++ /dev/null
@@ -1,48 +0,0 @@
-QSG_renderWindow_entry()
-QSG_renderWindow_exit()
-QSG_renderScene_entry()
-QSG_renderScene_exit()
-QSG_syncAndRender_entry()
-QSG_syncAndRender_exit()
-QSG_polishAndSync_entry()
-QSG_polishAndSync_exit()
-QSG_preprocess_entry()
-QSG_preprocess_exit()
-QSG_update_entry()
-QSG_update_exit()
-
-QSG_polishItems_entry()
-QSG_polishItems_exit()
-QSG_sync_entry()
-QSG_sync_exit()
-QSG_wait_entry()
-QSG_wait_exit()
-QSG_render_entry()
-QSG_render_exit()
-QSG_swap_entry()
-QSG_swap_exit()
-QSG_animations_entry()
-QSG_animations_exit()
-
-QSG_texture_prepare_entry()
-QSG_texture_prepare_exit()
-QSG_texture_bind_entry()
-QSG_texture_bind_exit()
-QSG_texture_delete_entry()
-QSG_texture_delete_exit()
-QSG_texture_upload_entry()
-QSG_texture_upload_exit()
-QSG_texture_mipmap_entry()
-QSG_texture_mipmap_exit()
-
-QSG_binding_entry()
-QSG_binding_exit()
-QSG_prepareMaterial_entry()
-QSG_prepareMaterial_exit()
-
-QSGDistanceFieldGlyphCache_update_entry(int count)
-QSGDistanceFieldGlyphCache_update_exit()
-QSGDistanceFieldGlyphCache_glyphRender_entry()
-QSGDistanceFieldGlyphCache_glyphRender_exit()
-QSGDistanceFieldGlyphCache_glyphStore_entry()
-QSGDistanceFieldGlyphCache_glyphStore_exit()
diff --git a/src/quick/scenegraph/coreapi/qsgrenderer.cpp b/src/quick/scenegraph/coreapi/qsgrenderer.cpp
index b0874513aa..cdc0b0d5d0 100644
--- a/src/quick/scenegraph/coreapi/qsgrenderer.cpp
+++ b/src/quick/scenegraph/coreapi/qsgrenderer.cpp
@@ -14,6 +14,13 @@ static QElapsedTimer frameTimer;
static qint64 preprocessTime;
static qint64 updatePassTime;
+Q_TRACE_POINT(qtquick, QSG_preprocess_entry)
+Q_TRACE_POINT(qtquick, QSG_preprocess_exit)
+Q_TRACE_POINT(qtquick, QSG_update_entry)
+Q_TRACE_POINT(qtquick, QSG_update_exit)
+Q_TRACE_POINT(qtquick, QSG_renderScene_entry)
+Q_TRACE_POINT(qtquick, QSG_renderScene_exit)
+
#ifndef QT_NO_DEBUG
bool _q_sg_leak_check = !qEnvironmentVariableIsEmpty("QML_LEAK_CHECK");
#endif
diff --git a/src/quick/scenegraph/qsgadaptationlayer.cpp b/src/quick/scenegraph/qsgadaptationlayer.cpp
index c20a126dce..a9a12a720a 100644
--- a/src/quick/scenegraph/qsgadaptationlayer.cpp
+++ b/src/quick/scenegraph/qsgadaptationlayer.cpp
@@ -18,6 +18,13 @@
QT_BEGIN_NAMESPACE
+Q_TRACE_POINT(qtquick, QSGDistanceFieldGlyphCache_update_entry, int count)
+Q_TRACE_POINT(qtquick, QSGDistanceFieldGlyphCache_update_exit)
+Q_TRACE_POINT(qtquick, QSGDistanceFieldGlyphCache_glyphRender_entry)
+Q_TRACE_POINT(qtquick, QSGDistanceFieldGlyphCache_glyphRender_exit)
+Q_TRACE_POINT(qtquick, QSGDistanceFieldGlyphCache_glyphStore_entry)
+Q_TRACE_POINT(qtquick, QSGDistanceFieldGlyphCache_glyphStore_exit)
+
static QElapsedTimer qsg_render_timer;
QSGDistanceFieldGlyphCache::Texture QSGDistanceFieldGlyphCache::s_emptyTexture;
diff --git a/src/quick/scenegraph/qsgrenderloop.cpp b/src/quick/scenegraph/qsgrenderloop.cpp
index 99582d7ed0..f0d0eec7b0 100644
--- a/src/quick/scenegraph/qsgrenderloop.cpp
+++ b/src/quick/scenegraph/qsgrenderloop.cpp
@@ -40,6 +40,18 @@ extern bool qsg_useConsistentTiming();
#define ENABLE_DEFAULT_BACKEND
+Q_TRACE_POINT(qtquick, QSG_renderWindow_entry)
+Q_TRACE_POINT(qtquick, QSG_renderWindow_exit)
+Q_TRACE_POINT(qtquick, QSG_polishItems_entry)
+Q_TRACE_POINT(qtquick, QSG_polishItems_exit)
+Q_TRACE_POINT(qtquick, QSG_sync_entry)
+Q_TRACE_POINT(qtquick, QSG_sync_exit)
+Q_TRACE_POINT(qtquick, QSG_render_entry)
+Q_TRACE_POINT(qtquick, QSG_render_exit)
+Q_TRACE_POINT(qtquick, QSG_swap_entry)
+Q_TRACE_POINT(qtquick, QSG_swap_exit)
+
+
/*
- Uses one QRhi per window. (and so each window has its own QOpenGLContext or ID3D11Device(Context) etc.)
- Animations are advanced using the standard timer (no custom animation
diff --git a/src/quick/scenegraph/qsgthreadedrenderloop.cpp b/src/quick/scenegraph/qsgthreadedrenderloop.cpp
index 045d859e31..5b5afe0872 100644
--- a/src/quick/scenegraph/qsgthreadedrenderloop.cpp
+++ b/src/quick/scenegraph/qsgthreadedrenderloop.cpp
@@ -85,6 +85,15 @@
QT_BEGIN_NAMESPACE
+Q_TRACE_POINT(qtquick, QSG_polishAndSync_entry)
+Q_TRACE_POINT(qtquick, QSG_polishAndSync_exit)
+Q_TRACE_POINT(qtquick, QSG_wait_entry)
+Q_TRACE_POINT(qtquick, QSG_wait_exit)
+Q_TRACE_POINT(qtquick, QSG_syncAndRender_entry)
+Q_TRACE_POINT(qtquick, QSG_syncAndRender_exit)
+Q_TRACE_POINT(qtquick, QSG_animations_entry)
+Q_TRACE_POINT(qtquick, QSG_animations_exit)
+
#define QSG_RT_PAD " (RT) %s"
extern Q_GUI_EXPORT QImage qt_gl_read_framebuffer(const QSize &size, bool alpha_format, bool include_alpha);