apitrace: Changes to 'master'
.editorconfig | 27
.gitignore | 6
.lvimrc | 1
.travis.yml | 63
Android.mk | 9
CMakeLists.txt | 271
appveyor.yml | 38
cli/CMakeLists.txt | 10
cli/cli.hpp | 2
cli/cli_dump.cpp | 65
cli/cli_leaks.cpp | 85
cli/cli_main.cpp | 2
cli/cli_pickle.cpp | 34
cli/cli_repack.cpp | 170
cli/cli_sed.cpp | 49
cli/cli_trace.cpp | 31
cli/cli_trim.cpp | 284
cli/cli_trim_auto.cpp | 432
cli/cli_trim_auto_analyzer.cpp | 767 +
cli/cli_trim_auto_analyzer.hpp | 114
cli/pickle.hpp | 1
cli/trace_analyzer.cpp | 767 -
cli/trace_analyzer.hpp | 114
cmake/FindDirectX.cmake | 75
cmake/FindWaffle.cmake | 38
cmake/Windows10SDK.cmake | 53
cmake/toolchain/android.toolchain.cmake | 1767 --
common/highlight.cpp | 324
common/highlight.hpp | 86
common/os.hpp | 106
common/os_backtrace.cpp | 486
common/os_backtrace.hpp | 44
common/os_binary.hpp | 59
common/os_dl.hpp | 87
common/os_memory.hpp | 78
common/os_posix.cpp | 450
common/os_process.hpp | 89
common/os_string.hpp | 435
common/os_thread.hpp | 499
common/os_time.hpp | 104
common/os_version.hpp | 61
common/os_win32.cpp | 398
common/trace_api.hpp | 56
common/trace_callset.cpp | 255
common/trace_callset.hpp | 195
common/trace_dump.cpp | 313
common/trace_dump.hpp | 75
common/trace_fast_callset.cpp | 210
common/trace_fast_callset.hpp | 140
common/trace_file.cpp | 56
common/trace_file.hpp | 206
common/trace_file_read.cpp | 69
common/trace_file_snappy.cpp | 415
common/trace_file_write.cpp | 50
common/trace_file_zlib.cpp | 181
common/trace_format.hpp | 83
common/trace_loader.cpp | 137
common/trace_loader.hpp | 63
common/trace_lookup.hpp | 109
common/trace_model.cpp | 301
common/trace_model.hpp | 585
common/trace_option.cpp | 62
common/trace_option.hpp | 38
common/trace_parser.cpp | 1043 -
common/trace_parser.hpp | 224
common/trace_parser_flags.cpp | 646 -
common/trace_profiler.cpp | 259
common/trace_profiler.hpp | 143
common/trace_writer.cpp | 372
common/trace_writer.hpp | 116
common/trace_writer_local.cpp | 269
common/trace_writer_local.hpp | 121
common/trace_writer_model.cpp | 149
common/ubjson.hpp | 111
compat/cxx_compat.hpp | 65
compat/d3derr.hpp | 99
compat/winsdk_compat.h | 797 +
debian/control | 2
debian/copyright | 76
debian/patches/use-system-gtest | 10
debian/patches/use-system-libbacktrace | 10
debian/patches/use-system-md5 | 14
debian/patches/use-system-snappy | 83
debian/rules | 6
dispatch/compat.h | 771 -
dispatch/d2dimports.hpp | 11
dispatch/d3d10imports.hpp | 2
dispatch/d3d11imports.hpp | 4
dispatch/d3d8imports.hpp | 2
dispatch/d3d9imports.hpp | 2
dispatch/d3derr.hpp | 96
dispatch/d3dimports.hpp | 2
dispatch/dcompimports.hpp | 78
dispatch/dxgiint.h | 7
dispatch/dxva2imports.hpp | 49
dispatch/dxvaint.h | 179
dispatch/eglimports.hpp | 5
dispatch/glproc.py | 28
dispatch/glproc_egl.cpp | 97
dispatch/glproc_gl.cpp | 5
docs/Android.markdown | 45
docs/Dalvik.markdown | 52
docs/FORMAT.markdown | 2
docs/HACKING.markdown | 1
docs/INSTALL.markdown | 86
docs/NEWS.markdown | 4
docs/USAGE.markdown | 25
gui/CMakeLists.txt | 76
gui/androiddevicedialog.cpp | 16
gui/androiddevicedialog.h | 2
gui/androidfiledialog.cpp | 8
gui/androidfiledialog.h | 2
gui/androidretracer.cpp | 2
gui/androidretracer.h | 2
gui/apicalldelegate.h | 4
gui/apisurface.cpp | 26
gui/apisurface.h | 8
gui/apitrace.cpp | 18
gui/apitrace.h | 1
gui/apitracecall.cpp | 91
gui/apitracecall.h | 52
gui/apitracefilter.h | 2
gui/apitracemodel.cpp | 2
gui/apitracemodel.h | 24
gui/argumentseditor.h | 2
gui/calldurationgraph.h | 16
gui/glsledit.cpp | 6
gui/glsledit.h | 6
gui/graphing/frameaxiswidget.h | 2
gui/graphing/graphaxiswidget.h | 6
gui/graphing/graphlabelwidget.h | 2
gui/graphing/graphview.h | 10
gui/graphing/graphwidget.h | 2
gui/graphing/heatmapverticalaxiswidget.h | 4
gui/graphing/heatmapview.h | 8
gui/graphing/histogramview.h | 12
gui/graphing/timeaxiswidget.h | 2
gui/imageviewer.cpp | 10
gui/imageviewer.h | 6
gui/jumpwidget.h | 4
gui/leaktracethread.cpp | 82
gui/leaktracethread.h | 35
gui/mainwindow.cpp | 264
gui/mainwindow.h | 13
gui/pixelwidget.h | 20
gui/profiledialog.cpp | 12
gui/profileheatmap.h | 44
gui/profiletablemodel.cpp | 13
gui/profiletablemodel.h | 10
gui/qubjson_test.cpp | 4
gui/resources/glreference.tsv | 2598 +---
gui/retracer.cpp | 12
gui/retracer.h | 2
gui/saverthread.cpp | 28
gui/saverthread.h | 2
gui/searchwidget.h | 4
gui/settingsdialog.h | 2
gui/tracedialog.h | 2
gui/traceloader.cpp | 210
gui/traceloader.h | 2
gui/trimprocess.cpp | 2
gui/ui/jumpwidget.ui | 2
gui/ui/mainwindow.ui | 77
helpers/CMakeLists.txt | 2
helpers/com_ptr.hpp | 61
helpers/d3d11size.hpp | 56
helpers/d3d7size.hpp | 15
helpers/d3d8size.hpp | 98
helpers/d3d9size.hpp | 150
helpers/d3dcommonsize.hpp | 88
helpers/dxgisize.hpp | 43
helpers/glfeatures.cpp | 408
helpers/glfeatures.hpp | 177
helpers/glprofile.cpp | 325
helpers/glprofile.hpp | 143
helpers/glsize.hpp | 257
image/CMakeLists.txt | 17
image/README.markdown | 2
image/image.hpp | 156
image/image_bmp.cpp | 142
image/image_md5.cpp | 64
image/image_png.cpp | 277
image/image_pnm.cpp | 319
image/image_raw.cpp | 66
inject/CMakeLists.txt | 10
inject/inject.h | 74
inject/injectee.cpp | 434
inject/injector.cpp | 180
lib/CMakeLists.txt | 5
lib/guids/CMakeLists.txt | 9
lib/guids/guids.cpp | 132
lib/guids/guids.hpp | 51
lib/guids/guids_defs.hpp | 40
lib/guids/guids_entries.h | 763 +
lib/guids/guids_test.cpp | 56
lib/highlight/CMakeLists.txt | 4
lib/highlight/highlight.cpp | 324
lib/highlight/highlight.hpp | 86
lib/image/CMakeLists.txt | 18
lib/image/README.markdown | 2
lib/image/image.hpp | 156
lib/image/image_bmp.cpp | 142
lib/image/image_md5.cpp | 64
lib/image/image_png.cpp | 277
lib/image/image_pnm.cpp | 319
lib/image/image_raw.cpp | 66
lib/os/CMakeLists.txt | 40
lib/os/os.hpp | 106
lib/os/os_backtrace.cpp | 486
lib/os/os_backtrace.hpp | 44
lib/os/os_binary.hpp | 59
lib/os/os_crtdbg.cpp | 92
lib/os/os_crtdbg.hpp | 57
lib/os/os_dl.hpp | 87
lib/os/os_memory.hpp | 78
lib/os/os_osx.mm | 41
lib/os/os_posix.cpp | 468
lib/os/os_process.hpp | 89
lib/os/os_string.hpp | 437
lib/os/os_thread.hpp | 539
lib/os/os_thread_test.cpp | 161
lib/os/os_time.hpp | 104
lib/os/os_version.hpp | 61
lib/os/os_win32.cpp | 405
lib/os/thread_pool.hpp | 113
lib/trace/CMakeLists.txt | 37
lib/trace/trace_api.hpp | 56
lib/trace/trace_callset.cpp | 264
lib/trace/trace_callset.hpp | 195
lib/trace/trace_dump.cpp | 327
lib/trace/trace_dump.hpp | 76
lib/trace/trace_dump_internal.hpp | 81
lib/trace/trace_fast_callset.cpp | 210
lib/trace/trace_fast_callset.hpp | 140
lib/trace/trace_file.cpp | 60
lib/trace/trace_file.hpp | 169
lib/trace/trace_file_brotli.cpp | 150
lib/trace/trace_file_read.cpp | 70
lib/trace/trace_file_snappy.cpp | 353
lib/trace/trace_file_zlib.cpp | 144
lib/trace/trace_format.hpp | 83
lib/trace/trace_lookup.hpp | 109
lib/trace/trace_model.cpp | 301
lib/trace/trace_model.hpp | 593
lib/trace/trace_option.cpp | 62
lib/trace/trace_option.hpp | 38
lib/trace/trace_ostream.hpp | 52
lib/trace/trace_ostream_snappy.cpp | 207
lib/trace/trace_ostream_zlib.cpp | 93
lib/trace/trace_parser.cpp | 1039 +
lib/trace/trace_parser.hpp | 248
lib/trace/trace_parser_flags.cpp | 550
lib/trace/trace_parser_flags_test.cpp | 644 +
lib/trace/trace_parser_loop.cpp | 111
lib/trace/trace_profiler.cpp | 259
lib/trace/trace_profiler.hpp | 143
lib/trace/trace_snappy.hpp | 34
lib/trace/trace_writer.cpp | 372
lib/trace/trace_writer.hpp | 116
lib/trace/trace_writer_local.cpp | 287
lib/trace/trace_writer_local.hpp | 121
lib/trace/trace_writer_model.cpp | 149
lib/ubjson/ubjson.hpp | 111
retrace/CMakeLists.txt | 35
retrace/d3d10state.cpp | 40
retrace/d3d10state.hpp | 9
retrace/d3d10state_images.cpp | 49
retrace/d3d11state.cpp | 40
retrace/d3d9retrace.py | 64
retrace/d3d9state.cpp | 10
retrace/d3d9state_formats.cpp | 6
retrace/d3d9state_images.cpp | 22
retrace/d3dretrace.hpp | 3
retrace/d3dretrace_dxgi.hpp | 11
retrace/d3dretrace_dxgi_misc.cpp | 113
retrace/d3dretrace_ws.cpp | 135
retrace/d3dstate.hpp | 12
retrace/ddrawretrace.py | 13
retrace/dxgiretrace.py | 140
retrace/dxgistate.cpp | 85
retrace/dxgistate.hpp | 2
retrace/glretrace.hpp | 124
retrace/glretrace.py | 153
retrace/glretrace_cgl.cpp | 29
retrace/glretrace_egl.cpp | 22
retrace/glretrace_glx.cpp | 17
retrace/glretrace_main.cpp | 398
retrace/glretrace_wgl.cpp | 216
retrace/glretrace_wgl.hpp | 42
retrace/glretrace_wgl_font.cpp | 4896 ++++++++
retrace/glretrace_ws.cpp | 87
retrace/glstate.cpp | 69
retrace/glstate_formats.cpp | 63
retrace/glstate_images.cpp | 283
retrace/glstate_internal.hpp | 20
retrace/glstate_shaders.cpp | 444
retrace/glws.cpp | 35
retrace/glws.hpp | 78
retrace/glws_cocoa.mm | 52
retrace/glws_egl_android.cpp | 46
retrace/glws_egl_xlib.cpp | 53
retrace/glws_glx.cpp | 269
retrace/glws_waffle.cpp | 142
retrace/glws_wgl.cpp | 462
retrace/glws_xlib.cpp | 10
retrace/json.cpp | 10
retrace/metric_backend.hpp | 285
retrace/metric_backend_amd_perfmon.cpp | 449
retrace/metric_backend_amd_perfmon.hpp | 178
retrace/metric_backend_intel_perfquery.cpp | 361
retrace/metric_backend_intel_perfquery.hpp | 170
retrace/metric_backend_opengl.cpp | 481
retrace/metric_backend_opengl.hpp | 198
retrace/metric_helper.cpp | 217
retrace/metric_writer.cpp | 224
retrace/metric_writer.hpp | 124
retrace/mmap_allocator.hpp | 171
retrace/retrace.hpp | 26
retrace/retrace.py | 54
retrace/retrace_main.cpp | 188
retrace/retrace_swizzle.cpp | 6
retrace/retrace_swizzle.hpp | 9
retrace/state_writer_json.cpp | 28
retrace/state_writer_ubjson.cpp | 28
retrace/threaded_snapshot.hpp | 91
retrace/ws.cpp | 38
retrace/ws.hpp | 37
retrace/ws_win32.cpp | 237
retrace/ws_win32.hpp | 49
scripts/CMakeLists.txt | 10
scripts/jsondiff.py | 32
scripts/leaks.py | 162
scripts/retracediff.py | 5
scripts/snapdiff.py | 51
scripts/tracediff.py | 6
scripts/unpickle.py | 11
specs/cglapi.py | 3
specs/d2d1.py | 784 +
specs/d2dbasetypes.py | 80
specs/d2derr.py | 62
specs/d3d10.py | 47
specs/d3d11.py | 1096 +
specs/d3d9.py | 31
specs/d3d9dxva2.py | 382
specs/d3dcommon.py | 702 -
specs/dcomp.py | 303
specs/ddraw.py | 25
specs/dwrite.py | 639 +
specs/dxgi.py | 87
specs/dxva2.py | 458
specs/eglapi.py | 217
specs/eglenum.py | 56
specs/glapi.py | 251
specs/glparams.py | 188
specs/gltypes.py | 1
specs/scripts/Makefile | 6
specs/scripts/cxx2api.h | 39
specs/scripts/cxx2api.py | 488
specs/scripts/xml2glparams.py | 38
specs/stdapi.py | 26
specs/wglapi.py | 14
specs/winapi.py | 11
thirdparty/brotli/CMakeLists.txt | 75
thirdparty/brotli/CONTRIBUTING.md | 27
thirdparty/brotli/LICENSE | 19
thirdparty/brotli/README.md | 17
thirdparty/brotli/dec/bit_reader.c | 48
thirdparty/brotli/dec/bit_reader.h | 389
thirdparty/brotli/dec/context.h | 251
thirdparty/brotli/dec/decode.c | 2237 +++
thirdparty/brotli/dec/decode.h | 96
thirdparty/brotli/dec/dictionary.c | 9466 +++++++++++++++
thirdparty/brotli/dec/dictionary.h | 38
thirdparty/brotli/dec/huffman.c | 357
thirdparty/brotli/dec/huffman.h | 73
thirdparty/brotli/dec/port.h | 224
thirdparty/brotli/dec/prefix.h | 749 +
thirdparty/brotli/dec/state.c | 178
thirdparty/brotli/dec/state.h | 249
thirdparty/brotli/dec/transform.h | 300
thirdparty/brotli/dec/types.h | 38
thirdparty/brotli/enc/backward_references.cc | 858 +
thirdparty/brotli/enc/backward_references.h | 116
thirdparty/brotli/enc/bit_cost.h | 161
thirdparty/brotli/enc/block_splitter.cc | 505
thirdparty/brotli/enc/block_splitter.h | 61
thirdparty/brotli/enc/brotli_bit_stream.cc | 1181 +
thirdparty/brotli/enc/brotli_bit_stream.h | 179
thirdparty/brotli/enc/cluster.h | 330
thirdparty/brotli/enc/command.h | 156
thirdparty/brotli/enc/compress_fragment.cc | 701 +
thirdparty/brotli/enc/compress_fragment.h | 47
thirdparty/brotli/enc/compress_fragment_two_pass.cc | 524
thirdparty/brotli/enc/compress_fragment_two_pass.h | 40
thirdparty/brotli/enc/context.h | 178
thirdparty/brotli/enc/dictionary.cc | 9466 +++++++++++++++
thirdparty/brotli/enc/dictionary.h | 41
thirdparty/brotli/enc/dictionary_hash.h | 4117 ++++++
thirdparty/brotli/enc/encode.cc | 1175 +
thirdparty/brotli/enc/encode.h | 207
thirdparty/brotli/enc/encode_parallel.cc | 279
thirdparty/brotli/enc/encode_parallel.h | 28
thirdparty/brotli/enc/entropy_encode.cc | 480
thirdparty/brotli/enc/entropy_encode.h | 104
thirdparty/brotli/enc/entropy_encode_static.h | 572
thirdparty/brotli/enc/fast_log.h | 139
thirdparty/brotli/enc/find_match_length.h | 77
thirdparty/brotli/enc/hash.h | 974 +
thirdparty/brotli/enc/histogram.cc | 67
thirdparty/brotli/enc/histogram.h | 94
thirdparty/brotli/enc/literal_cost.cc | 165
thirdparty/brotli/enc/literal_cost.h | 24
thirdparty/brotli/enc/metablock.cc | 539
thirdparty/brotli/enc/metablock.h | 80
thirdparty/brotli/enc/port.h | 142
thirdparty/brotli/enc/prefix.h | 79
thirdparty/brotli/enc/ringbuffer.h | 145
thirdparty/brotli/enc/static_dict.cc | 455
thirdparty/brotli/enc/static_dict.h | 32
thirdparty/brotli/enc/static_dict_lut.h |12055 ++++++++++++++++++++
thirdparty/brotli/enc/streams.cc | 114
thirdparty/brotli/enc/streams.h | 121
thirdparty/brotli/enc/transform.h | 248
thirdparty/brotli/enc/types.h | 29
thirdparty/brotli/enc/utf8_util.cc | 83
thirdparty/brotli/enc/utf8_util.h | 25
thirdparty/brotli/enc/write_bits.h | 84
thirdparty/crc32c/CMakeLists.txt | 3
thirdparty/crc32c/README.md | 6
thirdparty/crc32c/crc32c.c | 332
thirdparty/crc32c/crc32c.hpp | 111
thirdparty/khronos/EGL/egl.h | 6
thirdparty/khronos/EGL/eglext.h | 76
thirdparty/khronos/EGL/eglplatform.h | 2
thirdparty/khronos/EGL/eglplatform.patch | 14
thirdparty/khronos/GL/glext.h | 197
thirdparty/khronos/GL/glxext.h | 6
thirdparty/khronos/GL/wglext.h | 6
thirdparty/khronos/GLES2/gl2.h | 6
thirdparty/khronos/GLES2/gl2ext.h | 124
thirdparty/khronos/Makefile | 18
thirdparty/snappy/AUTHORS | 1
thirdparty/snappy/CMakeLists.txt | 23
thirdparty/snappy/COPYING | 54
thirdparty/snappy/ChangeLog | 1916 ---
thirdparty/snappy/NEWS | 128
thirdparty/snappy/README | 135
thirdparty/snappy/config.h | 146
thirdparty/snappy/format_description.txt | 110
thirdparty/snappy/framing_format.txt | 135
thirdparty/snappy/snappy-c.cc | 90
thirdparty/snappy/snappy-c.h | 138
thirdparty/snappy/snappy-internal.h | 150
thirdparty/snappy/snappy-sinksource.cc | 71
thirdparty/snappy/snappy-sinksource.h | 137
thirdparty/snappy/snappy-stubs-internal.cc | 42
thirdparty/snappy/snappy-stubs-internal.h | 491
thirdparty/snappy/snappy-stubs-public.h | 98
thirdparty/snappy/snappy-stubs-public.h.in | 98
thirdparty/snappy/snappy-test.cc | 606 -
thirdparty/snappy/snappy-test.h | 582
thirdparty/snappy/snappy.cc | 1306 --
thirdparty/snappy/snappy.h | 184
thirdparty/snappy/snappy_unittest.cc | 1355 --
wrappers/CMakeLists.txt | 86
wrappers/assert.cpp | 4
wrappers/config.cpp | 1
wrappers/d2d1trace.py | 2
wrappers/d3d9.def | 2
wrappers/d3d9trace.py | 42
wrappers/dlltrace.hpp | 69
wrappers/dlltrace.py | 24
wrappers/dxgitrace.def | 2
wrappers/dxgitrace.hpp | 129
wrappers/dxgitrace.py | 80
wrappers/egltrace.py | 10
wrappers/glcaps.cpp | 15
wrappers/gltrace.hpp | 90
wrappers/gltrace.py | 453
wrappers/gltrace_arrays.cpp | 193
wrappers/gltrace_arrays.hpp | 97
wrappers/gltrace_state.cpp | 13
wrappers/memtrace.cpp | 244
wrappers/memtrace.hpp | 63
wrappers/trace.py | 88
wrappers/wgltrace.py | 145
486 files changed, 91400 insertions(+), 30053 deletions(-)
New commits:
commit 28dba4cc70a55f28e53c79809665b0e7b4d5d9f2
Author: Christopher James Halse Rogers <chris@cooperteam.net>
Date: Fri Jun 3 15:53:14 2016 +1000
Refresh copyright for new 3rd-party bundles
diff --git a/debian/copyright b/debian/copyright
index fb20c20..cf7f146 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -15,35 +15,32 @@ Files: thirdparty/khronos/*
Copyright: © 2007-2011 The Khronos Group Inc.
License: Expat
-Files: thirdparty/snappy/*
-Copyright: © 2005-2011, Google Inc.
-License: BSD-3-clause
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are
- met:
+Files: thirdparty/brotli/*
+Copyright: © 2009, 2010, 2013-2015 by the Brotli Authors.
+License: Expat
+
+Files: thirdparty/crc32c/crc32c.c
+Copyright: © 2004-2006 Intel Corporation
+License: BSD-2-clause
+
+Files: thirdparty/crc32c/crc32c.hpp
+Copyright: © 2011-2013 Stephan Brumme
+License: BSD-like
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
.
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following disclaimer
- in the documentation and/or other materials provided with the
- distribution.
- * Neither the name of Google Inc. nor the names of its
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
.
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
License: Expat
Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -52,7 +49,7 @@ License: Expat
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
- .
+ .
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
.
@@ -63,3 +60,26 @@ License: Expat
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
+
+License: BSD-2-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ .
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ .
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
commit fe14c15013014861d38010e903fb94bc0a549177
Author: Christopher James Halse Rogers <chris@cooperteam.net>
Date: Fri Jun 3 15:25:59 2016 +1000
Build against libpng-dev rather than (old) libpng12-dev
diff --git a/debian/control b/debian/control
index bbfb447..6c58210 100644
--- a/debian/control
+++ b/debian/control
@@ -15,7 +15,7 @@ Build-Depends:
python,
zlib1g-dev,
libsnappy-dev,
- libpng12-dev,
+ libpng-dev,
libbsd-dev,
libprocps-dev,
libgtest-dev,
commit 71b5182e87f882f03fc08580da1d4d8ddd8f3078
Author: Christopher James Halse Rogers <chris@cooperteam.net>
Date: Fri Jun 3 15:25:14 2016 +1000
Add libsnappy to Built-Using generation.
Now that libsnappy-dev ships a libsnappy-shared.a built with -fPIC, we can use that
rather than the bundled snappy
diff --git a/debian/rules b/debian/rules
index 2c29330..186317e 100755
--- a/debian/rules
+++ b/debian/rules
@@ -28,7 +28,11 @@ override_dh_gencontrol:
echo "built-using:Depends=zlib1g-dev (= $(shell dpkg-query -s zlib1g-dev \
| grep Version: \
| cut -d' ' -f2))" \
- >> debian/apitrace-gl-tracers.substvars
+ >> debian/apitrace-tracers.substvars
+ echo "built-using:Depends=libsnappy-dev (= $(shell dpkg-query -s libsnappy-dev \
+ | grep Version: \
+ | cut -d' ' -f2))" \
+ >> debian/apitrace-tracers.substvars
dh_gencontrol
%:
commit 383f2652bfdbfe92c04695b8da2544cec0213ee1
Author: Christopher James Halse Rogers <chris@cooperteam.net>
Date: Fri Jun 3 15:24:00 2016 +1000
Refresh patches for new upstream version
diff --git a/debian/patches/use-system-gtest b/debian/patches/use-system-gtest
index f236c22..ee3b4ee 100644
--- a/debian/patches/use-system-gtest
+++ b/debian/patches/use-system-gtest
@@ -2,9 +2,11 @@ Description: Use system libgtest-dev
Forwarded: not-needed
Author: Christopher James Halse Rogers <raof@ubuntu.com>
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -465,9 +465,9 @@
+Index: apitrace/CMakeLists.txt
+===================================================================
+--- apitrace.orig/CMakeLists.txt 2016-05-31 17:15:21.165385400 +1000
++++ apitrace/CMakeLists.txt 2016-05-31 17:15:21.161385434 +1000
+@@ -510,9 +510,9 @@
include_directories (BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/khronos)
# We use non-standard C++ flags, so we can't just use GTest's CMakeLists.txt
@@ -16,4 +18,4 @@ Author: Christopher James Halse Rogers <raof@ubuntu.com>
+set_property (TARGET gtest APPEND PROPERTY INCLUDE_DIRECTORIES /usr/src/gtest)
target_link_libraries (gtest ${CMAKE_THREAD_LIBS_INIT})
- enable_testing ()
+ # Convenience macro for adding unit tests
diff --git a/debian/patches/use-system-libbacktrace b/debian/patches/use-system-libbacktrace
index b3cef70..fcb0dc2 100644
--- a/debian/patches/use-system-libbacktrace
+++ b/debian/patches/use-system-libbacktrace
@@ -2,10 +2,12 @@ Description: Use system libbacktrace
Forwarded: not-needed
Author: Christopher James Halse Rogers <raof@ubuntu.com>
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -448,8 +448,6 @@
- endif ()
+Index: apitrace/CMakeLists.txt
+===================================================================
+--- apitrace.orig/CMakeLists.txt 2016-05-31 17:15:26.313340972 +1000
++++ apitrace/CMakeLists.txt 2016-05-31 17:15:26.309341009 +1000
+@@ -493,8 +493,6 @@
+ add_subdirectory (thirdparty/crc32c)
if (CMAKE_EXECUTABLE_FORMAT STREQUAL "ELF")
- add_subdirectory (thirdparty/libbacktrace)
diff --git a/debian/patches/use-system-md5 b/debian/patches/use-system-md5
index 116fe02..008d46d 100644
--- a/debian/patches/use-system-md5
+++ b/debian/patches/use-system-md5
@@ -2,9 +2,11 @@ Description: Use md5 implementation from system libbsd
Forwarded: not-needed
Author: Christopher James Halse Rogers <raof@ubuntu.com>
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -432,9 +432,7 @@
+Index: apitrace/CMakeLists.txt
+===================================================================
+--- apitrace.orig/CMakeLists.txt 2016-05-31 17:15:29.289315149 +1000
++++ apitrace/CMakeLists.txt 2016-05-31 17:15:29.285315183 +1000
+@@ -497,9 +497,7 @@
add_definitions (-DHAVE_BACKTRACE=1)
endif ()
@@ -15,8 +17,10 @@ Author: Christopher James Halse Rogers <raof@ubuntu.com>
# 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
+Index: apitrace/lib/image/image_md5.cpp
+===================================================================
+--- apitrace.orig/lib/image/image_md5.cpp 2016-05-31 17:15:29.289315149 +1000
++++ apitrace/lib/image/image_md5.cpp 2016-05-31 17:15:29.285315183 +1000
@@ -28,7 +28,7 @@
#include <fstream>
#include "image.hpp"
diff --git a/debian/patches/use-system-snappy b/debian/patches/use-system-snappy
index 408091b..3c0c0af 100644
--- a/debian/patches/use-system-snappy
+++ b/debian/patches/use-system-snappy
@@ -6,78 +6,35 @@ Description: Use system libsnappy for retracers
Forwarded: not-needed
Author: Christopher James Halse Rogers <raof@ubuntu.com>
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -403,11 +403,18 @@
+Index: apitrace/CMakeLists.txt
+===================================================================
+--- apitrace.orig/CMakeLists.txt 2016-05-31 17:27:56.392706958 +1000
++++ apitrace/CMakeLists.txt 2016-05-31 17:28:20.812382053 +1000
+@@ -441,10 +441,10 @@
find_package (SNAPPY)
endif ()
if (ENABLE_STATIC_SNAPPY OR NOT SNAPPY_FOUND)
+- message (STATUS "Using bundled SNAPPY")
- 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)
+- add_subdirectory (thirdparty/snappy)
++ message (STATUS "Using static SNAPPY")
++ find_package(SNAPPY REQUIRED)
++ # Our libsnappy package builds a PIC libsnappy-shared.a archive.
++ find_library(SNAPPY_STATIC_LIBRARIES libsnappy-shared.a)
endif ()
--include_directories (${SNAPPY_INCLUDE_DIRS})
+ 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)
- endif ()
-@@ -62,7 +64,7 @@
- )
- target_link_libraries (trace
+Index: apitrace/wrappers/CMakeLists.txt
+===================================================================
+--- apitrace.orig/wrappers/CMakeLists.txt 2016-05-31 17:27:56.392706958 +1000
++++ apitrace/wrappers/CMakeLists.txt 2016-05-31 17:27:56.392706958 +1000
+@@ -84,7 +84,7 @@
common
+ guids
+ crc32c
- ${SNAPPY_LIBRARIES}
+ ${SNAPPY_STATIC_LIBRARIES}
)
- if (WIN32)
---- 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
-@@ -82,6 +82,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)
+ # Code shared across all OpenGL variants
commit 2d78bef000ebcca662ce074ee20257d3b7337be9
Author: Jose Fonseca <jfonseca@vmware.com>
Date: Thu May 19 15:10:23 2016 +0100
dxgiretrace: Handle ID3D11VideoContext properly.
Essentially do the same thing done for DXVA's IDirectXVideoDecoder interface.
diff --git a/retrace/dxgiretrace.py b/retrace/dxgiretrace.py
index 2321078..12b4ff3 100755
--- a/retrace/dxgiretrace.py
+++ b/retrace/dxgiretrace.py
@@ -166,6 +166,16 @@ class D3DRetracer(Retracer):
print r' Software = NULL;'
print r' }'
+ def doInvokeInterfaceMethod(self, interface, method):
+ Retracer.doInvokeInterfaceMethod(self, interface, method)
+
+ # Keep retrying ID3D11VideoContext::DecoderBeginFrame when returns E_PENDING
+ if interface.name == 'ID3D11VideoContext' and method.name == 'DecoderBeginFrame':
+ print r' while (_result == D3DERR_WASSTILLDRAWING || _result == E_PENDING) {'
+ print r' Sleep(1);'
+ Retracer.doInvokeInterfaceMethod(self, interface, method)
+ print r' }'
+
def invokeInterfaceMethod(self, interface, method):
# keep track of the last used device for state dumping
if interface.name in ('ID3D10Device', 'ID3D10Device1'):
@@ -360,6 +370,19 @@ class D3DRetracer(Retracer):
print ' _pbData = 0;'
print ' }'
+ if interface.name.startswith('ID3D11VideoContext'):
+ if method.name == 'GetDecoderBuffer':
+ print ' if (*ppBuffer && *pBufferSize) {'
+ print ' g_Maps[nullptr][SubresourceKey(_this, Type)] = *ppBuffer;'
+ print ' }'
+ if method.name == 'ReleaseDecoderBuffer':
+ print ' SubresourceKey _mappingKey(_this, Type);'
+ print ' void *_pBuffer = g_Maps[nullptr][_mappingKey];'
+ print ' if (_pBuffer) {'
+ print ' retrace::delRegionByPointer(_pBuffer);'
+ print ' g_Maps[nullptr][_mappingKey] = 0;'
+ print ' }'
+
# Attach shader byte code for lookup
if 'pShaderBytecode' in method.argNames():
ppShader = method.args[-1]
commit 91403b6268d37cfdc6148171082457bedfa01bca
Author: Jose Fonseca <jfonseca@vmware.com>
Date: Thu May 19 15:10:03 2016 +0100
dxgitrace: Handle ID3D11VideoContext::Get/ReleaseDecoderBuffer properly.
Essentially do the same thing done for DXVA's
IDirectXVideoDecoder::Get/ReleaseBuffer methods.
Untested, but it should fare no worse than it does now.
diff --git a/specs/d3d11.py b/specs/d3d11.py
index 3313f21..2fc2771 100644
--- a/specs/d3d11.py
+++ b/specs/d3d11.py
@@ -2117,11 +2117,11 @@ ID3D11VideoProcessorOutputView.methods += [
ID3D11VideoContext = Interface("ID3D11VideoContext", ID3D11DeviceChild)
ID3D11VideoContext.methods += [
- StdMethod(HRESULT, "GetDecoderBuffer", [(ObjPointer(ID3D11VideoDecoder), "pDecoder"), (D3D11_VIDEO_DECODER_BUFFER_TYPE, "Type"), Out(Pointer(UINT), "pBufferSize"), Out(Pointer(OpaqueBlob(Void, "*pBufferSize")), "ppBuffer")]),
+ StdMethod(HRESULT, "GetDecoderBuffer", [(ObjPointer(ID3D11VideoDecoder), "pDecoder"), (D3D11_VIDEO_DECODER_BUFFER_TYPE, "Type"), Out(Pointer(UINT), "pBufferSize"), Out(Pointer(LinearPointer(Void, "*pBufferSize")), "ppBuffer")]),
StdMethod(HRESULT, "ReleaseDecoderBuffer", [(ObjPointer(ID3D11VideoDecoder), "pDecoder"), (D3D11_VIDEO_DECODER_BUFFER_TYPE, "Type")]),
StdMethod(HRESULT, "DecoderBeginFrame", [(ObjPointer(ID3D11VideoDecoder), "pDecoder"), (ObjPointer(ID3D11VideoDecoderOutputView), "pView"), (UINT, "ContentKeySize"), (Blob(Const(Void), "ContentKeySize"), "pContentKey")]),
StdMethod(HRESULT, "DecoderEndFrame", [(ObjPointer(ID3D11VideoDecoder), "pDecoder")]),
- StdMethod(HRESULT, "SubmitDecoderBuffers", [(ObjPointer(ID3D11VideoDecoder), "pDecoder"), (UINT, "NumBuffers"), (Pointer(Const(D3D11_VIDEO_DECODER_BUFFER_DESC)), "pBufferDesc")]),
+ StdMethod(HRESULT, "SubmitDecoderBuffers", [(ObjPointer(ID3D11VideoDecoder), "pDecoder"), (UINT, "NumBuffers"), (Array(Const(D3D11_VIDEO_DECODER_BUFFER_DESC), "NumBuffers"), "pBufferDesc")]),
StdMethod(HRESULT, "DecoderExtension", [(ObjPointer(ID3D11VideoDecoder), "pDecoder"), (Pointer(Const(D3D11_VIDEO_DECODER_EXTENSION)), "pExtensionData")]),
StdMethod(Void, "VideoProcessorSetOutputTargetRect", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (BOOL, "Enable"), (Pointer(Const(RECT)), "pRect")]),
StdMethod(Void, "VideoProcessorSetOutputBackgroundColor", [(ObjPointer(ID3D11VideoProcessor), "pVideoProcessor"), (BOOL, "YCbCr"), (Pointer(Const(D3D11_VIDEO_COLOR)), "pColor")]),
diff --git a/wrappers/dxgitrace.py b/wrappers/dxgitrace.py
index f3ea82d..476d0a3 100644
--- a/wrappers/dxgitrace.py
+++ b/wrappers/dxgitrace.py
@@ -106,6 +106,10 @@ class D3DCommonTracer(DllTracer):
('std::map< std::pair<ID3D11Resource *, UINT>, _MAP_DESC >', 'm_MapDescs', None),
('std::map< std::pair<ID3D11Resource *, UINT>, MemoryShadow >', 'm_MapShadows', None),
]
+ if interface.hasBase(d3d11.ID3D11VideoContext):
+ variables += [
+ ('std::map<UINT, std::pair<void *, UINT> >', 'm_MapDesc', None),
+ ]
return variables
@@ -136,6 +140,14 @@ class D3DCommonTracer(DllTracer):
print ' }'
print ' }'
+ if interface.hasBase(d3d11.ID3D11VideoContext) and \
+ method.name == 'ReleaseDecoderBuffer':
+ print ' std::map<UINT, std::pair<void *, UINT> >::iterator it = m_MapDesc.find(Type);'
+ print ' if (it != m_MapDesc.end()) {'
+ self.emit_memcpy('it->second.first', 'it->second.second')
+ print ' m_MapDesc.erase(it);'
+ print ' }'
+
DllTracer.implementWrapperInterfaceMethodBody(self, interface, base, method)
if method.name == 'Map':
@@ -154,6 +166,14 @@ class D3DCommonTracer(DllTracer):
print ' _MapDesc.Size = 0;'
print ' }'
+ if interface.hasBase(d3d11.ID3D11VideoContext) and \
+ method.name == 'GetDecoderBuffer':
+ print ' if (SUCCEEDED(_result)) {'
+ print ' m_MapDesc[Type] = std::make_pair(*ppBuffer, *pBufferSize);'
+ print ' } else {'
+ print ' m_MapDesc[Type] = std::make_pair(nullptr, 0);'
+ print ' }'
+
def invokeMethod(self, interface, base, method):
DllTracer.invokeMethod(self, interface, base, method)
commit 8a4c9af839e466e927aa92654d8815dadaa7d37e
Author: Jose Fonseca <jfonseca@vmware.com>
Date: Wed May 18 16:25:35 2016 +0100
specs: Standardize on EnumFlags.
diff --git a/specs/d2d1.py b/specs/d2d1.py
index 815a121..39375ab 100644
--- a/specs/d2d1.py
+++ b/specs/d2d1.py
@@ -231,7 +231,7 @@ D2D1_BITMAP_INTERPOLATION_MODE = Enum("D2D1_BITMAP_INTERPOLATION_MODE", [
"D2D1_BITMAP_INTERPOLATION_MODE_LINEAR",
])
-D2D1_DRAW_TEXT_OPTIONS = EnumFlag("D2D1_DRAW_TEXT_OPTIONS", [
+D2D1_DRAW_TEXT_OPTIONS = EnumFlags("D2D1_DRAW_TEXT_OPTIONS", [
"D2D1_DRAW_TEXT_OPTIONS_NONE",
"D2D1_DRAW_TEXT_OPTIONS_NO_SNAP",
"D2D1_DRAW_TEXT_OPTIONS_CLIP",
@@ -355,7 +355,7 @@ D2D1_TRIANGLE = Struct("D2D1_TRIANGLE", [
(D2D1_POINT_2F, "point3"),
])
-D2D1_PATH_SEGMENT = EnumFlag("D2D1_PATH_SEGMENT", [
+D2D1_PATH_SEGMENT = EnumFlags("D2D1_PATH_SEGMENT", [
"D2D1_PATH_SEGMENT_NONE",
"D2D1_PATH_SEGMENT_FORCE_UNSTROKED",
"D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN",
@@ -406,7 +406,7 @@ D2D1_STROKE_STYLE_PROPERTIES = Struct("D2D1_STROKE_STYLE_PROPERTIES", [
(FLOAT, "dashOffset"),
])
-D2D1_LAYER_OPTIONS = EnumFlag("D2D1_LAYER_OPTIONS", [
+D2D1_LAYER_OPTIONS = EnumFlags("D2D1_LAYER_OPTIONS", [
"D2D1_LAYER_OPTIONS_NONE",
"D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE",
])
@@ -421,7 +421,7 @@ D2D1_LAYER_PARAMETERS = Struct("D2D1_LAYER_PARAMETERS", [
(D2D1_LAYER_OPTIONS, "layerOptions"),
])
-D2D1_WINDOW_STATE = EnumFlag("D2D1_WINDOW_STATE", [
+D2D1_WINDOW_STATE = EnumFlags("D2D1_WINDOW_STATE", [
"D2D1_WINDOW_STATE_NONE",
Reply to: