apitrace: Changes to 'debian'
.gitignore | 11
CMakeLists.txt | 454
DEVELOPMENT.markdown | 9
INSTALL.markdown | 50
NEWS.markdown | 22
README.markdown | 218
TODO.markdown | 129
cgltrace.py | 68
cli/CMakeLists.txt | 5
cli/cli.hpp | 1
cli/cli_diff.cpp | 80
cli/cli_diff_images.cpp | 25
cli/cli_diff_state.cpp | 38
cli/cli_dump.cpp | 25
cli/cli_dump_images.cpp | 145
cli/cli_main.cpp | 1
cli/cli_pickle.cpp | 132
cli/cli_repack.cpp | 35
cli/cli_trace.cpp | 83
cli/cli_trim.cpp | 72
cmake/.gitignore | 1
cmake/FindDirectX.cmake | 194
cmake/toolchain/android.toolchain.cmake | 1110 +
codegen.py | 81
common/formatter.hpp | 83
common/image.hpp | 4
common/image_png.cpp | 7
common/image_pnm.cpp | 51
common/json.hpp | 342
common/os_binary.hpp | 1
common/os_posix.cpp | 23
common/os_process.hpp | 24
common/os_string.hpp | 97
common/os_time.hpp | 21
common/os_win32.cpp | 15
common/pickle.hpp | 18
common/trace_api.hpp | 13
common/trace_dump.cpp | 28
common/trace_file_zlib.cpp | 10
common/trace_format.hpp | 4
common/trace_model.cpp | 13
common/trace_model.hpp | 46
common/trace_parser.cpp | 50
common/trace_parser.hpp | 5
common/trace_parser_flags.cpp | 32
common/trace_profiler.cpp | 201
common/trace_profiler.hpp | 122
common/trace_resource.cpp | 93
common/trace_resource.hpp | 5
common/trace_tools_trace.cpp | 138
common/trace_writer.cpp | 8
common/trace_writer.hpp | 5
common/trace_writer_local.cpp | 6
common/trace_writer_local.hpp | 2
common/trace_writer_model.cpp | 9
compat.h | 81
d3d10trace.py | 45
d3d8trace.py | 54
d3d9imports.hpp | 83
d3d9trace.py | 94
d3dshader.cpp | 96
d3dshader.hpp | 38
ddrawtrace.py | 81
debian/apitrace-gl-frontend.install | 8
debian/apitrace-gl-retracer.install | 4
debian/apitrace-gl-tracer.install | 3
debian/apitrace-gl-tracers.install | 2
debian/changelog | 4
debian/control | 30
debian/patches/01_use_system_libpng_snappy_zlib.diff | 107
debian/patches/series | 2
dispatch.py | 115
dispatch/.gitignore | 1
dispatch/CMakeLists.txt | 55
dispatch/__init__.py | 1
dispatch/compat.h | 748 +
dispatch/d3d10_1imports.hpp | 43
dispatch/d3d10imports.hpp | 43
dispatch/d3d11imports.hpp | 43
dispatch/d3d9imports.hpp | 99
dispatch/d3derr.hpp | 63
dispatch/dispatch.py | 124
dispatch/eglimports.hpp | 94
dispatch/glimports.hpp | 122
dispatch/glproc.py | 544
dispatch/glproc_egl.cpp | 151
dispatch/glproc_gl.cpp | 230
dlltrace.py | 69
eglimports.hpp | 126
egltrace.py | 190
glcaps.cpp | 177
glimports.hpp | 162
glproc.py | 540
glproc_egl.cpp | 101
glproc_gl.cpp | 230
glretrace.hpp | 69
glretrace.py | 400
glretrace_cgl.cpp | 125
glretrace_egl.cpp | 274
glretrace_glx.cpp | 260
glretrace_main.cpp | 391
glretrace_wgl.cpp | 309
glsize.hpp | 786 -
glstate.cpp | 1445 --
glstate.hpp | 61
glstate.py | 498
gltrace.hpp | 49
gltrace.py | 939 -
glws.cpp | 62
glws.hpp | 170
glws_cocoa.mm | 270
glws_egl_xlib.cpp | 441
glws_glx.cpp | 377
glws_wgl.cpp | 282
glxtrace.py | 161
gui/CMakeLists.txt | 15
gui/apicalldelegate.cpp | 59
gui/apisurface.cpp | 3
gui/apitrace.cpp | 74
gui/apitrace.h | 23
gui/apitracecall.cpp | 28
gui/apitracecall.h | 6
gui/apitracemodel.cpp | 23
gui/apitracemodel.h | 2
gui/imageviewer.cpp | 88
gui/imageviewer.h | 5
gui/main.cpp | 3
gui/mainwindow.cpp | 222
gui/mainwindow.h | 29
gui/profiledialog.cpp | 83
gui/profiledialog.h | 34
gui/profiletablemodel.cpp | 272
gui/profiletablemodel.h | 65
gui/retracer.cpp | 540
gui/retracer.h | 74
gui/saverthread.cpp | 14
gui/settingsdialog.cpp | 11
gui/settingsdialog.h | 2
gui/thumbnail.h | 13
gui/timelinewidget.cpp | 883 +
gui/timelinewidget.h | 119
gui/tracedialog.cpp | 17
gui/tracedialog.h | 1
gui/traceloader.cpp | 43
gui/traceloader.h | 5
gui/traceprocess.cpp | 12
gui/traceprocess.h | 2
gui/trimprocess.cpp | 120
gui/trimprocess.h | 45
gui/ui/imageviewer.ui | 69
gui/ui/mainwindow.ui | 56
gui/ui/profiledialog.ui | 276
gui/ui/profilereplaydialog.ui | 112
gui/ui/settings.ui | 23
gui/ui/tracedialog.ui | 14
helpers/d3dsize.hpp | 379
helpers/eglsize.cpp | 217
helpers/eglsize.hpp | 57
helpers/glsize.hpp | 809 +
retrace.cpp | 136
retrace.hpp | 152
retrace.py | 316
retrace/.gitignore | 2
retrace/CMakeLists.txt | 161
retrace/d3dretrace.hpp | 63
retrace/d3dretrace.py | 113
retrace/d3dretrace_main.cpp | 94
retrace/d3dretrace_ws.cpp | 151
retrace/d3dstate.cpp | 45
retrace/d3dstate.hpp | 55
retrace/d3dstate_images.cpp | 100
retrace/dllretrace.py | 70
retrace/glretrace.hpp | 98
retrace/glretrace.py | 527
retrace/glretrace_cgl.cpp | 117
retrace/glretrace_egl.cpp | 267
retrace/glretrace_glx.cpp | 222
retrace/glretrace_main.cpp | 444
retrace/glretrace_wgl.cpp | 293
retrace/glretrace_ws.cpp | 193
retrace/glstate.cpp | 155
retrace/glstate.hpp | 54
retrace/glstate_images.cpp | 1189 +
retrace/glstate_internal.hpp | 73
retrace/glstate_params.py | 527
retrace/glstate_shaders.cpp | 742 +
retrace/glws.cpp | 59
retrace/glws.hpp | 167
retrace/glws_cocoa.mm | 270
retrace/glws_egl_xlib.cpp | 484
retrace/glws_glx.cpp | 377
retrace/glws_wgl.cpp | 352
retrace/json.hpp | 369
retrace/retrace.cpp | 119
retrace/retrace.hpp | 241
retrace/retrace.py | 510
retrace/retrace_main.cpp | 320
retrace/retrace_stdc.cpp | 71
retrace/retrace_swizzle.cpp | 274
retrace/retrace_swizzle.hpp | 102
retrace_stdc.cpp | 238
scripts/highlight.py | 81
scripts/profileshader.py | 84
scripts/retracediff.py | 4
scripts/snapdiff.py | 49
scripts/tracediff.py | 215
scripts/tracediff.sh | 59
scripts/tracediff2.py | 341
scripts/unpickle.py | 216
specs/__init__.py | 28
specs/cglapi.py | 4
specs/d3d.py | 56
specs/d3d10.def | 6
specs/d3d10.py | 386
specs/d3d10_1.def | 6
specs/d3d10_1.py | 101
specs/d3d10effect.py | 384
specs/d3d10misc.py | 48
specs/d3d10sdklayers.py | 620
specs/d3d10shader.py | 175
specs/d3d11.py | 1236 +
specs/d3d11_1.py | 180
specs/d3d11sdklayers.py | 890 +
specs/d3d11shader.py | 186
specs/d3d8.def | 4
specs/d3d8.py | 67
specs/d3d9.def | 12
specs/d3d9.py | 289
specs/d3d9caps.py | 11
specs/d3d9types.py | 85
specs/d3dcommon.py | 701 +
specs/ddraw.def | 23
specs/ddraw.py | 67
specs/dxgi.py | 292
specs/dxgiformat.py | 2
specs/dxgitype.py | 28
specs/eglapi.py | 8
specs/glapi.py | 946 -
specs/glesapi.py | 66
specs/glparams.py | 582
specs/gltypes.py | 27
specs/glxapi.py | 34
specs/opengl32.def | 371
specs/scripts/cdecl.py | 139
specs/scripts/glspec.py | 12
specs/stdapi.py | 370
specs/wglapi.py | 14
specs/winapi.py | 78
thirdparty/glext/.gitignore | 1
thirdparty/glext/GL/Makefile | 11
thirdparty/glext/GL/glext.h |11490 -----------------
thirdparty/glext/GL/glext.sed | 19
thirdparty/glext/GL/glxext.h | 993 -
thirdparty/glext/GL/wglext.h | 929 -
thirdparty/khr/EGL/egl.h | 329
thirdparty/khr/EGL/eglext.h | 335
thirdparty/khr/GLES/glext.h | 1073 -
thirdparty/khr/GLES2/gl2ext.h | 1138 -
thirdparty/khronos/.gitignore | 1
thirdparty/khronos/EGL/egl.h | 329
thirdparty/khronos/EGL/eglext.h | 464
thirdparty/khronos/EGL/eglplatform.h | 131
thirdparty/khronos/EGL/eglplatform.patch | 27
thirdparty/khronos/GL/gl.h | 1957 ++
thirdparty/khronos/GL/glext.h |12804 +++++++++++++++++++
thirdparty/khronos/GL/glext.patch | 22
thirdparty/khronos/GL/glx.h | 325
thirdparty/khronos/GL/glxext.h | 1001 +
thirdparty/khronos/GL/wglext.h | 943 +
thirdparty/khronos/GLES/gl.h | 770 +
thirdparty/khronos/GLES/glext.h | 1192 +
thirdparty/khronos/GLES/glext.patch | 19
thirdparty/khronos/GLES/glplatform.h | 30
thirdparty/khronos/GLES2/gl2.h | 620
thirdparty/khronos/GLES2/gl2ext.h | 1525 ++
thirdparty/khronos/GLES2/gl2platform.h | 30
thirdparty/khronos/KHR/khrplatform.h | 269
thirdparty/khronos/Makefile | 42
thirdparty/khronos/README.markdown | 12
thirdparty/less.patch | 100
thirdparty/less/CMakeLists.txt | 36
thirdparty/less/COPYING | 674 +
thirdparty/less/INSTALL | 186
thirdparty/less/LICENSE | 27
thirdparty/less/NEWS | 820 +
thirdparty/less/README | 236
thirdparty/less/brac.c | 101
thirdparty/less/ch.c | 933 +
thirdparty/less/charset.c | 1173 +
thirdparty/less/charset.h | 19
thirdparty/less/cmd.h | 133
thirdparty/less/cmdbuf.c | 1503 ++
thirdparty/less/command.c | 1763 ++
thirdparty/less/cvt.c | 120
thirdparty/less/decode.c | 841 +
thirdparty/less/defines.h.in | 426
thirdparty/less/defines.wn | 347
thirdparty/less/edit.c | 818 +
thirdparty/less/filename.c | 1081 +
thirdparty/less/forwback.c | 424
thirdparty/less/funcs.h | 291
thirdparty/less/help.c | 236
thirdparty/less/ifile.c | 346
thirdparty/less/input.c | 458
thirdparty/less/jump.c | 309
thirdparty/less/less.h | 504
thirdparty/less/less.hlp | 231
thirdparty/less/lessecho.c | 272
thirdparty/less/lesskey.c | 873 +
thirdparty/less/lesskey.h | 40
thirdparty/less/lglob.h | 95
thirdparty/less/line.c | 1244 +
thirdparty/less/linenum.c | 471
thirdparty/less/lsystem.c | 376
thirdparty/less/main.c | 414
thirdparty/less/mark.c | 258
thirdparty/less/mkhelp.c | 69
thirdparty/less/optfunc.c | 707 +
thirdparty/less/option.c | 702 +
thirdparty/less/option.h | 67
thirdparty/less/opttbl.c | 599
thirdparty/less/os.c | 364
thirdparty/less/output.c | 601
thirdparty/less/pattern.c | 322
thirdparty/less/pattern.h | 48
thirdparty/less/pckeys.h | 34
thirdparty/less/position.c | 232
thirdparty/less/position.h | 19
thirdparty/less/prompt.c | 587
thirdparty/less/regexp.c | 1250 +
thirdparty/less/regexp.h | 34
thirdparty/less/screen.c | 2502 +++
thirdparty/less/scrsize.c | 104
thirdparty/less/search.c | 1211 +
thirdparty/less/signal.c | 257
thirdparty/less/tags.c | 757 +
thirdparty/less/ttyin.c | 178
thirdparty/less/version.c | 748 +
thirdparty/libpng/ANNOUNCE | 60
thirdparty/libpng/CHANGES | 559
thirdparty/libpng/LICENSE | 4
thirdparty/libpng/README | 13
thirdparty/libpng/libpng.txt | 3352 ----
thirdparty/libpng/png.c | 900 +
thirdparty/libpng/png.h | 477
thirdparty/libpng/pngconf.h | 117
thirdparty/libpng/pngerror.c | 278
thirdparty/libpng/pngget.c | 120
thirdparty/libpng/pnginfo.h | 1
thirdparty/libpng/pnglibconf.h | 20
thirdparty/libpng/pngmem.c | 37
thirdparty/libpng/pngpread.c | 267
thirdparty/libpng/pngpriv.h | 669
thirdparty/libpng/pngread.c | 501
thirdparty/libpng/pngrtran.c | 2468 ++-
thirdparty/libpng/pngrutil.c | 1482 +-
thirdparty/libpng/pngset.c | 109
thirdparty/libpng/pngstruct.h | 90
thirdparty/libpng/pngtrans.c | 16
thirdparty/libpng/pngwrite.c | 240
thirdparty/libpng/pngwtran.c | 30
thirdparty/libpng/pngwutil.c | 570
thirdparty/msvc/.gitignore | 1
thirdparty/msvc/Makefile | 10
thirdparty/snappy/ChangeLog | 422
thirdparty/snappy/NEWS | 31
thirdparty/snappy/README | 4
thirdparty/snappy/format_description.txt | 6
thirdparty/snappy/framing_format.txt | 124
thirdparty/snappy/snappy-sinksource.cc | 1
thirdparty/snappy/snappy-sinksource.h | 1
thirdparty/snappy/snappy-stubs-internal.h | 62
thirdparty/snappy/snappy-stubs-public.h | 2
thirdparty/snappy/snappy-test.cc | 2
thirdparty/snappy/snappy-test.h | 2
thirdparty/snappy/snappy.cc | 197
thirdparty/snappy/snappy.h | 4
thirdparty/snappy/snappy_unittest.cc | 18
thirdparty/zlib/CMakeLists.txt | 2
thirdparty/zlib/ChangeLog | 141
thirdparty/zlib/README | 24
thirdparty/zlib/adler32.c | 68
thirdparty/zlib/crc32.c | 31
thirdparty/zlib/crc32.h | 2
thirdparty/zlib/deflate.c | 259
thirdparty/zlib/deflate.h | 10
thirdparty/zlib/example.c | 565
thirdparty/zlib/gzguts.h | 80
thirdparty/zlib/gzlib.c | 77
thirdparty/zlib/gzread.c | 417
thirdparty/zlib/gzwrite.c | 150
thirdparty/zlib/infback.c | 14
thirdparty/zlib/inffixed.h | 6
thirdparty/zlib/inflate.c | 71
thirdparty/zlib/inftrees.c | 46
thirdparty/zlib/minigzip.c | 440
thirdparty/zlib/trees.c | 40
thirdparty/zlib/zconf.h | 146
thirdparty/zlib/zlib.h | 279
thirdparty/zlib/zutil.c | 31
thirdparty/zlib/zutil.h | 92
trace.py | 589
wgltrace.py | 83
wrappers/.gitignore | 12
wrappers/CMakeLists.txt | 403
wrappers/cgltrace.py | 107
wrappers/d3d10.def | 31
wrappers/d3d10_1.def | 6
wrappers/d3d10_1trace.py | 40
wrappers/d3d10shader.cpp | 115
wrappers/d3d10shader.hpp | 38
wrappers/d3d10trace.py | 52
wrappers/d3d11.def | 9
wrappers/d3d11trace.py | 48
wrappers/d3d8.def | 4
wrappers/d3d8trace.py | 54
wrappers/d3d9.def | 12
wrappers/d3d9shader.cpp | 105
wrappers/d3d9shader.hpp | 38
wrappers/d3d9trace.py | 95
wrappers/ddraw.def | 23
wrappers/ddrawtrace.py | 70
wrappers/dlltrace.py | 69
wrappers/egltrace.py | 281
wrappers/glcaps.cpp | 226
wrappers/gltrace.hpp | 90
wrappers/gltrace.py | 1029 +
wrappers/gltrace_state.cpp | 156
wrappers/glxtrace.py | 177
wrappers/opengl32.def | 371
wrappers/trace.cpp | 115
wrappers/trace.hpp | 56
wrappers/trace.py | 709 +
wrappers/wgltrace.py | 103
434 files changed, 91985 insertions(+), 39470 deletions(-)
New commits:
commit 71a8716734495fa15a55433c401021f1c00982e8
Author: Christopher James Halse Rogers <chris@cooperteam.net>
Date: Fri Aug 17 13:57:20 2012 +1000
Rearrange package split.
Now split into apitrace-gl-frontend and apitrace-gl-tracers.
The -frontend package contains both the CLI and Qt frontends for tracing/replaying/etc.
The -tracers package contains the actual LD_PRELOADable tracer DSOs; this is tagged
Multi-Arch: same, so can be parallel installed across architectures
diff --git a/debian/apitrace-gl-frontend.install b/debian/apitrace-gl-frontend.install
index 6e90379..d5d680f 100644
--- a/debian/apitrace-gl-frontend.install
+++ b/debian/apitrace-gl-frontend.install
@@ -1,4 +1,8 @@
-debian/qapitrace.desktop usr/share/applications
+usr/bin/apitrace
usr/bin/eglretrace
usr/bin/glretrace
usr/bin/qapitrace
+
+debian/qapitrace.desktop usr/share/applications
+
+usr/lib/apitrace
diff --git a/debian/apitrace-gl-tracers.install b/debian/apitrace-gl-tracers.install
index de2df69..b7c0380 100644
--- a/debian/apitrace-gl-tracers.install
+++ b/debian/apitrace-gl-tracers.install
@@ -1,3 +1,2 @@
-usr/lib/apitrace
-usr/bin/apitrace
-usr/share/doc/* usr/share/doc/apitrace-gl-tracer/
+usr/lib/*/apitrace/wrappers
+usr/share/doc/* usr/share/doc/apitrace-gl-tracers/
diff --git a/debian/control b/debian/control
index 7140d03..ea67a85 100644
--- a/debian/control
+++ b/debian/control
@@ -19,16 +19,15 @@ Homepage: https://github.com/apitrace/apitrace
Vcs-Git: git://git.debian.org/pkg-xorg/app/apitrace.git
Vcs-Browser: http://git.debian.org/?p=pkg-xorg/app/apitrace.git;a=summary
-Package: apitrace-gl-tracer
+Package: apitrace-gl-frontend
Architecture: any
Depends:
${shlibs:Depends},
${misc:Depends},
+ apitrace-gl-tracers (= ${binary:Version}),
python,
python-imaging,
-Pre-Depends: ${misc:Pre-Depends}
-Multi-Arch: same
-Description: tools for debugging OpenGL applications and drivers - application tracer
+Description: tools for debugging OpenGL applications and drivers - tracing frontends
apitrace is a suite of tools for debugging OpenGL applications and drivers.
It includes a tool to generate a trace of all the OpenGL calls an applicaton
makes and a tool for replaying these traces and inspecting the rendering and
@@ -37,18 +36,17 @@ Description: tools for debugging OpenGL applications and drivers - application t
This makes it useful for identifying the sources of graphical corruption in
OpenGL applications.
.
- This package contains the components required to trace the OpenGL calls made
- by an application and record them into a trace file for later replay and
- debugging.
+ This package contains frontends for the apitrace tool, making it easy to trace
+ applicatons and replay, compare, profile, and modify existing traces.
-Package: apitrace-gl-retracer
+Package: apitrace-gl-tracers
Architecture: any
-Depends:
+Depends:
${shlibs:Depends},
${misc:Depends},
-Recommends:
- apitrace-gl-tracer
-Description: tools for debugging OpenGL applications and drivers - trace inspectors
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
+Description: tools for debugging OpenGL applications and drivers - application tracer
apitrace is a suite of tools for debugging OpenGL applications and drivers.
It includes a tool to generate a trace of all the OpenGL calls an applicaton
makes and a tool for replaying these traces and inspecting the rendering and
@@ -57,5 +55,6 @@ Description: tools for debugging OpenGL applications and drivers - trace inspect
This makes it useful for identifying the sources of graphical corruption in
OpenGL applications.
.
- This package contains the tools needed to process, view, and replay traces
- captured using the tools in the apitrace-gl-tracer package.
+ This package contains the components required to trace the OpenGL calls made
+ by an application and record them into a trace file for later replay and
+ debugging.
commit 4be60a495c85f76a3ff4f755cdfcc672eb47a4a8
Author: Christopher James Halse Rogers <chris@cooperteam.net>
Date: Fri Aug 17 12:53:37 2012 +1000
Drop 01_use_system_libpng_snappy_zlib.diff.
Upstream has a reasonable fear of symbol contamination here, given that the intended use
is to inject the tracer into arbitrary executables.
There shouldn't be security concerns here; if a user can apitrace something, they can interpose
an arbitary DSO which is hella-bad.
diff --git a/debian/apitrace-gl-frontend.install b/debian/apitrace-gl-frontend.install
new file mode 100644
index 0000000..6e90379
--- /dev/null
+++ b/debian/apitrace-gl-frontend.install
@@ -0,0 +1,4 @@
+debian/qapitrace.desktop usr/share/applications
+usr/bin/eglretrace
+usr/bin/glretrace
+usr/bin/qapitrace
diff --git a/debian/apitrace-gl-retracer.install b/debian/apitrace-gl-retracer.install
deleted file mode 100644
index 6e90379..0000000
--- a/debian/apitrace-gl-retracer.install
+++ /dev/null
@@ -1,4 +0,0 @@
-debian/qapitrace.desktop usr/share/applications
-usr/bin/eglretrace
-usr/bin/glretrace
-usr/bin/qapitrace
diff --git a/debian/apitrace-gl-tracer.install b/debian/apitrace-gl-tracer.install
deleted file mode 100644
index de2df69..0000000
--- a/debian/apitrace-gl-tracer.install
+++ /dev/null
@@ -1,3 +0,0 @@
-usr/lib/apitrace
-usr/bin/apitrace
-usr/share/doc/* usr/share/doc/apitrace-gl-tracer/
diff --git a/debian/apitrace-gl-tracers.install b/debian/apitrace-gl-tracers.install
new file mode 100644
index 0000000..de2df69
--- /dev/null
+++ b/debian/apitrace-gl-tracers.install
@@ -0,0 +1,3 @@
+usr/lib/apitrace
+usr/bin/apitrace
+usr/share/doc/* usr/share/doc/apitrace-gl-tracer/
diff --git a/debian/changelog b/debian/changelog
index 2146960..d27daf4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,5 @@
apitrace (3.0+git20120817.56ad11c7-1) UNRELEASED; urgency=low
* Initial release (Closes: #636679, LP: #813848)
- * debian/patches/01_use_system_libpng_snappy_zlib.diff:
- - Use system libraries rather than bundled copies.
-- Christopher James Halse Rogers <raof@ubuntu.com> Mon, 13 Feb 2012 16:32:44 +1100
diff --git a/debian/control b/debian/control
index a3d4fc0..7140d03 100644
--- a/debian/control
+++ b/debian/control
@@ -12,11 +12,8 @@ Build-Depends:
libqt4-dev,
libqtwebkit-dev,
libqjson-dev,
- libsnappy-dev,
- libpng12-dev,
pkg-config,
python,
- zlib1g-dev,
Standards-Version: 3.9.2
Homepage: https://github.com/apitrace/apitrace
Vcs-Git: git://git.debian.org/pkg-xorg/app/apitrace.git
diff --git a/debian/patches/01_use_system_libpng_snappy_zlib.diff b/debian/patches/01_use_system_libpng_snappy_zlib.diff
deleted file mode 100644
index 6b5f844..0000000
--- a/debian/patches/01_use_system_libpng_snappy_zlib.diff
+++ /dev/null
@@ -1,107 +0,0 @@
-Description: Link against system libraries for zlib, libsnappy, and libpng
-Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
-Forwarded: not-needed
-
-Index: apitrace/CMakeLists.txt
-===================================================================
---- apitrace.orig/CMakeLists.txt 2012-02-13 13:11:55.503382553 +1100
-+++ apitrace/CMakeLists.txt 2012-02-13 13:11:58.827382375 +1100
-@@ -155,25 +155,20 @@
- # - on unices to prevent symbol collisions when tracing applications that link
- # against other versions of these libraries
-
--set (ZLIB_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/zlib)
--set (ZLIB_LIBRARIES z_bundled)
--add_subdirectory (thirdparty/zlib EXCLUDE_FROM_ALL)
--
-+find_package (ZLIB REQUIRED)
- include_directories (${ZLIB_INCLUDE_DIRS})
- link_libraries (${ZLIB_LIBRARIES})
--
--set (SNAPPY_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/snappy)
--set (SNAPPY_LIBRARIES snappy_bundled)
--add_subdirectory (thirdparty/snappy EXCLUDE_FROM_ALL)
-+#
-+# libSnappy doesn't ship a pc file, because it is made of hate
-+#
-+#find_package (SNAPPY REQUIRED)
-+set (SNAPPY_INCLUDE_DIRS "")
-+set (SNAPPY_LIBRARIES -lsnappy)
-
- include_directories (${SNAPPY_INCLUDE_DIRS})
- link_libraries (${SNAPPY_LIBRARIES})
-
--set (PNG_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libpng)
--set (PNG_DEFINITIONS "")
--set (PNG_LIBRARIES png_bundled)
--
--add_subdirectory (thirdparty/libpng EXCLUDE_FROM_ALL)
-+find_package (PNG REQUIRED)
- include_directories (${PNG_INCLUDE_DIR})
- add_definitions (${PNG_DEFINITIONS})
- link_libraries (${PNG_LIBRARIES})
-Index: apitrace/common/trace_file_zlib.cpp
-===================================================================
---- apitrace.orig/common/trace_file_zlib.cpp 2012-02-13 13:11:34.000000000 +1100
-+++ apitrace/common/trace_file_zlib.cpp 2012-02-13 13:12:12.107381666 +1100
-@@ -31,11 +31,11 @@
- #include <string.h>
-
- #include <zlib.h>
--#include <gzguts.h>
-
- #include "os.hpp"
-
- #include <iostream>
-+#include <stdio.h>
-
-
- using namespace trace;
-@@ -60,6 +60,7 @@
- virtual bool rawSkip(size_t length);
- virtual int rawPercentRead();
- private:
-+ int raw_fd;
- void *m_gzFile;
- double m_endOffset;
- };
-@@ -78,18 +79,23 @@
-
- bool ZLibFile::rawOpen(const std::string &filename, File::Mode mode)
- {
-- m_gzFile = gzopen(filename.c_str(),
-- (mode == File::Write) ? "wb" : "rb");
-+ FILE *file = fopen(filename.c_str(),
-+ (mode == File::Write) ? "wb" : "rb") ;
-+ if (file == NULL)
-+ return false;
-+
-+ int raw_fd = fileno(file);
-+ m_gzFile = gzdopen(raw_fd,
-+ (mode == File::Write) ? "wb" : "rb");
-
- if (mode == File::Read && m_gzFile) {
- //XXX: unfortunately zlib doesn't support
- // SEEK_END or we could've done:
- //m_endOffset = gzseek(m_gzFile, 0, SEEK_END);
- //gzrewind(m_gzFile);
-- gz_state *state = (gz_state *)m_gzFile;
-- off_t loc = lseek(state->fd, 0, SEEK_CUR);
-- m_endOffset = lseek(state->fd, 0, SEEK_END);
-- lseek(state->fd, loc, SEEK_SET);
-+ off_t loc = lseek(raw_fd, 0, SEEK_CUR);
-+ m_endOffset = lseek(raw_fd, 0, SEEK_END);
-+ lseek(raw_fd, loc, SEEK_SET);
- }
-
- return m_gzFile != NULL;
-@@ -141,8 +147,7 @@
-
- int ZLibFile::rawPercentRead()
- {
-- gz_state *state = (gz_state *)m_gzFile;
-- return 100 * (lseek(state->fd, 0, SEEK_CUR) / m_endOffset);
-+ return 100 * (lseek(raw_fd, 0, SEEK_CUR) / m_endOffset);
- }
-
-
diff --git a/debian/patches/series b/debian/patches/series
index 21482db..8b13789 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1 @@
-01_use_system_libpng_snappy_zlib.diff
+
commit 66ff12b47bd2b04997067425811d60a756aadc55
Author: Christopher James Halse Rogers <chris@cooperteam.net>
Date: Fri Aug 17 12:26:36 2012 +1000
Bump changelog version
diff --git a/debian/changelog b/debian/changelog
index af38e67..2146960 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-apitrace (2.0+git20120213.d8ea58f1-1) UNRELEASED; urgency=low
+apitrace (3.0+git20120817.56ad11c7-1) UNRELEASED; urgency=low
* Initial release (Closes: #636679, LP: #813848)
* debian/patches/01_use_system_libpng_snappy_zlib.diff:
commit 56ad11c7849c7e6ca0ad66558cb1a99c58d4cd3d
Author: James Benton <jbenton@vmware.com>
Date: Thu Aug 16 13:44:19 2012 +0100
Improve profiling.
Remove frame_begin from profile output.
Change frame_end to no longer record times.
Profile non-draw calls for CPU only.
Resynchronise gpu time every frame to account for drift.
Improve performance of profile gui.
Add seperate CPU view to timeline widget.
diff --git a/common/trace_profiler.cpp b/common/trace_profiler.cpp
index 403c260..642ba6e 100644
--- a/common/trace_profiler.cpp
+++ b/common/trace_profiler.cpp
@@ -24,16 +24,16 @@
**************************************************************************/
#include "trace_profiler.hpp"
+#include "os_time.hpp"
#include <iostream>
#include <string.h>
-#include <assert.h>
#include <sstream>
-#include "os_time.hpp"
namespace trace {
Profiler::Profiler()
: baseGpuTime(0),
baseCpuTime(0),
+ minCpuTime(1000),
cpuTimes(false),
gpuTimes(true),
pixelsDrawn(false)
@@ -50,14 +50,26 @@ void Profiler::setup(bool cpuTimes_, bool gpuTimes_, bool pixelsDrawn_)
gpuTimes = gpuTimes_;
pixelsDrawn = pixelsDrawn_;
- std::cout << "# frame_begin no gpu_start cpu_start" << std::endl;
- std::cout << "# frame_end no gpu_end gpu_dura cpu_end cpu_dura" << std::endl;
std::cout << "# call no gpu_start gpu_dura cpu_start cpu_dura pixels program name" << std::endl;
}
-void Profiler::setBaseTimes(int64_t gpuStart, int64_t cpuStart)
+int64_t Profiler::getBaseCpuTime()
+{
+ return baseCpuTime;
+}
+
+int64_t Profiler::getBaseGpuTime()
+{
+ return baseGpuTime;
+}
+
+void Profiler::setBaseCpuTime(int64_t cpuStart)
{
baseCpuTime = cpuStart;
+}
+
+void Profiler::setBaseGpuTime(int64_t gpuStart)
+{
baseGpuTime = gpuStart;
}
@@ -84,6 +96,10 @@ void Profiler::addCall(unsigned no,
double cpuTimeScale = 1.0E9 / os::timeFrequency;
cpuStart = (cpuStart - baseCpuTime) * cpuTimeScale;
cpuDuration = cpuDuration * cpuTimeScale;
+
+ if (cpuDuration < minCpuTime) {
+ return;
+ }
} else {
cpuStart = 0;
cpuDuration = 0;
@@ -105,108 +121,81 @@ void Profiler::addCall(unsigned no,
<< std::endl;
}
-void Profiler::addFrameStart(unsigned no, int64_t gpuStart, int64_t cpuStart)
-{
- lastFrame.no = no;
- lastFrame.gpuStart = gpuStart;
- lastFrame.cpuStart = cpuStart;
-
- if (gpuTimes) {
- gpuStart = gpuStart - baseGpuTime;
- } else {
- gpuStart = 0;
- }
-
- if (cpuTimes) {
- double cpuTimeScale = 1.0E9 / os::timeFrequency;
- cpuStart = (cpuStart - baseCpuTime) * cpuTimeScale;
- } else {
- cpuStart = 0;
- }
-
- std::cout << "frame_begin"
- << " " << no
- << " " << gpuStart
- << " " << cpuStart
- << std::endl;
-}
-
-void Profiler::addFrameEnd(int64_t gpuEnd, int64_t cpuEnd)
+void Profiler::addFrameEnd()
{
- int64_t gpuDuration, cpuDuration;
-
- if (gpuTimes) {
- gpuDuration = gpuEnd - lastFrame.gpuStart;
- gpuEnd = gpuEnd - baseGpuTime;
- } else {
- gpuEnd = 0;
- gpuDuration = 0;
- }
-
- if (cpuTimes) {
- double cpuTimeScale = 1.0E9 / os::timeFrequency;
- cpuDuration = (cpuEnd - lastFrame.cpuStart) * cpuTimeScale;
- cpuEnd = (cpuEnd - baseCpuTime) * cpuTimeScale;
- } else {
- cpuEnd = 0;
- cpuDuration = 0;
- }
-
- std::cout << "frame_end"
- << " " << lastFrame.no
- << " " << gpuEnd
- << " " << gpuDuration
- << " " << cpuEnd
- << " " << cpuDuration
- << std::endl;
+ std::cout << "frame_end" << std::endl;
}
void Profiler::parseLine(const char* in, Profile* profile)
{
std::stringstream line(in, std::ios_base::in);
std::string type;
+ static int64_t lastGpuTime;
+ static int64_t lastCpuTime;
- if (in[0] == '#' || strlen(in) < 12)
+ if (in[0] == '#' || strlen(in) < 4)
return;
+ if (profile->programs.size() == 0 && profile->cpuCalls.size() == 0 && profile->frames.size() == 0) {
+ lastGpuTime = 0;
+ lastCpuTime = 0;
+ }
+
line >> type;
if (type.compare("call") == 0) {
- assert(profile->frames.size());
- Profile::Call call;
-
- line >> call.no
- >> call.gpuStart
- >> call.gpuDuration
- >> call.cpuStart
- >> call.cpuDuration
- >> call.pixels
- >> call.program
- >> call.name;
-
- if (call.pixels >= 0) {
- profile->frames.back().calls.push_back(call);
+ Profile::DrawCall draw;
+ unsigned program;
+
+ line >> draw.no
+ >> draw.gpuStart
+ >> draw.gpuDuration
+ >> draw.cpuStart
+ >> draw.cpuDuration
+ >> draw.pixels
+ >> program
+ >> draw.name;
+
+ if (lastGpuTime < draw.gpuStart + draw.gpuDuration) {
+ lastGpuTime = draw.gpuStart + draw.gpuDuration;
}
- } else if (type.compare("frame_begin") == 0) {
- Profile::Frame frame;
- frame.gpuDuration = 0;
- frame.cpuDuration = 0;
- line >> frame.no
- >> frame.gpuStart
- >> frame.cpuStart;
+ if (lastCpuTime < draw.cpuStart + draw.cpuDuration) {
+ lastCpuTime = draw.cpuStart + draw.cpuDuration;
+ }
- profile->frames.push_back(frame);
+ if (draw.pixels >= 0) {
+ if (profile->programs.size() <= program) {
+ profile->programs.resize(program + 1);
+ }
+
+ profile->programs[program].cpuTotal += draw.cpuDuration;
+ profile->programs[program].gpuTotal += draw.gpuDuration;
+ profile->programs[program].pixelTotal += draw.pixels;
+ profile->programs[program].drawCalls.push_back(draw);
+ }
+
+ Profile::CpuCall call;
+ call.no = draw.no;
+ call.name = draw.name;
+ call.cpuStart = draw.cpuStart;
+ call.cpuDuration = draw.cpuDuration;
+ profile->cpuCalls.push_back(call);
} else if (type.compare("frame_end") == 0) {
- assert(profile->frames.size());
- Profile::Frame& frame = profile->frames.back();
- int64_t skipi64;
-
- line >> frame.no
- >> skipi64
- >> frame.gpuDuration
- >> skipi64
- >> frame.cpuDuration;
+ Profile::Frame frame;
+ frame.no = profile->frames.size();
+
+ if (frame.no == 0) {
+ frame.gpuStart = 0;
+ frame.cpuStart = 0;
+ } else {
+ frame.gpuStart = profile->frames.back().gpuStart + profile->frames.back().gpuDuration;
+ frame.cpuStart = profile->frames.back().cpuStart + profile->frames.back().cpuDuration;
+ }
+
+ frame.gpuDuration = lastGpuTime - frame.gpuStart;
+ frame.cpuDuration = lastCpuTime - frame.cpuStart;
+ profile->frames.push_back(frame);
}
}
}
diff --git a/common/trace_profiler.hpp b/common/trace_profiler.hpp
index dc3c4be..42fd032 100644
--- a/common/trace_profiler.hpp
+++ b/common/trace_profiler.hpp
@@ -34,34 +34,51 @@ namespace trace
{
Reply to: