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.
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>
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>
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.
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.
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.
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.
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>
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)).
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.