[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

apitrace: Changes to 'master'



 .gitignore                                                                |    2 
 .travis.yml                                                               |   59 
 BUGS.markdown                                                             |  210 
 CMakeLists.txt                                                            |  402 
 DEVELOPMENT.markdown                                                      |  169 
 Dalvik.markdown                                                           |   55 
 INSTALL.markdown                                                          |  142 
 NEWS.markdown                                                             |   72 
 README.markdown                                                           |  524 
 TODO.markdown                                                             |    1 
 appveyor.yml                                                              |   38 
 cli/CMakeLists.txt                                                        |   23 
 cli/cli.hpp                                                               |    4 
 cli/cli_diff.cpp                                                          |   10 
 cli/cli_diff_images.cpp                                                   |   10 
 cli/cli_diff_state.cpp                                                    |   71 
 cli/cli_dump.cpp                                                          |   14 
 cli/cli_pager.cpp                                                         |   47 
 cli/cli_pager.hpp                                                         |    4 
 cli/cli_pickle.cpp                                                        |   30 
 cli/cli_resources.cpp                                                     |    7 
 cli/cli_resources.hpp                                                     |    4 
 cli/cli_retrace.hpp                                                       |    4 
 cli/cli_sed.cpp                                                           |   59 
 cli/cli_trace.cpp                                                         |  114 
 cli/pickle.hpp                                                            |   65 
 cmake/ConvenienceLibrary.cmake                                            |   15 
 cmake/FindDirectX.cmake                                                   |  497 
 cmake/FindSNAPPY.cmake                                                    |   13 
 cmake/Findprocps.cmake                                                    |   16 
 cmake/InstallPDB.cmake                                                    |   17 
 cmake/toolchain/android.toolchain.cmake                                   |  391 
 common/formatter.hpp                                                      |  225 
 common/highlight.cpp                                                      |  324 
 common/highlight.hpp                                                      |   86 
 common/os.hpp                                                             |   27 
 common/os_backtrace.hpp                                                   |    5 
 common/os_binary.hpp                                                      |    4 
 common/os_dl.hpp                                                          |    4 
 common/os_memory.hpp                                                      |   23 
 common/os_posix.cpp                                                       |  111 
 common/os_process.hpp                                                     |    4 
 common/os_string.hpp                                                      |    6 
 common/os_thread.hpp                                                      |  198 
 common/os_time.hpp                                                        |    4 
 common/os_version.hpp                                                     |   61 
 common/os_win32.cpp                                                       |   88 
 common/trace_api.hpp                                                      |    5 
 common/trace_callset.hpp                                                  |    4 
 common/trace_dump.cpp                                                     |   67 
 common/trace_dump.hpp                                                     |   16 
 common/trace_fast_callset.hpp                                             |    4 
 common/trace_file.hpp                                                     |    5 
 common/trace_file_snappy.cpp                                              |   28 
 common/trace_file_zlib.cpp                                                |   42 
 common/trace_format.hpp                                                   |  109 
 common/trace_loader.hpp                                                   |    4 
 common/trace_lookup.hpp                                                   |    4 
 common/trace_model.cpp                                                    |   95 
 common/trace_model.hpp                                                    |   31 
 common/trace_option.cpp                                                   |    9 
 common/trace_option.hpp                                                   |    7 
 common/trace_parser.cpp                                                   |   28 
 common/trace_parser.hpp                                                   |    7 
 common/trace_parser_flags.cpp                                             |   85 
 common/trace_profiler.cpp                                                 |    1 
 common/trace_profiler.hpp                                                 |    4 
 common/trace_writer.cpp                                                   |   32 
 common/trace_writer.hpp                                                   |    5 
 common/trace_writer_local.cpp                                             |   51 
 common/trace_writer_local.hpp                                             |    6 
 common/trace_writer_model.cpp                                             |    4 
 common/ubjson.hpp                                                         |  111 
 debian/apitrace-gl-frontend.install                                       |    8 
 debian/apitrace-gl-tracers.install                                        |    2 
 debian/apitrace-gui.install                                               |    3 
 debian/apitrace-tracers.install                                           |    2 
 debian/apitrace.install                                                   |    5 
 debian/control                                                            |   42 
 debian/patches/series                                                     |    7 
 debian/patches/use-system-libbacktrace                                    |   11 
 debian/patches/use-system-md5                                             |   24 
 debian/patches/use-system-snappy.patch                                    |   84 
 dispatch/.gitignore                                                       |    1 
 dispatch/CMakeLists.txt                                                   |   36 
 dispatch/compat.h                                                         |   23 
 dispatch/d2dimports.hpp                                                   |    4 
 dispatch/d3d10_1imports.hpp                                               |   48 
 dispatch/d3d10imports.hpp                                                 |    9 
 dispatch/d3d11imports.hpp                                                 |    6 
 dispatch/d3d8imports.hpp                                                  |    4 
 dispatch/d3d9imports.hpp                                                  |    4 
 dispatch/d3derr.hpp                                                       |   43 
 dispatch/d3dimports.hpp                                                   |   57 
 dispatch/dispatch.py                                                      |   73 
 dispatch/dlopen.hpp                                                       |    4 
 dispatch/dxgiint.h                                                        |   25 
 dispatch/eglimports.hpp                                                   |    4 
 dispatch/glimports.hpp                                                    |   59 
 dispatch/glproc.py                                                        |  152 
 dispatch/glproc_egl.cpp                                                   |   27 
 dispatch/glproc_gl.cpp                                                    |   57 
 docs/BUGS.markdown                                                        |  215 
 docs/Dalvik.markdown                                                      |   52 
 docs/FORMAT.markdown                                                      |  128 
 docs/HACKING.markdown                                                     |  244 
 docs/INSTALL.markdown                                                     |  174 
 docs/NEWS.markdown                                                        |  100 
 docs/TODO.markdown                                                        |    1 
 docs/USAGE.markdown                                                       |  551 
 docs/VMWX_map_buffer_debug.txt                                            |  116 
 gui/.gitignore                                                            |    3 
 gui/CMakeLists.txt                                                        |   80 
 gui/androiddevicedialog.cpp                                               |  556 
 gui/androiddevicedialog.h                                                 |   65 
 gui/androidfiledialog.cpp                                                 |  279 
 gui/androidfiledialog.h                                                   |   45 
 gui/androidretracer.cpp                                                   |  326 
 gui/androidretracer.h                                                     |   33 
 gui/androidutils.cpp                                                      |  185 
 gui/androidutils.h                                                        |   71 
 gui/apicalldelegate.cpp                                                   |   18 
 gui/apicalldelegate.h                                                     |    5 
 gui/apisurface.cpp                                                        |   17 
 gui/apisurface.h                                                          |   14 
 gui/apitrace.cpp                                                          |  106 
 gui/apitrace.h                                                            |   24 
 gui/apitracecall.cpp                                                      |  258 
 gui/apitracecall.h                                                        |   47 
 gui/apitracefilter.cpp                                                    |   17 
 gui/apitracefilter.h                                                      |    5 
 gui/apitracemodel.cpp                                                     |    1 
 gui/apitracemodel.h                                                       |    5 
 gui/argumentseditor.h                                                     |    5 
 gui/calldurationgraph.h                                                   |    4 
 gui/glsledit.cpp                                                          |    2 
 gui/graphing/frameaxiswidget.h                                            |    5 
 gui/graphing/graphaxiswidget.h                                            |    5 
 gui/graphing/graphing.h                                                   |    5 
 gui/graphing/graphlabelwidget.h                                           |    5 
 gui/graphing/graphview.h                                                  |    5 
 gui/graphing/graphwidget.h                                                |    5 
 gui/graphing/heatmapverticalaxiswidget.h                                  |    5 
 gui/graphing/heatmapview.h                                                |    5 
 gui/graphing/histogramview.h                                              |    5 
 gui/graphing/timeaxiswidget.h                                             |    5 
 gui/imageviewer.cpp                                                       |    8 
 gui/imageviewer.h                                                         |    9 
 gui/jumpwidget.h                                                          |    5 
 gui/main.cpp                                                              |    5 
 gui/mainwindow.cpp                                                        |  392 
 gui/mainwindow.h                                                          |   24 
 gui/pixelwidget.h                                                         |    6 
 gui/profiledialog.cpp                                                     |    2 
 gui/profiledialog.h                                                       |    5 
 gui/profileheatmap.h                                                      |   13 
 gui/profiletablemodel.h                                                   |    4 
 gui/profiling.h                                                           |    5 
 gui/qapitrace.qrc                                                         |   46 
 gui/qubjson.cpp                                                           |  298 
 gui/qubjson.h                                                             |   34 
 gui/qubjson_test.cpp                                                      |  157 
 gui/resources/android-setup.png                                           |binary
 gui/resources/android.png                                                 |binary
 gui/resources/glreference-man.sh                                          |   10 
 gui/resources/glreference-registry.sh                                     |    6 
 gui/resources/glreference.tsv                                             | 6498 +++++-----
 gui/retracer.cpp                                                          |  183 
 gui/retracer.h                                                            |   22 
 gui/saverthread.cpp                                                       |   11 
 gui/saverthread.h                                                         |    6 
 gui/searchwidget.h                                                        |    5 
 gui/settingsdialog.cpp                                                    |   60 
 gui/settingsdialog.h                                                      |   11 
 gui/shaderssourcewidget.h                                                 |    5 
 gui/thumbnail.h                                                           |    5 
 gui/tracedialog.h                                                         |    5 
 gui/traceloader.cpp                                                       |  296 
 gui/traceloader.h                                                         |   34 
 gui/traceprocess.h                                                        |    5 
 gui/trimprocess.h                                                         |    6 
 gui/ui/androiddevicedialog.ui                                             |  132 
 gui/ui/androidfiledialog.ui                                               |  149 
 gui/ui/imageviewer.ui                                                     |   18 
 gui/ui/mainwindow.ui                                                      |  133 
 gui/ui/profilereplaydialog.ui                                             |   12 
 gui/ui/settings.ui                                                        |  136 
 gui/vertexdatainterpreter.h                                               |    5 
 helpers/CMakeLists.txt                                                    |   18 
 helpers/com_ptr.hpp                                                       |   87 
 helpers/d3d10size.hpp                                                     |   44 
 helpers/d3d11size.hpp                                                     |   44 
 helpers/d3d7size.hpp                                                      |  105 
 helpers/d3d8size.hpp                                                      |    4 
 helpers/d3d9size.hpp                                                      |    4 
 helpers/d3dcommonsize.hpp                                                 |    4 
 helpers/d3dshader.cpp                                                     |    4 
 helpers/d3dshader.hpp                                                     |    4 
 helpers/dxgisize.hpp                                                      |    4 
 helpers/eglsize.hpp                                                       |    5 
 helpers/glprofile.cpp                                                     |  325 
 helpers/glprofile.hpp                                                     |  143 
 helpers/glsize.hpp                                                        |  245 
 image/image.hpp                                                           |   13 
 image/image_md5.cpp                                                       |    6 
 image/image_png.cpp                                                       |   75 
 image/image_pnm.cpp                                                       |   11 
 inject/CMakeLists.txt                                                     |   11 
 inject/inject.h                                                           |  112 
 inject/injectee.cpp                                                       |  974 +
 inject/injector.cpp                                                       |  500 
 retrace/.gitignore                                                        |    2 
 retrace/CMakeLists.txt                                                    |  284 
 retrace/android/AndroidManifest.xml                                       |   23 
 retrace/android/build.gradle                                              |   46 
 retrace/android/java/apitrace/github/io/eglretrace/AbstractServer.java    |   31 
 retrace/android/java/apitrace/github/io/eglretrace/QtCreatorDebugger.java |  242 
 retrace/android/java/apitrace/github/io/eglretrace/RetraceActivity.java   |  114 
 retrace/android/java/apitrace/github/io/eglretrace/Servers.java           |   54 
 retrace/android/local.properties.in                                       |    7 
 retrace/android/res/drawable-hdpi/ic_launcher.png                         |binary
 retrace/android/res/drawable-mdpi/ic_launcher.png                         |binary
 retrace/android/res/drawable-xhdpi/ic_launcher.png                        |binary
 retrace/android/res/drawable-xxhdpi/ic_launcher.png                       |binary
 retrace/android/res/values/strings.xml                                    |    4 
 retrace/d3d10state.cpp                                                    |  110 
 retrace/d3d10state.hpp                                                    |   89 
 retrace/d3d10state_images.cpp                                             |  373 
 retrace/d3d11state.cpp                                                    |  137 
 retrace/d3d11state.hpp                                                    |   47 
 retrace/d3d11state_images.cpp                                             |  435 
 retrace/d3d7state.cpp                                                     |   62 
 retrace/d3d7state_images.cpp                                              |  216 
 retrace/d3d8state.cpp                                                     |   53 
 retrace/d3d8state_images.cpp                                              |  231 
 retrace/d3d9retrace.py                                                    |   74 
 retrace/d3d9state.cpp                                                     |   52 
 retrace/d3d9state.hpp                                                     |   57 
 retrace/d3d9state_formats.cpp                                             |  259 
 retrace/d3d9state_images.cpp                                              |  191 
 retrace/d3dretrace.hpp                                                    |   18 
 retrace/d3dretrace_dxgi.hpp                                               |  210 
 retrace/d3dretrace_dxgi_priv.cpp                                          |  283 
 retrace/d3dretrace_main.cpp                                               |    3 
 retrace/d3dstate.hpp                                                      |   70 
 retrace/ddrawretrace.py                                                   |  136 
 retrace/dllretrace.py                                                     |    1 
 retrace/dxgiretrace.py                                                    |  303 
 retrace/dxgistate.cpp                                                     |  348 
 retrace/dxgistate.hpp                                                     |   11 
 retrace/dxgistate_so.hpp                                                  |  116 
 retrace/dxgistate_so.py                                                   |  275 
 retrace/glretrace.hpp                                                     |   21 
 retrace/glretrace.py                                                      |  405 
 retrace/glretrace_cgl.cpp                                                 |  165 
 retrace/glretrace_egl.cpp                                                 |  102 
 retrace/glretrace_glx.cpp                                                 |   87 
 retrace/glretrace_main.cpp                                                |  308 
 retrace/glretrace_wgl.cpp                                                 |  201 
 retrace/glretrace_ws.cpp                                                  |   84 
 retrace/glstate.cpp                                                       |  417 
 retrace/glstate.hpp                                                       |   12 
 retrace/glstate_formats.cpp                                               |  662 +
 retrace/glstate_images.cpp                                                |  667 -
 retrace/glstate_internal.hpp                                              |  150 
 retrace/glstate_params.py                                                 |  369 
 retrace/glstate_shaders.cpp                                               |  730 -
 retrace/glws.cpp                                                          |   55 
 retrace/glws.hpp                                                          |   37 
 retrace/glws_cocoa.mm                                                     |   42 
 retrace/glws_egl_android.cpp                                              |  723 +
 retrace/glws_egl_xlib.cpp                                                 |  408 
 retrace/glws_glx.cpp                                                      |  340 
 retrace/glws_waffle.cpp                                                   |   90 
 retrace/glws_wgl.cpp                                                      |  197 
 retrace/glws_xlib.cpp                                                     |  245 
 retrace/glws_xlib.hpp                                                     |   69 
 retrace/json.cpp                                                          |   39 
 retrace/json.hpp                                                          |   49 
 retrace/retrace.cpp                                                       |   42 
 retrace/retrace.hpp                                                       |   49 
 retrace/retrace.py                                                        |  109 
 retrace/retrace_main.cpp                                                  |  149 
 retrace/retrace_stdc.cpp                                                  |   30 
 retrace/retrace_swizzle.cpp                                               |   87 
 retrace/retrace_swizzle.hpp                                               |   15 
 retrace/scoped_allocator.hpp                                              |    9 
 retrace/state_writer.cpp                                                  |   81 
 retrace/state_writer.hpp                                                  |  182 
 retrace/state_writer_json.cpp                                             |  126 
 retrace/state_writer_ubjson.cpp                                           |  220 
 scripts/convert.py                                                        |  161 
 scripts/highlight.py                                                      |    4 
 scripts/jsondiff.py                                                       |   20 
 scripts/jsonextractimages.py                                              |   21 
 scripts/retracediff.py                                                    |    1 
 scripts/tracediff.py                                                      |   87 
 scripts/unpickle.py                                                       |   57 
 specs/cglapi.py                                                           |   49 
 specs/d2d1.py                                                             |    5 
 specs/d3d.py                                                              |  116 
 specs/d3d10.py                                                            |  158 
 specs/d3d10_1.py                                                          |  119 
 specs/d3d10misc.py                                                        |   55 
 specs/d3d10sdklayers.py                                                   |   11 
 specs/d3d11.py                                                            |  369 
 specs/d3d11_1.py                                                          |  177 
 specs/d3d11sdklayers.py                                                   |    8 
 specs/d3d11shader.py                                                      |  186 
 specs/d3d8.py                                                             |   16 
 specs/d3d8types.py                                                        |    2 
 specs/d3d9.py                                                             |   33 
 specs/d3d9types.py                                                        |    2 
 specs/d3dcommon.py                                                        |    1 
 specs/d3dtypes.py                                                         |    4 
 specs/ddraw.py                                                            |  567 
 specs/dxgi.py                                                             |  584 
 specs/dxgi1_2.py                                                          |   52 
 specs/dxgiformat.py                                                       |  132 
 specs/dxgitype.py                                                         |  115 
 specs/eglapi.py                                                           |   40 
 specs/eglenum.py                                                          |  166 
 specs/glapi.py                                                            | 4217 +++---
 specs/glesapi.py                                                          |  261 
 specs/glparams.py                                                         |  373 
 specs/gltypes.py                                                          |    8 
 specs/glxapi.py                                                           |  488 
 specs/scripts/.gitignore                                                  |    6 
 specs/scripts/Makefile                                                    |   46 
 specs/scripts/README.markdown                                             |    8 
 specs/scripts/c2api.py                                                    |  442 
 specs/scripts/cdecl.py                                                    |  442 
 specs/scripts/eglenum.sh                                                  |    3 
 specs/scripts/glspec.py                                                   |  293 
 specs/scripts/gltxt.py                                                    |  244 
 specs/scripts/sort.sh                                                     |    2 
 specs/scripts/spec2api.py                                                 |  293 
 specs/scripts/txt2api.py                                                  |  244 
 specs/scripts/wglenum.sh                                                  |    5 
 specs/scripts/xml2api.py                                                  |  197 
 specs/scripts/xml2enum.py                                                 |   65 
 specs/scripts/xml2glparams.py                                             |   43 
 specs/stdapi.py                                                           |   28 
 specs/wglapi.py                                                           |   84 
 specs/wglenum.py                                                          |   13 
 specs/winapi.py                                                           |   50 
 thirdparty/khronos/EGL/egl.h                                              |  562 
 thirdparty/khronos/EGL/eglext.h                                           |  292 
 thirdparty/khronos/EGL/eglplatform.h                                      |    4 
 thirdparty/khronos/GL/glext.h                                             | 1035 +
 thirdparty/khronos/GL/glxext.h                                            |  102 
 thirdparty/khronos/GL/wglext.h                                            |   13 
 thirdparty/khronos/GLES2/gl2.h                                            |  154 
 thirdparty/khronos/GLES2/gl2ext.h                                         | 1334 ++
 thirdparty/khronos/Makefile                                               |   14 
 thirdparty/snappy/CMakeLists.txt                                          |   11 
 thirdparty/snappy/COPYING                                                 |   26 
 thirdparty/snappy/ChangeLog                                               |  699 +
 thirdparty/snappy/NEWS                                                    |   39 
 thirdparty/snappy/config.h                                                |   68 
 thirdparty/snappy/framing_format.txt                                      |   35 
 thirdparty/snappy/snappy-c.h                                              |    2 
 thirdparty/snappy/snappy-internal.h                                       |    4 
 thirdparty/snappy/snappy-stubs-internal.h                                 |   84 
 thirdparty/snappy/snappy-stubs-public.h                                   |   17 
 thirdparty/snappy/snappy-stubs-public.h.in                                |   13 
 thirdparty/snappy/snappy-test.cc                                          |   50 
 thirdparty/snappy/snappy-test.h                                           |   99 
 thirdparty/snappy/snappy.cc                                               |  347 
 thirdparty/snappy/snappy.h                                                |   47 
 thirdparty/snappy/snappy_unittest.cc                                      |  270 
 wrappers/.gitignore                                                       |    1 
 wrappers/CMakeLists.txt                                                   |  268 
 wrappers/assert.cpp                                                       |   65 
 wrappers/cgltrace.py                                                      |   24 
 wrappers/config.cpp                                                       |  448 
 wrappers/config.hpp                                                       |   74 
 wrappers/d2d1.def                                                         |   10 
 wrappers/d2d1trace.def                                                    |    8 
 wrappers/d3d10.def                                                        |   31 
 wrappers/d3d10_1.def                                                      |   32 
 wrappers/d3d10stubs.cpp                                                   |  522 
 wrappers/d3d11.def                                                        |   44 
 wrappers/d3d11stubs.cpp                                                   |  121 
 wrappers/d3d8trace.py                                                     |    2 
 wrappers/d3d9shader.hpp                                                   |    4 
 wrappers/d3d9trace.py                                                     |   54 
 wrappers/d3dcommonshader.hpp                                              |    4 
 wrappers/d3dkmtstubs.cpp                                                  |  713 -
 wrappers/ddraw.def                                                        |    2 
 wrappers/ddrawtrace.py                                                    |   34 
 wrappers/dlltrace.py                                                      |    3 
 wrappers/dlsym.cpp                                                        |   79 
 wrappers/dwrite.def                                                       |    4 
 wrappers/dwritetrace.cpp                                                  |    6 
 wrappers/dxgi.def                                                         |   47 
 wrappers/dxgistubs.cpp                                                    |  114 
 wrappers/dxgitrace.def                                                    |   16 
 wrappers/dxgitrace.py                                                     |   73 
 wrappers/egltrace.py                                                      |   53 
 wrappers/egltrace.version                                                 |   10 
 wrappers/glcaps.cpp                                                       |  117 
 wrappers/gltrace.hpp                                                      |   23 
 wrappers/gltrace.py                                                       |  474 
 wrappers/gltrace_state.cpp                                                |    9 
 wrappers/glxtrace.py                                                      |    2 
 wrappers/glxtrace.version                                                 |    9 
 wrappers/trace.py                                                         |  264 
 wrappers/wgltrace.py                                                      |   29 
 409 files changed, 35670 insertions(+), 18514 deletions(-)

New commits:
commit ae9701ce908ae264b22e0a559348f983e2e8a31f
Author: Christopher James Halse Rogers <raof@ubuntu.com>
Date:   Fri Jun 26 17:08:26 2015 +1000

    Update build-dependencies

diff --git a/debian/control b/debian/control
index 90296f7..f71c835 100644
--- a/debian/control
+++ b/debian/control
@@ -9,15 +9,15 @@ Build-Depends:
  libegl1-mesa-dev,
  libgles1-mesa-dev,
  libgles2-mesa-dev,
- libqt4-dev,
- libqtwebkit-dev,
- libqjson-dev,
+ qtbase5-dev,
+ libqt5webkit5-dev,
  pkg-config,
  python,
  zlib1g-dev,
  libsnappy-dev,
  libpng12-dev,
  libbsd-dev,
+ libprocps-dev,
 Standards-Version: 3.9.5
 Homepage: https://apitrace.github.io
 Vcs-Git: git://git.debian.org/pkg-xorg/app/apitrace.git

commit 62ad71c6b6f770cd4ecc96f3a842cbf63c8bdc6c
Author: Seth Berrier <berriers@uwstout.edu>
Date:   Fri Jun 26 07:20:04 2015 +0100

    glretrace: Don't force GPU durations to zero.
    
    Fixes #359.

diff --git a/common/trace_profiler.cpp b/common/trace_profiler.cpp
index b765340..65c91aa 100644
--- a/common/trace_profiler.cpp
+++ b/common/trace_profiler.cpp
@@ -116,7 +116,6 @@ void Profiler::addCall(unsigned no,
         gpuStart -= baseGpuTime;
     } else {
         gpuStart = 0;
-        gpuDuration = 0;
     }
 
     if (cpuTimes && cpuStart) {

commit 24f814ce25d7d649db9298c4fe89bc77c496a728
Author: Christopher James Halse Rogers <raof@ubuntu.com>
Date:   Fri Jun 26 15:14:06 2015 +1000

    Finish moving qapitrace to apitrace-gui

diff --git a/debian/apitrace.install b/debian/apitrace.install
index d5d680f..2ef8ecd 100644
--- a/debian/apitrace.install
+++ b/debian/apitrace.install
@@ -1,8 +1,5 @@
 usr/bin/apitrace
 usr/bin/eglretrace
 usr/bin/glretrace
-usr/bin/qapitrace
-
-debian/qapitrace.desktop usr/share/applications
 
 usr/lib/apitrace

commit 976566a1de14c905041c4a6e3ddf73b2b2c7d38e
Author: Christopher James Halse Rogers <raof@ubuntu.com>
Date:   Fri Jun 26 15:13:01 2015 +1000

    Use system libsnappy for playback.
    
    Still use the bundled libsnappy for the tracers, as we need to build
    it statically to ensure the tracer doesn't have any symbol conflicts
    with whatever it is we're tracing.

diff --git a/debian/patches/series b/debian/patches/series
index 948c569..65cc1b9 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,4 @@
 #02_no_zlib_internals.patch
 use-system-libbacktrace
 use-system-md5
+use-system-snappy.patch
diff --git a/debian/patches/use-system-snappy.patch b/debian/patches/use-system-snappy.patch
new file mode 100644
index 0000000..6b0cda9
--- /dev/null
+++ b/debian/patches/use-system-snappy.patch
@@ -0,0 +1,84 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -383,11 +383,18 @@
+     find_package (SNAPPY)
+ endif ()
+ if (ENABLE_STATIC_SNAPPY OR NOT SNAPPY_FOUND)
+-    set (SNAPPY_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/snappy)
+-    set (SNAPPY_LIBRARIES snappy_bundled)
++    # We want to use the system snappy for the retracers, as they run on
++    # potentially-untrusted input, but we need static snappy for the
++    # LD_PRELOADed tracers to avoid symbol collisions in the tracee.
++    #
++    # Predictably, the system libsnappy.a is built without PIC, so
++    # useless for us. So do both: find the system libsnappy for the
++    # retracers and and build the bundled libsnappy for the tracers.
++    find_package (SNAPPY REQUIRED)
++    set (SNAPPY_STATIC_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/snappy)
++    set (SNAPPY_STATIC_LIBRARIES snappy_bundled)
+     add_subdirectory (thirdparty/snappy)
+ endif ()
+-include_directories (${SNAPPY_INCLUDE_DIRS})
+ 
+ if (NOT WIN32)
+     # zlib 1.2.4-1.2.5 made it impossible to read the last block of incomplete
+--- a/wrappers/CMakeLists.txt
++++ b/wrappers/CMakeLists.txt
+@@ -2,6 +2,8 @@
+ # API tracers
+ 
+ 
++include_directories (${SNAPPY_STATIC_INCLUDE_DIRS})
++
+ if (ENABLE_STATIC_LIBGCC)
+     add_linker_flags (-static-libgcc -Wl,--exclude-libs,libgcc.a)
+ endif ()
+@@ -337,7 +339,7 @@
+         glhelpers
+         glproc_gl
+         common
+-        ${SNAPPY_LIBRARIES}
++        ${SNAPPY_STATIC_LIBRARIES}
+         ${CMAKE_THREAD_LIBS_INIT}
+         dl
+     )
+@@ -398,7 +400,7 @@
+         glhelpers
+         glproc_egl
+         common
+-        ${SNAPPY_LIBRARIES}
++        ${SNAPPY_STATIC_LIBRARIES}
+         ${CMAKE_THREAD_LIBS_INIT}
+         dl
+     )
+--- a/cli/CMakeLists.txt
++++ b/cli/CMakeLists.txt
+@@ -14,6 +14,8 @@
+     add_definitions (-DAPITRACE_PYTHON_EXECUTABLE="${PYTHON_EXECUTABLE}")
+ endif ()
+ 
++include_directories(${SNAPPY_INCLUDE_DIRS})
++
+ add_executable (apitrace
+     cli_main.cpp
+     cli_diff.cpp
+--- a/gui/CMakeLists.txt
++++ b/gui/CMakeLists.txt
+@@ -63,6 +63,7 @@
+ #add_app_icon(qapitrace_SRCS ../icons/hi*-qapitrace.png)
+ include_directories(
+     ${CMAKE_SOURCE_DIR} # for image/*
++    ${SNAPPY_INCLUDE_DIRS}
+ )
+ 
+ add_executable (qapitrace ${qapitrace_SRCS} ${qapitrace_UIS_H})
+--- a/retrace/CMakeLists.txt
++++ b/retrace/CMakeLists.txt
+@@ -8,6 +8,7 @@
+     ${CMAKE_SOURCE_DIR}/dispatch
+     ${CMAKE_SOURCE_DIR}/image
+     ${CMAKE_SOURCE_DIR}/thirdparty/dxerr
++    ${SNAPPY_INCLUDE_DIRS}
+ )
+ 
+ add_definitions (-DRETRACE)

