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
Chia-I Wu [Thu, 1 Dec 2011 06:14:36 +0000 (14:14 +0800)]
egl: trace EGL_HI_clientpixmap and EGL_HI_colorformats
Chia-I Wu [Wed, 30 Nov 2011 10:43:23 +0000 (18:43 +0800)]
egl: trace EGL_NV_sync
Chia-I Wu [Wed, 30 Nov 2011 10:35:40 +0000 (18:35 +0800)]
egl: trace EGL_NV_depth_nonlinear
Chia-I Wu [Wed, 30 Nov 2011 10:32:33 +0000 (18:32 +0800)]
egl: trace EGL_NV_coverage_sample
Chia-I Wu [Wed, 30 Nov 2011 10:29:43 +0000 (18:29 +0800)]
egl: trace EGL_IMG_context_priority
Chia-I Wu [Wed, 30 Nov 2011 10:21:45 +0000 (18:21 +0800)]
egl: trace EGL_KHR_reusable_sync and EGL_KHR_fence_sync
Chia-I Wu [Wed, 30 Nov 2011 09:58:03 +0000 (17:58 +0800)]
egl: trace EGL_KHR_image_base and family
Chia-I Wu [Wed, 30 Nov 2011 09:52:40 +0000 (17:52 +0800)]
egl: trace EGL_KHR_lock_surface and EGL_KHR_lock_surface2
José Fonseca [Mon, 5 Dec 2011 09:53:28 +0000 (09:53 +0000)]
Remove duplicate pthread linkage.
José Fonseca [Mon, 5 Dec 2011 09:53:28 +0000 (09:53 +0000)]
Workaround weird issue with gdb and dlopen'ed libpthread.so
José Fonseca [Mon, 5 Dec 2011 09:44:52 +0000 (09:44 +0000)]
Add option to request an Opengl 3.2 core profile context.
José Fonseca [Sun, 4 Dec 2011 15:32:03 +0000 (15:32 +0000)]
Add option for jsondiff to ignore new state.
Useful for the test suite.
José Fonseca [Sun, 4 Dec 2011 15:31:31 +0000 (15:31 +0000)]
Fix snapdiff ae method.
zackr [Sat, 3 Dec 2011 17:12:42 +0000 (09:12 -0800)]
Merge pull request #61 from prahal/gui-edit
gui: let the edit mode work.
José Fonseca [Sat, 3 Dec 2011 11:00:32 +0000 (11:00 +0000)]
Include unistd.h for symlink.
Fixes build on Mac OS X 10.6.
José Fonseca [Sat, 3 Dec 2011 10:04:14 +0000 (10:04 +0000)]
Merge branch 'glproc-cleanup'
Alexandros Frantzis [Fri, 2 Dec 2011 12:22:56 +0000 (14:22 +0200)]
Cast native types to EGL types when calling EGL functions.
This is needed to resolve build failures on some platforms that support
various EGL backends and, therefore, native types. Note that we can't
use reinterpret_cast<>() as the types involved are not necessarily
pointers or integers e.g. they can be typedef-ed types.
Alexandros Frantzis [Fri, 2 Dec 2011 12:14:47 +0000 (14:14 +0200)]
Use libGLESv2.so.2 as the OpenGL ES 2.0 library SONAME.
Although the spec doesn't propose a SONAME, this seems to be the most
widely adopted name in the Linux world.
José Fonseca [Fri, 2 Dec 2011 16:13:31 +0000 (16:13 +0000)]
Fix typo in previous commit.
José Fonseca [Fri, 2 Dec 2011 15:56:46 +0000 (15:56 +0000)]
Fix build on certain mingw versions.
José Fonseca [Wed, 30 Nov 2011 07:04:44 +0000 (07:04 +0000)]
Introduce call flags.
A central place for metainfo such as whether a call terminates a frame
or not, etc.
No trace format changes yet. Will introduce them later after more
careful thought.
José Fonseca [Thu, 1 Dec 2011 21:36:31 +0000 (21:36 +0000)]
Make the GLenum_int hack for MacOS robust against include order.
José Fonseca [Fri, 2 Dec 2011 07:56:54 +0000 (07:56 +0000)]
Try to do the right thing with EGL symbols.
Alban Browaeys [Fri, 2 Dec 2011 03:29:05 +0000 (04:29 +0100)]
gui: let the edit mode work.
It was not allowing edition at least locally (Qt 4.7).
It turns out that the editor use the value to get the type . If positive
the unsigned type is choosen :/
One cannot enter negative values anymore.
José Fonseca [Thu, 1 Dec 2011 21:37:21 +0000 (21:37 +0000)]
Fix glretrace on MacOSX.
José Fonseca [Thu, 1 Dec 2011 21:36:31 +0000 (21:36 +0000)]
Make the GLenum_int hack for MacOS robust against include order.
José Fonseca [Thu, 1 Dec 2011 21:09:57 +0000 (21:09 +0000)]
Cleanup glproc.
Based on some of Alexandros Frantzis code/ideas.
Alexandros Frantzis [Thu, 1 Dec 2011 13:59:23 +0000 (15:59 +0200)]
Don't call GLX functions when compiling the EGL retracer.
This is a temporary fix, until we implement a dedicated EGL-based,
GL/GLES1/GLES2 state dumping mechanism.
Alexandros Frantzis [Thu, 1 Dec 2011 13:52:32 +0000 (15:52 +0200)]
Produce dispatchers for all functions, even in retrace mode.
José Fonseca [Thu, 1 Dec 2011 10:09:07 +0000 (10:09 +0000)]
Don't free fbconfig.
It doesn't belong to us.
Fixes segfault on exiting glretrace.
José Fonseca [Thu, 1 Dec 2011 10:03:14 +0000 (10:03 +0000)]
Replace dynamic casts with static on glws.
We know as a fact that the type matches.
José Fonseca [Thu, 1 Dec 2011 09:30:12 +0000 (09:30 +0000)]
Make gltxt.py obbey prefix option for types too.
José Fonseca [Thu, 1 Dec 2011 09:00:50 +0000 (09:00 +0000)]
Minor cleanups and better documentation for the spec generation scripts.
José Fonseca [Tue, 29 Nov 2011 23:25:13 +0000 (23:25 +0000)]
Update docs.
José Fonseca [Tue, 29 Nov 2011 11:01:05 +0000 (11:01 +0000)]
Support 'apitrace diff-images' on Windows.
José Fonseca [Tue, 29 Nov 2011 06:50:25 +0000 (06:50 +0000)]
Update glws Cocoa bindings too.
José Fonseca [Tue, 29 Nov 2011 00:25:12 +0000 (00:25 +0000)]
Refactor the code to find scripts.
Hopefully fixes scripts on Windows too, but untested yet.