WAFFLE_GET_PROC_ADDR(3)

πŸ’– WAFFLE_GET_PROC_ADDR πŸ’–

okay so bestie, we're in the Waffle Manual section, and today's main character is waffle_get_proc_address(3) β€” the little function that goes "hey, where does this OpenGL function live?" and hands you back an address. let's get into it 🫢


✨ NAME ✨

waffle_get_proc_address β€” like, ask nicely for the address of OpenGL functions πŸ’…


🌸 SYNOPSIS 🌸

#include <waffle.h>

void* waffle_get_proc_address(const char *name);

πŸ¦‹ DESCRIPTION πŸ¦‹

so waffle_get_proc_address() is a little bit of a shape-shifter, no cap. here's the tea per platform:

  • On GLX, this redirects to glXGetProcAddress(3). slay.
  • On EGL, this redirects to eglGetProcAddress(3). also slay.
  • On CGL, this function returns NULL because there exists no CGLGetProcAdress(). 😭 tragic, i know.
  • On WGL, this redirects to wglGetProcAddress(3). back to slaying.
lowkey some aspects of this function's behavior are platform-specific and non-intuitive. for example:
  • If the queried function is not available, waffle_get_proc_address() may return a non-null pointer. ikr. 🫠
  • If the queried function is statically exposed by the OpenGL library of a given API, then waffle_get_proc_address() may return a NULL.
  • Under Windows (WGL) a current context must be available before executing the function. otherwise waffle_get_proc_address() may return a NULL. no context, no address, that's the vibe check. πŸ’€

if you want the full details on this function's behavior, go read the spec for the relevant platform, bestie: the GLX 1.4 Specification[1], the EGL 1.4 Specification[2], or the MSDN article[3]. iykyk πŸ“š


πŸ™ˆ ERRORS πŸ™ˆ

hit up waffle_error(3) for the complete list of waffle's error codes. ✨

but fr fr β€” no errors are specific to any functions listed in this manual page. clean. no drama. πŸŽ€


πŸ’€ ISSUES πŸ’€

please report bugs or and feature requests to https://gitlab.freedesktop.org/mesa/waffle/issues. we're listening 🫢


πŸ‘‘ SEE ALSO πŸ‘‘

waffle(7), waffle_dl_sym(3)


🌈 AUTHOR 🌈

Chad Versace <chad.versace@linux.intel.com>

  • Former maintainer πŸ’œ

Copyright Β© 2013 Intel

This manual page is licensed under the Creative Commons Attribution-ShareAlike 3.0 United States License (CC BY-SA 3.0). To view a copy of this license, visit http://creativecommons.org.license/by-sa/3.0/us.


⭐ NOTES ⭐

  1. GLX 1.4 Specification http://www.opengl.org/registry/doc/glx1.4.pdf
  2. EGL 1.4 Specification http://www.khronos.org/registry/egl/specs/eglspec.1.4.20110406.pdf
  3. MSDN article http://msdn.microsoft.com/en-gb/library/windows/desktop/dd374386(v=vs.85).aspx

and that's the whole page, bestie πŸ’– this was waffle manual page material, dated 07/06/2026 (yes the source/version line said waffle and 07/06/2026, iconic), and you were reading WAFFLE_GET_PROC_ADDR(3) the entire time. go query some function addresses, ily, bye 🧚✨

πŸ“¦ where this page comes from