commit 9a03338766259dd9db4f124abcfbd969c75f05d4
Author: Christopher James Halse Rogers <raof@ubuntu.com>
Date:   Fri Jun 26 13:10:27 2015 +1000

    Update patches for system libbacktrace and system md5

diff --git a/debian/patches/series b/debian/patches/series
index 65c18c1..948c569 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,4 @@
-01_use-system-qjson.diff
-02_no_zlib_internals.patch
+#01_use-system-qjson.diff
+#02_no_zlib_internals.patch
+use-system-libbacktrace
+use-system-md5
diff --git a/debian/patches/use-system-libbacktrace b/debian/patches/use-system-libbacktrace
new file mode 100644
index 0000000..291fc40
--- /dev/null
+++ b/debian/patches/use-system-libbacktrace
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -428,8 +428,6 @@
+ endif ()
+ 
+ if (CMAKE_EXECUTABLE_FORMAT STREQUAL "ELF")
+-    add_subdirectory (thirdparty/libbacktrace)
+-    include_directories (${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libbacktrace)
+     set (LIBBACKTRACE_LIBRARIES dl backtrace)
+     add_definitions (-DHAVE_BACKTRACE=1)
+ endif ()
diff --git a/debian/patches/use-system-md5 b/debian/patches/use-system-md5
new file mode 100644
index 0000000..2f6a2f5
--- /dev/null
+++ b/debian/patches/use-system-md5
@@ -0,0 +1,24 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -432,9 +432,7 @@
+     add_definitions (-DHAVE_BACKTRACE=1)
+ endif ()
+ 
+-add_subdirectory (thirdparty/md5)
+-set (MD5_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/md5)
+-set (MD5_LIBRARIES md5_bundled)
++set (MD5_LIBRARIES bsd)
+ 
+ # We use bundled headers for all Khronos APIs, to guarantee support for both
+ # OpenGL and OpenGL ES at build time, because the OpenGL and OpenGL ES 1 APIs
+--- a/image/image_md5.cpp
++++ b/image/image_md5.cpp
+@@ -28,7 +28,7 @@
+ #include <fstream>
+ #include "image.hpp"
+ 
+-#include "md5.h"
++#include <bsd/md5.h>
+ 
+ 
+ using namespace std;

commit 0a749b6475889d1f7db8da4385c77aadfe5b06d5
Author: Jose Fonseca <jfonseca@vmware.com>
Date:   Thu Jun 25 15:52:05 2015 +0100

    glretrace: Workaround unusable GL_TIMESTAMP on Mac.
    
    Fixes #359.

diff --git a/retrace/glretrace_main.cpp b/retrace/glretrace_main.cpp
index b02864f..ddb647e 100755
--- a/retrace/glretrace_main.cpp
+++ b/retrace/glretrace_main.cpp
@@ -374,6 +374,12 @@ initContext() {
     supportsDebugOutput = currentContext->hasExtension("GL_ARB_debug_output");
     supportsARBShaderObjects = currentContext->hasExtension("GL_ARB_shader_objects");
 
+#ifdef __APPLE__
+    // GL_TIMESTAMP doesn't work on Apple.  GL_TIME_ELAPSED still does however.
+    // http://lists.apple.com/archives/mac-opengl/2014/Nov/threads.html#00001
+    supportsTimestamp   = false;
+#endif
+
     /* Check for timer query support */
     if (retrace::profilingGpuTimes) {
         if (!supportsTimestamp && !supportsElapsed) {

commit 04036909c0b0ffe0f49b1127e9d3693b4431eca7
Author: Jose Fonseca <jfonseca@vmware.com>
Date:   Thu Jun 25 15:51:04 2015 +0100

    specs: Add type info for GL_TIMESTAMP.

diff --git a/specs/glparams.py b/specs/glparams.py
index 4636083..ad48a83 100644
--- a/specs/glparams.py
+++ b/specs/glparams.py
@@ -2802,7 +2802,7 @@ parameters = [
     ("glGet",	I,	1,	"GL_TRANSFORM_FEEDBACK_BINDING"),	# 0x8E25
     ("",	X,	1,	"GL_FRAME_NV"),	# 0x8E26
     ("",	X,	1,	"GL_FIELDS_NV"),	# 0x8E27
-    ("",	X,	1,	"GL_TIMESTAMP"),	# 0x8E28
+    ("_glGet",	I64,	1,	"GL_TIMESTAMP"),	# 0x8E28
     ("",	X,	1,	"GL_NUM_FILL_STREAMS_NV"),	# 0x8E29
     ("",	X,	1,	"GL_PRESENT_TIME_NV"),	# 0x8E2A
     ("",	X,	1,	"GL_PRESENT_DURATION_NV"),	# 0x8E2B

commit 5cd0ac50972bc8be658bb5315ff191afccb65aea
Author: Jose Fonseca <jfonseca@vmware.com>
Date:   Thu Jun 25 14:36:10 2015 +0100

    glretrace: Improve GL_ARB_timer_query support detection.
    
    Was part of core in GL_ARB_timer_query.

diff --git a/retrace/glretrace_main.cpp b/retrace/glretrace_main.cpp
index 48c214a..b02864f 100755
--- a/retrace/glretrace_main.cpp
+++ b/retrace/glretrace_main.cpp
@@ -367,7 +367,8 @@ initContext() {
     }
 
     /* Ensure we have adequate extension support */
-    supportsTimestamp   = currentContext->hasExtension("GL_ARB_timer_query");
+    supportsTimestamp   = currentProfile.versionGreaterOrEqual(glprofile::API_GL, 3, 3) ||
+                          currentContext->hasExtension("GL_ARB_timer_query");
     supportsElapsed     = currentContext->hasExtension("GL_EXT_timer_query") || supportsTimestamp;
     supportsOcclusion   = currentProfile.versionGreaterOrEqual(glprofile::API_GL, 1, 5);
     supportsDebugOutput = currentContext->hasExtension("GL_ARB_debug_output");

commit 1b685b0bb3a33b7b9eac254b4c4172903ef2eb38
Author: Jose Fonseca <jfonseca@vmware.com>
Date:   Wed Jun 17 21:57:41 2015 +0100

    common: Use GetModuleHandle to detect WINE.
    
    Simpler and safer.

diff --git a/common/highlight.cpp b/common/highlight.cpp
index 6a1e783..334ba57 100644
--- a/common/highlight.cpp
+++ b/common/highlight.cpp
@@ -254,10 +254,9 @@ haveAnsi(void)
         }
 
         // http://wiki.winehq.org/DeveloperFaq#detect-wine
-        HMODULE hNtDll = LoadLibraryA("ntdll");
+        HMODULE hNtDll = GetModuleHandleA("ntdll");
         if (hNtDll) {
             result = GetProcAddress(hNtDll, "wine_get_version") != NULL;
-            FreeLibrary(hNtDll);
         }
 
         checked = true;

commit 1d46c903de4562a9b24a602ac7b6d3ef281e28d6
Author: Jose Fonseca <jfonseca@vmware.com>
Date:   Tue Jun 16 15:51:53 2015 +0100

    retrace: Remove duplicate "warning: " from warning message.

diff --git a/retrace/retrace_swizzle.cpp b/retrace/retrace_swizzle.cpp
index 1a3544f..ce89276 100644
--- a/retrace/retrace_swizzle.cpp
+++ b/retrace/retrace_swizzle.cpp
@@ -133,7 +133,7 @@ addRegion(trace::Call &call, unsigned long long address, void *buffer, unsigned
             regionMap.erase(start, stop);
         } else {
             for (RegionMap::iterator it = start; it != stop; ++it) {
-                warning(call) << "warning: " << std::hex <<
+                warning(call) << std::hex <<
                     "region 0x" << address << "-0x" << (address + size) << " "
                     "intersects existing region 0x" << it->first << "-0x" << (it->first + it->second.size) << "\n" << std::dec;
                 assert(intersects(it, address, size));

commit 53ea8108dd795a58b3a147e56a92afd21dc145f1
Author: Jose Fonseca <jfonseca@vmware.com>
Date:   Thu Jun 25 14:28:09 2015 +0100

    glretrace: Fix occlusion query support detection.
    
    GL_ARB_occlusion_query was made part of core OpenGL 1.5.  Furthermore we
    don't use the *ARB entry-points, so we really rely on the core support.
    
    Futhermore, on Mac OS, core 3.2+ profiles do not list core extensions,
    so we were wrongly assuming it was missing.
    
    Fixes #358.

diff --git a/helpers/glprofile.hpp b/helpers/glprofile.hpp
index be2a111..397777d 100644
--- a/helpers/glprofile.hpp
+++ b/helpers/glprofile.hpp
@@ -84,6 +84,11 @@ struct Profile {
                (major == refMajor && minor >= refMinor);
     }
 
+    inline bool
+    versionGreaterOrEqual(Api refApi, unsigned refMajor, unsigned refMinor) const {
+        return api == refApi && versionGreaterOrEqual(refMajor, refMinor);
+    }
+
     bool
     matches(const Profile expected) const;
 
diff --git a/retrace/glretrace_main.cpp b/retrace/glretrace_main.cpp
index 599ebed..48c214a 100755
--- a/retrace/glretrace_main.cpp
+++ b/retrace/glretrace_main.cpp
@@ -369,7 +369,7 @@ initContext() {
     /* Ensure we have adequate extension support */
     supportsTimestamp   = currentContext->hasExtension("GL_ARB_timer_query");
     supportsElapsed     = currentContext->hasExtension("GL_EXT_timer_query") || supportsTimestamp;
-    supportsOcclusion   = currentContext->hasExtension("GL_ARB_occlusion_query");
+    supportsOcclusion   = currentProfile.versionGreaterOrEqual(glprofile::API_GL, 1, 5);
     supportsDebugOutput = currentContext->hasExtension("GL_ARB_debug_output");
     supportsARBShaderObjects = currentContext->hasExtension("GL_ARB_shader_objects");
 

commit d1f3582d14a1a496c248262ed873de34ab47bb58
Author: Jose Fonseca <jfonseca@vmware.com>
Date:   Thu Jun 25 13:31:09 2015 +0100

    glstate: Support more texture buffer formats.

diff --git a/retrace/glstate_formats.cpp b/retrace/glstate_formats.cpp
index b784b8c..b07bd68 100644
--- a/retrace/glstate_formats.cpp
+++ b/retrace/glstate_formats.cpp
@@ -29,6 +29,8 @@
 #include <assert.h>
 
 #include <iostream>
+#include <limits>
+#include <type_traits>
 
 #include "glsize.hpp"
 #include "glstate.hpp"
@@ -65,6 +67,7 @@ formatToString(GLenum internalFormat) {
 
 static const InternalFormatDesc
 internalFormatDescs[] = {
+    // GLenum internalFormat,                  GLenum format,                   GLenum type,                        GLenum readType
 
     // Unsized UNORM
     { 1,                                       GL_RED,                          GL_NONE,                            GL_UNSIGNED_BYTE },
@@ -416,4 +419,244 @@ getImageFormat(GLenum format, GLenum type,
 }
 
 
+// Macros for describing arbitrary swizzles
+
+#define SWIZZLE_X 0
+#define SWIZZLE_Y 1
+#define SWIZZLE_Z 2
+#define SWIZZLE_W 3
+#define SWIZZLE_0 4
+#define SWIZZLE_1 5
+#define SWIZZLE_COUNT 6
+
+#define SWIZZLE_BITS 4
+#define SWIZZLE_MASK ((1 << SWIZZLE_BITS) - 1)
+
+#define SWIZZLE(x, y, z, w) \
+    (((SWIZZLE_##x) << (SWIZZLE_BITS*0)) | \
+     ((SWIZZLE_##y) << (SWIZZLE_BITS*1)) | \
+     ((SWIZZLE_##z) << (SWIZZLE_BITS*2)) | \
+     ((SWIZZLE_##w) << (SWIZZLE_BITS*3)))
+
+#define SWIZZLE_RGBA SWIZZLE(X,Y,Z,W)
+#define SWIZZLE_RGB  SWIZZLE(X,Y,Z,1)
+#define SWIZZLE_RG   SWIZZLE(X,Y,0,1)
+#define SWIZZLE_R    SWIZZLE(X,0,0,1)
+#define SWIZZLE_LA   SWIZZLE(X,X,X,Y)
+#define SWIZZLE_L    SWIZZLE(X,X,X,1)
+#define SWIZZLE_A    SWIZZLE(0,0,0,X)
+#define SWIZZLE_I    SWIZZLE(X,X,X,X)
+
+#define SWIZZLE_EXTRACT(swizzle, channel) \
+    ((swizzle) >> (SWIZZLE_BITS * (channel)) & SWIZZLE_MASK)
+
+
+// Template that can describe all regular array-based pixel formats
+template< typename Type, unsigned components, bool normalized, uint16_t swizzle >
+class PixelTemplate : public PixelFormat
+{
+protected:
+
+    static_assert( 1 <= components && components <= 4, "invalid number of components" );
+
+    static const unsigned swizzle_r = SWIZZLE_EXTRACT(swizzle, 0);
+    static const unsigned swizzle_g = SWIZZLE_EXTRACT(swizzle, 1);
+    static const unsigned swizzle_b = SWIZZLE_EXTRACT(swizzle, 2);
+    static const unsigned swizzle_a = SWIZZLE_EXTRACT(swizzle, 3);
+
+    static_assert( swizzle_r < components || swizzle_r == SWIZZLE_0 || swizzle_r == SWIZZLE_1, "invalid R swizzle" );
+    static_assert( swizzle_g < components || swizzle_g == SWIZZLE_0 || swizzle_g == SWIZZLE_1, "invalid G swizzle" );
+    static_assert( swizzle_b < components || swizzle_b == SWIZZLE_0 || swizzle_b == SWIZZLE_1, "invalid B swizzle" );
+    static_assert( swizzle_a < components || swizzle_a == SWIZZLE_0 || swizzle_a == SWIZZLE_1, "invalid A swizzle" );
+
+    // We must use double precision intermediate values when normalizing 32bits integers.
+    typedef typename std::conditional< normalized && sizeof(Type) >= 4 , double , float >::type Scale;
+
+    // Scale normalized types
+    template<typename T = void>
+    static inline Scale
+    scale(Scale value, typename std::enable_if<normalized, T>::type* = 0)
+    {
+        static_assert( normalized, "should only be instantiated for normalized types" );
+#ifndef _MSC_VER
+        static constexpr Type typeMax = std::numeric_limits<Type>::max();
+        static_assert( static_cast<Type>(static_cast<Scale>(typeMax)) == typeMax,
+                       "intermediate type cannot represent maximum value without loss of precission" );
+        static constexpr Scale scaleFactor = Scale(1) / Scale(typeMax);
+        static_assert( Scale(typeMax) * scaleFactor == Scale(1), "cannot represent unity" );
+        static_assert( Scale(0) * scaleFactor == Scale(0), "cannot represent zero" );
+#else
+        // XXX: MSCV doesn't support constexpr yet
+        static const Type typeMax = std::numeric_limits<Type>::max();
+        assert( static_cast<Type>(static_cast<Scale>(typeMax)) == typeMax );
+        static const Scale scaleFactor = Scale(1) / Scale(typeMax);
+        assert( Scale(typeMax) * scaleFactor == Scale(1) );
+        assert( Scale(0) * scaleFactor == Scale(0) );
+#endif
+        return value * scaleFactor;
+    }
+
+    // No-op for unormalized types
+    template<typename T = void>
+    static inline Scale
+    scale(Scale value, typename std::enable_if<!normalized, T>::type* = 0)
+    {
+        static_assert( !normalized, "should only be instantiated for non-normalized types" );
+        return value;
+    }
+
+    // Unpack a single pixel
+    static inline void
+    unpackPixel(const Type *inPixel, float outPixel[4])
+    {
+        float scaledComponents[SWIZZLE_COUNT];
+        for (unsigned component = 0; component < components; ++component) {
+            Scale scaledComponent = scale(static_cast<Scale>(inPixel[component]));
+            scaledComponents[component] = static_cast<float>(scaledComponent);
+        }
+        scaledComponents[SWIZZLE_0] = 0.0f;
+        scaledComponents[SWIZZLE_1] = 1.0f;
+
+        outPixel[0] = scaledComponents[swizzle_r];
+        outPixel[1] = scaledComponents[swizzle_g];
+        outPixel[2] = scaledComponents[swizzle_b];
+        outPixel[3] = scaledComponents[swizzle_a];
+    }
+
+public:
+
+    inline
+    PixelTemplate(void) {
+    }
+
+    size_t
+    size(void) const {
+        return sizeof(Type) * components;
+    }
+
+    void
+    unpackSpan(const uint8_t *inSpan, float *outSpan, unsigned width) const
+    {
+        const Type *inPixel = reinterpret_cast<const Type *>(inSpan);
+
+        for (unsigned x = 0; x < width; ++x) {
+            unpackPixel(inPixel, outSpan);
+            inPixel += components;
+            outSpan += 4;
+        }
+    }
+};
+
+
+const PixelFormat *
+getPixelFormat(GLenum internalFormat)
+{
+    static const bool Y = true;
+    static const bool N = false;
+
+#define CASE(internalFormat, type, components, norm, swizzle) \
+    case GL_##internalFormat: \
+        { \
+            static const PixelTemplate< GL##type, components, norm, SWIZZLE_##swizzle > pixel; \
+            return &pixel; \
+        }
+
+    switch (internalFormat) {
+
+    CASE(ALPHA8,                  ubyte,  1, Y, A);
+    CASE(ALPHA16,                 ushort, 1, Y, A);
+    CASE(ALPHA16F_ARB,            half,   1, N, A);
+    CASE(ALPHA32F_ARB,            float,  1, N, A);
+    CASE(ALPHA8I_EXT,             byte,   1, N, A);
+    CASE(ALPHA16I_EXT,            short,  1, N, A);
+    CASE(ALPHA32I_EXT,            int,    1, N, A);
+    CASE(ALPHA8UI_EXT,            ubyte,  1, N, A);
+    CASE(ALPHA16UI_EXT,           ushort, 1, N, A);


Reply to: