José Fonseca [Tue, 31 Jan 2012 10:48:58 +0000 (10:48 +0000)]
s/all_types/getAllTypes/
José Fonseca [Tue, 31 Jan 2012 10:11:57 +0000 (10:11 +0000)]
Allow to use newer DXSDKs w/ MinGW.
José Fonseca [Tue, 31 Jan 2012 10:02:52 +0000 (10:02 +0000)]
Avoid hacking around argc / argv.
José Fonseca [Sat, 28 Jan 2012 13:54:52 +0000 (13:54 +0000)]
Conver apitrace dump to getopt.
José Fonseca [Fri, 21 Oct 2011 09:53:34 +0000 (10:53 +0100)]
Bundle BSD getopt.
Ryan C. Gordon [Sun, 8 Jan 2012 06:32:41 +0000 (01:32 -0500)]
Add simple CPU profiling support to glretrace.
This will note the time that each traced call required, and will dump
this information during the replay, giving a basic idea of where CPU
time was spent in the GL.
Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
José Fonseca [Fri, 27 Jan 2012 22:43:53 +0000 (22:43 +0000)]
Cleanup options for apitrace trim.
Carl Worth [Thu, 17 Nov 2011 01:22:40 +0000 (17:22 -0800)]
Correctly copy "out" arguments to the "leave" portion of the trace
To do this, we take advantage of the new Arg struct to save, for each
arg, whether it was parsed after an ENTER event or after a LEAVE
event.
José Fonseca [Fri, 27 Jan 2012 22:06:51 +0000 (22:06 +0000)]
Remove trace_copier.
It does pretty much the same as trace_writer_model.
Carl Worth [Mon, 14 Nov 2011 22:50:07 +0000 (14:50 -0800)]
Add "apitrace trim" command.
This adds the functionality to read in a trace and create a new
"trimmed" trace as the output. There's not yet any functionality for
selecting pieces to trim out, so the implementation is currently just
a trace copier, (which is also the name of the new supporting class).
José Fonseca [Fri, 27 Jan 2012 14:28:06 +0000 (14:28 +0000)]
Ensure stdin/stdout is in binary mode on windows when pickling.
José Fonseca [Fri, 27 Jan 2012 14:27:13 +0000 (14:27 +0000)]
Pickle more data types in binary.
José Fonseca [Thu, 26 Jan 2012 20:32:59 +0000 (20:32 +0000)]
Python pickle output.
Proof of concept.
This allows to process traces w/ python extremely fast, so hopefully
this should enable allow to quickly implement complex analysis in Python,
with usable performance.
José Fonseca [Thu, 26 Jan 2012 19:08:32 +0000 (19:08 +0000)]
Allow to use call sets instead of call numbers / frequencies.
Inspired on Carl Worth's --call=Range option, but:
- with the extra machinery to allow semantic divisors, in addition to numeric ones.
- allows reading the call numbers of a text file.
José Fonseca [Fri, 20 Jan 2012 23:34:43 +0000 (23:34 +0000)]
Remove references to megaupload
José Fonseca [Fri, 20 Jan 2012 19:16:17 +0000 (19:16 +0000)]
Trace data written via IDirect3DVertexBuffer9::Lock/Unlock
José Fonseca [Fri, 20 Jan 2012 18:30:06 +0000 (18:30 +0000)]
Ignore alpha channels in window drawables until we are able to match the traced visuals.
José Fonseca [Fri, 20 Jan 2012 15:39:15 +0000 (15:39 +0000)]
Drain Windows message queue.
To prevent window from being considered non-responsive.
José Fonseca [Thu, 19 Jan 2012 15:40:59 +0000 (15:40 +0000)]
Make os::getTime() inline and make time frequency OS-dependent variable.
Linux's clock_gettime() implementation from Ryan C. Gordon.
José Fonseca [Thu, 19 Jan 2012 11:54:30 +0000 (11:54 +0000)]
Trace IDirect3DQuery9::GetData data
José Fonseca [Thu, 19 Jan 2012 10:48:38 +0000 (10:48 +0000)]
Flag draw / fbo-binding calls.
José Fonseca [Thu, 19 Jan 2012 10:48:09 +0000 (10:48 +0000)]
Update/correct bind glBindFramebuffer* names.
José Fonseca [Thu, 19 Jan 2012 08:43:20 +0000 (08:43 +0000)]
Trace GL_NVX_gpu_memory_info parameters (issue #63).
José Fonseca [Wed, 18 Jan 2012 16:15:30 +0000 (16:15 +0000)]
Document out to trace applications inside gdb.
When developing.
José Fonseca [Wed, 18 Jan 2012 16:15:05 +0000 (16:15 +0000)]
Fix bundled qjson include path.
José Fonseca [Wed, 18 Jan 2012 14:10:50 +0000 (14:10 +0000)]
Don't intercept SIGPIPE.
More trouble than it's worth.
José Fonseca [Wed, 18 Jan 2012 13:13:37 +0000 (13:13 +0000)]
Actually set PTHREAD_MUTEX_RECURSIVE attr.
José Fonseca [Wed, 18 Jan 2012 09:51:54 +0000 (09:51 +0000)]
Force our glxext.h headers to be included instead of the system ones.
Gl/glx.h often includes GL/glxext.h, which may be outdated.
So manipulate the include path so that our headers are found first.
José Fonseca [Sun, 15 Jan 2012 14:24:10 +0000 (14:24 +0000)]
Distinguish linear pointers.
José Fonseca [Sun, 15 Jan 2012 13:57:03 +0000 (13:57 +0000)]
Add Function.argNames() method.
José Fonseca [Sun, 15 Jan 2012 13:56:28 +0000 (13:56 +0000)]
Handle EXT_direct_state_access buffer mappings properly.
José Fonseca [Sun, 15 Jan 2012 13:30:43 +0000 (13:30 +0000)]
Trace GL_OES_mapbuffer mappings.
José Fonseca [Sun, 15 Jan 2012 12:25:12 +0000 (12:25 +0000)]
Fix GL_EXT_debug_marker spec.
José Fonseca [Sat, 14 Jan 2012 19:33:08 +0000 (19:33 +0000)]
Cleanup/comment/format code.
José Fonseca [Sat, 14 Jan 2012 15:08:07 +0000 (15:08 +0000)]
Remove dead code.
José Fonseca [Fri, 13 Jan 2012 23:21:10 +0000 (23:21 +0000)]
Add a few more comments.
José Fonseca [Fri, 13 Jan 2012 11:33:36 +0000 (11:33 +0000)]
Retrace eglCreatePbufferSurface and eglDestroySurface properly.
José Fonseca [Fri, 13 Jan 2012 11:33:03 +0000 (11:33 +0000)]
Trace apps that dlopen("libEGL") and friends.
José Fonseca [Fri, 13 Jan 2012 10:49:17 +0000 (10:49 +0000)]
Tweak the GLES extensions specs.
José Fonseca [Fri, 13 Jan 2012 10:46:17 +0000 (10:46 +0000)]
Handle ARB_ES2_compatibility parameters.
José Fonseca [Wed, 11 Jan 2012 11:17:08 +0000 (11:17 +0000)]
Fix build with older MinGW headers.
José Fonseca [Tue, 10 Jan 2012 20:20:37 +0000 (20:20 +0000)]
Merge branch 'trace-threads'
José Fonseca [Tue, 10 Jan 2012 20:19:24 +0000 (20:19 +0000)]
Fix Win64 build.
José Fonseca [Tue, 10 Jan 2012 19:39:12 +0000 (19:39 +0000)]
Trace GLX_MESA_swap_control.
José Fonseca [Tue, 10 Jan 2012 19:24:34 +0000 (19:24 +0000)]
Handle ARB_texture_compression parameters.
José Fonseca [Tue, 10 Jan 2012 19:13:58 +0000 (19:13 +0000)]
Support all buffer targets from OpenGL 4.2.
Michel Dänzer [Fri, 6 Jan 2012 13:20:00 +0000 (14:20 +0100)]
Fix SnappyFile::rawGetc() on big endian hosts.
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
José Fonseca [Tue, 27 Dec 2011 20:00:47 +0000 (20:00 +0000)]
Move mutex abstraction to os_thread.hpp.
José Fonseca [Tue, 27 Dec 2011 19:02:57 +0000 (19:02 +0000)]
Move local writer definitions to a separate header file.
José Fonseca [Fri, 23 Dec 2011 15:39:10 +0000 (15:39 +0000)]
cmake: Link against pthread.
José Fonseca [Fri, 23 Dec 2011 03:22:53 +0000 (03:22 +0000)]
More helpful messages on exceptions inside apitrace code.
José Fonseca [Fri, 23 Dec 2011 03:18:27 +0000 (03:18 +0000)]
Use AddVectoredExceptionHandler
Unlike SetUnhandledExceptionFilter it works for all threads.
José Fonseca [Thu, 22 Dec 2011 22:19:40 +0000 (22:19 +0000)]
Use thread local storage to specify unique and low integer thread ids.
José Fonseca [Thu, 22 Dec 2011 21:35:10 +0000 (21:35 +0000)]
First stab at tracing thread IDs.
Arnaud Vrac [Mon, 19 Dec 2011 01:42:15 +0000 (02:42 +0100)]
Add missing OpenGL ES extensions
This does not include OpenGL ES 1.0 extensions that are not necessary
with Common and Lite profiles.
Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
Arnaud Vrac [Mon, 19 Dec 2011 01:46:01 +0000 (02:46 +0100)]
Make eglretrace.cpp depend on gles api spec
Arnaud Vrac [Mon, 19 Dec 2011 01:44:24 +0000 (02:44 +0100)]
Make X11 dependency optional on Linux
When X11 is not available retracer is not built
Arnaud Vrac [Mon, 19 Dec 2011 01:39:41 +0000 (02:39 +0100)]
Parse static array types in prototypes in gltxt.py
Arnaud Vrac [Mon, 19 Dec 2011 01:39:10 +0000 (02:39 +0100)]
Parse prototypes with no parameters in gltxt.py
Arnaud Vrac [Mon, 19 Dec 2011 01:37:45 +0000 (02:37 +0100)]
Parse C comments around prototypes in gltxt.py
José Fonseca [Wed, 14 Dec 2011 23:18:49 +0000 (23:18 +0000)]
Filter to mitigate rasterization differences.
José Fonseca [Tue, 13 Dec 2011 15:53:49 +0000 (15:53 +0000)]
snapdiff: Compare .bmp images too.
Quite common too.
José Fonseca [Tue, 13 Dec 2011 15:53:13 +0000 (15:53 +0000)]
snapdiff: Add option to consider alpha when comparing images.
José Fonseca [Tue, 13 Dec 2011 08:29:55 +0000 (08:29 +0000)]
Approximate comparison for floats.
José Fonseca [Mon, 12 Dec 2011 09:15:46 +0000 (09:15 +0000)]
Fix name clash & typo on dump flags.
José Fonseca [Sun, 11 Dec 2011 14:32:50 +0000 (14:32 +0000)]
Move trace dumping to a separate module. Add option to not dump arg names.
José Fonseca [Sun, 11 Dec 2011 13:37:51 +0000 (13:37 +0000)]
Strip (non-standard) JSON comments.
José Fonseca [Sun, 11 Dec 2011 12:34:40 +0000 (12:34 +0000)]
Fail image comparison when there is a size mismatch.
José Fonseca [Sun, 11 Dec 2011 12:33:55 +0000 (12:33 +0000)]
Simple buffer overflow detection on glGet*.
José Fonseca [Sun, 11 Dec 2011 10:58:14 +0000 (10:58 +0000)]
Mention PIL requirement.
Remi Gillig [Wed, 7 Dec 2011 21:24:09 +0000 (22:24 +0100)]
Fix typos in glparams.py causing stack corruption in glretrace
José Fonseca [Sun, 11 Dec 2011 10:33:55 +0000 (10:33 +0000)]
Trace enum signatures as a whole.
José Fonseca [Sat, 10 Dec 2011 21:17:07 +0000 (21:17 +0000)]
Plug leak.
José Fonseca [Sat, 10 Dec 2011 18:48:50 +0000 (18:48 +0000)]
Update to-do.
José Fonseca [Sat, 10 Dec 2011 18:32:52 +0000 (18:32 +0000)]
Add missing signal.h include.
Should fix MacOSX build failures.
José Fonseca [Sat, 10 Dec 2011 18:12:33 +0000 (18:12 +0000)]
Update some news.
José Fonseca [Sat, 10 Dec 2011 18:07:25 +0000 (18:07 +0000)]
Use less on `apitrace dump`.
José Fonseca [Sat, 10 Dec 2011 10:36:53 +0000 (10:36 +0000)]
Filter verbose calls on glretrace too.
José Fonseca [Fri, 9 Dec 2011 19:25:10 +0000 (19:25 +0000)]
Workaround a crash on MacOSX when reading the SAMPLER_BINDING state.
José Fonseca [Fri, 9 Dec 2011 19:14:20 +0000 (19:14 +0000)]
Support creating GL 3.2 contexts on MacOSX.
José Fonseca [Fri, 9 Dec 2011 17:03:01 +0000 (17:03 +0000)]
Cleanup texture environment state dumping.
José Fonseca [Fri, 9 Dec 2011 16:52:26 +0000 (16:52 +0000)]
Ignore zero area viewports.
Alexandros Frantzis [Mon, 5 Dec 2011 09:43:32 +0000 (11:43 +0200)]
Try to guess the proper visual to use for EGL contexts and drawables.
For contexts, use the visual created for the current Profile. For
drawables, try to guess the proper visual from the requested config
and the last used profile.
Alexandros Frantzis [Mon, 5 Dec 2011 09:35:35 +0000 (11:35 +0200)]
Create a Visual for each Profile.
Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
Alexandros Frantzis [Fri, 2 Dec 2011 13:24:36 +0000 (15:24 +0200)]
Try to find the best matching EGL visual according to the profile.
The current method doesn't take into account the current profile, and it
may end up selecting an incompatible visual. To remedy this, this patch
adds support for different api bits lists for each profile. Each list
gives priority to the associated profile.
Alexandros Frantzis [Fri, 2 Dec 2011 12:35:44 +0000 (14:35 +0200)]
Add 'profile' parameter to glws::createVisual().
Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
José Fonseca [Thu, 8 Dec 2011 19:56:16 +0000 (19:56 +0000)]
cmake: Link (e)glretrace against dl.
We depend on it now.
Should fix link failure due to missing dlsym() symbols.
José Fonseca [Wed, 7 Dec 2011 13:27:52 +0000 (13:27 +0000)]
cmake: Wrap glproc.hpp in a target to prevent concurrent generation.
Hopefully this does the trick.
José Fonseca [Wed, 7 Dec 2011 12:54:23 +0000 (12:54 +0000)]
cmake: Be more concise with the glproc.hpp dependency.
Hopefully will fix some of random MSVC build failures.
José Fonseca [Wed, 7 Dec 2011 10:59:02 +0000 (10:59 +0000)]
jsondiff: Try to be more accurate w/ commas/newlines.
Not quite right though.
Chia-I Wu [Wed, 7 Dec 2011 09:23:41 +0000 (17:23 +0800)]
egl: Add EGLAttribList for attribute lists
All attribute lists in EGL share the same type:
Array(Const(EGLattrib), "__AttribList_size(attrib_list, EGL_NONE)")
Define EGLAttribList to save some typing.
Chia-I Wu [Wed, 7 Dec 2011 09:03:23 +0000 (17:03 +0800)]
egl: Remove unneeded _EGLBoolean
Use Enum instead of FakeEnum to eliminate the temporary type.
Chia-I Wu [Wed, 7 Dec 2011 09:37:59 +0000 (17:37 +0800)]
egl: Add missing enum values
Most of them are attribute values (e.g., EGL_SLOW_CONFIG), not attributes
(e.g., EGL_CONFIG_CAVEAT). Attribute values were skipped before because the
type was named EGLConfigAttrib before. Now that the type has a more general
name, it can have attribute values.
Chia-I Wu [Wed, 7 Dec 2011 09:03:50 +0000 (17:03 +0800)]
egl: Merge various enum types
Move most enums to EGLenum and add EGLattrib as an alias of EGLenum. The idea
is that the same enum value may be used (or abused) in several places, and we
were forced to list the same enum in multiple types.
The difference between EGLenum and EGLattrib is that EGLattrib maps to EGLint
instead of EGLenum in C.
José Fonseca [Wed, 7 Dec 2011 10:18:06 +0000 (10:18 +0000)]
Escape JSON strings correctly in jsondiff.py
Chia-I Wu [Thu, 1 Dec 2011 06:57:24 +0000 (14:57 +0800)]
egl: trace EGL_NV_system_time
Chia-I Wu [Thu, 1 Dec 2011 06:54:33 +0000 (14:54 +0800)]
egl: trace EGL_NV_coverage_sample_resolve
Chia-I Wu [Thu, 1 Dec 2011 06:49:53 +0000 (14:49 +0800)]
egl: trace EGL_ANGLE_query_surface_pointer and family
Chia-I Wu [Thu, 1 Dec 2011 06:47:02 +0000 (14:47 +0800)]
egl: trace EGL_NV_post_sub_buffer
Chia-I Wu [Thu, 1 Dec 2011 06:43:54 +0000 (14:43 +0800)]
egl: trace EGL_MESA_drm_image