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.


Reply via email to