Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2023-01-09 | retrace: Add --loopsecs argument.loopsecs | Emma Anholt | 3 | -8/+45 | |
The traces-db traces are all trimmed to be one giant setup frame and one frame of rendering. If you want to do performance work on that, you really just care about measuring the rendering frame, not the setup frame. People have suggested ranking "--loop=" up high enough, but it turns out that there's not really a useful value of "high enough" if the setup time might be also changing (such as when evaluating zink vs native GL). Sample output: eglretrace ~/src/traces-db/valve/portal-2-v2.trace --loopsecs=5 warning: --loop blindly repeats the last frame calls, therefore frames might not necessarily render correctly (https://github.com/apitrace/apitrace/issues/800) [...] Rendered the last frame 2305 times in 5.00101 secs, average of 460.907 fps Rendered 2308 frames in 7.15039 secs, average of 322.78 fps | |||||
2022-12-16 | #848. All three states of GL_ATI_mem_info are int x 4 arrays. | stgatilov | 1 | -3/+3 | |
2022-12-06 | gltrim: move gen calls and shader setup from the last frame | Gert Wollny | 5 | -11/+104 | |
One major use case for this trimming is to run the final frame in a loop to capture some performance numbers. However, if an object is created in the last frame, and not destroyed, then these allocations will accumulate and may lead to memory exhaustion. Therefore, move gen calls that are not paired with delete calls and and shader compilation and linking calls before the last frame so that they will not be repeated when the last frame runs in a loop. We still may se errors in loops, because calls like glTexStorage or glBufferStorage created immutable objects that can only be set up once, but moving these calls before the last frame is difficult, because then we also have to replicated the bind calls, therefore we don't take these calls into account with this optimization. Signed-off-by: Gert Wollny <gert.wollny@collabora.com> | |||||
2022-12-06 | d3d8trace: Remap state block handles | Alpyne | 1 | -5/+6 | |
2022-11-28 | cli: Dump machine representation when dumping blobs. | Jose Fonseca | 1 | -0/+4 | |
Fixes https://github.com/apitrace/apitrace/issues/840 | |||||
2022-11-16 | d3dretrace: Implement -w/--wait. | Jose Fonseca | 1 | -2/+6 | |
Fixes: https://github.com/apitrace/apitrace/issues/837 | |||||
2022-11-12 | d3d8trace: Remap shader handles | Alpyne | 1 | -11/+15 | |
2022-11-12 | gui: Add icon | Kirill Izmestev | 3 | -0/+3 | |
2022-11-10 | glstate: Detect/skip SPIR-V binary shaders. | Jose Fonseca | 1 | -1/+10 | |
2022-11-10 | specs: Handle GL_ARB_gl_spirv better. | Jose Fonseca | 1 | -0/+4 | |
2022-11-09 | specs: Handle GL_COMPUTE_WORK_GROUP_SIZE. | Jose Fonseca | 1 | -1/+1 | |
Fixes https://github.com/apitrace/apitrace/issues/832 | |||||
2022-10-27 | gltrace: Handle repeated glBufferStorage of same buffer name. | Jose Fonseca | 1 | -1/+1 | |
std::map insert method is a no-op when the key exists. Thanks to jirongjiao for finding and proposing a fix for this issue. Fixes https://github.com/apitrace/apitrace/issues/830 | |||||
2022-10-26 | cmake: Provide option to build with Qt6. | Jose Fonseca | 2 | -10/+15 | |
It builds, but running quickly asserts/segfaults. | |||||
2022-10-26 | gui: Drop QDesktopWidget includes. | Jose Fonseca | 3 | -3/+0 | |
2022-10-26 | gui: Switch from QRegExp to QRegularExpression. | Jose Fonseca | 7 | -34/+45 | |
2022-10-26 | gui: Address deprecation warnings. | Jose Fonseca | 6 | -10/+11 | |
2022-10-17 | gltrace: Intercept libOpenGL.so too. | Jose Fonseca | 1 | -0/+6 | |
https://github.com/apitrace/apitrace/issues/829 | |||||
2022-10-17 | gltrace: Intercept libGLX.so. | Jose Fonseca | 2 | -0/+10 | |
There's probably more to support glvnd than intercepting libGLX.so, as applications can call libOpenGL.so too. But this is enough for applications which obtain OpenGL symbols through libGLX.so's glXGetProcAddress(ARB). Fixes https://github.com/apitrace/apitrace/issues/829 | |||||
2022-10-17 | cmake: Require Qt 5.15. | Jose Fonseca | 2 | -2/+2 | |
2022-10-17 | ci: Upgrade macOS Qt to 5.15.2. | Jose Fonseca | 2 | -4/+7 | |
2022-10-17 | cmake: Simplify. | Jose Fonseca | 2 | -22/+5 | |
2022-10-17 | cmake: Fix GenerateVersion.cmake path. | Jose Fonseca | 1 | -1/+1 | |
2022-10-05 | github: Add missing apt-get update. | Jose Fonseca | 1 | -0/+1 | |
2022-10-05 | ci: Build Windows Arm packages too. | Jose Fonseca | 2 | -47/+62 | |
2022-10-05 | cmake: Distinguish Windows Arm packages. | Jose Fonseca | 1 | -0/+14 | |
2022-10-05 | cmake: Fix MSVC 32bits Arm build. | Jose Fonseca | 4 | -0/+15 | |
2022-10-05 | cmake: Allow building for Windows Arm. | Jose Fonseca | 7 | -37/+60 | |
Tested with llvm-clang crosscompilers. | |||||
2022-10-05 | os: Remove pre-Vista KiUserExceptionDispatcher CLD workaround. | Jose Fonseca | 1 | -15/+0 | |
We only support Windows7 onwards. | |||||
2022-10-03 | scripts: Refactor pickling into a single helper function. | Jose Fonseca | 3 | -42/+52 | |
2022-09-28 | cli: Pickle thread ids. | Jose Fonseca | 2 | -1/+5 | |
2022-09-28 | cli: Terminate pickling early when possible. | Jose Fonseca | 1 | -0/+4 | |
2022-09-28 | cli: Fix thinko in pickle. | Jose Fonseca | 1 | -1/+1 | |
The number before 0x80 is 0x7f, not 0x79... | |||||
2022-09-28 | Revert "trace: Prioritize IUnknown::Release calls." | Jose Fonseca | 2 | -75/+13 | |
This reverts commit aee153a43f405831a7ee581a28591f70dd439c9e. It leads to misordered calls. Revert for now. | |||||
2022-09-28 | retrace: Add --version option. | Jose Fonseca | 2 | -0/+9 | |
2022-09-27 | Fix MinGW warnings about printf specifiers. | Jose Fonseca | 6 | -10/+20 | |
2022-09-27 | gltrim: Avoid compiler warnings about end of function without return. | Jose Fonseca | 1 | -0/+1 | |
2022-09-27 | dispatch: Remove compatibility with old Windows SDK headers. | Jose Fonseca | 1 | -40/+0 | |
2022-09-27 | appveyor: Remove. | Jose Fonseca | 6 | -80/+1 | |
AppVeyor had the advantage of having static URLs to the latest artifacts, but I managed to workaround this GitHub limitation with a cron job that uploads latest binaries files to freedesktop.org. | |||||
2022-09-27 | retrace: Don't use std::string for g_processName on Windows. | Jose Fonseca | 1 | -11/+13 | |
Like done on Linux, to prevent calls after tear down to fail (with assertion failure.) | |||||
2022-09-27 | github: Update Ubuntu images to 22.04. | Jose Fonseca | 1 | -13/+13 | |
2022-09-27 | cglretrace: Better error message when failing to load system's OpenGL framework. | Jose Fonseca | 1 | -16/+38 | |
https://github.com/apitrace/apitrace/issues/826 | |||||
2022-09-27 | lib: Fix leak in StringPrefixes::StringPrefixes. | Jose Fonseca | 1 | -1/+3 | |
Courtesy of clang-tidy. | |||||
2022-09-27 | wrappers: Silience overloaded method warnings. | Jose Fonseca | 1 | -5/+0 | |
Not very helpful. | |||||
2022-09-27 | trace: Prioritize IUnknown::Release calls. | Jose Fonseca | 3 | -22/+80 | |
An application might call Release() on one object on one thread, and receive a newly created object with the same point on another thread, _before_ the Release call completes. In such cases, replaying calls by any static order (either enter or leave) is bound to lead to spurious use-after-free bugs. However this can be avoided by prioritizing Release calls, so they are always executed before creation, as the opposite can never be intended by a race-free application. | |||||
2022-09-26 | directxmath: Upgrade to may2022 release. | Jose Fonseca | 1 | -0/+0 | |
2022-09-26 | snappy: Upgrade to v1.1.9. | Jose Fonseca | 1 | -0/+0 | |
2022-09-26 | brotli: Upgrade to v1.0.7. | Jose Fonseca | 2 | -0/+7 | |
2022-09-26 | gtest: Upgrade to v1.12.1. | Jose Fonseca | 2 | -1/+1 | |
2022-09-26 | d3dretrace: Actually use szSoftware when replaying ↵ | Jose Fonseca | 1 | -2/+2 | |
IDXGIFactory::CreateSoftwareAdapter. | |||||
2022-09-26 | gui: deprecated qSort -> std::sort. | Jose Fonseca | 2 | -2/+6 | |