]> git.cworth.org Git - apitrace/log
apitrace
11 years agoMerge remote-tracking branch 'github/master' into d2d
José Fonseca [Fri, 28 Sep 2012 07:40:24 +0000 (08:40 +0100)]
Merge remote-tracking branch 'github/master' into d2d

Conflicts:
.gitignore
CMakeLists.txt
cmake/FindDirectX.cmake

11 years agoDefine all D2D/DWRITE GUIDs
José Fonseca [Fri, 28 Sep 2012 06:48:37 +0000 (07:48 +0100)]
Define all D2D/DWRITE GUIDs

11 years agoUpdate copyright in License.
José Fonseca [Thu, 27 Sep 2012 21:20:53 +0000 (22:20 +0100)]
Update copyright in License.

11 years agoRecognise D3D rendertarget swapping.
José Fonseca [Thu, 27 Sep 2012 18:33:32 +0000 (19:33 +0100)]
Recognise D3D rendertarget swapping.

11 years agoIgnore .NET exceptions.
José Fonseca [Thu, 27 Sep 2012 18:33:09 +0000 (19:33 +0100)]
Ignore .NET exceptions.

11 years agoUpdate 32bit cross-build instructions.
José Fonseca [Wed, 26 Sep 2012 15:14:22 +0000 (16:14 +0100)]
Update 32bit cross-build instructions.

