Version 5.8.1 Changed:
- Licensing mechanism disabled, it is no longer needed to acquire a free license to run gDEBugger.
Version 5.8 Added:
- OpenCL 1.1 is now supported by gDEBugger CL.
Changed:
- Improved the OpenCL forced / disable modes, the modes now retain the driver overhead and synchornization effects, and only lower the actual workload.
- Added a cap to the number of debug and output strings reported, as applications using many of them at high frequency could cause the gDEBugger client application to respond slowly or even hang.
Fixed bugs:
- When using rectangular (non-square / cube) OpenCL images, the bytes read, bytes written and bytes copied counters would display wrong values.
- Using functions which take matrix or vector parameters would sometimes result in crashes if two such functions were called concurrently from two rendering threads.
- Fixed a rare crash in multi-threaded applications.
- In some configurations, the gDEBugger OpenGL and OpenCL servers would crash as the debugged application exited.
- Some applications would experience crashes if the time difference between a context's creation and the first draw function call in it was too short.
- When debugging several applications in one gDEBugger session, contexts were sometimes wrongly marked as deleted.
- Calling glUniform1fARB with no current context could crash the OpenGL server.
- Strings from the GL_AMD_debug_output and GL_AMDX_debug_output extensions were not shown correctly in the API Calls History view.
- Some parameters in glBlitFramebufferEXT, glBufferAddressRangeNV and clCreate
- functions were logged incorrectly.
- When an OpenCL object is released, properties views would continue to display (broken) links to it.
- OpenGL state variables related to the GL_NV_texture_shader extension were not properly marked as unsupported on implementations that do not support the extension.
- Some deprecated calls to glBindBufferARB were not correctly marked as such.
- OpenCL kernel names were diplayed with garbage numbers in the OpenCL Command Queues viewer properties.
- Windows + Linux: Deleting a context would cause the current context to be detached from the current thread, even if it was not the deleted context.
- Windows: The gDEBugger OpenGL server would occasionally hang while updating context data with newer ATI graphics drivers.
- Windows: The gDEBugger OpenCL server would sometimes hang when debugging OpenCL-only applications.
- Mac: False calls of glGetIntegerv were sometimes reported.
- Mac: When using pixel formats that have no depth or no stencil bits, an (non-functional) buffer was still shown in the Textures, Buffers and Images viewer.
- Linux: Configurations which use the LIBGL_DRIVERS_PATH environment variable would wrongly get the message that the libGL.so driver does not exist.
- Linux: Using glXCreateContextAttribsARB without certain context flags would cause crashes in some scenarios.
Version 5.7 Added:
- iPhone: On-device project configuration can now be performed automatically instead of manually:
- Automatic configuration requires simply selecting an unmodified Xcode project in the New Workspace wizard and pressing "Go" in gDEBugger.
- Existing gDEBugger iPhone on-device users should perform the actions described under the "Uninstalling" header in the gDEBugger iPhone on-device setup instructions document and enable the automatic configuration in gDEBugger's Debug Settings dialog (Command + D).
- iPhone: Support iOS 4.0 SDK.
- Full support of the OpenGL Debug output extensions (GL_ARB_debug_output, GL_AMD_debug_output, GL_AMDX_debug_output extensions); a new OpenGL Debug Output Settings dialog enables the user to:
- View OpenGL Debug outputs.
- Break on OpenGL Debug outputs.
- Select the categories from which OpenGL Debug outputs are generated (Performance, Shader Compiler, API errors, Windows System, Deprecations, Undefined behaviors and other).
- Added a "Don't remind me again" option to some of the warning dialogs displayed in the application.
- and Shading programs that are marked for deletion are now shown as such in the Graphic Memory Analysis viewer.
Changed:
- The progress bar, when updating data in the various viewers, is now shown in the viewer frame instead of a separate dialog.
- In the Contexts combobox, deleted contexts are now marked with "(deleted)" instead of being colored red.
- The Graphic Memory Analysis viewer now continues to display leaked graphic memory allocated objects after their containing context is deleted.
- gDEBugger's trial version now allows limited use of the shader edit and continue feature.
- Textures in the Texture Thumbnail view are now loaded smallest-first instead of by numeric order.
- When checking for memory leaks and not finding any, gDEBugger will now display a message in the Debugged Process Events view.
- Mac + iPhone + Linux: When the debugged application is signalled with a breakpoint (SIGTRAP), gDEBugger handles it as a signal and does not suspend the debugged application run.
- iPhone: iPhone OS 3.1.x and lower are no longer supported for Simulator project (only the latest iPhone SDK is supported).
- iPhone: gDEBugger iPhone's trial version now allows on-device debugging.
Fixed bugs:
- Greatly improved performance of Analyze mode.
- Greatly improved performance and stability of graphic memory leak checking and reporting.
- Improved overall performance of data updates during debugged process suspension.
- Improved loading speed of the thumbnail view after the first time it is shown.
- OpenGL sync objects were sometimes falsely reported as memory leaks. The false leaks as well as real OpenGL sync object memory leaks were sometimes displayed incorrectly.
- When adding many counters to the Performance Dashboard view, a horizontal scrollbar will now appear to allow viewing them in a smaller window.
- gDEBugger would sometimes crash if the debugged API driver was not installed (e.g. the OpenGL driver for OpenGL projects).
- Viewing VBOs' data could cause the GL_ARRAY_BUFFER_BINDING or GL_ELEMENT_ARRAY_BUFFER_BINDING state variables to change, in turn causing data pointers to be considered in the wrong context.
- Some functions in the GL_ARB_instanced_arrays, GL_EXT_direct_state_access and GL_NV_shader_buffer_load extensions were not supported properly.
- Fixed some issues related to the use of GL_EXT_direct_access extension with FBOs.
- Stopping on the first function called would not allow the Calls History view to be updated.
- When OpenGL contexts were deleted, gDEBugger performance counters for other contexts were shifted back one context or displayed no values.
- Clicking a VBO to view its data would sometimes fail on the first time.
- Selecting "No Context" in the State Variables Comparison viewer could cause a few visual bugs.
- The Textures and Buffers viewer's Information panel was sometimes not sized properly.
- The Textures / Buffers Thumbnail views would sometimes cause crashes in applications with uninitialized objects (e.g. Unknown Textures).
- Opening the Textures and Buffers viewer while suspended in an OpenGL glBegin-glEnd block would display corrupt or incorrect data and parameters.
- In some scenarios, calling glGenBuffers[ARB] would cause gDEBugger to display several "VBO 0" objects.
- Shading programs and shaders that were marked for deletion were sometimes falsely reported as memory leaks.
- The Shaders' Source Code editor allowed "build program" for unattached shaders.
- Building a shading program in the Shaders' Source Code editor would sometimes cause its uniform values to be corrupted.
- The Performance Dashboard view measured maximum values persisted between different debugged application runs (pressing "Stop" and "Go" again).
- Percentage-valued performance counters would sometimes display values greater than 100.
- Windows + Linux: some extension functions were not properly exported from the gDEBugger OpenGL server for use with static linking and GetProcAddress/dlsym.
- Windows: adding a breakpoint on wglCreateContext could generate a crash in the State Variables Comparison viewer.
- Windows: greatly improved performance on debugged application suspension when running applications that load / link to many dynamic libraries.
- Windows: some applications, mostly multi-threaded 64-bit ones, would sometimes cause gDEBugger to hang when the debugged process was suspended.
- Mac: gDEBugger would not work properly after updating to Xcode Tools 3.2.3 (released with iOS 4.0 SDK).
- Mac: several CGL functions were not organized into function types.
- Mac: a dark line was shown across gDEBugger's main application window's status bar.
- iPhone: glGetShaderPrecisionFormat, glReleaseShaderCompiler and glShaderBinary did not appear in gDEBugger's Calls History viewer, and setting them as breakpoint did not work.
- Linux: attempting to debug 32-bit applications with the 64-bit version of gDEBugger and vice-versa was allowed and sometimes caused hangs.
- Linux: attempting to dock views in the viewers or the main application window would sometimes crash the gDEBugger client.
Version 5.6 Added:
- Support of iPhone and iPad on-device debugging and profiling:
- Support of all current iPhone, iPod touch and iPad hardware.
- All of gDEBugger iPhone's OpenGL ES 1.1 and 2.0 abilities ported to the real device, including raw data fetching, shader editing "on the fly", memory analysis and gDEBugger performance counters.
- Detailed on-device setup and uninstall instructions.
- iPhone on-device performance counters, including OS metrics (identical to the Mac OS X metrics) and GPU metrics (exported by the SGX driver, available on iPhone 3GS and iPad only).
- Improved Support of iPhone Simulator:
- Support of iPhone SDKs 3.1.2 and 3.1.3 and iPad SDK 3.2. iPhone / iPad Simulator projects are now labeled with the used SDK version.
- Separate Simulator app directories are read correctly.
- Automatic detection of iPhone Simulator SDKs (when choosing an application from gDEBugger's Choose iPhone App dialog).
- Quick selection of iPhone Simulator SDKs from their default path in the Debug Settings dialog, for easier testing on multiple platforms / software versions.
- Support of iPhone Simulator manual app selection (from the build directory), solving gDEBugger iPhone Simulator launch problems (app gets deleted, etc).
- Support of multiple iPhone Simulator application sets (per SDK version).
- The Context Information dialog is now available for iPhone projects.
- gDEBugger CL beta. Using gDEBugger CL features requites a dedicated license. To join the Free Beta Program, see screenshots and more details, please visit: /gDEBuggerCL.php.
- Added the ability to export VBO data to a .csv file.
- The following extensions are now supported:
- GL_NV_shader_buffer_load
- GL_NV_vertex_buffer_unified_memory
- The Statistics viewer now displays relevant statistics for "No Context" mode.
- The user can now select the amount of logged functions (Tools > Options > Logging).
- Added a keyboard shortcut for accessing the startup dialog - Ctrl+Alt+O (Option+Command+O on Mac).
- Windows: Non-English Windows systems default performance counters can now be added without using the "additional counters" option.
Changed:
- The state of the Textures and Buffers viewer channel disable buttons ("Disabled Red Channel", etc.) and similar functions (Grayscale, invert) is now maintained between textures and to the thumbnail view, as well as between debugged process suspensions.
- Rearranged and streamlined the New Workspace wizard.
- The New Workspace wizard only changes to the selected project type once the project creation is finalized.
- Windows: Improved and added new ATI OpenGL performance counters.
- Windows: ATI counters are now named "ATI OpenGL counter" (to differentiate from "ATI Stream OpenCL counters").
- Mac + iPhone: GPU utilization counters are now added by default to new projects.
- iPhone: The default SDK used for iPhone / iPad simulator projects was changed to 3.1.3.
Fixed bugs:
- Greatly improved performance for applications using many OpenGL objects in the Textures, Buffers and Images viewer and in the Graphic and Compute Memory Analysis viewer.
- When viewing renderbuffers that are not currently attached to any FBO, the OpenGL state was accidently altered by the gDEBugger OpenGL server, causing OpenGL errors in some cases.
- When using FBOs to render to textures, the texture data was not updated correctly. Note that texture data for levels other than the level bound to the FBO remains stale until the texture is detached or the FBO is unbound.
- Applications that delete shaders at runtime would sometime cause crashes in the gDEBugger OpenGL server.
- Looking at static buffers in the Textures and Buffers viewer while an FBO is bound would produce incorrect data.
- Changing the forced modes in the performance toolbar while the debugged application is suspended could yield unexpected results.
- The New Workspace wizard would rarely crash while selecting certain properties.
- Several parameter values passable to glTexParameter* were displayed as numbers instead of symbolic names.
- In the Shaders' Source Code editor, Select all (Ctrl+A) and Copy (Ctrl+C) would sometimes respond to the incorrect window.
- Unbinding textures (glBindTexture(GL_TEXTURE_*, 0) ) and similar operations would display "Texture 0" in the properties view for the function call.
- When OpenGL contexts were deleted, gDEBugger performance counters for other contexts were shifted back one context or displayed no values.
- The Performance Dashboard view did not get cleared on application run until counter values were available (incorrectly displaying the old values).
- Selecting "No Context" in the State Variables Comparison viewer could cause a few visual bugs.
- Textures and Buffers with data types that format to long strings (GL_FLOAT, GL_DOUBLE) would have the color values cut off in the Textures and Buffers viewer's Information panel.
- When changing the project type, breakpoints not available in the new project type were not cleared (e.g. "Break on Deprecated functions" in OpenGL ES projects).
- When using GL_[UNSIGNED_]SHORT data type, the texture slider for one-channel textures would display the wrong range.
- Selecting a context current to a debugged application thread would sometimes not change the thread selected by the Threads combo-box.
- Selecting a thread in the Threads combo-box would sometimes not show its calls stack in the Calls Stack view.
- Selecting a shader / program function in the Calls History view would cause a visual bug in the view.
- Information for memory leaks including OpenGL sync objects was not displayed correctly in the debugged application views.
- HTML window links could be clicked while the debugged process was running, although the data they point to was not available.
- Links to Fragment shaders in the Properties view and Graphic Memory Analysis viewer would not work properly.
- Windows + Linux: keyboard navigation in list views would sometimes "jump" after changing the selection.
- Windows: Non-English Windows users would sometimes experience a crash on gDEBugger startup.
- Windows: Vista 64-bit systems would sometimes experience crashes at startup or at the first OpenGL function call.
- Windows: using wglShareLists with erroneous parameters would sometimes cause the gDEBugger OpenGL server to crash.
- Windows: when debugging .NET applicatons, gDEBugger would sometimes not recognize the debugged process started running.
- Windows: calling certain functions from the GL_EXT_direct_state_access, GL_ARB_draw_elements_base_vertex, and from OpenGL 3.0 would sometimes cause the gDEBugger OpenGL server to crash.
- Windows: Using non backwards-compatible OpenGL 3.x contexts with some hardware configurations could cause crashes.
- Windows: the gDEBugger application frame would appear in the wrong place when used on systems where the taskbar is not at the bottom of the screen.
- ES + iPhone: glGenRenderBuffersOES and glGenerateMipmapOES were assigned incorrect function types.
- Mac: No item was selected by default in the Startup dialog.
- Mac: Applications that output many strings to the console (::printf() ) would sometimes cause the gDEBugger client application to respond slowly or hang.
- iPhone: The memory size of textures with mipmaps was calculated incorrectly.
- iPhone: the "working directory" parameter from OpenGL projects is was redundantly validated.
- iPhone: -[EAGLContext renderbufferStorage: fromDrawable:] was accidently marked as -[EAGLContext sharegroup] in the Calls History view.
- Linux: When using ATI drivers, the debugged application would fail to launch when using gDEBugger's default interception method. This fix requires ATI Catalyst 10.5 or higher driver version.
- Linux: When pressing "Reset GUI Layouts", the application viewers would clip the main frame instead of appearing above it.
- Teapot sample application: Geometry shader causes problems with some hardware, now disabled by default.
Version 5.5 Added:
- AMD GPU Performance Counters integration, displaying AMD (ATI) graphic hardware and driver performance counters inside gDEBugger's Performance Graph and Performance Dashboard Views. Supported counters include:
- Percentage of time GPU was busy.
- Percentage of GPU time spent performing depth and stencil tests.
- Average number of ALU instructions executed in the geometry shader.
- The number of primitives received by the hardware.
- The number of primitives passed into the geometry shader.
- The number of vertices output by the geometry shader.
- Percentage of texture fetches from a 2D texture.
- The percentage of GPU time ALU instructions are processed by the fragment shader.
- Percentage of GPU time the texture cache is stalled.
- The total number of texels fetched.
- Texture memory read in bytes.
- Texture cache miss rate (bytes/texel).
- The number of vertices processed by the vertex shader.
- Percentage of GPU time the depth buffer spends waiting for the color buffer.
- Number of bytes written to the color buffer.
- And many other useful counters...
- Performance counter descriptions are now shown in the main frame's Properties view.
Changed:
- The teapot sample application now renders using VBOs or vertex arrays.
Fixed bugs:
- Improved overall stability.
- gDEBugger would sometimes crash on exit.
- Unbinding a VBO (glBindBuffer(target, 0) ) was mistakenly reported as binding / creating "VBO 0", causing false memory leaks and other similar issues.
- The Textures and Buffers viewer's Mipmap slider was not shown when displaying a texture that had exactly two mip levels.
- The debugged application would sometimes crash or generate OpenGL errors after using the stub geometry / fragment shaders modes.
- The sample teapot application would render a black image when using new AMD (ATI) display drivers.
- gDEBugger would sometimes display all performance counters of a certain render context with a 0 value, when debugging applications that have multiple render contexts.
- gDEBugger would sometimes crash or fail when attempting to export the collected profiling data into a csv file.
- The Statistics viewer's Calls Statistics view did not export the data to a file properly when using the right-click context menu.
- Windows: gDEBugger would frequently hang when running on Windows 7 64-bit.
- Windows: gDEBugger would sometimes freeze when opening the Graphic Memory Analysis viewer while debugging a multi-threaded applications.
- Windows: The System Information dialog would sometimes display a wrong processor type.
- Windows: gDEBugger now displays an appropriate message when the debugged application's working directory does not exist.
- Windows: GLSL programs icon was missing when displaying a program's details in the Shaders' Source Code Editor.
- Windows: When gDEBugger fails to launch the debugged process, a process creation failure event is displayed in the Debugged Process Events view.
- Windows: In some cases, the Call Stack view didn't display the debugged process call stack.
- Windows: gDEBugger would sometimes crash when debugging a 64-bit application and then debugging a 32-bit application.
- Mac + iPhone: When using "stub textures" mode, gDEBugger would sometimes display ghost textures with random names.
- Mac + Linux: The Call Stack view didn't display the call stack of threads other than the thread that triggered the debugged process suspension.
- Mac: gDEBugger would frequently freeze when debugging applications that use Multi-threaded OpenGL (CGLEnable with kCGLCEMPEngine).
- Linux: When rendering with newer versions of the Mesa software renderer, the System Information Dialog's Pixel Format tab displayed "Full" hardware acceleration.
- Linux: The System Information dialog failed to run on VMWare virtual machines, displaying a BadMatch X error and quitting gDEBugger.
- Linux: gDEBugger crashed when clicking "Browse For Executable..." on OpenSUSE 11.
- Linux: gDEBugger would sometimes display a "Failed to Terminate Debugged application" message.
Version 5.4 Added:
- Windows 7 is now supported.
- OpenGL 3.2 is now supported:
- GLSL 1.50 is supported by the Shaders' Source Code editor, including new reserved words and uniform types.
- OpenGL features deprecated in OpenGL 3.2 are shown in the Statistics viewer's Deprecated Function Statistics view.
- Support for extensions promoted to core functionality in OpenGL 3.2, including new functions, state variables and memory leak detection:
- GL_ARB_depth_clamp
- GL_ARB_draw_elements_base_vertex
- GL_ARB_fragment_coord_conventions
- GL_ARB_geometry_shader4
- GL_ARB_provoking_vertex
- GL_ARB_seamless_cube_map
- GL_ARB_sync
- GL_ARB_texture_multisample
- GL_ARB_vertex_array_bgra
- WGL_ARB_create_context_profile
- GLX_ARB_create_context_profile
- Support for the following extensions:
- GL_ARB_compatibility
- GL_ARB_uniform_buffer_object (also as OpenGL 3.1 core functionality)
- WGL_ARB_create_context (advanced from standard to full support)
- GLX_ARB_create_context (advanced from standard to full support)
- GL_EXT_framebuffer_blit
- GL_EXT_framebuffer_multisample
- GL_EXT_texture_integer
- Additional events are now displayed in the Debugged Process Events view. Such events are: Context Created Event, Context Deleted Event, gDEBugger Server API Connection Established Event.
- The Render Context Information dialog now also shows:
- Renderer details (version, name, vendor)
- Backward-compatibility (GL_ARB_compatibility or compatibility profile)
- Forward-compatibility ( [WGL|GLX]_FORWARD_COMPATIBLE_BIT_ARB )
Changed:
- Improved look and feel of all Properties views.
- Improved look and feel of the Debugged Process Events view.
- File > Load Breakpoints no longer loads the selected OpenGL State Variables.
- File > Recent Files now contains up to 10 items.
- The Startup dialog option was moved to reside directly under the File menu.
- The Shaders' Source Code editor now displays an asterisk next a shader's name if its source code has unsaved modifications.
- When a render context is created, the tree entry for it in the Performance counters dialog is added automatically.
- The Function Calls Statistics view is no longer in the main application frame. It is only available in the Statistics viewer.
- OpenGL State Variables view and State Variable Comparison viewer:
- Removed invalid "State variables" (GL_TEXTURE_COMPRESSED, GL_TEXTURE_INTERNAL_FORMANT, GL_TEXTURE_COMPRESSED_IMAGE_SIZE, GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB, GL_GEOMETRY_VERTICES_OUT, GL_GEOMETRY_INPUT_TYPE, GL_GEOMETRY_OUTPUT_TYPE).
- Several state variables were read incorrectly or were not tested for availability properly (GL_COLOR_INDEXES, GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB, GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB, GL_DRAW_BUFFERi, GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV, GL_SHADER_OPERATION_NV, GL_OFFSET_TEXTURE_SCALE_NV, GL_OFFSET_TEXTURE_BIAS_NV, GL_PREVIOUS_TEXTURE_INPUT_NV, GL_CULL_MODES_NV, GL_OFFSET_TEXTURE_MATRIX_NV, GL_CONST_EYE_NV, GL_COORD_REPLACE, GL_COORD_REPLACE_ARB, GL_ALPHA_SCALE).
- Missing state variables were added (GL_TEXTURE_COMPRESSION_HINT, GL_MAX_RENDERBUFFER_SIZE_EXT, GL_FRAMEBUFFER_BINDING, GL_RENDERBUFFER_BINDING, GL_MAX_RENDERBUFFER_SIZE, GL_DRAW_FRAMEBUFFER_BINDING, GL_READ_FRAMEBUFFER_BINDING, GL_MAX_SAMPLES).
- States that are no longer supported by the OpenGL implementation (deprecation model) are noted as such.
- The "offset" view parameter for VBOs in the Textures and Buffers viewer is now capped at the VBO's size.
- Windows + Linux: added accelerators (Alt+F > R > 1, 2, ...) to the Recent files dialog.
- Windows: To use NVIDIA's performance counters, driver instrumentation must be enabled manually.
- iPhone: Disabled the "Stub Geometry Shaders" button, since OpenGL ES does not support geometry shaders.
Fixed bugs:
- Many deprecated features were not checked properly, resulting in deprecated behavior not being reported.
- Improved overall performance in Profile and Debug modes.
- Improved overall performance of the Textures and Buffers viewer and Graphic Memory Analysis viewer.
- VBOs created by passing a user-generated name to glBindBuffer were not shown in the Textures and Buffers viewer.
- Applications using many nested display lists would suffer a severe performance hit at runtime.
- In some scenarios, VBO data was not shown until the second time the VBO was accessed on process suspension.
- Attempting to compile shaders or link shading programs on a context that was not current would fail.
- Linking a program which was not active would cause its uniform values to be corrupted.
- Calling glUniform* while in "Stub Fragment Shaders" or "Stub Geometry Shaders" modes would not pass any uniform values, including vertex shader uniforms (e.g. modelview matrix in OpenGL 3.x applications).
- glGetStringi would return incorrect or NULL strings.
- OpenGL 3.1 contexts not supporting the GL_ARB_compatibility extension or OpenGL 3.2 core profile contexts:
- The gDEBugger OpenGL server would generate OpenGL errors (and sometimes report them when using "Break on OpenGL Errors").
- Depth and stencil buffers were not read properly.
- Raster mode toolbar modes could not be cancelled.
- gDEBugger or the OpenGL server would occasionally crash when pressing the "Stop" button.
- The front buffer was not displayed in single-buffer render contexts.
- Using GL_LINES draw mode would not be counted towards the Lines/frame and Primitives/frame performance counters.
- The breakpoints dialog would rarely crash when opened with breakpoints pre-selected.
- The primitive counters would display incorrect values if sampled more than once per rendered frame.
- The chosen VBO format was not maintained between suspensions in some scenarios.
- Setting very large values (greater than MAX_INT) to the "offset" in the Textures and Buffers viewer while viewing VBOs could cause gDEBugger to crash.
- Cube map textures did not display labels for their faces in the Image view.
- "Break on Deprecated Functions" was available in Profile mode, while having no effect.
- The Statistics viewer would sometimes show incorrect data when switching to Profile mode.
- VBOs, FBOs and Render buffers were not considered for the "application generated object names" deprecation.
- Draw calls between glNewList(GL_COMPILE) and glEndList would raise the vertices/frame counter and the vertex batch statistics even though nothing is drawn to the framebuffer.
- Selecting items in the Graphic Memory Analysis viewer would sometimes show the wrong properties or graph.
- The gDEBugger OpenGL server would sometimes crash when the renderer's GL_EXTENSIONS string was empty.
- The Source Code viewer was not affected by "Reset GUI layout".
- Windows + Mac: Pointer parameter values were not shown correctly on 64-bit operating systems.
- Windows: Creating a context with wglCreateContextAttribsARB would sometimes cause the gDEBugger OpenGL server to crash on the first time the context was made current.
- Windows: Creating a context with wglCreateContextAttribsARB would sometimes not register the context properly with gDEBugger.
- Windows: The System Information dialog displayed incorrect data for Processor Type and Domain Name.
- Windows: The NVIDIA NVPerfKit performance counters did not work properly on 64-bit systems.
- Windows: The NVIDIA driver instrumentation enabler, NVInstEnabler.exe, would cause hangs on startup with certain versions of the NVIDIA OpenGL driver.
- Windows: gDEBugger would rarely crash on debugged process termination.
- Mac + iPhone: Selecting multiple items in the Graphic Memory Analysis viewer could create an endless loop updating the items.
- Mac + iPhone: The font used in the Source Code viewer and Shaders' Source Code editor was not applied properly.
- Mac + iPhone: The Function Breakpoints list in the Breakpoints dialog would cut off the last few characters of the longest function name.
- Mac + iPhone: Connection-based features (e.g. check for updates) would sometimes not work through internal networks.
- Mac + iPhone: The checkboxes at the bottom of the Statistics viewer were not visible.
- iPhone: gDEBugger would hang when trying to debug using an invalid iPhone SDK (specificly, if the default SDK specified by gDEBugger - being the default path for the 3.1 SDK).
- iPhone: Initializing a context with -[EAGLContext initWithAPI:] would cause a "ghost" context to appear.
- Linux: Creating a context with glXCreateContextAttribsARB would sometimes not register the context properly with gDEBugger.
- Linux: The gDEBugger OpenGL server would sometimes crash or hang on startup.
- Linux: gDEBugger would sometimes crash when using a floating license or checking for updates.
- Linux: Gnome desktops using certain versions of the gnome session manager would experience problems with some views and features.
Version 5.3 Added:
- gDEBugger iPhone official release.
- Support for Windows 64-bit.
- Support for Mac 64-bit.
- Support for Mac OS X Snow Leopard (10.6).
- Support for OpenGL 3.1:
- Texture buffer objects are fully supported.
- Primitive restart is fully supported.
- GLSL 1.30 and 1.40 are fully supported.
- Full support of the GL_EXT_direct_state_access OpenGL extension.
- The Breakpoints dialog and State Variables dialog now support filtering by multiple strings (i.e. typing "tex 2d frame xt" or "tex,2d,frame,xt" would find the function glFramebufferTexture2DEXT).
- Element Array VBOs can now be viewed in the Textures and Buffers viewer, using new "Index" VBO formats.
- "Select All" and "Copy" are now available in the Textures and Buffers viewer's Data view.
Changed:
- Improved the Performance Graph and Dashboard views' look and feel.
- Clicking on a graph in the performance graph view selects it.
- Counter value at mouse cursor location is displayed in the list, in the tooltop and as a graph marker.
- Counters groups are now labeled and color-coded.
- The Reset GUI Layouts dialog closes automatically after pressing the "Reset" button.
- Mac: The keyboard shortcut for "Go" is now Command + Return instead of Command + Option + Return.
- iPhone: The default iPhone SDK for new projects is 3.1.
Fixed bugs:
- Improved overall stability.
- Improved performance when suspending the debugged process run.
- The Statistics viewer Function Types Statistics view would sometimes distort the average per frame values with low frame counts.
- Fixed several problems with Java-based applications (JOGL).
- Textures and buffers that were not loaded properly would sometimes show the Information Panel.
- The bar graph in the Vertex Batch Statistics view would appear too large when only 1-2 vertex batch sizes are present.
- Rectangle texture attachments to framebuffer objects now appear properly in the Textures and Buffers viewer.
- Static buffers would show incorrect data when a framebuffer object was bound.
- Textures would not have their image data updated while bound to a framebuffer object as color buffers.
- glTexImage* function calls with border > 0 were not marked as partially deprecated.
- The GL_ALPHA_TEST_REF state variable was retrieved as an integer value (instead of floating point).
- gDEBugger would sometimes crash when pressing the "Stop" button with the Textures viewer open.
- Resuming the debugged process run with modified (but unsaved) code in the Shaders' Source Code editor could cause error messages to be displayed.
- Mac: gDEBugger would sometimes fail to find gdb even if it were present.
- Mac: Applications that have many debug printouts (stdout) would sometimes experience a slowdown or hang.
- Mac: Some windows would disappear when using "Always on top" mode.
- Mac: In some scenarios, the mouse cursor would show the wrong shape (e.g. move curser instead of an arrow).
- Mac: The Calls History view would appear in the wrong width.
- Linux: Certain Linux variants (such as OpenSUSE) would cause problems with the threads toolbar and with textures and buffers.
- iPhone: gDEBugger would not resume from "Stub Fragment Shaders" mode properly (effectively leaving the mode on).
- iPhone: gDEBugger would sometimes hang when using the Step command in OS X 10.6 (Snow Leopard).
- iPhone: glGetString(GL_EXTENSIONS) would return NULL.
- iPhone: Apps rendering from multiple threads would sometimes experience problems viewing data from contexts used to render in those threads.
- iPhone: gDEBugger would rarely hang when breaking the debugged app (mostly when debug info was missing).
- iPhone: glBindFramebufferOES was erroneously marked as a Get Function.
Version 5.2.1 Added:
- gDEBugger iPhone Beta 4.
- OpenGL ES 2.0 is now fully supported, including GLESSL shaders (OpenGL ES shading language) and cube map textures.
- The "Interactive Break" and "Front Interactive" options in the Interactive Mode toolbar now work properly.
- It is no longer necessary to choose the app from the Debug Setting dialog after every new build, gDEBugger now automatically locates the application.
- The GL_COMPRESSED_TEXTURE_FORMATS and GL_COMPRESSED_TEXTURE_FORMATS_ARB OpenGL state variables now show all the supported compression formats, and not just the first one.
- iPhone + ES: Support for OES_matrix_palette and OES_point_size_array extensions.
- iPhone + ES: Support for more OpenGL ES 1.1 state variables and enumrations.
Changed:
- "Break on Deprecated Functions" is no longer enabled in gDEBugger iPhone and gDEBugger ES, since OpenGL ES does not define a deprecation model.
- The Source Code viewer and Shaders Source Code editor now add line breaks appropriate to the Operating system (CR+LF on Windows, LF on Mac, CR on Linux).
- iPhone: The user's decision whether to show the "Select the App from SpringBoard" message is now maintained per project instead of per gDEBugger session.
- iPhone: The API parameter in -[EAGLContext initWithAPI:] and -[EAGLContext initWithAPI: sharegroup:] is now shown as its symbolic name (kEAGLRenderingAPI...) rather than its numeric value.
Fixed bugs:
- Using a floating license would sometimes cause the gDEBugger GUI to respond very slowly.
- Memory consumption was improved in some areas.
- Binding cube map faces to FBOs was not properly supported.
- Changing from Debug or Profile Modes to Analyze Mode while the debugged application is suspended would sometimes cause false redundant state change reports.
- Mac + iPhone + Linux: When stopping or quitting the debugged application, gDEBugger would occasionally utilize the CPU until a new debug session was started or gDEBugger was quit.
- Mac + iPhone: The Source Code viewer and Shaders Source Code editor would sometimes change to overwrite mode while typing.
- iPhone: Calling glGetString would return (char*)NULL in most scenarios.
Version 5.2 Added:
- Batch Statistics view: a new Statistics viewer tab showing a breakdown of OpenGL draw function call by the number of vertices pushed into the graphic pipeline, as well as the total number and percentage of vertices drawn with each batch size.
- New performance counters: Vertices per frame, Points per frame, Lines per frame, Triangles per frame and Primitives per frame.
- gDEBugger iPhone public beta release. More information about gDEBugger iPhone is available here.
- The Textures and Buffers viewer now has "back" and "forward" buttons for easier navigation.
- Display list information in the Graphic Memory Analysis viewer: Number of vertices stored in the display list and a size estimate based on this amount.
- The Statistics viewer's bar graph now shows bar information as tooltips. Clicking on the bars displays the relevant information.
- Support for Objective-C in the Source Code Viewer.
- iPhone: gDEBugger now works with the iPhone SDK version 3.0.
- Linux: the GLX_SGIX_pbuffer extension is now supported.
Changed:
- When creating a new workspace or changing the executable in the Debug Settings dialog, the new workspace is now automatically saved.
- The Source Code viewer now highlights OpenGL constants (such as GLenum values) in addition to OpenGL functions.
- When closing or changing the selection in the Shaders' Source Code editor, it is now possible to ignore modifications and revert to the shaders last saved source.
- The Startup dialog now displays icons next to each project, signifying whether projects are OpenGL or OpenGL ES.
- Statistics Viewer tab titles were shortened for easier navigation.
- Clicking the Zoom buttons in the Textures and Buffers viewer zooms to the center of the current view instead of the top left corner.
- Project Type selection (OpenGL/OpenGL ES) is now performed on the first page of the New Workspace wizard.
- "Stub Fragment Shaders" and "Stub Geometry Shaders" modes are not available in OpenGL ES projects.
Fixed bugs:
- Major improvements in overall stability and memory consumption.
- gDEBugger would sometimes crash when changing tabs in the Statistics viewer.
- Several state variable values were shown as integers instead of as GLenum values.
- Some of gDEBugger's keyboard shortcuts would not work correctly at times.
- Setting "Break on Deprecated Functions" while working in Analyze mode would sometimes break on the same function twice.
- Calls to glVertexPointer were sometimes erroneously reported as redundant.
- Clicking a PBuffer static buffer or an FBO attachment in the Textures and Buffers viewer thumbnail view would show the textures thumbnail view instead of the buffer.
- When Zooming in on cube map textures in the Texutres and Buffers viewer, Image view would not allow scrolling.
- FBO properties were not shown in the Textures and Buffers viewer.
- Applications using FBOs would sometimes show Static buffers data incorrectly in the Textures and Buffers viewer.
- Keyboard navigation in the Textures and Buffer trees and the Graphic Memory Analysis viewer tree is now possible- Viewing VBOs in the Textures and Buffers viewer would sometimes cause false glGetBufferSubData function calls to appear in the Function Calls History view and other application views.
- Failing to update a single performance counter value would cause failure to update all other performance counter values.
- ES no longer reports deprecated functions, as OpenGL ES does not define a deprecation model.
- Linux + Mac: The calls stack view would sometimes appear empty on break.
- Linux + Mac: The Statistics viewer Chart and Properties views would sometimes show information related to the wrong tab when the process run was suspended.
- Mac: The Functions Types Statistics view graph would sometimes show the bars as too tall (without relation to the total number of calls).
- Mac: gDEBugger's main frame sometimes showed the wrong cursor shape after hovering over toolbars.
- iPhone: All texture mipmap levels were shown in the Textures and Buffers viewer as containing random data, and their properties reported all of them to be the same size as texture level 1.
- iPhone: Viewing static buffers in the Textures and Buffers viewer would sometimes cause false glPixelStorei function calls to appear in the Function Calls History view.
- Linux: Open Scene Graph-based applications would crash at startup when using the latest Open Scene Graph versions.
- Linux: The Request Trial License dialog would not show it buttons after clicking the "More >>" button.
Version 5.1 Added:
- The Textures and Buffers viewer now displays Vertex Buffer Objects (VBOs). The Data View tab displays the selected VBO's data in a spreadsheet.
- A message box that notifies the user when there is not enough memory left for logging monitored function calls.
Changed:
- All buffers are now displayed in a single pane inside the Textures and Buffers viewer.
- The Textures and Buffers viewer now orders items using a tree UI control.
- Textures and Buffers items icons were changed.
Fixed bugs:
- The Graphic Memory Analysis viewer would sometimes display memory sizes significantly too small for static buffers and VBOs.
- The Textures and Buffers viewer's Properties view would sometimes display certain texture parameters twice (and on some occasions, with different values).
- A crash when displaying shaders that have very long lines.
- A crash on initialization when using a trial license.
- Using the "Break on Deprecated Functions" option in Analyze Mode would sometimes result in forward-compatible functions being wrongly reported deprecated.
- Linux: gDEBugger's debug log file sometimes contained thousands of lines describing an error while reading graphic object's creation call stack.
Version 5.0 Added:
- OpenGL 3.0 support: gDEBugger now supports OpenGL 3.0 render contexts.
- OpenGL Deprecation Model support:
- The Statistics Viewer now contains a Deprecated Function Statistics tab. This tab displays information about deprecated functions and deprecated behaviors used by the debugged application. This tab also suggests forward-compatible replacements to each deprecated feature.
- Break on Deprecated Functions option was added. This allow breaking the debugged application run whenever a deprecated function is called and whenever a deprecated behavior is used by the debugged program.
- Render Context Information dialog was added. This dialog displays render context information such as OpenGL version, Shading language version, resource sharing as well as pixel format information.
- Frame Time Counter (measured in milliseconds per frame).
- Support for GLSL 1.30 and 1.40.
- Windows - Added support for the following extensions WGL_NV_present_video, WGL_NV_video_out, WGL_NV_swap_group, WGL_NV_gpu_affinity, WGL_AMD_gpu_association.
- Windows - Vertical Sync is now automatically disabled by gDEBugger. This enables profiling the debugger application "theoretical" performance (when the application flushes drawables without regard to the monitor's vertical refresh rate).
- Windows - When using gDEBugger with NVIDIA hardware and appropriate drivers, NVIDIA driver instrumentation is automatically enabled (and restored to its original condition when exiting gDEBugger).
- Linux - The System Information dialog OpenGL Extensions tab now displays also GLX extensions.
Changed:
- The Performance Dashboard view now displays a compact representations for large performance counter values (For example, "10.5K" instead of "10,500").
- When using the "Break on Redundant State Changes" option, the Debugged Process Events view displays a more accurate message: "stopped after exectuing glXXXX" instead of "stopped before executing glXXXX".
- Linux - Debugged process output strings (via stdout) are now reported separately from GDB's own output strings.
- When running on a machine that has more than 1 CPU, the default displayed performance counter list now includes "CPUs Average Utilization" instead of "CPU 0 Utilization".
Fixed bugs:
- glEnable and glDisable calls were sometimes marked as redundant after they did change a state variable value.
- Removing many performance counters at once sometimes caused the wrong counters to disappear from the Performance Graph view.
- gDEBugger would sometimes crash when it failed to retrieve a shader's source code.
- Display lists creation is now logged on the call to glGenLists instead of glNewLists. This solves a bug where calling glNewList many times with the same list name would report duplicate / non-existing lists.
- GL_SAMPLER_2D_RECT_ARB and GL_SAMPLER_2D_RECT_SHADOW_ARB uniform types are now handled correctly.
- Compiling a shader that was already compiled would report a false failure.
- Improved overall memory consumption of gDEBugger.
- The Properties view would sometimes display an empty box instead of the Programs / Shaders icon.
- Some GLenum paramter values were displayed as numbers instead of their enumerator names.
- The Textures and Buffers and Graphic Memory Analysis Viewer would sometimes falsely display the warning about mismatching requested and used internal formats.
- The State Variables Comparison Viewer would update each time it was opened (instead of once per debugged application suspension).
- Fixed several minor bugs with the way VBOs were handled (creation, deletion, reporting as memory leaks, etc.).
- When changing the execution mode from gDEBugger's View menu, the Execution mode toolbar was not always updated properly.
- The Shaders Source Code Editor panes positions were sometimes saved incorrectly in the layouts file.
- Using the "Force Stub Textures" Mode with applications that use manual mipmaps would sometimes cause the debugged application to crash.
- The Enum statistics for glDrawArraysInstanced[ARB|EXT] and glDrawElementsInstanced[ARB|EXT] were not logged properly.
- Mac - The Check for Updates Results dialog would sometimes not allow pressing the "Download" button.
- Linux - Render contexts created using glXCreateContextWithConfigSGIX (GLX_SGIX_fbconfig extension) were not logged correctly by gDEBugger.
- Linux - The Calls Stack and Source Code viewer displayed the source code line associated with the instruction that comes after the executed instruction.
- Linux - When debugging multi-threaded applications, gDEBugger would sometimes fail to display texture images and debugged application threads' data.
- Linux - gDEBugger would sometimes crash when the debugged application crashed.
- Linux - The Call Stack view did not display module names.
Version 4.5 Added:
- The Textures and Buffers viewer now displays Texture mipmap levels. The user can browse the different mipmap levels using the Mipmaps slider.
- GL_EXT_texture_array support: texture arrays can now be viewed in the Textures and Buffers viewer using the Texture Layer slider.
- NV_texture_shader extension support: The Graphic Memory Analysis viewer now calculates the sizes of objects created with the NV_texture_shader extension.
- The Graphic Memory Analysis viewer now displays the number of texture mipmaps as well as their kind.
- The ability to disable the collection of allocated objects creation calls stack (Tools -> Options -> Call Stack tab). This improves Debug Mode performance in some cases when many graphic memory objects are allocated.
- The Shaders Source Code Editor now highlights GLSL 1.3 reserved words and built-in uniforms.
Changed:
- The performance of the Textures and Buffers viewer "All Textures" pane was improved; the texture thumbnails are now updated and displayed faster.
- The State Variables Comparison viewer is now resizable.
- The gDEBugger floating license server now releases its checked out license after 20-30 seconds when gDEBugger exits unexpectedly (gDEBugger Floating License Server update required).
- 3DLabs performance counters support was removed.
- Linux: The Debugged Process Events view now reports and displays gdb errors.
- Linux: The debugged process call stack is now parsed faster.
Fixed bugs:
- Display lists were not marked as deleted after calling glDeleteLists. This caused gDEBugger to mistakenly report allocated display lists as graphic memory leaks.
- When debugging applications with a great number of Textures (more than 1000
- 1500), the Graphic Memory Analysis viewer would sometimes hang.
- Texture mipmap levels, generated by glGenerateMipmapEXT and glGenerateMipmap were not logged and their memory size was not taken into account.
- The sizes of Static buffers were sometimes incorrectly shown as -1.
- gDEBugger would sometimes get stuck when debugging .NET OpenGL based applications.
- gDEBugger would sometimes operate incorrectly when moving back and forth between "Eliminate Fragment Shaders" and "Eliminate Geometry Shaders" modes.
- When using the "Break on NVIDIA GLExpert Reports" option, GLExpert reports were displayed as "Foreign break".
- When using default textures, the Textures and Buffers viewer and Graphic Memory Analysis viewer would display them as textures with large numbers instead of default textures.
- When adding Render Contexts to the gDEBugger Performance Counters tree and then moving between projects, the Performance Counters Dialog would sometimes appear empty.
- The gDEBugger OpenGL server sometimes crashed when it fails to allocate memory for the OpenGL Function Calls History Log.
- Forced modes are now correctly applied before the debugged process starts running.
- In certain scenarios, gDEBugger crashed when pressing the call stack lines of a debugged program that does not have debug information.
- The System Information dialog Pixel Formats tab would show the number of stencil bits instead of the number of accumulation bits.
- The Graphic Memory Analysis viewer now refreshes only once per debugged process resume / break.
- Static buffer image previews were not shown in the memory viewer.
- The Source Code viewer would sometimes crash when reopened after the debugged process was terminated.
- Windows: gDEBugger would get stuck when breaking Java applications' run.
- Windows: STATUS_DLL_NOT_FOUND exceptions (raised when a debugged application is missing a vital dll file) made gDEBugger hang.
- Linux: The debugged application would sometimes hang on exit until gDEBugger's "Stop" button was pressed.
- Linux: gDEBugger would sometimes get stuck when the debugged application ran without interrupts for a few minutes.
- Linux: gDEBugger sometimes got stuck when the debugged process received signals.
- Linux: gDEBugger sometimes hanged on gdb errors.
- Linux: gDEBugger sometimes hanged after the debugged process exit.
- Linux: gDEBugger would sometimes hang when pressing step repeatedly.
Version 4.4 Added:
- Graphic Memory Analysis viewer: this new viewer displays graphic memory allocated objects, their memory consumption and allocation call stacks.
- Graphic Memory leaks detection: gDEBugger automatically checks for graphic memory leaks when a render context is deleted and when the debugged application exits (and is terminated normally). The detected leaks will be displayed inside the Graphic Memory Analysis viewer.
- Break on Graphic Memory leaks: gDEBugger will suspend the debugged application execution whenever graphic memory leaks are detected.
- GL_EXT_texture_shared_exponent full extension support.
- gDEBugger Linux now accepts executables and .gdb files as command line arguments.
- gDEBugger tutorial is now available (Help -> Tutorial). The tutorial is also available online at: /tutorial/.
Changed:
- Cube map texture parameters are now logged and displayed for each cube map face.
- Textures' internal pixel format is now displayed as "requested internal format" and "used internal format" (Textures and Buffers viewer).
- Matrices' values are now formatted in lines, for easier reading.
- gDEBugger's GUI system was upgraded. This mainly affects the toolbars' look and feel.
- New icons were added for several viewers as well as the performance analysis toolbar's commands (disable lights operations, etc.)
Fixed bugs:
- Qt-based applications sometimes crashed when debugged using gDEBugger under Windows Vista.
- gDEBugger sometimes got stuck when debugging .NET OpenGL-based applications.
- GRLicenseServerStatus command line arguments now work under Linux.
- GRLicenseServerStatus can now run at Linux run level 3.
- Dynamic textures' data logging was sometimes not performed after the textures' data was updated.
- gDEBugger sometimes got stuck on Windows when retrieving the data of very large textures.
- Applications that allocated a large number of textures exited slowly.
- Calling glMatrixIndexPointerARB and glVertexAttribDivisor would sometimes cause a crash.
- gDEBugger sometimes got stuck on Linux when opening a file selection dialog.
- gDEBugger sometimes got stuck on Linux when retrieving textures' data.
- The Textures and Buffers viewer sometimes displayed "Unknown texture type" instead of the appropriate texture type although the texture was already bound to a bind target.
- Breakpoints triggered by the "Break on GLExpert reports" mechanism were displayed as "Foreign breakpoints".
- Enhanced viewers' size calculations under Linux.
- GUI Lists were sometimes not drawn on Linux when resizing gDEBugger's windows.
- When breaking on texture-related functions, the debugged application run was suspended after executing the function instead of before the function's execution.
- eglMakeCurrent(EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT) didn't remove the calling thread's current render context.
- Render buffer images are now also updated when the context that contains them is not current to any thread.
- General performance and stability improvements.
Version 4.3 Added:
- Analyze Mode:
- This new mode allows in-depth analysis of the OpenGL usage by tracking redundant state changes and detailed usage statistics.
- "Break on redundant state changes" option allows stopping the debugged process execution immediately after a redundant state change occurs. The Calls Stack View and Source Code Viewer enable easy tracking of the scenario that had lead to the redundant state change.
- A new Execution Mode toolbar enables fast switching between Debug, Profile and Analyze modes.
- Statistics viewer:
- This new viewer holds statistical data about the debugged application's OpenGL usage. It allows a Breakdown of OpenGL functions by their types and names. It displays OpenGL state change related functions usage and redundancy information. The OpenGL Calls History is also presented in this viewer.
- The Function Types Statistics View provides a quick overview of the OpenGL functions usage.
- The Function Calls Statistics View notes unrecommended OpenGL functions, with a detailed explanation of why are they unrecommended and possible alternatives.
- The State Change Statistics View gives in-depth information about the usage of OpenGL State Change functions, including redundancy percentages and amount of redundant / effective calls.
- The Calls History View now marks redundant state changes and get functions (while running in Analyze Mode), to help locating redundant functions.
- New S3 Graphics performance counters support. This powerful integration works on all S3 Graphics hardware, giving very detailed information of the hardware utilization to allow optimizing the OpenGL usage when using S3 Graphics hardware. Performance metrics includes the following counters:
- Occlusion
- Time stamp
- Time stamp disjoint
- VertexIA
- PrimitiveIA
- VS invocation
- GS invocation
- GS Primitive
- Primitives to Raster
- Primitives to Render
- PS invocation
- Occlusion pass
- SO written
- SO need written
- SO overflow
- Video memory
- gDEBugger now supports NVIDIA GLExpert version 2. Note that GLExpert version 1 is no longer supported.
- NVIDIA GLExpert integration can now be enabled / disabled using the GLExpert Settings dialog.
- Added a Frame Step command button, advancing the debugged application to the next Frame Terminator Call.
- New OpenGL extensions support:
- GL_ARB_depth_buffer_float
- GL_ARB_fragment_program_shadow
- GL_ARB_framebuffer_sRGB
- GL_ARB_geometry_shader4
- GL_ARB_half_float_pixel
- GL_ARB_half_float_vertex
- GL_ARB_instanced_arrays
- GL_ARB_map_buffer_range
- GL_ARB_matrix_palette
- GL_ARB_pixel_buffer_object
- GL_ARB_point_parameters
- GL_ARB_texture_buffer_object
- GL_ARB_texture_compression_rgtc
- GL_ARB_texture_float
- GL_ARB_texture_rg
- GL_ARB_transpose_matrix
- GL_ARB_vertex_array_object
- GL_ARB_window_pos
- WGL_ARB_create_context
- WGL_ARB_framebuffer_sRGB
- WGL_ARB_multisample
- WGL_ARB_pixel_format_float
- GLX_ARB_fbconfig_float
- GLX_ARB_framebuffer_sRGB
- GLX_ARB_get_proc_address
- GLX_ARB_multisample
- gDEBugger's online features (request trial license, check for updates and send error report), now support HTTP proxies.
- The Graphic Remedy Floating License Server Status can now be saved as an HTML file by adding the -of=[file path] switch.
Changed:
- Improved gDEBugger's performance when running in Profile Mode.
- Forced Modes are now applied only on Frame Terminator calls.
- Step commands and breakpoints are disabled when running in Profile Mode.
- New GUI Layouts management approach: Layouts are now maintained per execution mode. Only one layout is saved per mode. New Reset GUI Layouts dialog enables resetting each mode's layout.
- The "Break on Detected Errors" option default value is now off.
- In Linux, when a segmentation violation signal (SIGSEGV) is received, the debugged process's crash stack is displayed.
Fixed bugs:
- The debugged application would sometimes crash on ATI Radeon R600 hardware.
- Some debugged applications would crash when switching between Eliminate Geometry Shaders and Eliminate Fragment Shaders modes.
- Sometimes gDEBugger would freeze when restarting a debugged process after stopping the debugged process run.
- When changing the selection in the gDEBugger main frame, sometimes the properties view would not update correctly or the gDEBugger window would flicker.
- The values of the state variable GL_SCISSOR_BOX are now displayed correctly.
- gDEBugger sometimes stopped responding when running for several minutes while using a license server.
- When the frame rate of an application was lower than the performance metrics sample rate, some performance counters would "flash" values of 0.
- Fixed a crash that sometimes occurred when running gDEBugger with a Mesa software renderer.
- The Linux version of gDEBugger would freeze if trying to debug on a machine which did not have gdb installed.
- Interactive Break and Front Interactive modes (Interactive Mode Toolbar) now work properly on Linux.
- Fixed an issue which prevented the Source Code Viewer and Calls Stack View from working correctly on some Linux variants.
- The gDEBugger OpenGL server would rarely crash on some Linux machines with a segmentation violation.
- The Graphic Remedy License Server Daemon now runs properly as a Linux system service, as well as during boot time.
- Solved a problem related to reading gdb thread IDs.
- wglShareLists now works correctly when sharing data between more than two render contexts.
- Fixed a bug regarding gDEBugger ES licenses which sometimes caused gDEBugger not to recognize licenses.
- The New Workspace Wizard would sometimes encounter problems when switching between OpenGL and OpenGL ES projects.
- Fixed various problems with keyboard shortcuts and mnemonics.
Version 4.2 Added:
- Full support for Frame Buffers Objects (FBOs):
- FBOs and Render Buffer Objects are now displayed in the Textures and Buffers viewer.
- Display of Framebuffer objects attachment points (depth, color and stencil) and attached objects.
- Render Buffers data is displayed as an image and raw data.
- Full support for OpenGL context sharing:
- Shared objects that are shared using wglShareLists and glXCreateContext are now displayed in each and every render context that shares them.
- NVIDIA GLExpert version 2.0 is now supported (included in NVPerfSDK 6.0). Please note that older GLExpert drivers are no longer supported.
- GLX functions arguments are now fully logged.
- Programs and Shaders editor Parameters related to geometry shaders (GL_GEOMETRY_INPUT_TYPE_EXT, GL_GEOMETRY_OUTPUT_TYPE_EXT, GL_GEOMETRY_VERTICES_OUT_EXT) are now displayed.
- Tools -> System Information was added to gDEBugger Linux. This dialog displays graphic card and driver details; available pixel formats (visuals), available OpenGL extensions and more.
- Right-click -> Add / Remove breakpoint was added to the OpenGL Function Calls History view.
- Ctrl+N now open the Create New Project wizard.
- Delete key now works in State Variables dialog and Breakpoints dialog.
Changed:
- Debugged Process Threads combo box The thread number is now displayed along with the operating system thread id.
- The Render Contexts combo box now displays render contexts sharing information.
Fixed bugs:
- In some cases, on Windows XP, Performance Counters dialog -> Add Other OS counters did not add the counters.
- Floating windows panes were not hidden when their window was hidden.
- Add State Variable - gDEBugger froze when selecting for display a very large amount of State Variables.
- Debug -> Debug settings -> Operating System Environment Variables now support environment variables that contain semicolon (;).
- False detected error reports were removed from gDEBugger's detected error mechanism (AP_OBJECT_NAME_DOES_NOT_EXIST_ERROR).
- gDEBugger's OpenGL server crashed when calling glShaderSource with a string array that contains an empty string.
- OpenGL allocated texture names began with number 6 instead of number 1. This also fixed problems that occurred when debugging applications that allocate textures using glBindTexture.
- wglShareLists sometimes failed when the debugged application called wglMakeCurrent before calling wglShareLists.
- gDEBuger Linux sometimes froze when pressing step command (F11) continuously.
- Detected error: "The debugged process asked for an extension function pointer X from one render context Y" was removed from gDEBugger Linux.
- glFinish was not functioning as a gDEBugger frame terminator.
- gDEBugger froze when the License Manager was pointing a none valid Floating License server.
- When forcing Stub Geometry Shader, gDEBugger's OpenGL Server now logs changes to uniforms values.
- gDEBugger sometimes failed to debug applications that use wxWidgets libraries.
- Graphic Remedy's OpenGL ES implementation (libGLES_CM.dll) now export all OpenGL ES functions as "C" functions.
- Texture objects images that are attached to FBOs are now updated and displayed correctly.
- Textures created by glBindTexture were sometimes ignored.
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 / buffers image to disk.
- Enables saving texture / buffers 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.
- NVIDIAs 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.