Timo Aaltonen pushed to branch upstream-unstable at X Strike Force / app / apitrace
Commits: 5db09f40 by Jose Fonseca at 2019-11-27T12:49:45+00:00 gltrace: Fix __glPathGetCodePointUTF8 logic. Fixes https://github.com/apitrace/apitrace/issues/640 - - - - - 620399d3 by Mark Janes at 2019-11-28T07:10:14+00:00 retrace: when looping on last frame, re-use Call objects Call objects are unnecessarily parsed when looping on the last frame. Parsing incurs significant CPU overhead, often limiting performance and making Apitrace unusable for benchmarking. https://github.com/apitrace/apitrace/issues/142 - - - - - 189a3b83 by Paul Cercueil at 2019-12-07T07:20:37+00:00 dlsym: Fix build under uClibc uClibc defines the __GLIBC__ macro too (I know, right?), so verify that __UCLIBC__ is not defined before we can use glibc-specific internal functions. Signed-off-by: Paul Cercueil <[email protected]> - - - - - d5861c63 by Andrii Simiklit at 2019-12-07T07:29:21+00:00 gltrace: don't destroy GLMemoryShadow-s which are still in use This fixes shared coherent buffers behavior which causes a freeze in "Deus Ex: Mankind Divided". Here is an example of the problem, for instance we have two shared contexts `CA` and `CB` and we do something like: 1. Create buffer `BA` in `CB` 2. Map it in `CB` 3. Destroy `CB` 4. Use mapped `BA` memory <<< This step will cause the freeze because on the step `3.` we destroyed `CB`.. Destruction of the `CB` leads to `GLMemoryShadow` destruction which destroys the memory allocated for the `BA` and then it leads to the freeze in `PageGuardExceptionHandler` with SIGSEGV/SEGV_MAPERR becuase the client is trying to use the memory received from opengl Here is a spec OpenGL 4.6 "5.1 Object Deletion Behavior": "... If a shared object is not explicitly deleted, then destruction of any individual context has no effect on that object unless it is the only remaining context in the share list. Once the last context on the share list is destroyed, all shared objects, and all other resources allocated for that context or share list, will be deleted and reclaimed by the imple- mentation as soon as possible." So we shouldn't destroy resources shared between several contexts until all of them are destroyed. v2: fix Xcode compilation error Signed-off-by: Andrii Simiklit <[email protected]> - - - - - d359a24a by Mark Janes at 2020-01-16T10:48:27+00:00 glretrace: Support traces which use GL_ARB_program_interface_query During retrace, the driver may choose a different uniform location than was recorded at trace time. If the traced program looks up uniforms by name with glGetUniformLocation or similar apis, Apitrace correctly remaps locations at retrace time. However, GL_ARB_program_interface_query allows programs to iterate over program resources querying program names. This reverse-lookup is not supported by glretrace, and any change to uniform bindings will result in a crash. Programs looking up names for each index will: - iterate the resources attached to the program, calling glGetProgramResourceName to record the name at each index. - iterate the resources attached to the program, calling glGetProgramResourceiv to get the uniform location for each index. This patch tracks the name at each program index, and then call into GL to determined current bindings for the named resource whenever glGetProgramResourceiv is encountered. Fixes GFXBench Aztec Ruins traces, which crashed when retraced on various drivers. A trace made on Mesa would work on Intel and AMD Linux platforms, but would crash on Windows platforms (AMD/Intel/Nvidia). - - - - - ffb366c1 by Mark Janes at 2020-01-16T10:48:27+00:00 glretrace: Support traces which query uniform block names by index Apitrace supports titles which query the index for a given uniform block name. Alternatively, titles may iterate active uniform block indices and retrieve the name at each index. To support this method of identifying uniform block bindings, glGetActiveUniformBlockName must be checked against the return value that was traced. Enables retracing of Bioshock6, which queries names by index. Without this patch, a trace made on Linux will not retrace on Windows. - - - - - 725b69e1 by Rémi Verschelde at 2020-01-19T13:20:21+00:00 Remove executable permission from .cpp files It's not harmful per se but also not necessary, and triggers warnings e.g. when building RPM packages. - - - - - 2d31d49e by Gleb Mazovetskiy at 2020-01-20T12:11:28+00:00 Support libc that don't have RTLD_DEEPBIND - - - - - f207e43e by Ruslan Kabatsayev at 2020-01-20T12:13:21+00:00 Use unicode multiplication sign instead of Latin letter 'x' - - - - - 039e4abc by Ruslan Kabatsayev at 2020-01-20T12:13:21+00:00 Show depth for textures that have depth>1 - - - - - 0f9eb793 by Jose Fonseca at 2020-01-20T12:29:16+00:00 gui: Fix conditional with identical branches. Fixes https://github.com/apitrace/apitrace/issues/647 - - - - - 88dd70de by Jose Fonseca at 2020-01-27T11:03:57+00:00 d3dretrace: Log adapter description for more methods. - - - - - 433f99b4 by Jose Fonseca at 2020-01-27T11:07:13+00:00 d3dretrace: Drop NvOptimusEnablement. It doesn't seem to do what's documented. In particular, NvOptimusEnablement = 0x00000000 seems to trigger NVIDIA no matter what, overriding the default system setting. - - - - - ddb32e0d by Jose Fonseca at 2020-01-30T14:24:03+00:00 docs: Update requirements to mention Python 3.6 instead of 2.6. As pointed out by Adam Mizerski. - - - - - ffe58eee by Jose Fonseca at 2020-01-30T14:26:37+00:00 gltrace: Fix `passing NULL to non-pointer argument` warning. - - - - - e4f17e99 by Jose Fonseca at 2020-03-20T11:41:15+00:00 scripts: Fix bold off escape code. - - - - - 6313c2cf by Jose Fonseca at 2020-03-20T11:41:15+00:00 d3dretrace: Ignore IDXGIDevice2::EnqueueSetEvent calls. - - - - - d1a98b6f by Jose Fonseca at 2020-04-07T16:02:59+01:00 gltrace: Match opengl32.dll export ordinals. Some applications import DLL symbols by ordinal, so it's important the wrapper DLL ordinals match the original Windows DLL ordinals. Fixes https://github.com/apitrace/apitrace/issues/652 - - - - - 9e9afe71 by Jose Fonseca at 2020-04-15T15:38:43+01:00 guids: Recognize IID_IDXGIOutput6. - - - - - b5ab54dc by Jose Fonseca at 2020-04-15T15:42:49+01:00 inject: Intercept CreateProcessWithTokenW and CreateProcessWithLogonW. - - - - - 6b55ceff by Jose Fonseca at 2020-04-24T08:21:45+01:00 d3dretrace: Ignore incomplete SetClipPlane calls. For a time, only one of the 4 components of the pPlane parameter were recorded in the traces. Such traces still are in use, and currently we end up using unrelated/random data for the missing coefficients. With this change we use a zero plane equation, which allows the calls to go through and reach the drivers, but guarantees the plane will never clip anything, even when the respective plane is enabled in D3DRS_CLIPPLANEENABLE, so one has reproducible rendering. - - - - - 418fdee4 by Jose Fonseca at 2020-04-29T19:48:15+01:00 dxgiretrace: Handle multiple outputs gracefully. The same number of outputs that was present when recording might not be present when replaying. - - - - - 95ce617a by Jose Fonseca at 2020-04-29T19:49:21+01:00 d3dretrace: Handle GPU counter queries gracefully. This are unlikely to exist across multiple systems. - - - - - 54748eb7 by Convery at 2020-05-08T09:22:51+01:00 mhook: Compilation-fix for VS 2019. Windows assumes default alignment in their SDKs, so pacing needs to be done after `#include <windows.h>` or defining `WINDOWS_IGNORE_PACKING_MISMATCH`. https://github.com/apriorit/mhook/commit/5ccb00a9c89280bfff7ce595873a9923415172a7 - - - - - 8aed3c34 by Jose Fonseca at 2020-05-08T09:23:24+01:00 dxgitrace: Hack ability to hide away host D3D11.x features. - - - - - 22bd1013 by Jose Fonseca at 2020-05-08T09:31:56+01:00 appveyor: Upgrade to VS 2019. - - - - - d6aae921 by Jose Fonseca at 2020-05-09T22:47:34+01:00 appveyor: Set shorter job names. - - - - - 6e4caa54 by Jose Fonseca at 2020-05-09T22:47:54+01:00 cmake: Get CPACK_PACKAGE_VERSION from git tag. - - - - - 1b3c8337 by Jose Fonseca at 2020-05-09T22:48:53+01:00 docs: Update build instructions for VS 2019. - - - - - c893b14d by Robert Tarasov at 2020-05-17T09:11:20+01:00 Add the new client application 'info' The new 'info' client prints the provided trace file information. The first version of the client shows the container version, api type and the total amount of frames in the trace file. The information can be printed in JSON format. - - - - - 894d44d2 by Alex Smith at 2020-05-17T09:15:11+01:00 glretrace: Show current frame number in window title I find this can be useful to roughly identify which frames I want to be looking at for a specific issue in a large trace, by replaying the trace and looking at the current frame number when the issue occurs. - - - - - 80e37c7f by Martin Sherburn at 2020-05-17T09:20:59+01:00 glretrace: Fixed issue where state could be dumped before the requested call had been executed in a multithreaded trace. For example when getting state for a particular Draw call, the framebuffer could contain the contents prior to the Draw call. - - - - - b9e4b73c by Jose Fonseca at 2020-05-17T09:39:02+01:00 glretrace: Exit early when state dumping is not possible. - - - - - 29dd3d8a by Danylo Piliaiev at 2020-05-17T09:43:47+01:00 glws_glx: Allow pixel buffers in GlxDrawable::swapBuffers Pixel buffers are allowed to be used in glXSwapBuffers. glx 1.4 spec, 3.3.5 "Off Screen Rendering", "glXCreatePbuffer": "The resulting pbuffer will contain color buffers and ancillary buffers as specified by config. It is possible to create a pbuffer with back buffers and to swap the front and back buffers by calling glXSwapBuffers." Fixes replaying of Blender traces. Signed-off-by: Danylo Piliaiev <[email protected]> - - - - - 1fd8b5ac by Danylo Piliaiev at 2020-05-17T09:44:43+01:00 gltrace: Commit all writes to coherent buffers before syncing them back Otherwise these writes would be lost. Deus Ex: Mankind Divided renders incorrectly without this. Signed-off-by: Danylo Piliaiev <[email protected]> - - - - - 4abdb4c7 by Jose Fonseca at 2020-05-20T17:28:25+01:00 guids: Add a few missing GUIDs. - - - - - b3ea7e44 by Jose Fonseca at 2020-05-21T09:14:59+01:00 specs: Port cxx2api script back to Python 2. Unfortunately pygccxml seems abandoned and was never ported to Python3. - - - - - 5d936aaf by Jose Fonseca at 2020-05-21T15:41:46+01:00 specs: Support DXGI 1.6. - - - - - a17c0bbc by velorums at 2020-05-24T14:07:21+01:00 gui: make PixelWidget pass keypresses through so they reach scrollbars - - - - - 1904c56c by velorums at 2020-05-24T14:07:21+01:00 gui: fix PixelWidget hotkeys - - - - - 2bfcc45a by velorums at 2020-05-24T14:10:12+01:00 gui: preserve main window size and layout between restarts - - - - - a28033af by Jose Fonseca at 2020-05-29T18:42:08+01:00 specs: Add DXGI interfaces added on Windows 10.0.18362 SDK. - - - - - 380e0667 by Jose Fonseca at 2020-05-29T18:42:08+01:00 d3dretrace: Partial implementation of igpu/dgpu selection for DXGI. - - - - - ae2bd556 by Jose Fonseca at 2020-05-29T18:42:08+01:00 d3dretrace: More complete igpu/dgpu selection. - - - - - 42fcc3fe by Jose Fonseca at 2020-06-03T18:50:41+01:00 specs: Better GL_ARB_shader_storage_buffer_object support. - - - - - 16271a01 by Jose Fonseca at 2020-06-04T16:30:12+01:00 d3dretrace: Cleanup. - - - - - 935d10a4 by Jose Fonseca at 2020-06-12T08:17:19+01:00 d3dretrace: Further cleanup the adapter logging. - - - - - a112ac39 by Jose Fonseca at 2020-07-30T17:24:37+01:00 appveyor: Always use RelWithDebInfo configuration. Now that we take nightly builds from AppVeyor, we shouldn't be using MSVC debug runtime. Fixes https://github.com/apitrace/apitrace/issues/677 - - - - - dad6340a by Biswapriyo Nath at 2020-09-11T21:36:51+01:00 thirdparty/dxerr: cast xaudio2 error codes to HRESULT type Changes: * thirdparty/dxerr/dxerr.cpp: cast XAUDIO2_E_ defines to HRESULT which is the result type of the parameter of both DXGetErrorStringA and DXGetErrorDescriptionA function. Otherwise, gcc shows error narrowing conversion from int to long. This casting also matches with WinSDK xaudio2.h file. - - - - - f1779aa2 by Jose Fonseca at 2020-09-14T16:34:53+01:00 inject: Improve GetProcAddress logging. - - - - - b979e41d by Jose Fonseca at 2020-09-14T16:34:53+01:00 cmake: Avoid MinGW ld segfault on Ubuntu 20.04. - - - - - 88c8ce04 by Jose Fonseca at 2020-09-18T14:11:07+01:00 ci: Improve Ubuntu 16.04 dockerfile. - - - - - 1aa83915 by Jose Fonseca at 2020-09-18T14:11:32+01:00 inject: Fix MinGW cross-compilation errors on Ubuntu 20.04. - - - - - 5e3d434a by Robert Tarasov at 2020-11-19T20:31:03+00:00 cli_info: Dump per frame metrics for trace files Added extra information to cli_info output which includes: * container type (compression method) * container size (the size of the data in the storage container) * actual data size (the size of uncompressed data) * per frame metrics which include the folowing information: * first call_id * last call_id * the total amount of calls in a frame * uncompressed frame size Usage: apitrace info --dump-frames /path/to/file.trace An example output: { "FileName": "/path/to/file.trace", "ContainerVersion": 6, "ContainerType": "Snappy", "API": "OpenGL + GLX/WGL/CGL", "FramesCount": 1789, "ActualDataSize": 5272672851, "ContainerSize": 1547699157, "Frames": [{ "FirstCallId": 0, "LastCallId": 2231, "TotalCalls": 2232, "SizeInBytes": 1259924 }, { "FirstCallId": 2232, "LastCallId": 2251, "TotalCalls": 20, "SizeInBytes": 449 }, { [...] ]} } This information could be useful to analyze the data distribution in a trace file, find transition points menu/game/etc, choose better point for a trace file trimming, and so on. - - - - - cd29d99a by rdb at 2020-11-19T20:37:34+00:00 glapi: Add glSpecializeShaderARB from GL_ARB_gl_spirv - - - - - c329547f by Antonio Caggiano at 2020-11-19T20:40:31+00:00 glretrace: Expose getCurrentTime Add getCurrentTime declaration to `glretrace.hpp` so that it could be reused by other parts of the program. Signed-off-by: Antonio Caggiano <[email protected]> - - - - - 0e3bea82 by Antonio Caggiano at 2020-11-19T20:40:31+00:00 retrace: Add `--pframe-times` option When replaying a trace, it could be useful to analyze how much time is needed to render and present each frame. While developing a GPU driver, for example, developers could graph the frame time series in order to detect regressions or improvements of driver performance over time. The `--pframe-times` option enables profiling for frame times, meaning that replaying will output a timestamp when a frame has been presented. Signed-off-by: Antonio Caggiano <[email protected]> - - - - - a4d9a4dc by Danylo Piliaiev at 2020-11-19T20:42:07+00:00 gltrace: Forward unhandled signals/exceptions to a next handler Some applications have custom handler for signals/exceptions, which is necessary for their working. Therefor we shall forward all unhandled signals/exceptions down the road. Also apitrace itself has custom logic for handling signals, which failed to execute due to lack of signal forwarding in GLMemoryShadow. Fixes a crash when tracing rpcs3. Fixes: 18ce32f949409d051c88aea62209818aec7d6aa5 Signed-off-by: Danylo Piliaiev <[email protected]> - - - - - 54d50767 by Ruslan Kabatsayev at 2020-11-19T20:55:51+00:00 Avoid exponential notation when showing binary data size Also add a thin no-break space between the number and the unit, and use a larger set of units, with explicitly-binary prefixes. - - - - - 094520c9 by Balint Reczey at 2020-11-19T20:56:57+00:00 trace: Move visitString template to the header file Fixes compilation on Ubuntu 20.10 on s390x - - - - - 6059173c by Jose Fonseca at 2020-11-21T09:25:41+00:00 docs: Update summary. - - - - - 0b1a37ab by Jose Fonseca at 2020-11-21T12:06:05+00:00 inject: Fix duplicate _assert definitions on MinGW. - - - - - 3abb5ff7 by Danylo Piliaiev at 2020-11-21T12:20:22+00:00 retrace,gui: Add ability to disable specific calls In retracer calls can be disabled with: --ignore-calls=CALLSET ignore calls in CALLSET In QApiTrace: Call range can be disabled/enabled with "Toggle Calls" ctrl+/ All disabled calls could be enabled with "Enable All Calls" Signed-off-by: Danylo Piliaiev <[email protected]> - - - - - 9081a264 by Robert Tarasov at 2020-11-21T13:00:51+00:00 glretrace: Added per frame delay options in replay Added two extra options to control frame rendering duration in replaying mode. --per-frame-delay option adds extra delay after each frame in usec. --min-frame-duration option specifies the minimum frame duration time in usec. - - - - - 15de8746 by Jose Fonseca at 2020-11-21T13:35:54+00:00 snappy: Update config.h to match upstream. Among other things, the WORDS_BIGENDIAN define was renamed to SNAPPY_IS_BIG_ENDIAN. Fixes https://github.com/apitrace/apitrace/issues/688 - - - - - a9223f54 by Jose Fonseca at 2020-11-21T14:10:30+00:00 snappy: Update to 1.1.8. - - - - - 9370df07 by Jose Fonseca at 2020-11-26T13:30:31+00:00 appveyor,travis: Ignore github* branches. In anticipation of experimenting with GH Actions. - - - - - 64220837 by Jose Fonseca at 2020-11-26T13:41:04+00:00 dxgiretrace: Avoid self-inflicted QUERY_GETDATA_INVALID_DATASIZE errors. - - - - - 4bb6d10b by Jose Fonseca at 2020-11-26T14:30:18+00:00 mhook: Silence debug messages. - - - - - cb67fe84 by Jose Fonseca at 2020-11-26T16:09:26+00:00 docs: Mention Microsoft Detours. - - - - - d77e180d by Jose Fonseca at 2020-11-26T19:59:57+00:00 inject: Optimize GDI interception. Our DLL injection was causing Windows 10 GDI ChoosePixelFormat to grind to a halt. This greatly speeds up apitrace's test suite. - - - - - 010cd935 by Miklós Máté at 2020-12-19T11:57:38+00:00 specs: decode more info about ATI_fragment_shader operations Signed-off-by: Miklós Máté <[email protected]> - - - - - 7e2dc4d2 by Antonio Caggiano at 2020-12-19T12:00:26+00:00 retrace: Fix GPU Duration Make sure GPU start value is valid before calculating GPU duration. Signed-off-by: Antonio Caggiano <[email protected]> - - - - - 4a2d21fe by Danylo Piliaiev at 2020-12-19T12:01:40+00:00 glstate: Fix out-of-bounds memset of image Signed-off-by: Danylo Piliaiev <[email protected]> - - - - - 1a1cafcd by Gert Wollny at 2021-01-04T17:03:19+00:00 Drop use of std::binary_function It only provides some type defs, is not required as base class, was deprecated with c++11 and removed with c++17. - - - - - ae47b0fb by Gert Wollny at 2021-01-04T17:08:16+00:00 cmake: Require C++17. - - - - - 38f41531 by Jose Fonseca at 2021-01-04T17:13:06+00:00 docs: Update requirements. - - - - - eaf43962 by Fabrice Fontaine at 2021-01-04T17:17:13+00:00 CMakeLists.txt: respect BUILD_TESTING=OFF Allow the user to disable unit tests through BUILD_TESTING=OFF: https://cmake.org/cmake/help/latest/command/enable_testing.html Signed-off-by: Fabrice Fontaine <[email protected]> - - - - - 5abaf7be by Jose Fonseca at 2021-01-04T19:23:53+00:00 cmake: Require no more than VS 2019 version 16.0. Hopefully it's sufficient. - - - - - fa8b470a by Jose Fonseca at 2021-01-08T14:23:47+00:00 cli: Add explicit repack option for Snappy format; improve help. Snappy is the default repack format, but it wasn't mentioned anywhere! - - - - - 8c500916 by AnyOldName3 at 2021-01-20T12:53:48+00:00 Initialise application name QSettings requires that the application and organisation names are initialised before it can use an implicit settings location. When QApiTrace uses QSettings, it doesn't set an explicit location, so the implicit one must be valid. Without this, the Recent Launches list remains empty, at least on Windows. I've had it work on Ubuntu, though, so presumably something's setting the names automatically there. - - - - - 3c3e9621 by Sergii Romantsov at 2021-01-20T15:30:08+00:00 gltrace: Calculate compressed textures size Replaying Dota 2 trace resulted in a crash due to invalid memory access. It was caused by incorrect size of the compressed texture's buffer. imageSize passed by user doesn't take into account pixel storage modes, however the amount data which should be copied depends these modes. Due to lack of tests (no tests in VK-GL-CTS and Piglit) it was tested only on Dota 2, Civilization VI and "Gl_420_texture_pixel_store" from jogl-samples, thus testing only glCompressedTexSubImage2D. v2: fixed cases with skipping pixels and rows. v3: return imageSize if storage modes aren't used. handle GL_UNPACK_SKIP_IMAGES. Signed-off-by: Sergii Romantsov <[email protected]> Signed-off-by: Danylo Piliaiev <[email protected]> - - - - - fa5eaf9c by Gert Wollny at 2021-01-22T22:05:17+01:00 trace: Add a const version of the "arg" method With this the class trace::Call can be used const-correct Signed-off-by: Gert Wollny <[email protected]> - - - - - 35f10166 by Gert Wollny at 2021-01-22T22:05:17+01:00 gltrim: Add a new sub-command to trim a gl trace to a replayable subset The new command can be called via "apitrace gltrim" and it will trim a trace so that the resulting trace consists of a setup frame that contains the execution of the calls required to recreate the state at the beginning of the (first) target frame so that its graphical output is the same like the output of the corresponding frame in the original trace. If this is not successful, one can force additional frames to be added to the setup frame. v2: - remove tests from main repository - replace include protectores by pragma - remove commented out code - add hint about limitations of the tool when running it - fix option indention (all José Fonseca) - update the description in the markdown file. v3: - Add handling for queries Signed-off-by: Gert Wollny <[email protected]> - - - - - 9a878dfa by Gert Wollny at 2021-01-22T22:05:17+01:00 Tie gltrim sub-program into apitrace tool - - - - - 63fa6bde by Gert Wollny at 2021-01-22T22:05:17+01:00 gltrim: load test data from submodule and run conditionally v2: switch to new test traces repository Signed-off-by: Gert Wollny <[email protected]> - - - - - 6df2d0c9 by Jose Fonseca at 2021-01-22T22:44:19+00:00 ci: Use GCC 7 on Ubuntu 16.04 dockerfile. - - - - - 37c36e66 by Jose Fonseca at 2021-01-23T10:31:25+00:00 cmake: Require GCC 7. - - - - - eeabf77d by Alexander Stillich at 2021-02-04T14:52:18+00:00 specs: Added glSpecializeShader to glapi.py. - - - - - c2835107 by Jose Fonseca at 2021-02-04T14:52:23+00:00 Update spec generation scripts. Remove support for old Khronos spec files. - - - - - fbbdb533 by Jose Fonseca at 2021-02-04T14:54:32+00:00 specs: Add missing GL 4.6 entry-points. - - - - - 9e1ff754 by Jose Fonseca at 2021-02-04T15:01:53+00:00 Revert "gltrace: Calculate compressed textures size" This reverts commit 3c3e9621f5d28df80b56495d4227f1cf8307b408. - - - - - e405c298 by werman at 2021-02-04T15:02:15+00:00 gltrace: Consider unpack parameters when writing compressed texture Signed-off-by: Danylo Piliaiev <[email protected]> - - - - - aaa28eab by velorums at 2021-02-04T15:39:16+00:00 gui: center texture in image viewer - - - - - c8b52061 by velorums at 2021-02-04T15:39:16+00:00 gui: make hotkeys immediately work on ImageViewer open - - - - - 2ca0ccc7 by velorums at 2021-02-04T15:39:16+00:00 gui: spinbox with adaptive step - - - - - 8d471da2 by velorums at 2021-02-04T15:39:16+00:00 gui: fractional zoom in ImageWidget and zoom range increase - - - - - 4ef9b8b6 by velorums at 2021-02-04T15:39:16+00:00 gui: zoom to fit option for ImageViewer - - - - - 508a4d8d by Danylo Piliaiev at 2021-02-04T15:41:50+00:00 glws_glx: Choose pbuffer's attribs according to visual info Otherwise we may get a pbuffer with configuration incompatible with a context. Fixes replaying of traces of Substance Painter. Found in: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3271 Signed-off-by: Danylo Piliaiev <[email protected]> - - - - - 17ec8a58 by Vladislav Belov at 2021-02-08T09:20:58+00:00 Makes MSVC version check earlier - - - - - bdbf6720 by Jose Fonseca at 2021-02-08T17:01:15+00:00 wrappers: Implement Direct3D9SetMaximizedWindowedModeShim. Should hopefully fix https://github.com/apitrace/apitrace/issues/704 - - - - - 1544abf5 by Sandro Mani at 2021-02-09T12:32:21+00:00 Update bunded libbacktrace for dwarf-5 support - - - - - 590f2bbf by Sandro Mani at 2021-02-09T12:32:21+00:00 Omit checking whether fd 3 and 6 are closed in btest.c - - - - - 70e029b8 by Jose Fonseca at 2021-02-11T16:12:54+00:00 guids: Update IID_ID3D11PartnerDevice. - - - - - cdd77096 by Jose Fonseca at 2021-02-11T16:12:54+00:00 specs: Record/replay ID3D11VideoProcessorEnumerator1. - - - - - 59a8d2fb by Jose Fonseca at 2021-02-11T16:12:54+00:00 specs: Don't replay ID3D11Device4::(Un)RegisterDeviceRemovedEvent. - - - - - e3876ef6 by Jose Fonseca at 2021-02-11T16:12:54+00:00 specs: Fix D3D11_TEXTURExx_DESC1 flags. - - - - - 9576fde7 by Jose Fonseca at 2021-02-11T16:12:54+00:00 d3dretrace: Handle DXGI_PRESENT_DO_NOT_WAIT. - - - - - 78d3e785 by Jose Fonseca at 2021-02-11T16:12:54+00:00 d3dretrace: Handle CreateSwapChainForCompositionSurfaceHandle. - - - - - 89809472 by Gert Wollny at 2021-02-12T15:55:40+01:00 gltrim: Add support for glCreateBuffers Signed-off-by: Gert Wollny <[email protected]> - - - - - bce0045d by Gert Wollny at 2021-02-12T15:55:40+01:00 gltrim: Add support for glClipControl Signed-off-by: Gert Wollny <[email protected]> - - - - - 4f60b5a3 by Gert Wollny at 2021-02-12T15:55:40+01:00 gltrim: record glVertexAttrib(Binding|Format|Divisor) and glTextureBarrier Closes: #707 Signed-off-by: Gert Wollny <[email protected]> - - - - - 17d95a63 by Gert Wollny at 2021-02-12T15:55:40+01:00 gltrim: Handle pipelines as dependency when drawing Signed-off-by: Gert Wollny <[email protected]> - - - - - c731bc7c by Gert Wollny at 2021-02-12T15:55:40+01:00 gltrim: Add support for named buffer mapping Signed-off-by: Gert Wollny <[email protected]> - - - - - a0e9b4b4 by Gert Wollny at 2021-02-12T15:55:40+01:00 gltrim: Add all bound buffers as dependency when drawing Signed-off-by: Gert Wollny <[email protected]> - - - - - e4f01c04 by Gert Wollny at 2021-02-12T15:55:40+01:00 gltrim: Emit mapped buffer when memcpy is used on them while recording Signed-off-by: Gert Wollny <[email protected]> - - - - - b2bf3cd1 by Jose Fonseca at 2021-02-13T11:17:13+00:00 libbacktrace: Fix build with old dwarf.h. Older versions of dwarf.h, such as the one on Ubuntu 16.04 doesn't include DWARF5 defines. - - - - - 7e1c1590 by Jose Fonseca at 2021-02-13T13:44:18+00:00 ci: Don't force interactive docker runs. stdin is often redirected on CI systems. - - - - - 910eaa59 by Jose Fonseca at 2021-02-15T11:31:34+00:00 github: Use GitHub Actions. To eventually replace Travis CI. - - - - - b6f0c4f9 by Jose Fonseca at 2021-02-15T11:43:03+00:00 ci: Upgrade from CentOS 6 to 7. CentOS 6 reached EOL on November 30th, 2020. - - - - - 4a51cf36 by Jose Fonseca at 2021-02-18T12:18:17+00:00 libbacktrace: Ignore 9 fd too. https://github.com/apitrace/apitrace/runs/1926680198?check_suite_focus=true - - - - - d9b54c15 by Jose Fonseca at 2021-02-18T13:28:35+00:00 d3dretrace: Call GetDeviceRemovedReason on IDXGISwapChain::Present. - - - - - 01716fca by Jose Fonseca at 2021-02-18T13:58:20+00:00 d3dretrace: Use C++ overloading instead of opaque code gen. - - - - - 48d694a0 by Jose Fonseca at 2021-02-18T17:41:22+00:00 inject: Fix STARTUPINFOA initialization. - - - - - 2a80f0a4 by Jose Fonseca at 2021-02-21T08:37:16+00:00 github: Build with Qt on MSVC and macOS. - - - - - a2faf7ab by Jose Fonseca at 2021-02-21T08:37:32+00:00 github: Merge all build workflows into one. - - - - - 9e9b8cf2 by Jose Fonseca at 2021-02-21T08:37:40+00:00 github: Speed up MSVC build. - - - - - 162106c7 by Jose Fonseca at 2021-02-21T09:01:02+00:00 travis: Remove integration. It is now completely superseded by GitHub Actions. [skip ci] - - - - - 3d7d6e16 by Gert Wollny at 2021-02-21T09:05:22+00:00 retrace: take end of frame shapshots always from back buffer When specifying "--snapshot=frame" it can be assumed that the user is interested in the renderiung output that goes to the screen and not to some framebuffer attachment that happens to be bound to be bound to an active framebuffer and set to be the drawbuffer. Consequently, override the frame capture logic in case the frame-end call triggers the snapshot to get the backbuffer contents. Closes: #699 v2: - rename endOfFrame to backBuffer (Jose) - add parameter to D3D replay (Jose) Signed-off-by: Gert Wollny <[email protected]> - - - - - 1c270846 by Gert Wollny at 2021-02-22T11:39:52+01:00 gltrim: Handle CopyBufferSubData and CopyNamedBufferSubData Signed-off-by: Gert Wollny <[email protected]> - - - - - 29cb809a by Gert Wollny at 2021-02-22T11:39:52+01:00 gltrim: Handle indirect and instanced draw calls Signed-off-by: Gert Wollny <[email protected]> - - - - - 2d766c00 by Jose Fonseca at 2021-02-22T11:25:07+00:00 cmake: Require CMake version 2.8.12. Support for less 2.8.12 is going away in future CMake versions, and we don't really need 2.8.11 support. - - - - - 4ec7eb5b by Jose Fonseca at 2021-02-22T11:26:03+00:00 cmake: Fix MSVC std option. - - - - - 0db6d7f2 by Jose Fonseca at 2021-02-22T15:34:01+00:00 specs: Remove D3D8 dead cruft. - - - - - 83691e9f by Jose Fonseca at 2021-02-22T15:34:16+00:00 d3dretrace: Avoid crashes with D3D10_DRIVER_TYPE_(SOFTWARE|REFERENCE). - - - - - d2c2bba7 by Jose Fonseca at 2021-02-23T13:51:08+00:00 cmake: Set PNG_ARM_NEON_OPT=0 on macOS. Avoids M1 build failures according to krogovin. https://github.com/apitrace/apitrace/issues/711 - - - - - f1c0b056 by Jose Fonseca at 2021-02-23T15:35:38+00:00 d3dretrace: Handle non-null pFullscreenDisplayMode parameters correctly. - - - - - 2a5e2230 by Jose Fonseca at 2021-02-23T15:36:18+00:00 ci: Use CMake 3 on centos-7 docker image. So we can start assuming and requiring CMake 3 support everywhere. - - - - - a22dda1a by Jose Fonseca at 2021-02-23T15:39:10+00:00 cmake: Require version 3. - - - - - c7d4250f by Emmanuel Gil Peyrot at 2021-03-02T16:35:01+00:00 glretrace: Ignore eglGetPlatformDisplay*() Avoids an “unsupported eglGetPlatformDisplayEXT call” warning when replaying a gtk4-demo trace from Wayland. Signed-off-by: Emmanuel Gil Peyrot <[email protected]> - - - - - fbab3507 by Gert Wollny at 2021-03-03T13:28:46+01:00 gltrim: allow unordered call IDs when copying calls out of a trace It seems that call IDs in traces are not necessarily ordered, so don't rely on an ascending order. This fixes trimming a Tom Raider 2013 trace. Signed-off-by: Gert Wollny <[email protected]> - - - - - 57f8b848 by Gert Wollny at 2021-03-03T15:29:01+00:00 retrace: Add an option to force using the back buffer as snapshot source Defaulting to reading from the back buffer when snapshots are taken at frame frequency broke some test that only use FBOs and not always clear the back buffer properly so that garbage was read back. Add an option that the caller can force reading from the backbuffer, but default to the old behaviour of reading back from the currently bound draw buffer. Fixes: 3d7d6e16606542e3255e03d8e99335aece7e5cdf retrace: take end of frame shapshots always from back buffer Signed-off-by: Gert Wollny <[email protected]> - - - - - 64481008 by Jose Fonseca at 2021-03-09T18:32:42+00:00 cli: Remove unused var. - - - - - 4b016517 by Jose Fonseca at 2021-03-09T18:32:42+00:00 ci: Use newer CMake on Ubuntu 16.04 docker image. - - - - - e1d0f2b5 by Jose Fonseca at 2021-03-09T18:32:42+00:00 cmake: Use CMake C/C++ standard variables. - - - - - 3dd245e0 by Jose Fonseca at 2021-03-10T15:23:56+00:00 gitignore: Ignore gltrim. - - - - - a01873e5 by Jose Fonseca at 2021-03-10T17:51:48+00:00 github-actions: Cache Qt downloads. - - - - - b21e641f by Gert Wollny at 2021-03-11T17:21:41+01:00 gltrim: ignore non-existing objects when calling delete or destroy In OpenGL deleting a non-existing object is siletly ignored, so check if the object exists before attaching the delete call to it. Closes: #714 Signed-off-by: Gert Wollny <[email protected]> - - - - - c6d9be53 by Jose Fonseca at 2021-03-14T06:40:50+00:00 ci: Fix build-msvc.ps1 parameter handling. - - - - - bcef8ec3 by Jose Fonseca at 2021-03-14T07:22:34+00:00 github-actions: Retain Ubuntu 16.04 artifacts. - - - - - 2674a24d by Gert Wollny at 2021-03-14T08:52:53+00:00 replay: Add option to execute and check queries By default reading back query results is skipped, this commit adds the option to actually read back the query result and then either ignore it (useful for performance analysis, because reading back the result may trigger some synchronization, e.g. with the virgl driver), or check the result against the previously recorded one. In order for this to make sense, we have to spin on GL_QUERY_RESULT_AVAILABLE if the expected result is one. v2: fix query result check logic Closes: #715 Signed-off-by: Gert Wollny <[email protected]> - - - - - 34ac9a81 by Jose Fonseca at 2021-03-14T17:03:15+00:00 github-actions: Try caching docker images through GPR. - - - - - 8f6a88b6 by Jose Fonseca at 2021-03-14T17:03:44+00:00 github-actions: Use debug builds ordinarilly. - - - - - 1a90557f by Chris Djali at 2021-03-18T13:09:28+00:00 Increase precision of image range spinners - - - - - 5e712278 by Jose Fonseca at 2021-03-18T13:28:03+00:00 gihub-actions: Better symbol versions. - - - - - 8aaf905c by Jose Fonseca at 2021-03-18T13:28:03+00:00 github-actions: Simplify docker build scripts.' - - - - - a6ce8c17 by Jose Fonseca at 2021-03-18T13:28:03+00:00 d3dretrace: Fix integrated GPU selection on recent Windows. Magic value 2 no longer works for me, but 3 still does. - - - - - 993000c3 by Jose Fonseca at 2021-03-18T13:37:42+00:00 libbacktrace: Hack around Ctest leaked fds differently. fd numbers seem to vary. This should avoid the issue, while providing more meaningful testing. - - - - - c74ff47e by Gert Wollny at 2021-03-27T12:39:54+00:00 retrace: Add option to pass a query result check threshold In order to reduce the noise when comparing recorded query values to evaluated ones while retracing add an option to be able to specify a threshold for the result difference. With a threshold > 0 " --query-handling check" will be enabled too. Related: #715 Signed-off-by: Gert Wollny <[email protected]> - - - - - 424f69ab by Gert Wollny at 2021-03-27T12:39:54+00:00 qapitrace: Add query handling options to trace execution dialog v2; remove placeholder value for combo box Related: #715 Signed-off-by: Gert Wollny <[email protected]> - - - - - cf881030 by Jose Fonseca at 2021-04-04T09:44:03+01:00 inject: Better describe GDI behavior. Fixes d77e180d117f4667c18d2dad1109c7a04ae8f04f. Thanks to Jesse Natalie for helping me to better understand what's going on. - - - - - 886e562d by Jose Fonseca at 2021-04-04T09:44:03+01:00 ci: Flatten docker directory. - - - - - e028a737 by Jose Fonseca at 2021-04-04T13:07:53+01:00 github-actions: Disable ubuntu32. Build got broken somehow, probably due to some change in GitHub's ubuntu-latest base image. Disable for now. - - - - - ce09f473 by Jose Fonseca at 2021-04-04T13:36:00+01:00 cmake: Replace unnofficial -H option with official -S option. - - - - - 21a2e789 by Jose Fonseca at 2021-04-04T17:33:07+01:00 ci: Fix cmake parallelism when using docker without ninja. - - - - - 03294478 by Jose Fonseca at 2021-04-04T19:54:13+01:00 github-actions: Fix ubuntu32 job. - - - - - 5c192f47 by Jose Fonseca at 2021-04-07T19:43:23+01:00 ci: Update to Ubuntu 18.04. Ubuntu 16.04 reaches end of standard support this month. - - - - - 5401894d by Jose Fonseca at 2021-04-07T20:08:26+01:00 ci: Use GCC 8 on older distros. - - - - - e3112a3d by Jose Fonseca at 2021-04-07T20:26:07+01:00 ci: Use Ninja for CentOS too. - - - - - 03e4e9d2 by Jose Fonseca at 2021-04-08T16:26:46+01:00 libbacktrace: Explictly set HAVE_STDINT_H. Fixes https://github.com/apitrace/apitrace/issues/727 - - - - - 30 changed files: - + .github/scripts/build-mingw.sh - + .github/workflows/build.yml - .gitignore - + .gitmodules - − .travis.yml - CMakeLists.txt - README.markdown - appveyor.yml - − ci/build-centos-6.sh - + ci/build-centos-7.sh - + ci/build-docker.sh - + ci/build-macos.sh - + ci/build-msvc.ps1 - − ci/build-ubuntu-16.04.sh - + ci/build-ubuntu-18.04.sh - + ci/docker/.dockerignore - ci/docker/centos-6/README.md → ci/docker/README.md - − ci/docker/centos-6/Dockerfile - + ci/docker/centos-7.Dockerfile - − ci/docker/ubuntu-16.04/Dockerfile - + ci/docker/ubuntu-18.04.Dockerfile - cli/CMakeLists.txt - cli/cli.hpp - + cli/cli_gltrim.cpp - + cli/cli_info.cpp - cli/cli_main.cpp - cli/cli_repack.cpp - dispatch/dxgiint.h - dispatch/glproc_gl.cpp - docs/HACKING.markdown The diff was not included because it is too large. View it on GitLab: https://salsa.debian.org/xorg-team/app/apitrace/-/compare/cae55f54c53449fd07f8a917dcd0874db2c15032...03e4e9d2cab4f1a61d3f589785641a73dff027c5 -- View it on GitLab: https://salsa.debian.org/xorg-team/app/apitrace/-/compare/cae55f54c53449fd07f8a917dcd0874db2c15032...03e4e9d2cab4f1a61d3f589785641a73dff027c5 You're receiving this email because of your account on salsa.debian.org.

