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