glmark2 2023.01 (20230119) ========================== * Add gbm-gl/glesv2 flavors for GBM offscreen rendering. * Add x11-gl-egl flavor that uses EGL under X11. * Implement SwapInterval 0 for the DRM backend. * Support multisampled configs in --visual-config. * Support explicitly specifying the config id in --visual-config. * Add CPU time and shader compilation time to available results. * Add --results to specify which kind of results to report. * Add --results-file to export results to XML or CSV. * Add --version command-line option. glmark2 2021.12 (20211223) ========================== * Fix crash with NVIDIA OpenGL driver. * Fix issues when running with the Wayland backend under Sway. * Gracefully handle missing GL features. * Fix model loading on big-endian systems. * Support EGL versions < 1.4. * Fix crash with the DRM backend when we can't become DRM master. glmark2 2021.02 (20210215) ========================== * Meson build system support for DRM/X11/Wayland builds. * Fix precision handling in various fragment shaders. * Fix spurious failures when using --validate. * Always draw to the correct, offscreen buffer when using --off-screen. * Don't prefer framebuffer formats with more than 8 bytes per component. * Add basic mouse and keyboard support on Wayland. glmark2 2020.04 (20200428) ========================== * Port Wayland flavor to xdg-shell window management. * Support recent Android SDK/NDK versions. * Add support for Windows via WGL and ANGLE-EGL. * Support Raspberry Pi's dispmanx. * Use glad for GL headers and dynamic GL library loading. * Add --data-path command-line option to set data path at runtime. * Add 'nframes' scene option to limit the number of rendered frames. * Add F-Droid/fastlane metadata. glmark2 2017.07 (20170728) ========================== * Use monotonic clock for benchmark timings. * Use udev to find the best node path to use in the DRM backend. * Don't rebuild common source needlessly. * Build in C++14 mode. glmark2 2014.03 (20140310) ========================== * Refactor canvas code to make it easier to support new platforms. * Add Wayland backend. * Add Mir backend. * Add a new 'cel' (or 'toon') shading model (scene 'shading'). * Add a new 'clear' scene, which just clears the canvas. * Improve support for the Wavefront .obj file format. glmark2 2012.12 (20121218) ========================== * Add a refraction (2 interface) and reflection benchmark (scene 'reflect'). * Add a new canvas object which allows rendering to GBM managed surfaces and page flipping to DRM managed framebuffer from a console. * Enhancements to visual config mechanism to consider stencil size in the selection criteria and to query all config attribs. glmark2 2012.11 (20121126) ========================== * Add a shadow mapping benchmark (scene 'shadow'). * Consolidate EGL interactions into a separate state object. glmark2 2012.08 (20120817) ========================== * Display benchmark results in the Android GUI. * Add an Android option menu offering load/save/delete benchmark list functionality, access to last benchmark results, settings and information about glmark2. * Properly handle spaces in scene options on Android. * Exclude from score calculation benchmarks whose set up wasn't successful. * Display an appropriate message (instead of a 0 FPS value) if benchmark set up isn't successful. * Add support for standard GNU installation directories. glmark2 2012.07 (20120719) ========================== * Add Android GUI for defining and running benchmarks. * Add benchmark based on the WebGL jellyfish demo (scene 'jellyfish'). * Add benchmark based on the WebGL dynamic terrain demo (scene 'terrain'). * Extend texture scene with the option to compute texture coordinates in the shader (option 'texgen'). * Add support for reading texture data from JPEG files. * Properly support options that have a finite set of acceptable values. glmark2 2012.06 (20120621) ========================== * Add command-line option to render in fullscreen mode (--fullscreen). * Display the frame time in addition to the FPS for each benchmark. glmark2 2012.05 (20120524) ========================== * Add benchmark based on the SGI "Ideas in Motion" demo. * Ensure that the framebuffer is drawn opaquely. * Add command-line option to configure the visual used for rendering (--visual-config). * Add support for additional models and textures in the 'texture' scene. glmark2 2012.03 (20120322) ========================== * X11: - Support rendering to an off-screen surface (--off-screen). - Add command-line option to select which method to use to "end" a frame (--frame-end). glmark2 2012.02 (20120216) ========================== * Consolidate X11 and Android main loops. * Accept command-line options on Android through either a file ('/data/glmark2/args') or an extra intent key ('args'). * Support per-scene options for displaying an FPS count on screen (show-fps, fps-pos, fps-size), and remove --show-fps command-line option. * Support per-scene options for displaying a benchmark title on screen (title, title-pos, title-size). * Add command-line option to run benchmarks indefinitely (--run-forever). * Add command-line option to annotate the benchmarks with on-screen information (--annotate == -b :show-fps=true:title=#info#). * Move various utility classes to libmatrix. * Fix build issues on Android ICS. glmark2 2012.01 (20120119) ========================== * X11: - Run each benchmark in a fresh GL context. Use --reuse-context to revert to the old default behavior of using the same context for all benchmarks. - Add option for showing a live FPS counter on screen (--show-fps). - If the list of benchmarks to run contains only option-setting descriptions, run the default benchmarks. * Android: - Fix crash on platforms not supporting glMapBufferOES. - Log the glmark2 score when finishing. - Log an error message if we fail to find a suitable EGLContext. - Implement various stability improvements. glmark2 2011.12 (20111215) ========================== * Add benchmark for bilinear filtering implemented in the fragment shader (not included in the default benchmarks). * Ensure we don't call any GL functions before binding a GL context. * Fix bug in the ShaderSource object that could lead to shader compilation errors in strict OpenGL ES 2.0 implementations. * Refactor scene update code to reduce duplication. glmark2 2011.11 (20111116) ========================== * Add benchmark for bump mapping using a height map. * Add benchmark for bump mapping using a tangent space normal map (not included in the default benchmarks). * Implement validation support for all default benchmarks. * Add a colored prefix to log messages in debug mode. * Clean up and refactor code. glmark2 2011.10 (20111018) ========================== * Add benchmark for buffer (VBO) updates. * Add benchmark for drop-shadow desktop effect. * Add support for glmark2 extra large models. * Enable the selection of additional models in the shading benchmark. * Gracefully handle unsupported OpenGL versions, on both X11 and Android. * Disable screen dimming and screen rotation on Android. glmark2 2011.09 (20110921) ========================== * Add benchmark for blur desktop effect. * Add support for multiple lights in the phong shading benchmark. * Add support for loading models from OBJ geometry files. * Add Stanford Bunny model and make it available in the build benchmark. * Add per-scene options to set shader precision at runtime. * Add command-line option to specify the benchmarks to run using a text file. glmark2 2011.08 (20110818) ========================== * Port to Android (see INSTALL.android). * Add benchmark based on pulsar X11 GL screensaver. * Add benchmark for 2D image processing using the GPU. * Add command line option to set the size of the output window (-s, --size). * Implement ShaderSource object to simplify complex shader creation. * Implement utility functions to access resources in an abstract way. glmark2 2011.07 (20110719) ========================== * Replace SDL with custom window handling code. * Add benchmark for shader conditionals. * Add benchmark for shader function calls. * Add benchmark for shader loops. * Add benchmark for real phong (vs blinn-phong) lighting model. * Add benchmark for normal mapping. * Refactor Mesh class to increase flexibility in vertex attribute handling. glmark2 2011.06 (20110624) ========================== * Improve benchmark versatility by allowing runtime-configurable, per-scene options. * Add command line option to list avalaible scenes and their supported options (-l,--list-scenes). * Allow specifying the scenes to run and their options from the command line (-b,--benchmark). * Add basic output validation functionality (--validate). * Add command line option to call glFinish() instead of swapping the front and back buffers (--no-swap-buffers). * Manually disable VSync for GL/GLX (work around an SDL bug). * Replace custom math and shader infrastructure with functionality provided by LibMatrix (lp:libmatrix). * Improve user documentation (--help and man page). glmark2 11.05 (20110530) ========================== * Don't use the SDL_OPENGL flag for GLESv2 (LP: #761848). * Ensure our screen updates are not synchronized with the vertical retrace (LP: 761855). * Use the correct GL headers depending on the flavor (desktop vs ES2). * Query the correct GL object for shader linking status. glmark2 11.01 (20110125) ========================== * Fix visual corruption in glmark2-es2 due to missing depth buffer. * Fix linking issues with gcc 4.5. * Use correct GL functions to manipulate shaders vs programs. * Make result reporting more parser-friendly. * Upgrade build system to waf 1.6.2. glmark2 10.07.1 (20100728) ========================== * Define the precision of fragment shader variables for OpenGL ES 2.0. glmark2 10.07 (20100715) ======================== * First release. * Included benchmarks: - Rendering using vertex arrays - Rendering using VBOs - Texturing using nearest filtering - Texturing using linear filtering - Texturing using trilinear mipmapped filtering - Lighting per vertex using simple GLSL shaders - Lighting per pixel using elaborate GLSL shaders