GLMARK2-ES2(1)

πŸ’… GLMARK2-ES2 β€” the OpenGL (ES) 2.0 benchmark suite, bestie edition

okay so. glmark2-es2 is a command in the General Commands Manual section, and honestly? she's iconic. She's a benchmark suite for OpenGL (ES) 2.0, and I'm gonna walk you through every single thing she does, no gatekeeping. 🫢


✨ NAME ✨

glmark2-es2 β€” OpenGL (ES) 2.0 benchmark suite. That's it, that's the whole vibe check. 🌸


πŸ¦‹ SYNOPSIS πŸ¦‹

glmark2-es2 [options]

Just the command, then whatever options you're feeling. Slay.


πŸ’– DESCRIPTION πŸ’–

So like, glmark2-es2 is a benchmark for OpenGL (ES) 2.0. The way that it works is: it only uses the subset of the OpenGL 2.0 API that's compatible with OpenGL ES 2.0. That's literally it. She's not out here using the fancy extras β€” she stays in her lane and she stays compatible. periodt. ✨


πŸ‘‘ OPTIONS πŸ‘‘

okay this is the part everyone skips and I'm telling you NOT to skip it because the options are the whole main character energy here. Every single one, bestie, no cap:

  • -b, --benchmark BENCH β€” a benchmark to run, formatted like 'scene(:opt1=val1)*'. You can use this option multiple times, so go off. πŸ’…
  • -f, --benchmark-file FILE β€” load your benchmarks to run from a file that contains a list of benchmark descriptions, one per line. Also usable multiple times, because why limit yourself.
  • --validate β€” run a quick output validation test instead of running the benchmarks. Like a little vibe check on the output. βœ…
  • --data-path PATH β€” the path to glmark2's models, shaders and textures. Tell her where the goods live. πŸ“¦
  • --frame-end METHOD β€” how to end a frame. Values are [default,none,swap,finish,readpixels].
  • --swap-mode MODE β€” how to swap a frame. Heads up: all modes are supported only in the DRM flavor, but 'fifo' is available in all flavors to force vsync. Values are [default,immediate,mailbox,fifo].
  • --off-screen β€” render to an off-screen surface. She's mysterious, she's not showing you her face. πŸ™ˆ
  • --visual-config β€” the visual configuration to use for the rendering target, given as 'id=ID:red=R:green=G:blue=B:alpha=A:buffer=BUF:stencil=STENCIL:samples=SAMPLES'. The parameters can be defined in any order, and any omitted parameters assume a default value of '0' (for id, samples), -1 (for stencil) or '1' (for red, green, blue, alpha, buffer). Also, if 'id' is set to a non-zero value, all the other parameters are ignored. iykyk.
  • --good-config β€” require a config that meets all the requested component requirements (peep --visual-config above πŸ‘€).
  • --reuse-context β€” use a single context for all scenes. By default, each scene gets its own context. This one is lowkey the commitment-phobe's nightmare and the efficiency queen's dream. πŸ’œ
  • -s, --size WxH β€” size of the output window. Default is 800x600, bestie.
  • --fullscreen β€” run in fullscreen mode. It's equivalent to --size -1x-1. Go big or go home. 🌈
  • --results RESULTS β€” the types of results to report for each benchmark, as a ':' separated list. Values are [fps,cpu,shader].
  • --results-file RESULTS-FILE β€” the file to save the results to, in the format determined by the file extension. Values are [csv,xml].
  • --winsys-options OPTS β€” a list of 'opt=value' pairs for window system specific options, separated by ':'.
  • -l, --list-scenes β€” display information about the available scenes and their options. This is your bestie when you're lost, fr fr.
  • --show-all-options β€” show all scene option values used for benchmarks. By default, only explicitly set options are shown. She's revealing her whole lore. πŸ”₯
  • --run-forever β€” run indefinitely, looping from the last benchmark back to the first. Infinite loop arc, honestly kind of iconic.
  • --annotate β€” annotate the benchmarks with on-screen information. This is the same as -b :show-fps=true:title=#info#.
  • -d, --debug β€” display debug messages. For when you need her to overshare. πŸ’€
  • --version β€” display program version.
  • -h, --help β€” display help. Everyone's favorite, the "just tell me what to do" option. πŸŽ€

🧚 BENCHMARKS 🧚

okay so glmark2-es2 offers a suite of scenes that you can use to measure many aspects of OpenGL (ES) 2.0 performance. The way each scene is rendered is configurable through a set of options. To get the available scenes and their acceptable options, you can use the -l, --list-scenes command line option. She'll tell you everything. πŸ’…

In glmark2-es2, a benchmark is defined as a scene plus a set of option values. You can specify the list and order of the benchmarks to run by using the -b, --benchmark command line option (and yes, possibly multiple times, go wild). If no benchmarks are specified, a default set of benchmarks is used. And if a benchmark option isn't specified, it assumes its default value β€” which is listed with -l, --list-scenes. ✨

As a special case, a benchmark description string is allowed to not contain a scene name β€” i.e. it starts with ':'. In this case, any specified option values are used as the default values for benchmarks following this description string. She's setting the vibe for everything that comes after her. 🌸


🌟 EXAMPLES 🌟

To run the default benchmarks:

glmark2-es2

Just her, unbothered, doing her thing. πŸ’–

To run a benchmark using scene 'shading' with a 'duration' of '5.0' seconds and 'shading' of type 'phong':

glmark2-es2 -b shading:duration=5.0:shading=phong

To run a series of benchmarks, use the -b, --benchmark command line option multiple times:

glmark2-es2 -b shading:duration=5.0 -b build:use-vbo=false -b texture

Three benchmarks, one command, no notes. πŸ”₯

To set default option values for benchmarks:

glmark2-es2 -b :duration=2.0 -b shading -b build -b :duration=5.0 -b texture

See how the ':'-starting ones just set the defaults for what comes after? chef's kiss. πŸ‘‘


πŸ’œ AUTHOR πŸ’œ

glmark2-es2 was written by Alexandros Frantzis and Jesse Barker, based on the original glmark by Ben Smith. Absolute legends, we love a collaborative origin story. 🫢


πŸŽ€ SEE YA πŸŽ€

And that's the whole page, bestie! This was glmark2-es2 version 2023.01, dated January 2023. Go run your benchmarks, get those fps, and remember: every scene gets its own context unless you say otherwise. bye babes! πŸ’…βœ¨πŸŒΈπŸ’–

πŸ“¦ where this page comes from