0.0.20071009 ------------ * Do a fast bypass on functions that are never intercepted * Updated the benchmarks in the README * Use a constructor attribute to call initialise_all * Overload dlopen to better handle engines that dlopen("libGL.so") 0.0.20070718 ------------ * Add geometry shader support to the shader viewer * Fix display of window system framebuffer when an FBO is bound 0.0.20070528 ------------ * extoverride filterset * Rework of the logging system - most references to stderr have been replaced by logging - option to control the log level - new bugle_log_printf helper function and more efficient bugle_log * trace filterset no longer reports errors (use showerror) * default filenames are now current directory rather than /tmp, for security * fix gldb crash on systems without transform feedback * add F8 key for Step in gldb-gui * update misc bits of documentation * work around some Mesa bugs 0.0.20070325 ------------ * Add incorrectly omitted vendor suffices from extension state * Add state for GL_EXT_texture_buffer_object * Add partial state for GL_EXT_bindable_uniform * Support for GL_EXT_draw_buffers2 * Support for GL_EXT_packed_float * Support for GL_EXT_draw_instanced * Support for GL_EXT_texture_shared_exponent * Support for GL_EXT_framebuffer_sRGB * Support for GL_EXT_geometry_shader4 (untested) * Support for GL_EXT_texture_array * Support for GL_NV_transform_feedback * Refactor glstate.c to allow callbacks in the middle of a table * Reorder top-level state to match order in 2.1 spec * Fix crash-on-exit when using an SDL app and aux contexts * Fix crash when examining non-square uniform matrices in the debugger 0.0.20070217 ------------ * Fix display of ARB program local parameters * Fix reporting of VBO overrun vs invalid memory * Fix handling of function aliases in GLX (fixes encapsulation when glXGetProcAddress and not glXGetProcAddressARB is used). * Split type-related functions out of libbugle into libbugleutils * Communicate state to gldb in raw, not string form * Display strings in gldb without escaping * Add extra extensions to genexts.pl * Add missing CALL_ prefix to multiple calls * Reduce symbol pollution * Fix case of programs that define symbols that conflict with OpenGL * Fix wrapping of GLSL when OpenGL 2.0 headers are not available 0.0.20070107 ------------ * Fix display of FBOs on drivers supporting GL_EXT_framebuffer_blit * Fix crash when using a floating-point PBuffer * Fix display of per-framebuffer state * Add an option to show the original frustum in the camera filterset * Add option to export the current state to XML 0.0.20061227 ------------ * Misc tweaks to configure.ac and Makefile.am * Add missing state GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING * More verbose reporting from the 'checks' filterset * Fix sort of columns in the state viewer * Fix display of GL_INTENSITY textures * Fix GL_PROGRAM_BINDING_ARB state * Fix level selection changing to 'Separator' on texture change * Fix a crash if state cannot be updated * Deprecated the old screenshot interface to the debugger filterset in favour of the more flexible and robust data_framebuffer interface * Better robustness to pre-GLX 1.3 systems (fixes framebuffer viewer on ATI) * Added 'remap range' option to image viewers * Highlight currently bound shaders, textures and framebuffers 0.0.20061110 ------------ * Fix the ccache workaround properly 0.0.20061109 ------------ * Fix incorrect count for generic attributes in checks filterset * Work around Mesa bug (#8883) in checks filterset * Make things work when ccache is in use (thanks to Wolfgang Frisch) * Fix video capture and screenshot (broken in previous release) * Fix redefinition of NAN 0.0.20061022 ------------ * Rewrite of the statistics engine - Configuration file for statistics - Statistics from NVPerfSDK * Rewrite of showstats filterset - Opaque background (now readable over a white scene) - Faster text rendering via textured quads - Aligned layout - Graphing * Reduce GL namespace pollution from internal objects * Fix some shutdown code including shutdown ordering * Remove unnecessary include of getopt.h * Minor improvements in OpenGL 2.1 support 0.0.20060913 ------------ * Fix display of various aliased tokens * Use pkg-config to get libavcodec configuration * Fix reported names for GL_POINTS and GL_LINES * Fix some duplicated GL_ARB_imaging state * Fix spurious errors due to mis-ordering of error and trackbeginend * Prevent crash when querying state in glBegin/glEnd * Fix tracing of glReadPixels * gldb-gui: * Work around a bug that caused texture and framebuffer repaints to fail * Highlight state changes * Options to filter state * Option to attach GDB * Internal redesign * Fix support for GTK+ 2.4 (hopefully) * Move breakpoints into a tab * Make it possible to disable breakpoints without deleting them * Show an appropriate cursor while doing slow updates 0.0.20060828 ------------ * Fix framebuffer viewer for texture attachments * Fix count for glGenQueries/glDeleteQueries 0.0.20060827 ------------ * Framebuffer viewer * Improvements to the texture viewer * Eliminate double fetch of texture in gldb-gui * Restore texture binding when not using aux context for texture fetch * Fix numerous memory leaks in gldb-gui * Fix some reporting in trace filter-set * Fix GL_NONE displaying as GL_FALSE in some places * Added some missing state to the state display 0.0.20060813 ------------ * Fix positioning of stats display when resizing the viewport * Move line numbering out of the text buffer * Add accumulate/noaccumulate options to showstats * Improve PBO support e.g. in dumping glTexImage2D * Show RGBA and UV values in texture viewer * Support depth and luminance textures in texture viewer * Misc OpenGL 2.1 stuff e.g. non-square uniform matrices, GL_CURRENT_RASTER_SECONDARY_COLOR * Update gl2ps to version 1.3.1 0.0.20060528 ------------ * Fix break-on-error * Add flexible log format * Add support for GL_MAX_RENDERBUFFER_SIZE_EXT. * Fix false warnings when glMultiTexCoord* is called from inside begin/end. * Add support for the "step" operation to gldb and gldb-gui. * Fix numerous shutdown bugs * Fix bug in the showextensions filterset revealed by the fix above * Create a separate manual page for each filter-set. 0.0.20060429 ------------ * Fix a nasty bug in generator that corrupted the type tables, leading to a crash when logging glMultMatrixf 0.0.20060416 ------------ * Add 'camera' filterset * Add --disable-xevent option to configure to handle the case where ltdl fails to get symbols from libX11 0.0.20060306 ------------ * Fix compilation problem with newer versions of flex * Fix some Debian testing build problems (thanks to James Lyon for a patch) 0.0.20060224 ------------ * Fix numerous C89 warnings. Unfortunately GLee is not valid C89 code. * Fix dumping of return from glGetProgramStringARB * Change the way pages were refreshed to be cleaner and to work on GTK+ 2.8. * Fix bogus warnings about glVertexAttrib*ARB being called from outside glBegin/glEnd with indices other than 0 * Pass textures to gldb-gui in GL_FLOAT, in preparation for eventual tone mapping * Heavy modification of the filter load/unload/activate/deactivate code. Filtersets are now loaded on startup and never unloaded, but can be activated or deactivated on the fly by the debugger or by keyboard shortcut. * Keyboard interception * Make video capture work with pre-release versions of libavformat * Make wireframe and frontbuffer work with activation and deactivation * Integrate gl2ps to replace epswire * Change license to GPLv2 only 0.0.20060101 ------------ * gldb-gui improvements - Fix programs hanging around and spinning after gldb-gui quits - Convert values to UTF8 (TODO: names as well) * Texture viewer improvements - copy button (can paste into GIMP) - display of 1D, 2D, RECT and cubemap textures - control over mag and min filters - fit to window or choice of zoom levels - work around for ATI driver bug * Rewrite of the GLSL state tracking * Add bugle_hash_count and bugle_hashptr_count to simplify hash table class * Allow aux contexts to be created in absence of GLX 1.3 * Make GL_EXT_texture_rectangle support work even if neither GL_NV_texture_rectangle nor GL_ARB_texture_rectangle is advertised * Use glXGetProcAddress to get function pointers rather than libtool (ATI driver works much better now) * test suite: - Use GLee rather than relying on GL_GLEXT_PROTOTYPES - Fix some failures in caused by driver weirdness not bugle bugs - Rewrite the log comparison tool to give more useful feedback - Added a test that just creates textures, to test the texture viewer 0.0.20051112 ------------ * Fix find_header.pl to look in . and in $srcdir * Fix Perl warning in glexts.perl * Have genfunctions.perl spit out #warnings in the C++ code when the function lists mismatch, rather than breaking everything * Fix a check for the incorrect symbol in glstate.c (broke with older glext.h) * Add support for several extensions in the state manager: - GL_ATI_draw_buffers - GL_ARB_vertex_program - GL_ARB_fragment_program - GL_EXT_texture_filter_anisotropic - GL_EXT_depth_bounds_test - GL_NV_texture_rectangle/GL_EXT_texture_rectangle/GL_ARB_texture_rectangle - GL_NV_light_max_exponent - GL_NV_depth_clamp - GL_NV_multisample_filter_hint - GL_NV_texture_expand_normal - GL_IBM_rasterpos_clip - GL_EXT_framebuffer_object (incomplete) * Add support for textures beyond GL_MAX_TEXTURE_UNITS i.e. GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS and GL_MAX_TEXTURE_COORDS * Add GL_COMPRESSED_TEXTURE_FORMATS to the state * Extend the extension generator to handle extension groups * Add some extra checks to the 'checks' filterset * Add documentation on extension handling * gldb no longer hangs when asked for non-existant substate * gldb gives all lines of backtrace, not just first line * split gldb-common.c out from gldb.c to facilitate gldb-gui * early work on gldb-gui * fix gldb segfault on program exit 0.0.20050221 ------------ * Added checks filterset * Vastly improved support for systems short on extensions * Changed the way tests are done (using regexes) to make them more robust and less likely to fail when moving to a different system. * Redesign of the filter management code to reduce overhead. * Redesign of the filter-set variable code to use tables rather than banks of if's. * Rewrite some of the documentation. * Rewrite of the code generator; now generates GROUP_ tokens and generally separates groups from functions. * Rewrite of the state manager (incomplete). * Support for GLSL. * Rewritten object tracker, using radix trees. * Linked lists and hash tables are now told at creation time whether they own their memory. * Make opaque bugle_object and bugle_object_view typedefs. * Redo the internals of object layer storage to avoid possible alignment problems. * Added a threading abstraction layer. * Removed canon.c/canon.h, since they are no longer needed. * State now assembled by gldb, allowing tab completion for state * Switch to ltdl for module and library loading 0.0.20041123 ------------ * Added stats and showstats filtersets * Speeded up the case where functions are not intercepted at all 0.0.20041108 ------------ * Fix crash in video capture (not sure how it ever worked) * Fix dumping bug (wrong field was being type overridden) * (gldb) Make a blank line rerun previous command * Fix various compiler warnings * Added --without-lavc configure option * Add the showextensions filter-set. 0.0.20041025 ------------ * Redo libreadline detection to fall back gracefully if the library doesn't link properly, and to explicitly link against libncurses if present (needed for Slackware with readline 5, apparently) * Better support for older versions of glext.h, as well as better support for possible future versions where extensions get promoted to core. * Better dumping of GLSLang functions (GetUniformARB needs works still). * Fix interception of glXGetProcAddressARB (was not loading the filter) 0.0.20041011 ------------ * (gldb) Allow options to be passed to the program * (gldb) screenshot command * (gldb) Enable and disable filters on the fly * (capture) By default, skip or duplicate frames for videos * Fold old types.c and types.h into utils.c and utils.h * Introduce names.c and names.h, to hold just the names of the functions * Rewrite the token capture system, which now captures extension info * New system to capture which functions belong to which extensions * Support for per-context, per-filter state * Move tracker library into the core source * Move logging into the core source, and split the tracing functionality out into a 'trace' module * Make gldb and libbugleutils independent of GL and X * Hex output of GLXDrawable (looks nicer, plus removes spurious regression errors) 0.0.20040903 ------------ * Improvements to video capture: get libavcodec to do the mirroring, and use GL_EXT_pixel_buffer_object for possibly faster capture. 0.0.20040719 ------------ * Added ability to stop running program with Ctrl-C. * Improved thread safety. * Rewrite of the state code * Added basic state dump support to gldb * Dump overrides are now boolean expressions, not functions * Improved test suite, with some log regression tests * Support for aux contexts * Added movie mode to screenshot filterset 0.0.20040614 ------------ * Added the gldb debugger * Added some sanity checks to make sure that internal code does not generate GL errors. * Remove the "trap" option of the "error" module. * Autoload the invoke filterset, and load the debugger filterset if the environment variables are set. * Wrote manual pages. 0.0.20040609 ------------ * Made lexer.ll more robust to headers containing function bodies and inline assembler. 0.0.20040608 ------------ * First public release