11 years agoUpdate to latest CMake Android toolchain (issue #92).
José Fonseca [Thu, 20 Sep 2012 11:32:36 +0000 (12:32 +0100)]
Update to latest CMake Android toolchain (issue #92).

Thanks to all that drew my attention to this.

11 years agoDump D3D9 shader state.
José Fonseca [Thu, 20 Sep 2012 11:29:16 +0000 (12:29 +0100)]
Dump D3D9 shader state.

11 years agotrace: Fix alignment bug in computing image sizes.
José Fonseca [Sun, 16 Sep 2012 01:33:07 +0000 (02:33 +0100)]
trace: Fix alignment bug in computing image sizes.

Match precisely what the OpenGL spec says.

Fixes the stride computation of RGB8.

Based on discussion and code from Carl Worth and Paul Berry.

11 years agoRewrote profile graph drawing code.
James Benton [Fri, 7 Sep 2012 17:38:15 +0000 (18:38 +0100)]
Rewrote profile graph drawing code.

Graphing is now reasonably generic to allow for future graphs to be fairly
easily added without too much replication of code.

11 years agoChange the default graphic system to raster.
James Benton [Fri, 7 Sep 2012 13:23:43 +0000 (14:23 +0100)]
Change the default graphic system to raster.

This render system out performs the native implementations on all platforms,
this is necessary as the native implementation on Mac is basically unusable
with the profile dialog due to poor performance.

11 years agoFix bug in profiling time synchronisation.
James Benton [Wed, 29 Aug 2012 10:30:23 +0000 (11:30 +0100)]
Fix bug in profiling time synchronisation.

11 years agoCombine timeline and histogram tabs.
James Benton [Tue, 28 Aug 2012 17:41:43 +0000 (18:41 +0100)]
Combine timeline and histogram tabs.

Synchronise time / program selections between all profile data views.

11 years agoDelete context when retracing wglDeleteContext.
José Fonseca [Mon, 27 Aug 2012 18:01:58 +0000 (19:01 +0100)]
Delete context when retracing wglDeleteContext.

11 years agoModify unpickle.py to do an histogram.
José Fonseca [Mon, 27 Aug 2012 17:07:01 +0000 (18:07 +0100)]
Modify unpickle.py to do an histogram.

11 years agoFix Windows INSTALL instructions.
James Benton [Thu, 23 Aug 2012 16:28:52 +0000 (17:28 +0100)]
Fix Windows INSTALL instructions.

11 years agoRename 'Calls' tab to 'Histogram' in profile dialog.
James Benton [Wed, 22 Aug 2012 14:26:23 +0000 (15:26 +0100)]
Rename 'Calls' tab to 'Histogram' in profile dialog.

11 years agoChange microseconds to use the greek mu symbol.
James Benton [Wed, 22 Aug 2012 14:26:03 +0000 (15:26 +0100)]
Change microseconds to use the greek mu symbol.

11 years agoAdd cpu/gpu label to histograms.
James Benton [Wed, 22 Aug 2012 14:25:42 +0000 (15:25 +0100)]
Add cpu/gpu label to histograms.

11 years agoAdd call duration graphs to profile dialog.
James Benton [Wed, 22 Aug 2012 13:17:01 +0000 (14:17 +0100)]
Add call duration graphs to profile dialog.

11 years agoImprove number formatting in profile gui.
James Benton [Wed, 22 Aug 2012 11:18:09 +0000 (12:18 +0100)]
Improve number formatting in profile gui.

11 years agoImprove internal format of profile results.
James Benton [Wed, 22 Aug 2012 11:11:37 +0000 (12:11 +0100)]
Improve internal format of profile results.

11 years agoImprove profiling.
James Benton [Thu, 16 Aug 2012 12:44:19 +0000 (13:44 +0100)]
Improve profiling.

Remove frame_begin from profile output.
Change frame_end to no longer record times.
Profile non-draw calls for CPU only.
Resynchronise gpu time every frame to account for drift.

Improve performance of profile gui.
Add seperate CPU view to timeline widget.

11 years agoAdd Ctrl+P accelerator for profiling.
James Benton [Mon, 13 Aug 2012 17:22:44 +0000 (18:22 +0100)]
Add Ctrl+P accelerator for profiling.

11 years agoCPU Profiling now includes all OpenGL calls (was only draw calls).
James Benton [Mon, 13 Aug 2012 17:21:16 +0000 (18:21 +0100)]
CPU Profiling now includes all OpenGL calls (was only draw calls).

This only affects CPU profiling, not GPU or non-occluded pixels.

11 years agoAllow BlockingIO read of profiling results.
James Benton [Mon, 13 Aug 2012 17:15:39 +0000 (18:15 +0100)]
Allow BlockingIO read of profiling results.

11 years agoSynchronise gpuStart and cpuStart for profiling.
James Benton [Mon, 13 Aug 2012 13:24:48 +0000 (14:24 +0100)]
Synchronise gpuStart and cpuStart for profiling.

Cleanup some profiling code.

11 years agoCleanup build instructions formatting.
José Fonseca [Mon, 13 Aug 2012 12:50:15 +0000 (13:50 +0100)]
Cleanup build instructions formatting.

11 years agoFix markup.
José Fonseca [Mon, 13 Aug 2012 12:36:31 +0000 (13:36 +0100)]
Fix markup.

11 years agoMerge branch 'profile-gui'
José Fonseca [Mon, 13 Aug 2012 09:10:35 +0000 (10:10 +0100)]
Merge branch 'profile-gui'

11 years agoUpdate android.toolchain.cmake
Huang Dongsung [Mon, 25 Jun 2012 06:36:24 +0000 (15:36 +0900)]
Update android.toolchain.cmake

11 years agoInitialize bits.
José Fonseca [Fri, 10 Aug 2012 19:14:48 +0000 (20:14 +0100)]
Initialize bits.

11 years agoMerge remote-tracking branch 'github/master' into profile-gui
José Fonseca [Fri, 10 Aug 2012 16:39:41 +0000 (17:39 +0100)]
Merge remote-tracking branch 'github/master' into profile-gui

Conflicts:
gui/mainwindow.cpp

11 years agoRescale/rebase the times just before writing it.
José Fonseca [Fri, 10 Aug 2012 16:36:53 +0000 (17:36 +0100)]
Rescale/rebase the times just before writing it.

11 years agoFix profiling of glBegin/glEnd.
James Benton [Fri, 10 Aug 2012 14:56:18 +0000 (15:56 +0100)]
Fix profiling of glBegin/glEnd.

11 years agoFix initialisation order in TimelineWidget.
James Benton [Fri, 10 Aug 2012 14:56:06 +0000 (15:56 +0100)]
Fix initialisation order in TimelineWidget.

11 years agoFix erroneous class Profile forward declaration to struct Profile.
James Benton [Fri, 10 Aug 2012 14:55:51 +0000 (15:55 +0100)]
Fix erroneous class Profile forward declaration to struct Profile.

11 years agoChanged profile parsing to use stringstream instead of sscanf.
James Benton [Fri, 10 Aug 2012 12:31:05 +0000 (13:31 +0100)]
Changed profile parsing to use stringstream instead of sscanf.

11 years agoFixed profile dialog modality.
James Benton [Fri, 10 Aug 2012 12:30:26 +0000 (13:30 +0100)]
Fixed profile dialog modality.

11 years agoAPIENTRY debugOutputCallback on declaration too.
James Benton [Thu, 9 Aug 2012 16:52:20 +0000 (17:52 +0100)]
APIENTRY debugOutputCallback on declaration too.

11 years agoAdd APIENTRY call convention to debug output callback.
James Benton [Thu, 9 Aug 2012 16:14:01 +0000 (17:14 +0100)]
Add APIENTRY call convention to debug output callback.

11 years agoFix formatting in README
James Benton [Thu, 9 Aug 2012 15:46:43 +0000 (16:46 +0100)]
Fix formatting in README

11 years agoFix replay trace generating thumbnails.
James Benton [Thu, 9 Aug 2012 15:24:34 +0000 (16:24 +0100)]
Fix replay trace generating thumbnails.

11 years agoFix ApiTrace::hasErrors to consider queuedErrors.
James Benton [Thu, 9 Aug 2012 15:22:50 +0000 (16:22 +0100)]
Fix ApiTrace::hasErrors to consider queuedErrors.

11 years agoAdd GL_ARB_debug_output support.
James Benton [Thu, 9 Aug 2012 14:44:17 +0000 (15:44 +0100)]
Add GL_ARB_debug_output support.

11 years agoAdd initContext to glretrace.
James Benton [Thu, 9 Aug 2012 13:22:24 +0000 (14:22 +0100)]
Add initContext to glretrace.

Used to do per context setup.
Moved the extension support checking to initContext.

11 years agoCreate glretrace specific context.
James Benton [Thu, 9 Aug 2012 13:23:44 +0000 (14:23 +0100)]
Create glretrace specific context.

This allows us to store per context variables whilst retracing.
Altered the various glretrace window system implementations to use this new context.
Updated the "activeProgram" tracking for profiling to use this.

11 years agoUpdated README with help for using new profiling options.
James Benton [Mon, 6 Aug 2012 17:04:56 +0000 (18:04 +0100)]
Updated README with help for using new profiling options.

11 years agoMerge branch 'opengl-4.3'
José Fonseca [Thu, 9 Aug 2012 10:49:32 +0000 (11:49 +0100)]
Merge branch 'opengl-4.3'

11 years agoRecognize IDirect3DSwapChain9::Present as end of frame
José Fonseca [Wed, 8 Aug 2012 17:50:47 +0000 (18:50 +0100)]
Recognize IDirect3DSwapChain9::Present as end of frame

11 years agoAdded alt menu shortcuts for View menu.
James Benton [Wed, 8 Aug 2012 16:44:14 +0000 (17:44 +0100)]
Added alt menu shortcuts for View menu.

11 years agoFix divide by zero in profile table sorting.
James Benton [Wed, 8 Aug 2012 16:43:52 +0000 (17:43 +0100)]
Fix divide by zero in profile table sorting.

11 years agoTweak new state/entrypoints.
José Fonseca [Tue, 7 Aug 2012 23:11:09 +0000 (00:11 +0100)]
Tweak new state/entrypoints.

11 years agoMinimal OpenGL 4.3 support.
José Fonseca [Tue, 7 Aug 2012 21:08:29 +0000 (22:08 +0100)]
Minimal OpenGL 4.3 support.

11 years agoUpdate khronos headers.
José Fonseca [Tue, 7 Aug 2012 20:46:04 +0000 (21:46 +0100)]
Update khronos headers.

11 years agoAdd gui support for trace profiling.
James Benton [Wed, 8 Aug 2012 16:09:07 +0000 (17:09 +0100)]
Add gui support for trace profiling.

11 years agoCleanup strings constness.
José Fonseca [Tue, 7 Aug 2012 20:07:22 +0000 (21:07 +0100)]
Cleanup strings constness.

Allows to distinguish between a const char *, and char * const.

11 years agoUse CString shorthand more places.
José Fonseca [Tue, 7 Aug 2012 19:00:18 +0000 (20:00 +0100)]
Use CString shorthand more places.

11 years agoAllow to pipe profile output directly to profileshader.py
José Fonseca [Mon, 6 Aug 2012 16:35:06 +0000 (17:35 +0100)]
Allow to pipe profile output directly to profileshader.py

For example

  ./glretrace -pgpu foo.trace | ./scripts/profileshader.py

11 years agoMerge remote-tracking branch 'jbenton/master'
José Fonseca [Mon, 6 Aug 2012 15:35:14 +0000 (16:35 +0100)]
Merge remote-tracking branch 'jbenton/master'

11 years agoCheck GL_QUERY_COUNTER_BITS before profiling.
James Benton [Mon, 6 Aug 2012 15:05:58 +0000 (16:05 +0100)]
Check GL_QUERY_COUNTER_BITS before profiling.

11 years agoCorrectly handle profiling of glBegin/glEnd.
James Benton [Mon, 6 Aug 2012 10:44:23 +0000 (11:44 +0100)]
Correctly handle profiling of glBegin/glEnd.

11 years agoCheck for GL_EXT_timer_query and GL_ARB_occlusion_query.
James Benton [Mon, 6 Aug 2012 10:40:28 +0000 (11:40 +0100)]
Check for GL_EXT_timer_query and GL_ARB_occlusion_query.

11 years agoMerge branch 'egl-image'
José Fonseca [Sun, 5 Aug 2012 09:24:28 +0000 (10:24 +0100)]
Merge branch 'egl-image'

Conflicts:
wrappers/egltrace.py

11 years agoRecreate egl surface when glViewport for watching framebuffer in qapitrace's surface...
Huang Dongsung [Sat, 23 Jun 2012 07:03:26 +0000 (16:03 +0900)]
Recreate egl surface when glViewport for watching framebuffer in qapitrace's surface tab.

It is quirk of mesa egl 1.4 with Nvidia-dri. It is ok with intel-dri.

After resizing XWindow, mesa egl does not know new size of the surface.
If you call eglQuerySurface(currentDisplay, currentSurface, EGL_WIDTH, width),
width is the width at the time to create the egl surface, not current width.
However, glx can know what the size of window well.

Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
11 years agoProcess window events on d3dretrace.
José Fonseca [Fri, 3 Aug 2012 18:56:23 +0000 (19:56 +0100)]
Process window events on d3dretrace.

11 years agoResize window on IDirect3DDevice9::Reset.
José Fonseca [Fri, 3 Aug 2012 15:47:54 +0000 (16:47 +0100)]
Resize window on IDirect3DDevice9::Reset.

11 years agoRemove old unused function declaration.
James Benton [Fri, 3 Aug 2012 13:25:25 +0000 (14:25 +0100)]
Remove old unused function declaration.

11 years agoAdd missing comma in last commit.
José Fonseca [Thu, 2 Aug 2012 19:05:19 +0000 (20:05 +0100)]
Add missing comma in last commit.

11 years agoRecognize for context creation/destruction/binding functions (issue #90).
José Fonseca [Thu, 2 Aug 2012 19:00:28 +0000 (20:00 +0100)]
Recognize for context creation/destruction/binding functions (issue #90).

Thanks to gregory38 for spotting this.

11 years agoAvoid inserting 'inf' and friends into the json output.
Carl Worth [Mon, 30 Jul 2012 22:01:15 +0000 (15:01 -0700)]
Avoid inserting 'inf' and friends into the json output.

The JSON-generating code was previously carefult to avoid emitting NaN
into its output, but it would still write "inf" for an infinite value,
(which is invalid JSON).

Fix by calling writeNull for any value for which std::isfinite returns
false, (rather than the previous test for merely (n != n)).

11 years agoRemoved arbitary limit on active queries.
James Benton [Thu, 2 Aug 2012 10:37:44 +0000 (11:37 +0100)]
Removed arbitary limit on active queries.

This previously existed due to a suspected limit on queries on nvidia drivers,
however that bug was actually due to context switching which has now been fixed.

11 years agoCleaned up trace profiler output.
James Benton [Tue, 31 Jul 2012 13:11:14 +0000 (14:11 +0100)]
Cleaned up trace profiler output.

Updated profileshader.py to reflect these changes.

11 years agoFixed bug in CPU profiling.
James Benton [Tue, 31 Jul 2012 13:10:35 +0000 (14:10 +0100)]
Fixed bug in CPU profiling.

11 years agoCheck if GL_ARB_timer_query is supported before using it.
James Benton [Tue, 31 Jul 2012 11:48:27 +0000 (12:48 +0100)]
Check if GL_ARB_timer_query is supported before using it.

11 years agoEmit a fake glTexImage for glEGLImageTargetTexture2DOES.
José Fonseca [Thu, 2 Aug 2012 07:42:24 +0000 (08:42 +0100)]
Emit a fake glTexImage for glEGLImageTargetTexture2DOES.

11 years agoegl: EGL image trace support
Imre Deak [Mon, 4 Jun 2012 11:14:24 +0000 (14:14 +0300)]
egl: EGL image trace support

Getting the dimension / format of EGL images is not straitghforward.
One way to get these would be through glGetTexLevelParameter, but it's
not supported by GLES. Another way is to attach the EGL image to a
renderbuffer and call glGetRenderbufferParameter on it, but at least
mesa doesn't support attaching images in RGBA_REV format. And that
format happens to be an important one in applications we care about
(like the Android browser). We could also check the parameters of the
underlying native buffer, but these are not exposed through any API (for
either Xpixmaps or Android native buffers)

So the only way I found is to try a non-destructive glCopyTexSubImage2D
with sizes starting from GL_MAX_TEXTURE_SIZE down to 1 and determine the
correct size based on whether this returns an error or not.

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agoRetrace should info correct image's format to qapitrace.
Huang Dongsung [Sat, 23 Jun 2012 07:38:57 +0000 (16:38 +0900)]
Retrace should info correct image's format to qapitrace.

Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
11 years agoAdd UCHAR.
José Fonseca [Wed, 25 Jul 2012 19:31:30 +0000 (20:31 +0100)]
Add UCHAR.

11 years agoDon't includes windows.h inside extern "C" {...}
José Fonseca [Wed, 25 Jul 2012 19:03:34 +0000 (20:03 +0100)]
Don't includes windows.h inside extern "C" {...}

11 years agoEnumerate a few more D3DUSAGE values.
José Fonseca [Wed, 25 Jul 2012 19:03:08 +0000 (20:03 +0100)]
Enumerate a few more D3DUSAGE values.

11 years agoBump windows version.
José Fonseca [Wed, 25 Jul 2012 18:59:34 +0000 (19:59 +0100)]
Bump windows version.

11 years agoAdd a script to analyse profile output per shader.
James Benton [Wed, 25 Jul 2012 12:52:14 +0000 (13:52 +0100)]
Add a script to analyse profile output per shader.

11 years agoImproved profiling capabilities.
James Benton [Wed, 25 Jul 2012 12:48:20 +0000 (13:48 +0100)]
Improved profiling capabilities.

Logs which shader is active to allow per shader profiling.
Merged cpu profiling code from retrace to trace_profiler.
Allow choice of profiling for gpu / cpu / pixels drawn.

11 years agoAdded support for recording GL_SAMPLES_PASSED.
James Benton [Mon, 23 Jul 2012 17:45:46 +0000 (18:45 +0100)]
Added support for recording GL_SAMPLES_PASSED.

11 years agoFixed gpu profiling under multiple contexts.
James Benton [Mon, 23 Jul 2012 17:12:27 +0000 (18:12 +0100)]
Fixed gpu profiling under multiple contexts.

Now flushes the results for all queries on context switch.

11 years agoImproved GPU profiling code.
James Benton [Mon, 23 Jul 2012 14:26:54 +0000 (15:26 +0100)]
Improved GPU profiling code.

Now only allows a certain number of active queries,
this fixes results with applications that have many draw calls.

11 years agoAdd support for basic GPU profiling of draw calls to retrace.
James Benton [Fri, 20 Jul 2012 17:56:19 +0000 (18:56 +0100)]
Add support for basic GPU profiling of draw calls to retrace.

Currently only supports opengl using glBegin/EndQuery and glQueryCounter.

Based on code from Yuanhan Liu timing-trace branch.

11 years agoMerge commit '5c298db8fe117e0a445af051335aa0da91c3a31b'
José Fonseca [Thu, 12 Jul 2012 12:44:59 +0000 (13:44 +0100)]
Merge commit '5c298db8fe117e0a445af051335aa0da91c3a31b'

11 years agoEliminate destroyContext.
José Fonseca [Wed, 11 Jul 2012 11:14:31 +0000 (12:14 +0100)]
Eliminate destroyContext.

Same as releaseContext.

11 years agoFix build on MSVC.
José Fonseca [Mon, 9 Jul 2012 10:16:50 +0000 (11:16 +0100)]
Fix build on MSVC.

11 years agoFix wglDeleteContext tracing.
José Fonseca [Mon, 9 Jul 2012 09:36:01 +0000 (10:36 +0100)]
Fix wglDeleteContext tracing.

wglGetCurrentContext must be called before.

11 years agoFix CGL.
José Fonseca [Mon, 9 Jul 2012 09:47:16 +0000 (10:47 +0100)]
Fix CGL.

11 years agoFix build. Add copyright header to new files.
José Fonseca [Sun, 8 Jul 2012 12:16:48 +0000 (13:16 +0100)]
Fix build. Add copyright header to new files.

11 years agoRelocate tracing (dis/en)enablement.
José Fonseca [Sat, 7 Jul 2012 11:54:09 +0000 (12:54 +0100)]
Relocate tracing (dis/en)enablement.

Out of common -- as it is tracing specific

11 years agoAndroid: add usage instructions for tracing zygote applications
Imre Deak [Fri, 30 Mar 2012 12:44:39 +0000 (15:44 +0300)]
Android: add usage instructions for tracing zygote applications

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agoAndroid: add support for dynamically enable/disable tracing
Imre Deak [Fri, 30 Mar 2012 12:46:26 +0000 (15:46 +0300)]
Android: add support for dynamically enable/disable tracing

To trace applications started by the Dalvik VM we have to wrap the main
Dalvik process zygote (or app_process) which is started at boot time and
never stopped afterwards. We would still want to restrict tracing to a
single process which will be forked by zygote.

To achieve this we'll use the fact that the forked process image is
contained in the same file as zygote, pointed to by /proc/self/exe. So
if this is 'app_process' we know it's a zygote process. To distinguish
between zygote processes we'll check /proc/self/cmdline which will in
turn be set to a unique application specific string (for example
com.android.settings). The user has to set the debug.apitrace.procname
to this string in order to enable tracing.

For non-zygote processes tracing will be always enabled.

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agoMerge pull request #88 from gregory38/image-alpha-channel-I84-v2
zackr [Sat, 7 Jul 2012 00:10:22 +0000 (17:10 -0700)]
Merge pull request #88 from gregory38/image-alpha-channel-I84-v2

Image alpha channel i84 v2

11 years agoMerge pull request #87 from gregory38/multiple-line-errors
zackr [Sat, 7 Jul 2012 00:08:30 +0000 (17:08 -0700)]
Merge pull request #87 from gregory38/multiple-line-errors

glsl edit: grep multiline error/warning messages

11 years agoglsl edit: grep multiline error/warning messages
gregory [Fri, 6 Jul 2012 19:48:59 +0000 (21:48 +0200)]
glsl edit: grep multiline error/warning messages

Useful for GL shader errors which spawn multiple lines error message like that:
    >> 2135: warning: Vertex shader failed to compile with the following errors:
    >> ERROR: 1:1: error(#132) Syntax error: 'sdfsafasf' parse error
    >> ERROR: error(#273) 1 compilation errors.  No code generated