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

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: