]> git.cworth.org Git - apitrace/log
apitrace
11 years agoretrace: Sleep when polling for input.
José Fonseca [Sat, 13 Oct 2012 08:27:07 +0000 (09:27 +0100)]
retrace: Sleep when polling for input.

As Carl Worth identified, if the user passed the "-w" option to beable
to see the last frame of the retrace, the glretrace would enter a
busy-waiting loop, consuming as much CPU as possible.

11 years agoretrace: Exit when Escape key is pressed on X.
José Fonseca [Sat, 13 Oct 2012 08:33:04 +0000 (09:33 +0100)]
retrace: Exit when Escape key is pressed on X.

Match Windows behavior.

11 years agoretrace: ignore glXGetSwapIntervalMESA.
José Fonseca [Sat, 13 Oct 2012 08:26:17 +0000 (09:26 +0100)]
retrace: ignore glXGetSwapIntervalMESA.

11 years agoBe clearer with the Qt requirements.
José Fonseca [Thu, 11 Oct 2012 14:20:15 +0000 (15:20 +0100)]
Be clearer with the Qt requirements.

11 years agoAdd a few more assertions.
José Fonseca [Wed, 10 Oct 2012 15:23:25 +0000 (16:23 +0100)]
Add a few more assertions.

11 years agoretrace: Fix off-by-one error in detection of intersecting regions.
Carl Worth [Fri, 24 Aug 2012 20:54:04 +0000 (13:54 -0700)]
retrace: Fix off-by-one error in detection of intersecting regions.

The upperBound functions returns the first region beyond the region
containing the given address. So, to correctly use it here, we must
give it the last valid address of the current range, which is just
less than (address + size).

Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
11 years agoos_posix: Print complete, attempted command line when execute() fails
Carl Worth [Sun, 12 Aug 2012 23:44:34 +0000 (16:44 -0700)]
os_posix: Print complete, attempted command line when execute() fails

Previously, only argv[0] was printed which did not provide much
information to the user about why the command might have
failed. Printing the entire command line allows the user to more
easily investigate the problem.

Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
11 years agodiff: Don't use colorized line-format options when not on a tty
Carl Worth [Mon, 13 Aug 2012 20:24:03 +0000 (13:24 -0700)]
diff: Don't use colorized line-format options when not on a tty

The color output is convenient when manually looking at the
output. But when saving output to a file, (for example, for use in the
test suite), it's useful to have a much more minimal output.

11 years agoFix unpickle script help.
José Fonseca [Fri, 5 Oct 2012 19:56:05 +0000 (20:56 +0100)]
Fix unpickle script help.

11 years agoFix diffing between blobs and null.
José Fonseca [Fri, 5 Oct 2012 19:55:43 +0000 (20:55 +0100)]
Fix diffing between blobs and null.

11 years agoFix pickling of long integers.
José Fonseca [Fri, 5 Oct 2012 19:55:28 +0000 (20:55 +0100)]
Fix pickling of long integers.

shifting more than the number of bits in the type yields undefined results.

11 years agoHandle spurious calls from wglCreateContextAttribsARB to wglCreateContext (issue...
José Fonseca [Fri, 5 Oct 2012 16:21:46 +0000 (17:21 +0100)]
Handle spurious calls from wglCreateContextAttribsARB to wglCreateContext (issue #95)

11 years agoFix retracing when glUseProgram & glUseProgramObjectARB are used inside call lists.
José Fonseca [Fri, 5 Oct 2012 11:07:28 +0000 (12:07 +0100)]
Fix retracing when glUseProgram & glUseProgramObjectARB are used inside call lists.

11 years agoBasic retrace support for glXCreate/DestroyPbuffer (issue #94)
José Fonseca [Thu, 4 Oct 2012 07:18:32 +0000 (08:18 +0100)]
Basic retrace support for glXCreate/DestroyPbuffer (issue #94)

11 years agoIgnore built OpenGL framework.
José Fonseca [Wed, 3 Oct 2012 13:39:44 +0000 (14:39 +0100)]
Ignore built OpenGL framework.

11 years agoFix MacOSX build w/ recent Qt due to lack of i386 arch support.
José Fonseca [Wed, 3 Oct 2012 13:39:04 +0000 (14:39 +0100)]
Fix MacOSX build w/ recent Qt due to lack of i386 arch support.

11 years agoFix cube map image dumping.
José Fonseca [Fri, 28 Sep 2012 16:39:51 +0000 (17:39 +0100)]
Fix cube map image dumping.

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.