Version 4.1 Added:
- Geometry shaders support:
- The GL_EXT_geometry_shader4 and GL_NV_geometry_shader4 extensions are now fully supported.
- The Shaders Source Code Editor now displays allocated geometry shader objects, their source code and properties.
- Shaders Source Code Edit and Continue now also supports Geometry shaders.
- Eliminate OpenGL Geometry and Fragment Shaders Operations command was added to the Performance Toolbar.
- New ATI (AMD) performance metric integration, supporting a new ATI driver performance metrics infrastructure.
- % Hardware Utilization
- % Vertex Wait for Pixel
- % Pixel Wait for Vertex
- Pre-clip Primitives
- Post-clip Primitives
- % Blended Pixels
- ALU to Texture Instruction Ratio
- % Pixels Passed Z-test
- Overdraw
- Texture Cache Miss Rate
- Pixel Shader ALU Instructions Executed
- Pixel Shader Texture Instructions Executed
- Vertex Shader ALU Instructions Executed
- Vertex Shader Texture Instructions Executed
- Post Hyper Z Sample Count
- Post Top Z Pixel Count
- Post Shader Pixel Count
- Top Z Reject Rate
- PS Pixel Count
- The new ATI driver performance metrics infrastructure is supported on:
- Windows XP with Service pack 2 or Windows Vista.
- Radeon 9500 or better. CrossFire systems are not supported.
- CATALYST version 7.12 or higher.
- Enable/Disable all breakpoints was added as a Breakpoints Menu Item (Ctrl + Shift + B).
- Shaders Source Code Editor internal views can now be undocked and docked.
- Automatic software updates check.
- Linux average CPUs counters were added to the Performance Counters Dialog.
- gDEBugger now supports a GR_LICENSE_SETTINGS_FILE_PATH environment variable. This environment variable enables system administrators to configure the floating license parameters for multiple gDEBugger client machines.
Changed:
- Shader source code files are now written using 3 digit names and displaying the shader type e.g. Context1-Shader003-Fragment.glsl.
- Selecting a Performance Dashboard Bar or a Performance Graph View item opens the Performance Counters dialog and selects the counter in both counters lists.
- The Performance Dashboard Bar now displays the counter value with a precision of one digit after the decimal point.
Fixed bugs:
- Reversed texture formats (GL_XX_REV), e.g. GL_UNSIGNED_INT_2_10_10_10_REV, were not displayed correctly by the Textures Viewer.
- Calling glGetActiveUniformARB with a NULL length crashed gDEBugger's OpenGL server.
- Linux: Switch to Profiler layout made gDEBugger float higher than it should have.
- glTexEnvf GL_TEXTURE_ENV_MODE parameter value was not displayed as an OpenGL enumerator.
- glBegin parameters were not displayed as OpenGL enumerators.
- Calls Statistics View - displayed 1 instead of GL_LINES and 0 instead of GL_POINTS.
Version 4.0 Added:
- Linux 32 bit and Linux 64 bit are now supported.
- New Textures and Buffers Viewer. This Viewer allows you to view all render contexts textures, static buffers and pbuffers objects as images or raw data.
- Support 1D, 2D, 3D, Cube-map and Rectangle textures.
- Support static buffers (Front, Back, Depth, Stencil, Auxiliaries).
- Support pbuffers (Back, Depth, Stencil, Auxiliaries).
- All standard OpenGL texture and buffer formats and internal formats are supported.
- View textures raw-data in dedicated data view in its original format or as normalized [0,255] value.
- Enables saving texture / buffer’s image to disk.
- Enables saving texture / buffer’s raw data to disk (as .csv file).
- Enables viewing none RGB data formats (float, depth, integer, luminance, etc) as an image using a dedicated data translate slider.
- Enables manipulating the textures data (zoom, rotate, enable/disable color channels, invert colors, grayscale mode, etc).
- Float texture formats are now fully supported.
- pbuffers (pixel buffers) are now fully supported.
- Windows Vista SP1 is now supported.
- NVIDIA’s PerfKit 5.1 is now supported.
- The Performance Counters dialog now enables adding any Windows XP or Windows Vista performance counter (Right click -> Add other OS counters).
- The Performance Counters dialog now supports any render contexts amounts.
- Multi core operating systems performance counters are now supported (including Quad core computers).
- New detected error was introduced; this detected error detects the use of non-hardware accelerated render contexts.
- Edit Environment Variables Dialog (Debug -> Debug Settings).
- Additional Source Directories Dialog (Tools -> Options -> Call stack).
- File -> Recent Projects menu item. This menu item displays the last 5 used projects.
- Floating-point parameters default display precision is now 8 significant digits.
- Floating-point parameters display precision can be now configured (Tools -> Options -> Advanced).
- File -> Export menu. This menu group item contains all data export-related functionality.
- The Function Calls Statistics view's data can be exported to a .csv file (File -> Export -> Function Calls Statistics).
- New OpenGL Extensions support:
- The State Variables Comparison Viewer now enables comparing the current state variables values to the default render context values. This mode was set as the default mode.
- Breakpoints dialog:
- Add text Filter. This filter enables filtering the breakpoints list.
- Add enable/disable breakpoint check-boxes.
- Add enable/disable all breakpoints.
- Removed: Ignore All Breakpoints option.
- Maintenance expiration reminder dialog – this dialog will notify the user when the maintenance package is about to expire.
- A text filter was added to the State Variables dialog. This filter enables filtering the state variables list.
Changed:
- Textures data is now updated only when needed. This dramatically improves the debugging performance of applications that updates textures data repeatedly.
- "Workspace" terminology was changed to "Project".
- Startup Dialog was rewritten.
- The GUI docking system was rewritten. All views can now be docked and undocked.
- The Performance Counters dialog now supports any number of render contexts.
- glClear, glXMakeCurrent, glXMakeContextCurrent and glFrameTerminatorGREMEDY were added as frame terminators.
- glClear now displays its arguments as an OpenGL enumerators list instead of a single hexadecimal value.
- F10 and Shift F10 (Step, Draw Step shortcuts) were replaced by F11 and Shift F11 (this was done to prevent the File menu pop up on GNOME desktop).
- File related dialogs default directory is now the current directory.
- The default GUI layouts were added to the Manage GUI Layouts dialog.
Fixed bugs:
- Floating views and panes sometimes didn't catch key strokes.
- gDEBugger got stuck when using Windows Vista and NVIDIA GeForce8800.
- The Teapot example sometimes didn't use a pixel format that has depth buffer.
- The Function Calls Statistics view showed its content also after it was closed.
- Copy (Ctrl+C) is now working in the Calls History view.
- Calls History view and Functions Calls Statistics Lists: columns are now adjusted correctly.
- CPU performance counters graphs sometimes displayed NaN.
- Right-click Context Menu now works in all views.
- Copy and Select All didn't work well in all views.
- When calling glTexImage1D, glTexImage2D, glTexImage3D and glTexImage3DEXT, the texture's internal format was displayed as Hex-number and not as an OpenGL enumerator.
- Texture images, created by glTexImage2D, were sometimes not stored and displayed.
- When deleting GLSL shaders, gDEBugger sometimes reported a detected error.
- GL_CURRENT_PROGRAM was displayed as GLint instead of GLuint.
- GL_COLOR_WRITEMASK is now displayed as a vector of GLboolean items.
- When needed, toolbars are now aligned using two rows.
- glFogCoordfEXT calls were not logged.
- The internalFormat parameter in glTexImage1D, glTexImage2D, glTexImage3D & glTexImage3DEXT was displayed as Hex-number and not as an OpenGL enumerator.
- When no frame terminator is defined, loggers are cleared automatically and the user is being notified.
- glActiveTexture sometimes reported an unsupported texture unit error.
- The Function Calls Statistics view sometimes reappeared after it was closed.
- gDEBugger OpenGL Server crashed when the debugged application used textures that their row size in bytes is not divided by 4.
- vec2 was not highlighted in the shaders source code editor.
- gDEBugger got stuck when NVIDIA GLExpert generated thousands of error reports a second.
- Numerous stability and performance improvements.
Version 3.1 Added:
- Windows Vista support.
- State Variables Comparison Viewer now allows comparing the current state variables values to the default render context values.
- The Function Calls Statistics view's data can be exported to a file (.csv).
- File -> Export menu. This menu groups all data export-related functionality.
- Right click context menus were added to all views.
-
Best Practice articles were added to the user guide (Help -> User Guide).
These articles include:
- "Clean" your OpenGL usage using gDEBugger.
- Optimize Your Application Performance.
- Transforming OpenGL Debugging to a "White Box" Model.
- .exe and .gdb files can now be dragged and dropped into gDEBugger. This automatically defines the required debug setting allowing you a quick start.
Changed:
- The GUI docking system was rewritten. All views can now be docked and undocked.
- gDEBugger's debugging performance was improved. This especially affects "Step" commands when running on dual core machines.
- The default GUI layouts were added to the "Manage GUI layouts" dialog box.
- The sample teapot application was rewritten.
Fixed bugs:
- Texture images, created by glTexImage2D, were sometimes not stored and displayed.
- gDEBugger sometimes failed to debug .NET based applications.
- When deleting GLSL shaders, gDEBugger sometimes reported a detected error.
- GL_CURRENT_PROGRAM was displayed as GLint instead of GLuint.
- GL_COLOR_WRITEMASK is now displayed as a vector of GLboolean items.
Version 3.0 Added:
- Supports OpenGL 2.1 standard.
- Adds ATI Hardware Performance Counters Integration (Performance Graph View and Performance Dashboard View).
- Supports Floating licenses: License Server, License Server Status application.
Changed:
- gDEBugger GUI docking system improvements.
- Reduce gDEBugger memory consumptions.
- Break command will not suspend the debugged application run between glBegin-glEnd statements.
- Numerous OpenGL ES implementation enhancements.
- Install package was upgraded.
Fixed bugs:
- Screen resolutions changes may cause an application window with zero size.
- Textures with borders were not handled correctly (Texture viewer).
- In few scenarios, texture images created by glTexImage2D were not stored and displayed.
Version 2.5 Added:
- First beta release of gDEBugger ES.
- Draw Step command - Advance the debugged process to the next OpenGL draw command (Debug Toolbar).
- "Interactive Break" mode - Force SwapBuffers/glFlush whenever the debugged process is suspended; this action displays the draw buffer's current content to the user (Interactive Mode Toolbar).
- The wglSwapLayerBuffers and glFinish commands are now supported as "frame terminators".
- A message is displayed when a texture's data is not available (Texture Viewer & Properties View).
Changed:
- Significant performance improvements when debugging applications that keep changing textures images all the time.
- Textures image data is now available and logged also in "Profiling Mode".
- State Variable View: Replace the "N/A" string with "N/A (while in glBegin-glEnd block)" string when applicable.
Fixed bugs:
- The "Level 0 Texels" Performance Counter was not decreased when textures were deleted.
- Changed State Variables were sometimes not highlighted correctly (State Variables View).
Version 2.4 Added:
- NVPerfKit 2.0 integration: Enables gDEBugger to display, in real time and in a more efficient way, the NVIDIA graphics system performance metrics in the Performance Graph View.
- NVIDIA GLExpert driver integration: Enables you to receive all GLExpert reports in gDEBugger. It also enables you to break the application run whenever a GLExpert report is triggered by the debugged application and receive the call stack and source code that caused the GLExpert report.
The NVIDIA GLExpert reports include:
- Report Software Fallback Messages.
- Report Errors.
- Report Vertex and Fragment Program Messages.
- Report Vertex Buffer Object (VBO) Messages.
- Report Fragment Buffer Object (FBO) Messages.
Fixed bugs:
- gDEBugger hangs when working with an NVIDIA graphic card on a dual CPU / dual core CPU computer.
- gDEBugger sometimes crashed when removing performance counters from the Dashboard View.
- The texture viewer displayed "unknown" value for GLenum texture parameters that were set by glTexParameterf / fv.
- The last item of the Functions Call Statistics viewer was sometimes missing.
- Stub textures implementation was improved.
- Fixed gDEBugger behavior (and driver crashes) when running on graphic cards that does not support cube map textures, 3D textures or texture rectangles.
- The Performance Graph View displayed garbage values for Windows counters on Windows variants that do not support all PDH counters.
Version 2.3 Added:
- Calls Statistics view: Allows viewing the number of times each OpenGL function call was executed in the previous frame and it's percentage from the total functions execution count.
- New GUI layout and docking system:
- The Views and Toolbars docking system was replaced.
- The user can define custom GUI layouts that will be saved on disk (View -> Manage GUI layouts).
- The application "remembers" the latest GUI layout, stores it upon exit and loads it when it is launched.
- The following extensions supported:
- GL_ARB_texture_rectangle
- GL_NV_texture_rectangle
Changed:
- Workspaces can now be saved under a different name (File -> Save workspace As).
- When adding a new performance counter, it will be added to both Performance Graph and Dashboard views (instead of only to the Performance Graph view).
Fixed bugs:
- gDEBugger OpenGL implementation crashed when the debugged application called glGetAttachedObjectsARB and glGetAttachedShaders when count = NULL.
- The gDEBugger application sometimes got stuck when stopping the debugged application run.
- Texture viewer thumbnails now obtain texture size proportion (Textures Viewer -> All Textures).
Version 2.2.1 Added:
- Programs and Shaders Editor now displays values of uniform arrays.
- Programs that were used in the last frame are now colored in blue ink (Programs and Shaders Editor).
Fixed bugs:
- glGetString returned a string that contained 2 spaces before the "GL_GREMEDY_string_marker" extension string.
- gDEBugger OpenGL implementation crashed when the debugged application called glBindTexture and there was no active render context.
- In some cases, uniform values report was mixed up: values were reported on the wrong uniforms.
- gDEBugger sometimes froze when updating or viewing GLSL program's information.
- gDEBugger sometimes crashed when adding Performance counters from the Dashboard view.
Version 2.2 Added:
- Shaders "Edit and Continue": The ability to Edit, Save and Compile Shaders source code, Link and Validate Programs "on the fly" (Shaders Source Code Editor).
- When a context is deleted, the Contexts Combo Box displays it as "Deleted" and a "Context was deleted" message is written into the context HTML calls log file.
- The following extensions supported:
- GL_ARB_texture_rectangle
- GL_EXT_framebuffer_object
- GL_EXT_multi_draw_arrays
- WGL_ARB_extensions_string
- WGL_ARB_make_current_read
- WGL_ARB_pbuffer
- WGL_ARB_pixel_format
- WGL_ARB_render_texture
Changed:
- gDEBugger OpenGL implementation now supports applications that use more than 10 render contexts.
- The State Variables View and State Variables Comparison Viewer now display the state variable values from all render contexts.
Fixed bugs:
- In some cases, the gDEBugger OpenGL implementation did not recover when canceling "Force Stub Fragment Shaders" mode.
- The calls log now displays the arguments values of glVertexAttribXfv, glVertexAttribXiv, glMultiTexCoordXYv and glUniformXYv instead of just displaying pointers.
- gDEBugger now supports the debugging of OpenGL applications that launch other OpenGL applications (only the root process is debugged).
- Calling wglGetProcAddress when there is no active render context sometimes crashed the debugged application.
- In some views, some key strokes were ignored.
Version 2.1 Added:
- State Variables Comparison Viewer that allows you to inspect OpenGL state variables values:
- Save the selected context state variables values to a "state variables snapshot" file.
- Compare two state variables snapshot files.
- Compare the selected context state variables values to a snapshot file.
- Compare the selected context state variables values to the values recorded at the previous debugged process suspension.
- Menu item to the gDEBugger Technical Support Forum (Help -> Technical Support Forum).
Changed:
- The "Add State Variables" combo-box was replaced with an easy to use dialog.
- The gDEBugger runtime environment was upgraded. This should improve application and logging performance.
- Changing GUI Layouts is now faster.
Fixed bugs:
- In some cases, gDEBugger was not able to debug Java and .NET applications that loaded OpenGL32.dll dynamically.
- Debug information was sometimes missing when debugging code that reside at the end of dll / exe files.
Version 2.0 Added:
- Performance Graph View:
- Display performance counters as continuous line graphs.
- Save the counters data in a file (.csv) - enables you to compare performance tests for your application using different hardware and driver configurations or perform regression tests (compare the performance of two versions of your application).
- The active performance counters are saved into the workspace file.
- Performance Dashboard View:
- Displays performance counter values as a collection of vertical bars.
- .NET applications debugging is now supported.
- The docking views and toolbars infrastructure was replaced, making gDEBugger more flexible and customizable.
- The Layout toolbar enables you to change the layout of gDEBugger views according to your specific task.
- "Debug Settings" dialog now contains an option to set debugged process Environment Variables.
- A debug log mechanism was added, aimed to help finding gDEBugger problems.
- An application splash screen was added.
Changed:
- Significantly reduced the overhead required for gDEBugger <--> debugged process communication.
- The Frame per Second heads up display now appears as a counter in the Performance Graph view instead of drawn on the debugged application window space.
- The setup program does not change the machine path. This enables running more then one instances of gDEBugger concurrently.
- The sample teapot application now renders its image continuously.
Fixed bugs:
- State variables values of a context that does not have a current thread were sometimes wrong.
- Removed an access violation that sometimes occurs when closing gDEBugger.
- "Open current context monitored function calls HTML log file" sometimes failed.
- Views sizes on high resolution screens were incorrect.
- Removed the use of Win32 sockets, reducing problems caused by Firewall programs.
Version 1.5.1 Fixed bugs:
- "Break on OpenGL errors" mode did not operate if it was turned on before the debugged program was launched.
- Shaders were not marked as detached from programs.
- HTML text log file was not recorded for context 0 (the "No context" context).
- Added a menu item for the Shaders source code viewer (View -> Viewers menu item).
Version 1.5 Added:
- Shader Source Code Viewer:
- Displays a list of shading programs and shaders existing in each render context.
- Displays shaders source code.
- Displays the parameters of shaders and programs: is compiled / linked successfully, is marked for deletion and compilation / link log.
- Displays a list of shaders attached to each program.
- Displays each programs' active uniforms and their values.
- The shader source code is saved into text (.glsl) files.
- Multithreaded applications support:
- A new combo box that displays a list of debugged process threads.
- This list is associated with the Render Context Combo Box - when selecting a thread, its current render context is selected and vice versa.
- The Call Stack View displays the combo box selected thread call stack.
- The State Variables View displays the state variable values of each context.
- gDEBugger detected error mechanism additions:
- Shader compilation failed.
- Program link failed.
- Executing an OpenGL command on a shader / program that does not exist.
- OpenGL Functions Calls History View now displays shaders and programs that are associated with the logged function calls. When pressing an associated program / shader line, its properties are displayed in the Shaders Source Code Viewer.
- HTML Calls History Log File now logs shaders and programs associated with logged function calls. When pressing an associated shader name, its source code is displayed.
Changed:
- The "Ignore all breakpoints" flag was replaced by an "Enable breakpoints" flag.
- Next / Previous String Marker buttons were moved into the OpenGL Function Calls Toolbar.
- StringMarkerGREMEDY now enables the use of \0-terminated strings by specifying a 0 string length.
- Force Stub fragment shader mode implementation was improved.
- The teapot example application now uses textures and GLSL programs and shaders.
Fixed bugs:
- False OpenGL errors were sometimes reported when switching a thread's active context to NULL and when switching stub textures mode on / off.
- The debugged application sometimes crashed when setting a large (over 64K) shader source code.
- When forcing stub textures, if the debugged application called glTexImageXX or glCompressedTexImageXX, the stub texture was replaced by the new texture.
- When the debugged process is suspended by a breakpoint hit or a step command, the Properties View displayed the details of the function that caused the debugged process suspension instead of the break event properties.
- The FPS heads up display was corrupted when the debugged program left a used shader when calling SwapBuffers().
- In some cases, after a Step command the views data was not updated.
- After canceling the stub fragment shader mode, shaders' uniforms values were not restored.
- Shading programs that were marked for deletion were considered as deleted.
- Interactive mode and Raster mode toolbars commands did not function properly when the debugged application used the OpenGL attribute stack.
Version 1.4 Added:
- Supports OpenGL 2.0 standard.
- Two commands were added to the Performance Analysis Toolbar:
- Force the debugged application to use a stub fragment shader.
- Render using no lights.
These commands enable pinpointing of application graphic performance bottlenecks that are caused by either fragment shader computations or light-related computations.
- Powerful break-on-detected error mechanism that breaks the application run when a detected error occurs. For example, a detected error is triggered when the application asks for an extension function pointer from one render context and then uses it in another render context.
- The texture viewer now displays bind textures by multi-texture units.
- Display Log File - a Calls History Toolbar button opens the active context recorded HTML log file.
- A workspace can be deleted from the startup dialog (using del key).
- Multi-selection support to the State Variables View (delete items and copy to clipboard).
- When the debugged application uses a texture bind target that does not have a bound texture object, the "Default texture objects" will be logged and viewed in the Textures Viewer.
- Save the system information to a file (system information dialog).
- The GLSL compiler version is displayed in the System Information, Graphic Card tab.
- The following extensions supported:
- GL_ARB_color_buffer_float
- GL_ARB_draw_buffers
- GL_ARB_fragment_program
- GL_ARB_fragment_shader
- GL_ARB_multitexture
- GL_ARB_point_sprite
- GL_ARB_shader_objects
- GL_ARB_shading_language_100
- GL_ARB_vertex_program
- GL_ARB_vertex_shader
- GL_ATI_draw_buffers
- GL_ATI_fragment_shader
- GL_ATI_text_fragment_shader
- GL_EXT_stencil_two_side
- GL_EXT_vertex_shader
- GL_NV_fragment_program
- GL_NV_fragment_program_option
- GL_NV_fragment_program2
- GL_NV_texture_shader3
- GL_NV_vertex_program
- GL_NV_vertex_program
- GL_NV_vertex_program1_1
- GL_NV_vertex_program2
- GL_NV_vertex_program2_option
- GL_NV_vertex_program3
Changed:
- Start/ stop Log File Recording now uses a toggle button instead of 2 buttons (OpenGL Functions Calls History Toolbar).
- When entering Profiling Mode, the Calls History HTML log file recording is disabled (Performance Toolbar).
Fixed bugs:
- The GL_TEXTURE_ENV_MODE and GL_TEXTURE_ENV_COLOR state variables were not available in the OpenGL State Variables View and Save State Variables command.
- GLenum and GLboolean texture parameter values, set by glTexParameterXX were not updated (Texture viewer).
Version 1.3 Added:
- A Performance Analysis Toolbar which includes a set of commands enabling you to turn off graphic pipeline stages one after the other. For example, you can turn off stages by: Eliminate all OpenGL Draw Commands, Force Single Pixel View Port and Force 2x2 Stub Textures.
If render performance improve while turning off a certain stage, you have found a graphic pipeline bottleneck.
- Viewers Toolbar to allow quick access to gDEBugger Viewers: Source Code viewer, Textures viewer.
Changed:
- Application Frame Terminators are now required (Debug Settings Dialog).
Fixed bugs:
- When loading a new workspace or using the Create New Workspace wizard, the views' information is deleted (old session information).
- Force OpenGL raster mode didn't work in some cases.
Version 1.2.1 Added:
- GREMEDY_string_marker extension support.
- String markers are displayed in the OpenGL functions calls History View.
- String markers are displayed in the HTML calls history log file.
- String marker toolbar that allows quick navigation between the string markers logged by the OpenGL calls history log.
Changed:
- The GRTeaPot.exe example application now embeds string markers.
Fixed bugs:
- glTexSubImage3DEXT calls were not executed by gDEBugger.
- When calling glDeleteTextures with texture name = 0 or a not existing texture name, the debugged process crash.
- Calling glTexImage3DEXT or glTexImage3D generated a GL_INVALID_VALUE OpenGL error.
- Textures that have a single or double component internal format (GL_LUMINANCE, GL_LUMINANCE_ALPHA, etc) are now displayed as gray-scale images.
- Alpha textures (GL_ALPHA, GL_ALPHA4, etc) are now displayed as gray-scale images.
- The HTML log file texture image files reference used backslashes instead of slash.
- 1D texture images are now stretched to enable easier viewing of their content (Textures viewer).
- The "New workspace" wizard now displays the "Log files directory".
- The "New workspace" wizard "Swap Buffers" frame terminator was changed to "on" by default.
- gDEBugger didn't display an error when the "Log files directory" was empty and the user started debugging using the "Step" command.
- The "Texture Viewer" textures list is populated faster.
- glTexParameter calls that changed the texture border (GL_TEXTURE_BORDER_COLOR) were not logged correctly.
- The "Texture Viewer" and "Source Code Viewer" are now opened on top of other windows.
- The "Texture Viewer" "Depth slider" range was not cleared when switching from a 3D texture viewing to a 2D texture viewing.
- The "Texture Viewer" image view style was changed when viewing 3D textures.
- The "Properties View" and "Texture Viewer" now displays aid messages like: "The Views information is displayed only when the debugged process has been suspended".
Version 1.2 Added:
- An Interactive Texture viewer that allows you to view render contexts texture objects, their parameters and the textures' data as an image. This viewer supports 1D, 2D, 3D and cube map textures. When viewing 3D textures, a slider lets you scroll through the 2D images which built the 3D image.
- Textures data can be saved as image files to disk. Supported image formats are bmp, tif, png, jpg.
- An Options dialog that lets you control program attributes and behavior.
- The ability to specify your source code location by specifying additional source code directories and a source code root location (Options dialog). This enables the use of the Source Code viewer when the debugged application has been built on a different file system structure or when the debugged application holds partial source code paths.
- The following extensions supported:
- GL_ARB_depth_texture
- GL_ARB_shadow
- GL_ARB_shadow_ambient
- GL_ARB_texture_border_clamp
- GL_ARB_texture_compression
- GL_ARB_texture_cube_map
- GL_ARB_texture_env_add
- GL_ARB_texture_env_combine
- GL_ARB_texture_env_crossbar
- GL_ARB_texture_env_dot3
- GL_ARB_texture_mirrored_repeat
- GL_ARB_texture_non_power_of_two
- GL_EXT_bgra
- GL_EXT_blend_logic_op
- GL_EXT_blend_minmax
- GL_EXT_blend_subtract
- GL_EXT_packed_pixels
- GL_EXT_texture
- GL_EXT_texture3D
- GL_NV_texgen_reflection
- GL_SGIS_generate_mipmap
- GL_SGIS_texture_border_clamp
- GL_SGIS_texture_edge_clamp
- GL_SGIS_texture_lod
- GL_SGIS_texture_select
- GL_SGIX_depth_texture
- GL_SGIX_interlace
- GL_SGIX_shadow
- GL_SGIX_shadow_ambient
Changed:
- The recorded text OpenGL Calls Log file has been replaced with an HTML log file that displays textures associated with the logged OpenGL function calls.
- The log files and logged texture images are organized in a directory created "per" debugged application run.
Fixed bugs:
- Applications that load files using a relative path could not load files on Win2000 (all Service Packs) and on WinXP that did not have any Service Packs installed.
- "Find" in OpenGL Functions Calls History view performance was improved dramatically.
- Occasionally, gDEBugger froze after the debugged process threw a second chance exception.
- gDEBugger froze when the Select Source File dialog was closed using the Cancel button (Source Code Viewer).
- Force Front Buffer mode (not interactive) did not flush the graphics pipeline at the end of a render frame (Interactive Mode toolbar).
Version 1.1 Added:
- Interactive Mode toolbar - lets you view your graphic scene as it is being rendered, in full speed or in slow-motion mode.
- Raster Mode toolbar - enables you to force the OpenGL Polygon Raster mode.
- Support of applications that load OpenGL32.dll dynamically or use OpenGL through an ActiveX control / OCX / COM object.
- An Edit menu that provides the following options: Copy from views and Find in the views.
- A license manager application for configuring your license.
- License information is now displayed in the Help About dialog.
- OpenGL Function Calls view now displays the selected function index in the status bar.
- Two new extensions supported:
- GL_ARB_vertex_buffer_object
- GL_ARB_vertex_blend
Changed:
- The "Restore views" command now also restores the position of the toolbars.
- The size of the OpenGL State Variables combo box was changed.
Fixed bugs:
- When turning on "Break on OpenGL error," gDEBugger didn't break on the first OpenGL error. Instead, it displayed a notice message.
- Alt + TAB now displays the gDEBugger icon.
- When choosing the GRTeapot example, a default log directory is set.
Version 1.0 Added:
- Call stack view – The process thread call stack that led to the event which suspended the debugged process run is displayed. Such events include: breakpoint hit, OpenGL errors, step, break and second chance exceptions.
- Source code viewer - Displays a call stack function's source code file. The line where a call to the next call stack function appears is highlighted.
- User Guide – gDEBugger User Guide (Help -> User Guide).
- Restore views - Restore the default sizes and locations of the views (View -> Restore Views Sizes).
- The status bar now displays menu items details.
- The GRTeaPot.exe example application now comes with its source code and contains new features. Press h for its help.
Changed:
- Enhanced views: gDEBugger views are now resizable. You can change their size, hide, restore, undock and dock them.
- A debug notice is displayed if OpenGL has already recorded an error when turning on "Break on OpenGL Errors" instead of reporting an OpenGL error on the current function call.
- Enhanced license mechanism - The days left until the trial version expires are displayed in the application title bar.
- The debugged process is suspended when second chance exceptions occur. This allows you to observe the thread call stack that led to the exception.
- Debug settings dialog - Added default directories.
Fixed bugs:
- When opening a workspace, the old workspace breakpoints and state variables were not saved in the workspace file.
- gDEBugger sometimes froze when the debugged process threw foreign breakpoint exceptions (breakpoints not initiated by gDEBugger).
- When the debugged application stepped into a glBegin-glEnd block using the "Step" command an OpenGL error was triggered.
- After starting and stopping the debugged application a few times (using the "Stop debugging" command), gDEBugger displayed the following message: "Communication between the debugged application and gDEBugger failed".
- gDEBugger failed to debug applications on WinXP Service Pack 1 and 2 when running gDEBugger.exe from a command line.
Version 0.9.6 Added:
- gDEBugger now supports applications that load OpenGL32.dll dynamically after the process run starts.
- Display monitor information was added into the system information dialog (Tools -> System information -> Display tab)
- An error message is displayed when gDEBugger fails to communicate with the debugged application.
Changed:
- The function that caused the breakpoint hit / OpenGL error is now displayed with a marking yellow arrow (->) in the ("OpenGL functions call history" view).
- The "Breakpoints" dialog functions list is now sorted alphabetically. The user can type the function prefix and the list will scroll to the right location.
Fixed bugs:
- The first command line argument was not passed to the debugged application.
- Breakpoint and step events displayed wrong properties when the event was not the last reported event (Properties view).
- Break event was displayed as step event (Debugged Process Events view).
Version 0.9.5 Added:
- Support OpenGL 1.4 and 1.5 versions.
- Support Windows XP Service pack 2.
- The following extension support:
- GL_ARB_occlusion_query
- GL_ARB_texture_cube_map
- GL_ARB_texture_compression
- GL_HP_occlusion_test
- GL_NV_primitive_restart
- GL_NV_occlusion_query
- WGL_I3D_genlock
Changed:
- Pause stops the application run at the next OpenGL function call (and not immediately).
Fixed bugs:
- Pause sometimes made the debugged application stuck.
- State variable values were not displayed after executing pause (OpenGL state variables view).
- Not all the loaded / unloaded DLL names were displayed (Debugged process events view).
- A false "wglGetPixelFormat" call appeared after each extension function call (OpenGL function calls history view).
Version 0.9.4 Added:
- Support OpenGL 1.2 and 1.3 versions.
- "Break on OpenGL error" option.
- The displayed OpenGL state variables are saved into the breakpoints project file.
Changed:
- Application GUI enhancements - WinXP look and feel, enhanced views frames.
- String arguments values are displayed instead of the string pointer value (Example: wglGetProcAddress argument).
- Breakpoints menu was added (breakpoint menu items previously resided in the Debug menu).
- The machine path is now divided into directories (Tools -> System information ->System tab).
- The log file name now contains the debugged application name.
- Removed the right click customization menu (It was replaced by the View menu).
- Removed the views grab handles, X and > (free the space they consumed).
- Removed the row drag handles (free the space they consumed).
Fixed bugs:
- Crash when loading twice the "new workspace" wizard.
- State variables values sometimes got garbage values instead of "N/A"
- Dates and times smaller that 10 are now padded with 0's. Example: 3:9:55 -> 03:09:55
- The GL_LINES and GL_POINTS enumerations were displayed incorrectly.
Version 0.9.3 Added:
- Save the OpenGL calls log into a file (OpenGL functions call history toolbar -> Record button).
- System information dialog now supports OpenGL and WGL extensions information (Tools ->System Information -> OpenGL Extensions Tab)
- Ignore all breakpoint was added into the debug menu and allocated with a shortcut key (Ctrl-I)
- Context ID is written into the saved OpenGL state variables file.
Changed:
- Shortcut keys of the debug commands were changed.
Fixed bugs:
- Some applications throw an "access violation" exception and exit on application launch from gDEBugger.
- In some cases, gDEBugger didn't run from a command line shell.
- When loading a gdb file – the title of the application didn't specify the debugged application name.
- Indentation problems when outputting strings into a file.
- When creating new workspace the old workspace was not saved.
- The working directory was not change automatically when typing manually the debugged application exe path in the new project wizard.
Version 0.9.2 Added:
- Save OpenGL state variables snapshot to a file (File -> Save state variables)
- Display the values of vector and matrix arguments instead of just the vector/matrix pointer (OpenGL calls history view).
- When an OpenGL functions input a GLenum through a GLfloat argument - display the enum value.
- Check for updated gDEBugger version (Help -> Check for updates).
- Send feedback option (Help -> Send us feedback).
- Computer Graphic Card renderer information (Tools ->System Information -> Graphic Card Tab)
Changed:
- Improved license expired message box.
- Improved Help about dialog.
- Changed toolbars and views names.
- Changed the look of the installation dialogs.
Fixed bugs:
- When using X to close the "select workspace" dialog, the debug settings was corrupted.
- Save workspace sometimes saved wrong workspace information.
- Do not highlight a state variable as changed when switching from N/A to a real value (OpenGL state variables view).
Version 0.9.1 Added:
Fixed bugs:
- gDEBugger gets stuck when the debugged .exe file does not exist.
- In some scenarios, when pressing the X button, gDEBugger exits with errors.
- Viewing a calls log that contains enum values may produce errors.
- Step does not work well when used on process startup.
- View and Toolbars are not synchronized with the view menu.
- When the process is suspended, the views are updated twice.
- Views size was not adjusted correctly when using different screen resolutions.