diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,50 @@
 # Changelog — sdl3-bindgen-sys
 
+## Unreleased
+
+## 0.0.0.3 - 2026-09-13
+
+### Added
+
+- Cabal flag `abi-assertions-exact` (default off): asserts every `sizeof`
+  exactly, including the union-member structs the default checks as a
+  prefix. For maintainers checking the bindings against a newer SDL;
+  consumers should leave it off.
+
+### Fixed
+
+- ABI check fixed for every SDL from 3.2.0 to 3.4.16. In 3.4.16,
+  `SDL_PenProximityEvent` gained a new `pen_state` member, which caused
+  the previous (stricter) ABI check to fail on the new version.
+
+### Changed
+
+- ABI assertions: structs that are read only inside a named union
+  (e.g. `SDL_Event` or `SDL_HapticEffect`) are now checked as a prefix
+  of the total layout instead of an exact check. Field offsets and
+  alignments are enforced, but `sizeof` is allowed to increase. The union's
+  size renders this safe, since Haskell must allocate enough room for the whole
+  union, and we still enforce that it is sized equivalently.
+- ABI assertions: below SDL 3.2.12, `SDL_MouseWheelEvent`'s pre-growth
+  layout (48 bytes, 8-aligned) is asserted instead of nothing.
+- ABI assertion messages state the SDL version the bindings were
+  generated from and how to report or fix a mismatch.
+- README: `ABI verification` section (every assertion message pointed
+  at it; it did not exist).
+- README: a native Windows `cabal` recipe (Git Bash against MSYS2
+  UCRT64) next to the Stack one, as reported working by a user.
+- README: correct the function-like macro caveat. hs-bindgen translates
+  macro bodies to Haskell functions on a best-effort basis; 31 of SDL's
+  function-like macros already ship in the raw `SDL3.Sys.Bindgen.*`
+  layer (the curated layer does not alias them yet, and pending
+  hs-bindgen#2184 they take C integer types rather than SDL newtypes),
+  and the rest are unbound rather than unbindable.
+- README: attribute the variadic gap to Haskell's FFI rather than to
+  hs-bindgen.
+
+Thanks to the hs-bindgen team for the correction on [r/haskell](https://www.reddit.com/r/haskell/comments/1v960p9/ann_sdl3bindgensys_machinegenerated_lowlevel/)
+and for their [survey of SDL's macros](https://github.com/dschrempf/hs-bindgen-sdl-survey).
+
 ## 0.0.0.2 - 2026-07-26
 
 Documentation-only patch.
@@ -8,6 +53,7 @@
 
 - README: per-platform install list in Quick start and a
   `Windows set up` section.
+- Add @oddron as a contributor.
 
 Thanks to @oddron in the Haskell GameDev Discord for giving the library
 a try on Windows!
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -24,8 +24,8 @@
   and notes from the code generator's curation layer.
 - **ABI-verified:** A generated translation unit of C `_Static_assert`s
   verifies the library's baked layouts against _your_ SDL at every
-  build — divergence is a compile error naming the declaration, not
-  memory corruption.
+  build. Divergence is a compile error naming the declaration, not
+  memory corruption. See [ABI verification](#abi-verification) for more.
 
 ## Quick start
 
@@ -112,7 +112,7 @@
 1. Run the `pacman` commands above through `stack exec -- pacman ...` so
    that the packages are installed in `stack`'s MSYS2.
 2. Add `msys-environment: UCRT64` to your `stack.yaml`.
-3. Add `sdl3-bindgen-sys-0.0.0.2` to `extra-deps` in your `stack.yaml`. Running
+3. Add `sdl3-bindgen-sys-0.0.0.3` to `extra-deps` in your `stack.yaml`. Running
    `stack build` should print out a helpful, pasteable entry for
    this purpose.
 
@@ -123,10 +123,27 @@
 packages:
   - .
 extra-deps:
-  - sdl3-bindgen-sys-0.0.0.2 # hash may be here if you copy from stack build
+  - sdl3-bindgen-sys-0.0.0.3 # hash may be here if you copy from stack build
 msys-environment: UCRT64 # important: build will not work without this
 ```
 
+##### Direct cabal build using an MSYS2 Bash session (e.g., Git Bash)
+
+This can additionally be used with Git bash. You can point `cabal` at the
+UCRT64 toolchain and your ghcup GHC:
+
+```sh
+export PKG_CONFIG_PATH="/c/msys64/ucrt64/lib/pkgconfig"
+export PATH="/c/msys64/ucrt64/bin:$PATH"
+cabal build \
+  --with-compiler=/c/ghcup/ghc/9.12.2/bin/ghc.exe \
+  --extra-lib-dirs=/c/msys64/ucrt64/lib \
+  --extra-include-dirs=/c/msys64/ucrt64/include
+```
+
+Adjust the GHC path to match your install. This provides a simple way to build
+and run the examples.
+
 ## Library structure
 
 For most uses, you will `import SDL3.Sys qualified as SDL3`.
@@ -202,15 +219,28 @@
 
 Known gaps, so you can discover them here instead of mid-build:
 
-- **Variadic functions** — hs-bindgen skips them. That means the
-  `SDL_Log` family (including the `V`-suffixed `va_list` variants),
-  `SDL_SetError`, and `SDL_RenderDebugTextFormat` (the fixed-string
-  `SDL_RenderDebugText` _is_ bound). For logging, format in Haskell
-  first and write a one-line `"%s"` C shim if you need SDL's log
-  routing; for `SDL_SetError` there is currently **no workaround** in
-  this package.
-- **Function-like macros** — no linkable symbol exists. Macro
-  _constants_ are bound; see [Typed constants](#typed-constants).
+- **Variadic functions**: Haskell's FFI cannot express C varargs, so
+  hs-bindgen has nothing to bind them to; the `SDL_Log` family,
+  `SDL_SetError`, and `SDL_RenderDebugTextFormat` are currently
+  unbound. In a future version, these will be bound via a fixed-arity
+  C shim.
+- **Most function-like macros**: a macro has no linkable symbol, but
+  hs-bindgen does not need one: it parses and typechecks macro bodies
+  and translates them to Haskell functions on a best-effort basis. From
+  the SDL 3.4.2 headers, 31 function-like macros translate and ship in
+  the raw layer (e.g. `sDL_AUDIO_BITSIZE`, `sDL_VERSION_ATLEAST`,
+  `sDL_DEFINE_PIXELFORMAT`, `sDL_WINDOWPOS_CENTERED_DISPLAY` in
+  `SDL3.Sys.Bindgen.*`). Two caveats: the curated `SDL3.Sys.*` layer
+  does not alias them yet, and pending
+  [hs-bindgen#2184](https://github.com/well-typed/hs-bindgen/issues/2184)
+  they accept only the underlying C integer types, not SDL's newtypes
+  such as `SDL_AudioFormat` (unwrap first). The hs-bindgen
+  team's
+  [survey of SDL's macros](https://github.com/dschrempf/hs-bindgen-sdl-survey)
+  counts 108 user-facing function-like macros, so most remain unbound
+  for now: upstream is extending coverage, and a `capi` import or a C
+  shim can reach the rest. Macro _constants_ are bound; see
+  [Typed constants](#typed-constants).
 - The seven `long`-typed `SDL_stdinc.h` libc clones (`strtol`/`ltoa`
   families, `lround`/`lroundf`): their FFI types cannot be correct on
   both LP64 and LLP64, so they are omitted.
@@ -224,7 +254,7 @@
 The 0.0.x series is experimental: pin to the minor
 (e.g., `>=0.0.0.1 && <0.0.1`) and expect surface-shaping changes.
 
-SDL **>= 3.2.0** is required; the surface is generated from 3.4.2.
+SDL **>= 3.2.0** is required; the surface is generated from 3.4.16.
 Declarations newer than your SDL still compile and link — their wrapper
 C is gated on SDL's own version macros, so calling one on an older SDL
 fails at the call site via `SDL_GetError` (exactly like the Linux-only
@@ -235,14 +265,54 @@
 corrects — where they disagree, the registry wins, and a gated call's
 `SDL_GetError` message states the true floor.
 
-Two semantic deltas to know when running against a 3.2-series SDL:
+Three semantic deltas to know when running against an older SDL:
 
 - `SDL_COLORSPACE_YUV_DEFAULT` is baked at its 3.4 value
   (`BT601_LIMITED`); 3.2 defined it as `JPEG`.
 - Below SDL 3.2.12, `SDL_MouseWheelEvent.integer_x`/`integer_y` read
   bytes SDL never wrote — memory-safe (`SDL_Event` is 128 bytes), but
   meaningless.
+- Below SDL 3.4.16, `SDL_PenProximityEvent.pen_state` likewise reads
+  bytes SDL never wrote.
 
+## ABI verification
+
+The cabal flag `abi-assertions` (default) turns on ABI verification,
+which guards against unexpected layout divergence between SDL3 header
+versions and varying operating systems.
+
+When ABI assertions are on, `cbits/abi_assertions.c` statically checks
+every layout the Haskell side expects against your SDL headers.
+
+### Layouts
+
+- Most structs are asserted at their exact size. A future SDL that expects
+  a bigger allocation for the struct would be an out-of-bounds memory write.
+- Structs the bindings associated _solely_ with a union (like the event structs),
+  are asserted as a prefix. The union's size provides the exact ceiling, so
+  upstream can and will add fields in minors.
+
+Maintainers can build with `-f abi-assertions-exact` to assert every
+`sizeof` exactly. That is how a CI job against a newer SDL flags that
+the bindings need regenerating; consumers should leave it off.
+
+### What to do when you get "static assertion failed"
+
+1. Check your SDL: `pkg-config --modversion sdl3`. SDL >= 3.2.0 is
+   required
+2. Make sure you are on a supported architecture. 32-bit targets are not
+   presently supported (see [Platform support](#platform-support)).
+3. Report it at the [issue tracker](https://github.com/jtnuttall/lithon/issues)
+   with the failing lines, your SDL version, and your platform.
+4. If you are comfortable doing so, open a PR regenerating the bindings
+   from the newer SDL. The
+   [`lithon-codegen` README](https://github.com/jtnuttall/lithon/tree/main/lithon-codegen#sdl3)
+   describes the pipeline.
+
+Building with `-f-abi-assertions` turns off the check, not the
+mismatch: the bindings would then read and write the baked layout
+against headers that disagree with it.
+
 ## Known documentation issues
 
 - A few module overviews absorb the opening of the first declaration's
@@ -255,9 +325,9 @@
 ## Provenance and licensing
 
 Generated by [hs-bindgen](https://github.com/well-typed/hs-bindgen)
-driven by the repository's `lithon-codegen`, from the SDL 3.4.2
+driven by the repository's `lithon-codegen`, from the SDL 3.4.16
 headers. The generated tree is never hand-edited, but bugs are mine, not
-SDL's: report them at the
+SDL's or hs-bindgen's: report them at the
 [issue tracker](https://github.com/jtnuttall/lithon/issues).
 
 - `sdl3-bindgen-sys` is BSD-3-Clause (see `LICENSE`).
diff --git a/cbits/abi_assertions.c b/cbits/abi_assertions.c
--- a/cbits/abi_assertions.c
+++ b/cbits/abi_assertions.c
@@ -5,2710 +5,2735 @@
  * package is compiled with. A failing line means the bindings would
  * corrupt memory under this platform/SDL — the build stops instead.
  * See the package README, section "ABI verification".
- *
- * #if guards mirror each declaration's documented @since — corrected
- * and refined to member granularity by the empirical availability
- * registry (lithon-codegen sdl3/versions.json) — on SDL's own version
- * macros.
- */
-#include <stddef.h>
-
-#define SDL_MAIN_HANDLED
-#include <SDL3/SDL.h>
-#include <SDL3/SDL_vulkan.h>
-#include <SDL3/SDL_main.h>
-
-/* ---- SDL_stdinc.h ---- */
-_Static_assert(sizeof(struct SDL_alignment_test) == 16, "struct SDL_alignment_test: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_alignment_test) == 8, "struct SDL_alignment_test: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_alignment_test, a) == 0, "struct SDL_alignment_test.a: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_alignment_test, b) == 8, "struct SDL_alignment_test.b: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_DUMMY_ENUM) == 4, "enum SDL_DUMMY_ENUM: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_DUMMY_ENUM) == 4, "enum SDL_DUMMY_ENUM: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((DUMMY_ENUM_VALUE) == (0), "DUMMY_ENUM_VALUE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_assert.h ---- */
-_Static_assert(sizeof(enum SDL_AssertState) == 4, "enum SDL_AssertState: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_AssertState) == 4, "enum SDL_AssertState: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ASSERTION_RETRY) == (0), "SDL_ASSERTION_RETRY: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ASSERTION_BREAK) == (1), "SDL_ASSERTION_BREAK: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ASSERTION_ABORT) == (2), "SDL_ASSERTION_ABORT: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ASSERTION_IGNORE) == (3), "SDL_ASSERTION_IGNORE: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ASSERTION_ALWAYS_IGNORE) == (4), "SDL_ASSERTION_ALWAYS_IGNORE: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_AssertData) == 48, "struct SDL_AssertData: baked sizeof 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_AssertData) == 8, "struct SDL_AssertData: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AssertData, always_ignore) == 0, "struct SDL_AssertData.always_ignore: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AssertData, trigger_count) == 4, "struct SDL_AssertData.trigger_count: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AssertData, condition) == 8, "struct SDL_AssertData.condition: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AssertData, filename) == 16, "struct SDL_AssertData.filename: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AssertData, linenum) == 24, "struct SDL_AssertData.linenum: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AssertData, function) == 32, "struct SDL_AssertData.function: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AssertData, next) == 40, "struct SDL_AssertData.next: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_asyncio.h ---- */
-_Static_assert(sizeof(enum SDL_AsyncIOTaskType) == 4, "enum SDL_AsyncIOTaskType: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_AsyncIOTaskType) == 4, "enum SDL_AsyncIOTaskType: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ASYNCIO_TASK_READ) == (0), "SDL_ASYNCIO_TASK_READ: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ASYNCIO_TASK_WRITE) == (1), "SDL_ASYNCIO_TASK_WRITE: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ASYNCIO_TASK_CLOSE) == (2), "SDL_ASYNCIO_TASK_CLOSE: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_AsyncIOResult) == 4, "enum SDL_AsyncIOResult: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_AsyncIOResult) == 4, "enum SDL_AsyncIOResult: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ASYNCIO_COMPLETE) == (0), "SDL_ASYNCIO_COMPLETE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ASYNCIO_FAILURE) == (1), "SDL_ASYNCIO_FAILURE: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ASYNCIO_CANCELED) == (2), "SDL_ASYNCIO_CANCELED: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_AsyncIOOutcome) == 56, "struct SDL_AsyncIOOutcome: baked sizeof 56 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_AsyncIOOutcome) == 8, "struct SDL_AsyncIOOutcome: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AsyncIOOutcome, asyncio) == 0, "struct SDL_AsyncIOOutcome.asyncio: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AsyncIOOutcome, type) == 8, "struct SDL_AsyncIOOutcome.type: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AsyncIOOutcome, result) == 12, "struct SDL_AsyncIOOutcome.result: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AsyncIOOutcome, buffer) == 16, "struct SDL_AsyncIOOutcome.buffer: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AsyncIOOutcome, offset) == 24, "struct SDL_AsyncIOOutcome.offset: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AsyncIOOutcome, bytes_requested) == 32, "struct SDL_AsyncIOOutcome.bytes_requested: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AsyncIOOutcome, bytes_transferred) == 40, "struct SDL_AsyncIOOutcome.bytes_transferred: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AsyncIOOutcome, userdata) == 48, "struct SDL_AsyncIOOutcome.userdata: baked offset 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_atomic.h ---- */
-_Static_assert(sizeof(struct SDL_AtomicInt) == 4, "struct SDL_AtomicInt: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_AtomicInt) == 4, "struct SDL_AtomicInt: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AtomicInt, value) == 0, "struct SDL_AtomicInt.value: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_AtomicU32) == 4, "struct SDL_AtomicU32: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_AtomicU32) == 4, "struct SDL_AtomicU32: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AtomicU32, value) == 0, "struct SDL_AtomicU32.value: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_properties.h ---- */
-_Static_assert(sizeof(enum SDL_PropertyType) == 4, "enum SDL_PropertyType: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_PropertyType) == 4, "enum SDL_PropertyType: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PROPERTY_TYPE_INVALID) == (0), "SDL_PROPERTY_TYPE_INVALID: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PROPERTY_TYPE_POINTER) == (1), "SDL_PROPERTY_TYPE_POINTER: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PROPERTY_TYPE_STRING) == (2), "SDL_PROPERTY_TYPE_STRING: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PROPERTY_TYPE_NUMBER) == (3), "SDL_PROPERTY_TYPE_NUMBER: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PROPERTY_TYPE_FLOAT) == (4), "SDL_PROPERTY_TYPE_FLOAT: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PROPERTY_TYPE_BOOLEAN) == (5), "SDL_PROPERTY_TYPE_BOOLEAN: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_thread.h ---- */
-_Static_assert(sizeof(enum SDL_ThreadPriority) == 4, "enum SDL_ThreadPriority: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_ThreadPriority) == 4, "enum SDL_ThreadPriority: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_THREAD_PRIORITY_LOW) == (0), "SDL_THREAD_PRIORITY_LOW: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_THREAD_PRIORITY_NORMAL) == (1), "SDL_THREAD_PRIORITY_NORMAL: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_THREAD_PRIORITY_HIGH) == (2), "SDL_THREAD_PRIORITY_HIGH: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_THREAD_PRIORITY_TIME_CRITICAL) == (3), "SDL_THREAD_PRIORITY_TIME_CRITICAL: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_ThreadState) == 4, "enum SDL_ThreadState: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_ThreadState) == 4, "enum SDL_ThreadState: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_THREAD_UNKNOWN) == (0), "SDL_THREAD_UNKNOWN: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_THREAD_ALIVE) == (1), "SDL_THREAD_ALIVE: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_THREAD_DETACHED) == (2), "SDL_THREAD_DETACHED: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_THREAD_COMPLETE) == (3), "SDL_THREAD_COMPLETE: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_mutex.h ---- */
-_Static_assert(sizeof(enum SDL_InitStatus) == 4, "enum SDL_InitStatus: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_InitStatus) == 4, "enum SDL_InitStatus: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_INIT_STATUS_UNINITIALIZED) == (0), "SDL_INIT_STATUS_UNINITIALIZED: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_INIT_STATUS_INITIALIZING) == (1), "SDL_INIT_STATUS_INITIALIZING: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_INIT_STATUS_INITIALIZED) == (2), "SDL_INIT_STATUS_INITIALIZED: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_INIT_STATUS_UNINITIALIZING) == (3), "SDL_INIT_STATUS_UNINITIALIZING: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_InitState) == 24, "struct SDL_InitState: baked sizeof 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_InitState) == 8, "struct SDL_InitState: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_InitState, status) == 0, "struct SDL_InitState.status: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_InitState, thread) == 8, "struct SDL_InitState.thread: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_InitState, reserved) == 16, "struct SDL_InitState.reserved: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_iostream.h ---- */
-_Static_assert(sizeof(enum SDL_IOStatus) == 4, "enum SDL_IOStatus: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_IOStatus) == 4, "enum SDL_IOStatus: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_IO_STATUS_READY) == (0), "SDL_IO_STATUS_READY: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_IO_STATUS_ERROR) == (1), "SDL_IO_STATUS_ERROR: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_IO_STATUS_EOF) == (2), "SDL_IO_STATUS_EOF: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_IO_STATUS_NOT_READY) == (3), "SDL_IO_STATUS_NOT_READY: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_IO_STATUS_READONLY) == (4), "SDL_IO_STATUS_READONLY: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_IO_STATUS_WRITEONLY) == (5), "SDL_IO_STATUS_WRITEONLY: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_IOWhence) == 4, "enum SDL_IOWhence: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_IOWhence) == 4, "enum SDL_IOWhence: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_IO_SEEK_SET) == (0), "SDL_IO_SEEK_SET: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_IO_SEEK_CUR) == (1), "SDL_IO_SEEK_CUR: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_IO_SEEK_END) == (2), "SDL_IO_SEEK_END: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_IOStreamInterface) == 56, "struct SDL_IOStreamInterface: baked sizeof 56 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_IOStreamInterface) == 8, "struct SDL_IOStreamInterface: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_IOStreamInterface, version) == 0, "struct SDL_IOStreamInterface.version: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_IOStreamInterface, size) == 8, "struct SDL_IOStreamInterface.size: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_IOStreamInterface, seek) == 16, "struct SDL_IOStreamInterface.seek: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_IOStreamInterface, read) == 24, "struct SDL_IOStreamInterface.read: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_IOStreamInterface, write) == 32, "struct SDL_IOStreamInterface.write: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_IOStreamInterface, flush) == 40, "struct SDL_IOStreamInterface.flush: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_IOStreamInterface, close) == 48, "struct SDL_IOStreamInterface.close: baked offset 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_audio.h ---- */
-_Static_assert(sizeof(enum SDL_AudioFormat) == 4, "enum SDL_AudioFormat: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_AudioFormat) == 4, "enum SDL_AudioFormat: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_AUDIO_UNKNOWN) == (0), "SDL_AUDIO_UNKNOWN: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_AUDIO_U8) == (8), "SDL_AUDIO_U8: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_AUDIO_S8) == (32776), "SDL_AUDIO_S8: baked value 32776 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_AUDIO_S16LE) == (32784), "SDL_AUDIO_S16LE: baked value 32784 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_AUDIO_S16BE) == (36880), "SDL_AUDIO_S16BE: baked value 36880 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_AUDIO_S32LE) == (32800), "SDL_AUDIO_S32LE: baked value 32800 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_AUDIO_S32BE) == (36896), "SDL_AUDIO_S32BE: baked value 36896 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_AUDIO_F32LE) == (33056), "SDL_AUDIO_F32LE: baked value 33056 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_AUDIO_F32BE) == (37152), "SDL_AUDIO_F32BE: baked value 37152 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_AUDIO_S16) == (32784), "SDL_AUDIO_S16: baked value 32784 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_AUDIO_S32) == (32800), "SDL_AUDIO_S32: baked value 32800 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_AUDIO_F32) == (33056), "SDL_AUDIO_F32: baked value 33056 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_AudioSpec) == 12, "struct SDL_AudioSpec: baked sizeof 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_AudioSpec) == 4, "struct SDL_AudioSpec: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AudioSpec, format) == 0, "struct SDL_AudioSpec.format: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AudioSpec, channels) == 4, "struct SDL_AudioSpec.channels: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AudioSpec, freq) == 8, "struct SDL_AudioSpec.freq: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_blendmode.h ---- */
-_Static_assert(sizeof(enum SDL_BlendOperation) == 4, "enum SDL_BlendOperation: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_BlendOperation) == 4, "enum SDL_BlendOperation: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BLENDOPERATION_ADD) == (1), "SDL_BLENDOPERATION_ADD: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BLENDOPERATION_SUBTRACT) == (2), "SDL_BLENDOPERATION_SUBTRACT: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BLENDOPERATION_REV_SUBTRACT) == (3), "SDL_BLENDOPERATION_REV_SUBTRACT: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BLENDOPERATION_MINIMUM) == (4), "SDL_BLENDOPERATION_MINIMUM: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BLENDOPERATION_MAXIMUM) == (5), "SDL_BLENDOPERATION_MAXIMUM: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_BlendFactor) == 4, "enum SDL_BlendFactor: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_BlendFactor) == 4, "enum SDL_BlendFactor: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BLENDFACTOR_ZERO) == (1), "SDL_BLENDFACTOR_ZERO: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BLENDFACTOR_ONE) == (2), "SDL_BLENDFACTOR_ONE: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BLENDFACTOR_SRC_COLOR) == (3), "SDL_BLENDFACTOR_SRC_COLOR: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BLENDFACTOR_ONE_MINUS_SRC_COLOR) == (4), "SDL_BLENDFACTOR_ONE_MINUS_SRC_COLOR: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BLENDFACTOR_SRC_ALPHA) == (5), "SDL_BLENDFACTOR_SRC_ALPHA: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BLENDFACTOR_ONE_MINUS_SRC_ALPHA) == (6), "SDL_BLENDFACTOR_ONE_MINUS_SRC_ALPHA: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BLENDFACTOR_DST_COLOR) == (7), "SDL_BLENDFACTOR_DST_COLOR: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BLENDFACTOR_ONE_MINUS_DST_COLOR) == (8), "SDL_BLENDFACTOR_ONE_MINUS_DST_COLOR: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BLENDFACTOR_DST_ALPHA) == (9), "SDL_BLENDFACTOR_DST_ALPHA: baked value 9 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA) == (10), "SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA: baked value 10 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_pixels.h ---- */
-_Static_assert(sizeof(enum SDL_PixelType) == 4, "enum SDL_PixelType: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_PixelType) == 4, "enum SDL_PixelType: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELTYPE_UNKNOWN) == (0), "SDL_PIXELTYPE_UNKNOWN: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELTYPE_INDEX1) == (1), "SDL_PIXELTYPE_INDEX1: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELTYPE_INDEX4) == (2), "SDL_PIXELTYPE_INDEX4: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELTYPE_INDEX8) == (3), "SDL_PIXELTYPE_INDEX8: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELTYPE_PACKED8) == (4), "SDL_PIXELTYPE_PACKED8: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELTYPE_PACKED16) == (5), "SDL_PIXELTYPE_PACKED16: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELTYPE_PACKED32) == (6), "SDL_PIXELTYPE_PACKED32: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELTYPE_ARRAYU8) == (7), "SDL_PIXELTYPE_ARRAYU8: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELTYPE_ARRAYU16) == (8), "SDL_PIXELTYPE_ARRAYU16: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELTYPE_ARRAYU32) == (9), "SDL_PIXELTYPE_ARRAYU32: baked value 9 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELTYPE_ARRAYF16) == (10), "SDL_PIXELTYPE_ARRAYF16: baked value 10 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELTYPE_ARRAYF32) == (11), "SDL_PIXELTYPE_ARRAYF32: baked value 11 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELTYPE_INDEX2) == (12), "SDL_PIXELTYPE_INDEX2: baked value 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_BitmapOrder) == 4, "enum SDL_BitmapOrder: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_BitmapOrder) == 4, "enum SDL_BitmapOrder: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BITMAPORDER_NONE) == (0), "SDL_BITMAPORDER_NONE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BITMAPORDER_4321) == (1), "SDL_BITMAPORDER_4321: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BITMAPORDER_1234) == (2), "SDL_BITMAPORDER_1234: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_PackedOrder) == 4, "enum SDL_PackedOrder: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_PackedOrder) == 4, "enum SDL_PackedOrder: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PACKEDORDER_NONE) == (0), "SDL_PACKEDORDER_NONE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PACKEDORDER_XRGB) == (1), "SDL_PACKEDORDER_XRGB: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PACKEDORDER_RGBX) == (2), "SDL_PACKEDORDER_RGBX: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PACKEDORDER_ARGB) == (3), "SDL_PACKEDORDER_ARGB: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PACKEDORDER_RGBA) == (4), "SDL_PACKEDORDER_RGBA: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PACKEDORDER_XBGR) == (5), "SDL_PACKEDORDER_XBGR: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PACKEDORDER_BGRX) == (6), "SDL_PACKEDORDER_BGRX: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PACKEDORDER_ABGR) == (7), "SDL_PACKEDORDER_ABGR: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PACKEDORDER_BGRA) == (8), "SDL_PACKEDORDER_BGRA: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_ArrayOrder) == 4, "enum SDL_ArrayOrder: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_ArrayOrder) == 4, "enum SDL_ArrayOrder: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ARRAYORDER_NONE) == (0), "SDL_ARRAYORDER_NONE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ARRAYORDER_RGB) == (1), "SDL_ARRAYORDER_RGB: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ARRAYORDER_RGBA) == (2), "SDL_ARRAYORDER_RGBA: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ARRAYORDER_ARGB) == (3), "SDL_ARRAYORDER_ARGB: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ARRAYORDER_BGR) == (4), "SDL_ARRAYORDER_BGR: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ARRAYORDER_BGRA) == (5), "SDL_ARRAYORDER_BGRA: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ARRAYORDER_ABGR) == (6), "SDL_ARRAYORDER_ABGR: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_PackedLayout) == 4, "enum SDL_PackedLayout: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_PackedLayout) == 4, "enum SDL_PackedLayout: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PACKEDLAYOUT_NONE) == (0), "SDL_PACKEDLAYOUT_NONE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PACKEDLAYOUT_332) == (1), "SDL_PACKEDLAYOUT_332: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PACKEDLAYOUT_4444) == (2), "SDL_PACKEDLAYOUT_4444: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PACKEDLAYOUT_1555) == (3), "SDL_PACKEDLAYOUT_1555: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PACKEDLAYOUT_5551) == (4), "SDL_PACKEDLAYOUT_5551: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PACKEDLAYOUT_565) == (5), "SDL_PACKEDLAYOUT_565: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PACKEDLAYOUT_8888) == (6), "SDL_PACKEDLAYOUT_8888: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PACKEDLAYOUT_2101010) == (7), "SDL_PACKEDLAYOUT_2101010: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PACKEDLAYOUT_1010102) == (8), "SDL_PACKEDLAYOUT_1010102: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_PixelFormat) == 4, "enum SDL_PixelFormat: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_PixelFormat) == 4, "enum SDL_PixelFormat: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_UNKNOWN) == (0), "SDL_PIXELFORMAT_UNKNOWN: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_INDEX1LSB) == (286261504), "SDL_PIXELFORMAT_INDEX1LSB: baked value 286261504 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_INDEX1MSB) == (287310080), "SDL_PIXELFORMAT_INDEX1MSB: baked value 287310080 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_INDEX2LSB) == (470811136), "SDL_PIXELFORMAT_INDEX2LSB: baked value 470811136 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_INDEX2MSB) == (471859712), "SDL_PIXELFORMAT_INDEX2MSB: baked value 471859712 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_INDEX4LSB) == (303039488), "SDL_PIXELFORMAT_INDEX4LSB: baked value 303039488 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_INDEX4MSB) == (304088064), "SDL_PIXELFORMAT_INDEX4MSB: baked value 304088064 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_INDEX8) == (318769153), "SDL_PIXELFORMAT_INDEX8: baked value 318769153 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_RGB332) == (336660481), "SDL_PIXELFORMAT_RGB332: baked value 336660481 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_XRGB4444) == (353504258), "SDL_PIXELFORMAT_XRGB4444: baked value 353504258 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_XBGR4444) == (357698562), "SDL_PIXELFORMAT_XBGR4444: baked value 357698562 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_XRGB1555) == (353570562), "SDL_PIXELFORMAT_XRGB1555: baked value 353570562 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_XBGR1555) == (357764866), "SDL_PIXELFORMAT_XBGR1555: baked value 357764866 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_ARGB4444) == (355602434), "SDL_PIXELFORMAT_ARGB4444: baked value 355602434 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_RGBA4444) == (356651010), "SDL_PIXELFORMAT_RGBA4444: baked value 356651010 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_ABGR4444) == (359796738), "SDL_PIXELFORMAT_ABGR4444: baked value 359796738 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_BGRA4444) == (360845314), "SDL_PIXELFORMAT_BGRA4444: baked value 360845314 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_ARGB1555) == (355667970), "SDL_PIXELFORMAT_ARGB1555: baked value 355667970 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_RGBA5551) == (356782082), "SDL_PIXELFORMAT_RGBA5551: baked value 356782082 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_ABGR1555) == (359862274), "SDL_PIXELFORMAT_ABGR1555: baked value 359862274 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_BGRA5551) == (360976386), "SDL_PIXELFORMAT_BGRA5551: baked value 360976386 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_RGB565) == (353701890), "SDL_PIXELFORMAT_RGB565: baked value 353701890 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_BGR565) == (357896194), "SDL_PIXELFORMAT_BGR565: baked value 357896194 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_RGB24) == (386930691), "SDL_PIXELFORMAT_RGB24: baked value 386930691 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_BGR24) == (390076419), "SDL_PIXELFORMAT_BGR24: baked value 390076419 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_XRGB8888) == (370546692), "SDL_PIXELFORMAT_XRGB8888: baked value 370546692 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_RGBX8888) == (371595268), "SDL_PIXELFORMAT_RGBX8888: baked value 371595268 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_XBGR8888) == (374740996), "SDL_PIXELFORMAT_XBGR8888: baked value 374740996 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_BGRX8888) == (375789572), "SDL_PIXELFORMAT_BGRX8888: baked value 375789572 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_ARGB8888) == (372645892), "SDL_PIXELFORMAT_ARGB8888: baked value 372645892 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_RGBA8888) == (373694468), "SDL_PIXELFORMAT_RGBA8888: baked value 373694468 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_ABGR8888) == (376840196), "SDL_PIXELFORMAT_ABGR8888: baked value 376840196 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_BGRA8888) == (377888772), "SDL_PIXELFORMAT_BGRA8888: baked value 377888772 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_XRGB2101010) == (370614276), "SDL_PIXELFORMAT_XRGB2101010: baked value 370614276 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_XBGR2101010) == (374808580), "SDL_PIXELFORMAT_XBGR2101010: baked value 374808580 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_ARGB2101010) == (372711428), "SDL_PIXELFORMAT_ARGB2101010: baked value 372711428 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_ABGR2101010) == (376905732), "SDL_PIXELFORMAT_ABGR2101010: baked value 376905732 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_RGB48) == (403714054), "SDL_PIXELFORMAT_RGB48: baked value 403714054 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_BGR48) == (406859782), "SDL_PIXELFORMAT_BGR48: baked value 406859782 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_RGBA64) == (404766728), "SDL_PIXELFORMAT_RGBA64: baked value 404766728 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_ARGB64) == (405815304), "SDL_PIXELFORMAT_ARGB64: baked value 405815304 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_BGRA64) == (407912456), "SDL_PIXELFORMAT_BGRA64: baked value 407912456 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_ABGR64) == (408961032), "SDL_PIXELFORMAT_ABGR64: baked value 408961032 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_RGB48_FLOAT) == (437268486), "SDL_PIXELFORMAT_RGB48_FLOAT: baked value 437268486 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_BGR48_FLOAT) == (440414214), "SDL_PIXELFORMAT_BGR48_FLOAT: baked value 440414214 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_RGBA64_FLOAT) == (438321160), "SDL_PIXELFORMAT_RGBA64_FLOAT: baked value 438321160 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_ARGB64_FLOAT) == (439369736), "SDL_PIXELFORMAT_ARGB64_FLOAT: baked value 439369736 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_BGRA64_FLOAT) == (441466888), "SDL_PIXELFORMAT_BGRA64_FLOAT: baked value 441466888 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_ABGR64_FLOAT) == (442515464), "SDL_PIXELFORMAT_ABGR64_FLOAT: baked value 442515464 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_RGB96_FLOAT) == (454057996), "SDL_PIXELFORMAT_RGB96_FLOAT: baked value 454057996 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_BGR96_FLOAT) == (457203724), "SDL_PIXELFORMAT_BGR96_FLOAT: baked value 457203724 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_RGBA128_FLOAT) == (455114768), "SDL_PIXELFORMAT_RGBA128_FLOAT: baked value 455114768 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_ARGB128_FLOAT) == (456163344), "SDL_PIXELFORMAT_ARGB128_FLOAT: baked value 456163344 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_BGRA128_FLOAT) == (458260496), "SDL_PIXELFORMAT_BGRA128_FLOAT: baked value 458260496 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_ABGR128_FLOAT) == (459309072), "SDL_PIXELFORMAT_ABGR128_FLOAT: baked value 459309072 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_YV12) == (842094169), "SDL_PIXELFORMAT_YV12: baked value 842094169 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_IYUV) == (1448433993), "SDL_PIXELFORMAT_IYUV: baked value 1448433993 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_YUY2) == (844715353), "SDL_PIXELFORMAT_YUY2: baked value 844715353 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_UYVY) == (1498831189), "SDL_PIXELFORMAT_UYVY: baked value 1498831189 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_YVYU) == (1431918169), "SDL_PIXELFORMAT_YVYU: baked value 1431918169 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_NV12) == (842094158), "SDL_PIXELFORMAT_NV12: baked value 842094158 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_NV21) == (825382478), "SDL_PIXELFORMAT_NV21: baked value 825382478 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_P010) == (808530000), "SDL_PIXELFORMAT_P010: baked value 808530000 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_EXTERNAL_OES) == (542328143), "SDL_PIXELFORMAT_EXTERNAL_OES: baked value 542328143 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 2, 6)
-_Static_assert((SDL_PIXELFORMAT_MJPG) == (1196444237), "SDL_PIXELFORMAT_MJPG: baked value 1196444237 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-_Static_assert((SDL_PIXELFORMAT_RGBA32) == (376840196), "SDL_PIXELFORMAT_RGBA32: baked value 376840196 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_ARGB32) == (377888772), "SDL_PIXELFORMAT_ARGB32: baked value 377888772 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_BGRA32) == (372645892), "SDL_PIXELFORMAT_BGRA32: baked value 372645892 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_ABGR32) == (373694468), "SDL_PIXELFORMAT_ABGR32: baked value 373694468 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_RGBX32) == (374740996), "SDL_PIXELFORMAT_RGBX32: baked value 374740996 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_XRGB32) == (375789572), "SDL_PIXELFORMAT_XRGB32: baked value 375789572 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_BGRX32) == (370546692), "SDL_PIXELFORMAT_BGRX32: baked value 370546692 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PIXELFORMAT_XBGR32) == (371595268), "SDL_PIXELFORMAT_XBGR32: baked value 371595268 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_ColorType) == 4, "enum SDL_ColorType: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_ColorType) == 4, "enum SDL_ColorType: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLOR_TYPE_UNKNOWN) == (0), "SDL_COLOR_TYPE_UNKNOWN: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLOR_TYPE_RGB) == (1), "SDL_COLOR_TYPE_RGB: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLOR_TYPE_YCBCR) == (2), "SDL_COLOR_TYPE_YCBCR: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_ColorRange) == 4, "enum SDL_ColorRange: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_ColorRange) == 4, "enum SDL_ColorRange: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLOR_RANGE_UNKNOWN) == (0), "SDL_COLOR_RANGE_UNKNOWN: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLOR_RANGE_LIMITED) == (1), "SDL_COLOR_RANGE_LIMITED: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLOR_RANGE_FULL) == (2), "SDL_COLOR_RANGE_FULL: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_ColorPrimaries) == 4, "enum SDL_ColorPrimaries: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_ColorPrimaries) == 4, "enum SDL_ColorPrimaries: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLOR_PRIMARIES_UNKNOWN) == (0), "SDL_COLOR_PRIMARIES_UNKNOWN: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLOR_PRIMARIES_BT709) == (1), "SDL_COLOR_PRIMARIES_BT709: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLOR_PRIMARIES_UNSPECIFIED) == (2), "SDL_COLOR_PRIMARIES_UNSPECIFIED: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLOR_PRIMARIES_BT470M) == (4), "SDL_COLOR_PRIMARIES_BT470M: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLOR_PRIMARIES_BT470BG) == (5), "SDL_COLOR_PRIMARIES_BT470BG: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLOR_PRIMARIES_BT601) == (6), "SDL_COLOR_PRIMARIES_BT601: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLOR_PRIMARIES_SMPTE240) == (7), "SDL_COLOR_PRIMARIES_SMPTE240: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLOR_PRIMARIES_GENERIC_FILM) == (8), "SDL_COLOR_PRIMARIES_GENERIC_FILM: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLOR_PRIMARIES_BT2020) == (9), "SDL_COLOR_PRIMARIES_BT2020: baked value 9 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLOR_PRIMARIES_XYZ) == (10), "SDL_COLOR_PRIMARIES_XYZ: baked value 10 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLOR_PRIMARIES_SMPTE431) == (11), "SDL_COLOR_PRIMARIES_SMPTE431: baked value 11 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLOR_PRIMARIES_SMPTE432) == (12), "SDL_COLOR_PRIMARIES_SMPTE432: baked value 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLOR_PRIMARIES_EBU3213) == (22), "SDL_COLOR_PRIMARIES_EBU3213: baked value 22 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLOR_PRIMARIES_CUSTOM) == (31), "SDL_COLOR_PRIMARIES_CUSTOM: baked value 31 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_TransferCharacteristics) == 4, "enum SDL_TransferCharacteristics: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_TransferCharacteristics) == 4, "enum SDL_TransferCharacteristics: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRANSFER_CHARACTERISTICS_UNKNOWN) == (0), "SDL_TRANSFER_CHARACTERISTICS_UNKNOWN: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRANSFER_CHARACTERISTICS_BT709) == (1), "SDL_TRANSFER_CHARACTERISTICS_BT709: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRANSFER_CHARACTERISTICS_UNSPECIFIED) == (2), "SDL_TRANSFER_CHARACTERISTICS_UNSPECIFIED: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRANSFER_CHARACTERISTICS_GAMMA22) == (4), "SDL_TRANSFER_CHARACTERISTICS_GAMMA22: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRANSFER_CHARACTERISTICS_GAMMA28) == (5), "SDL_TRANSFER_CHARACTERISTICS_GAMMA28: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRANSFER_CHARACTERISTICS_BT601) == (6), "SDL_TRANSFER_CHARACTERISTICS_BT601: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRANSFER_CHARACTERISTICS_SMPTE240) == (7), "SDL_TRANSFER_CHARACTERISTICS_SMPTE240: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRANSFER_CHARACTERISTICS_LINEAR) == (8), "SDL_TRANSFER_CHARACTERISTICS_LINEAR: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRANSFER_CHARACTERISTICS_LOG100) == (9), "SDL_TRANSFER_CHARACTERISTICS_LOG100: baked value 9 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRANSFER_CHARACTERISTICS_LOG100_SQRT10) == (10), "SDL_TRANSFER_CHARACTERISTICS_LOG100_SQRT10: baked value 10 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRANSFER_CHARACTERISTICS_IEC61966) == (11), "SDL_TRANSFER_CHARACTERISTICS_IEC61966: baked value 11 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRANSFER_CHARACTERISTICS_BT1361) == (12), "SDL_TRANSFER_CHARACTERISTICS_BT1361: baked value 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRANSFER_CHARACTERISTICS_SRGB) == (13), "SDL_TRANSFER_CHARACTERISTICS_SRGB: baked value 13 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRANSFER_CHARACTERISTICS_BT2020_10BIT) == (14), "SDL_TRANSFER_CHARACTERISTICS_BT2020_10BIT: baked value 14 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRANSFER_CHARACTERISTICS_BT2020_12BIT) == (15), "SDL_TRANSFER_CHARACTERISTICS_BT2020_12BIT: baked value 15 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRANSFER_CHARACTERISTICS_PQ) == (16), "SDL_TRANSFER_CHARACTERISTICS_PQ: baked value 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRANSFER_CHARACTERISTICS_SMPTE428) == (17), "SDL_TRANSFER_CHARACTERISTICS_SMPTE428: baked value 17 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRANSFER_CHARACTERISTICS_HLG) == (18), "SDL_TRANSFER_CHARACTERISTICS_HLG: baked value 18 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRANSFER_CHARACTERISTICS_CUSTOM) == (31), "SDL_TRANSFER_CHARACTERISTICS_CUSTOM: baked value 31 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_MatrixCoefficients) == 4, "enum SDL_MatrixCoefficients: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_MatrixCoefficients) == 4, "enum SDL_MatrixCoefficients: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MATRIX_COEFFICIENTS_IDENTITY) == (0), "SDL_MATRIX_COEFFICIENTS_IDENTITY: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MATRIX_COEFFICIENTS_BT709) == (1), "SDL_MATRIX_COEFFICIENTS_BT709: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MATRIX_COEFFICIENTS_UNSPECIFIED) == (2), "SDL_MATRIX_COEFFICIENTS_UNSPECIFIED: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MATRIX_COEFFICIENTS_FCC) == (4), "SDL_MATRIX_COEFFICIENTS_FCC: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MATRIX_COEFFICIENTS_BT470BG) == (5), "SDL_MATRIX_COEFFICIENTS_BT470BG: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MATRIX_COEFFICIENTS_BT601) == (6), "SDL_MATRIX_COEFFICIENTS_BT601: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MATRIX_COEFFICIENTS_SMPTE240) == (7), "SDL_MATRIX_COEFFICIENTS_SMPTE240: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MATRIX_COEFFICIENTS_YCGCO) == (8), "SDL_MATRIX_COEFFICIENTS_YCGCO: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MATRIX_COEFFICIENTS_BT2020_NCL) == (9), "SDL_MATRIX_COEFFICIENTS_BT2020_NCL: baked value 9 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MATRIX_COEFFICIENTS_BT2020_CL) == (10), "SDL_MATRIX_COEFFICIENTS_BT2020_CL: baked value 10 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MATRIX_COEFFICIENTS_SMPTE2085) == (11), "SDL_MATRIX_COEFFICIENTS_SMPTE2085: baked value 11 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MATRIX_COEFFICIENTS_CHROMA_DERIVED_NCL) == (12), "SDL_MATRIX_COEFFICIENTS_CHROMA_DERIVED_NCL: baked value 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MATRIX_COEFFICIENTS_CHROMA_DERIVED_CL) == (13), "SDL_MATRIX_COEFFICIENTS_CHROMA_DERIVED_CL: baked value 13 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MATRIX_COEFFICIENTS_ICTCP) == (14), "SDL_MATRIX_COEFFICIENTS_ICTCP: baked value 14 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MATRIX_COEFFICIENTS_CUSTOM) == (31), "SDL_MATRIX_COEFFICIENTS_CUSTOM: baked value 31 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_ChromaLocation) == 4, "enum SDL_ChromaLocation: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_ChromaLocation) == 4, "enum SDL_ChromaLocation: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_CHROMA_LOCATION_NONE) == (0), "SDL_CHROMA_LOCATION_NONE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_CHROMA_LOCATION_LEFT) == (1), "SDL_CHROMA_LOCATION_LEFT: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_CHROMA_LOCATION_CENTER) == (2), "SDL_CHROMA_LOCATION_CENTER: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_CHROMA_LOCATION_TOPLEFT) == (3), "SDL_CHROMA_LOCATION_TOPLEFT: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_Colorspace) == 4, "enum SDL_Colorspace: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_Colorspace) == 4, "enum SDL_Colorspace: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLORSPACE_UNKNOWN) == (0), "SDL_COLORSPACE_UNKNOWN: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLORSPACE_SRGB) == (301991328), "SDL_COLORSPACE_SRGB: baked value 301991328 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLORSPACE_SRGB_LINEAR) == (301991168), "SDL_COLORSPACE_SRGB_LINEAR: baked value 301991168 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLORSPACE_HDR10) == (301999616), "SDL_COLORSPACE_HDR10: baked value 301999616 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLORSPACE_JPEG) == (570426566), "SDL_COLORSPACE_JPEG: baked value 570426566 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLORSPACE_BT601_LIMITED) == (554703046), "SDL_COLORSPACE_BT601_LIMITED: baked value 554703046 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLORSPACE_BT601_FULL) == (571480262), "SDL_COLORSPACE_BT601_FULL: baked value 571480262 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLORSPACE_BT709_LIMITED) == (554697761), "SDL_COLORSPACE_BT709_LIMITED: baked value 554697761 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLORSPACE_BT709_FULL) == (571474977), "SDL_COLORSPACE_BT709_FULL: baked value 571474977 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLORSPACE_BT2020_LIMITED) == (554706441), "SDL_COLORSPACE_BT2020_LIMITED: baked value 554706441 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLORSPACE_BT2020_FULL) == (571483657), "SDL_COLORSPACE_BT2020_FULL: baked value 571483657 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_COLORSPACE_RGB_DEFAULT) == (301991328), "SDL_COLORSPACE_RGB_DEFAULT: baked value 301991328 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 4, 0)
-_Static_assert((SDL_COLORSPACE_YUV_DEFAULT) == (554703046), "SDL_COLORSPACE_YUV_DEFAULT: baked value 554703046 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-_Static_assert(sizeof(struct SDL_Color) == 4, "struct SDL_Color: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_Color) == 1, "struct SDL_Color: baked alignment 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Color, r) == 0, "struct SDL_Color.r: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Color, g) == 1, "struct SDL_Color.g: baked offset 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Color, b) == 2, "struct SDL_Color.b: baked offset 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Color, a) == 3, "struct SDL_Color.a: baked offset 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_FColor) == 16, "struct SDL_FColor: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_FColor) == 4, "struct SDL_FColor: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_FColor, r) == 0, "struct SDL_FColor.r: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_FColor, g) == 4, "struct SDL_FColor.g: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_FColor, b) == 8, "struct SDL_FColor.b: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_FColor, a) == 12, "struct SDL_FColor.a: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_Palette) == 24, "struct SDL_Palette: baked sizeof 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_Palette) == 8, "struct SDL_Palette: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Palette, ncolors) == 0, "struct SDL_Palette.ncolors: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Palette, colors) == 8, "struct SDL_Palette.colors: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Palette, version) == 16, "struct SDL_Palette.version: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Palette, refcount) == 20, "struct SDL_Palette.refcount: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_PixelFormatDetails) == 32, "struct SDL_PixelFormatDetails: baked sizeof 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_PixelFormatDetails) == 4, "struct SDL_PixelFormatDetails: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PixelFormatDetails, format) == 0, "struct SDL_PixelFormatDetails.format: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PixelFormatDetails, bits_per_pixel) == 4, "struct SDL_PixelFormatDetails.bits_per_pixel: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PixelFormatDetails, bytes_per_pixel) == 5, "struct SDL_PixelFormatDetails.bytes_per_pixel: baked offset 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PixelFormatDetails, padding) == 6, "struct SDL_PixelFormatDetails.padding: baked offset 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PixelFormatDetails, Rmask) == 8, "struct SDL_PixelFormatDetails.Rmask: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PixelFormatDetails, Gmask) == 12, "struct SDL_PixelFormatDetails.Gmask: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PixelFormatDetails, Bmask) == 16, "struct SDL_PixelFormatDetails.Bmask: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PixelFormatDetails, Amask) == 20, "struct SDL_PixelFormatDetails.Amask: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PixelFormatDetails, Rbits) == 24, "struct SDL_PixelFormatDetails.Rbits: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PixelFormatDetails, Gbits) == 25, "struct SDL_PixelFormatDetails.Gbits: baked offset 25 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PixelFormatDetails, Bbits) == 26, "struct SDL_PixelFormatDetails.Bbits: baked offset 26 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PixelFormatDetails, Abits) == 27, "struct SDL_PixelFormatDetails.Abits: baked offset 27 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PixelFormatDetails, Rshift) == 28, "struct SDL_PixelFormatDetails.Rshift: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PixelFormatDetails, Gshift) == 29, "struct SDL_PixelFormatDetails.Gshift: baked offset 29 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PixelFormatDetails, Bshift) == 30, "struct SDL_PixelFormatDetails.Bshift: baked offset 30 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PixelFormatDetails, Ashift) == 31, "struct SDL_PixelFormatDetails.Ashift: baked offset 31 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_rect.h ---- */
-_Static_assert(sizeof(struct SDL_Point) == 8, "struct SDL_Point: baked sizeof 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_Point) == 4, "struct SDL_Point: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Point, x) == 0, "struct SDL_Point.x: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Point, y) == 4, "struct SDL_Point.y: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_FPoint) == 8, "struct SDL_FPoint: baked sizeof 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_FPoint) == 4, "struct SDL_FPoint: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_FPoint, x) == 0, "struct SDL_FPoint.x: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_FPoint, y) == 4, "struct SDL_FPoint.y: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_Rect) == 16, "struct SDL_Rect: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_Rect) == 4, "struct SDL_Rect: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Rect, x) == 0, "struct SDL_Rect.x: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Rect, y) == 4, "struct SDL_Rect.y: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Rect, w) == 8, "struct SDL_Rect.w: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Rect, h) == 12, "struct SDL_Rect.h: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_FRect) == 16, "struct SDL_FRect: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_FRect) == 4, "struct SDL_FRect: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_FRect, x) == 0, "struct SDL_FRect.x: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_FRect, y) == 4, "struct SDL_FRect.y: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_FRect, w) == 8, "struct SDL_FRect.w: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_FRect, h) == 12, "struct SDL_FRect.h: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_surface.h ---- */
-_Static_assert(sizeof(enum SDL_ScaleMode) == 4, "enum SDL_ScaleMode: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_ScaleMode) == 4, "enum SDL_ScaleMode: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 2, 10)
-_Static_assert((SDL_SCALEMODE_INVALID) == (-1), "SDL_SCALEMODE_INVALID: baked value -1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-_Static_assert((SDL_SCALEMODE_NEAREST) == (0), "SDL_SCALEMODE_NEAREST: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCALEMODE_LINEAR) == (1), "SDL_SCALEMODE_LINEAR: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 4, 0)
-_Static_assert((SDL_SCALEMODE_PIXELART) == (2), "SDL_SCALEMODE_PIXELART: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-_Static_assert(sizeof(enum SDL_FlipMode) == 4, "enum SDL_FlipMode: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_FlipMode) == 4, "enum SDL_FlipMode: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_FLIP_NONE) == (0), "SDL_FLIP_NONE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_FLIP_HORIZONTAL) == (1), "SDL_FLIP_HORIZONTAL: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_FLIP_VERTICAL) == (2), "SDL_FLIP_VERTICAL: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 4, 0)
-_Static_assert((SDL_FLIP_HORIZONTAL_AND_VERTICAL) == (3), "SDL_FLIP_HORIZONTAL_AND_VERTICAL: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-_Static_assert(sizeof(struct SDL_Surface) == 48, "struct SDL_Surface: baked sizeof 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_Surface) == 8, "struct SDL_Surface: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Surface, flags) == 0, "struct SDL_Surface.flags: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Surface, format) == 4, "struct SDL_Surface.format: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Surface, w) == 8, "struct SDL_Surface.w: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Surface, h) == 12, "struct SDL_Surface.h: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Surface, pitch) == 16, "struct SDL_Surface.pitch: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Surface, pixels) == 24, "struct SDL_Surface.pixels: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Surface, refcount) == 32, "struct SDL_Surface.refcount: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Surface, reserved) == 40, "struct SDL_Surface.reserved: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_camera.h ---- */
-_Static_assert(sizeof(struct SDL_CameraSpec) == 24, "struct SDL_CameraSpec: baked sizeof 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_CameraSpec) == 4, "struct SDL_CameraSpec: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_CameraSpec, format) == 0, "struct SDL_CameraSpec.format: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_CameraSpec, colorspace) == 4, "struct SDL_CameraSpec.colorspace: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_CameraSpec, width) == 8, "struct SDL_CameraSpec.width: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_CameraSpec, height) == 12, "struct SDL_CameraSpec.height: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_CameraSpec, framerate_numerator) == 16, "struct SDL_CameraSpec.framerate_numerator: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_CameraSpec, framerate_denominator) == 20, "struct SDL_CameraSpec.framerate_denominator: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_CameraPosition) == 4, "enum SDL_CameraPosition: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_CameraPosition) == 4, "enum SDL_CameraPosition: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_CAMERA_POSITION_UNKNOWN) == (0), "SDL_CAMERA_POSITION_UNKNOWN: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_CAMERA_POSITION_FRONT_FACING) == (1), "SDL_CAMERA_POSITION_FRONT_FACING: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_CAMERA_POSITION_BACK_FACING) == (2), "SDL_CAMERA_POSITION_BACK_FACING: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 4, 0)
-_Static_assert(sizeof(enum SDL_CameraPermissionState) == 4, "enum SDL_CameraPermissionState: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_CameraPermissionState) == 4, "enum SDL_CameraPermissionState: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_CAMERA_PERMISSION_STATE_DENIED) == (-1), "SDL_CAMERA_PERMISSION_STATE_DENIED: baked value -1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_CAMERA_PERMISSION_STATE_PENDING) == (0), "SDL_CAMERA_PERMISSION_STATE_PENDING: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_CAMERA_PERMISSION_STATE_APPROVED) == (1), "SDL_CAMERA_PERMISSION_STATE_APPROVED: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-
-/* ---- SDL_video.h ---- */
-_Static_assert(sizeof(enum SDL_SystemTheme) == 4, "enum SDL_SystemTheme: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_SystemTheme) == 4, "enum SDL_SystemTheme: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_THEME_UNKNOWN) == (0), "SDL_SYSTEM_THEME_UNKNOWN: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_THEME_LIGHT) == (1), "SDL_SYSTEM_THEME_LIGHT: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_THEME_DARK) == (2), "SDL_SYSTEM_THEME_DARK: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_DisplayMode) == 40, "struct SDL_DisplayMode: baked sizeof 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_DisplayMode) == 8, "struct SDL_DisplayMode: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DisplayMode, displayID) == 0, "struct SDL_DisplayMode.displayID: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DisplayMode, format) == 4, "struct SDL_DisplayMode.format: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DisplayMode, w) == 8, "struct SDL_DisplayMode.w: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DisplayMode, h) == 12, "struct SDL_DisplayMode.h: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DisplayMode, pixel_density) == 16, "struct SDL_DisplayMode.pixel_density: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DisplayMode, refresh_rate) == 20, "struct SDL_DisplayMode.refresh_rate: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DisplayMode, refresh_rate_numerator) == 24, "struct SDL_DisplayMode.refresh_rate_numerator: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DisplayMode, refresh_rate_denominator) == 28, "struct SDL_DisplayMode.refresh_rate_denominator: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DisplayMode, internal) == 32, "struct SDL_DisplayMode.internal: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_DisplayOrientation) == 4, "enum SDL_DisplayOrientation: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_DisplayOrientation) == 4, "enum SDL_DisplayOrientation: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ORIENTATION_UNKNOWN) == (0), "SDL_ORIENTATION_UNKNOWN: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ORIENTATION_LANDSCAPE) == (1), "SDL_ORIENTATION_LANDSCAPE: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ORIENTATION_LANDSCAPE_FLIPPED) == (2), "SDL_ORIENTATION_LANDSCAPE_FLIPPED: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ORIENTATION_PORTRAIT) == (3), "SDL_ORIENTATION_PORTRAIT: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ORIENTATION_PORTRAIT_FLIPPED) == (4), "SDL_ORIENTATION_PORTRAIT_FLIPPED: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_FlashOperation) == 4, "enum SDL_FlashOperation: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_FlashOperation) == 4, "enum SDL_FlashOperation: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_FLASH_CANCEL) == (0), "SDL_FLASH_CANCEL: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_FLASH_BRIEFLY) == (1), "SDL_FLASH_BRIEFLY: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_FLASH_UNTIL_FOCUSED) == (2), "SDL_FLASH_UNTIL_FOCUSED: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 4, 0)
-_Static_assert(sizeof(enum SDL_ProgressState) == 4, "enum SDL_ProgressState: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_ProgressState) == 4, "enum SDL_ProgressState: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PROGRESS_STATE_INVALID) == (-1), "SDL_PROGRESS_STATE_INVALID: baked value -1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PROGRESS_STATE_NONE) == (0), "SDL_PROGRESS_STATE_NONE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PROGRESS_STATE_INDETERMINATE) == (1), "SDL_PROGRESS_STATE_INDETERMINATE: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PROGRESS_STATE_NORMAL) == (2), "SDL_PROGRESS_STATE_NORMAL: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PROGRESS_STATE_PAUSED) == (3), "SDL_PROGRESS_STATE_PAUSED: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PROGRESS_STATE_ERROR) == (4), "SDL_PROGRESS_STATE_ERROR: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-_Static_assert(sizeof(enum SDL_GLAttr) == 4, "enum SDL_GLAttr: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GLAttr) == 4, "enum SDL_GLAttr: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_RED_SIZE) == (0), "SDL_GL_RED_SIZE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_GREEN_SIZE) == (1), "SDL_GL_GREEN_SIZE: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_BLUE_SIZE) == (2), "SDL_GL_BLUE_SIZE: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_ALPHA_SIZE) == (3), "SDL_GL_ALPHA_SIZE: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_BUFFER_SIZE) == (4), "SDL_GL_BUFFER_SIZE: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_DOUBLEBUFFER) == (5), "SDL_GL_DOUBLEBUFFER: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_DEPTH_SIZE) == (6), "SDL_GL_DEPTH_SIZE: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_STENCIL_SIZE) == (7), "SDL_GL_STENCIL_SIZE: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_ACCUM_RED_SIZE) == (8), "SDL_GL_ACCUM_RED_SIZE: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_ACCUM_GREEN_SIZE) == (9), "SDL_GL_ACCUM_GREEN_SIZE: baked value 9 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_ACCUM_BLUE_SIZE) == (10), "SDL_GL_ACCUM_BLUE_SIZE: baked value 10 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_ACCUM_ALPHA_SIZE) == (11), "SDL_GL_ACCUM_ALPHA_SIZE: baked value 11 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_STEREO) == (12), "SDL_GL_STEREO: baked value 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_MULTISAMPLEBUFFERS) == (13), "SDL_GL_MULTISAMPLEBUFFERS: baked value 13 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_MULTISAMPLESAMPLES) == (14), "SDL_GL_MULTISAMPLESAMPLES: baked value 14 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_ACCELERATED_VISUAL) == (15), "SDL_GL_ACCELERATED_VISUAL: baked value 15 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_RETAINED_BACKING) == (16), "SDL_GL_RETAINED_BACKING: baked value 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_CONTEXT_MAJOR_VERSION) == (17), "SDL_GL_CONTEXT_MAJOR_VERSION: baked value 17 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_CONTEXT_MINOR_VERSION) == (18), "SDL_GL_CONTEXT_MINOR_VERSION: baked value 18 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_CONTEXT_FLAGS) == (19), "SDL_GL_CONTEXT_FLAGS: baked value 19 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_CONTEXT_PROFILE_MASK) == (20), "SDL_GL_CONTEXT_PROFILE_MASK: baked value 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_SHARE_WITH_CURRENT_CONTEXT) == (21), "SDL_GL_SHARE_WITH_CURRENT_CONTEXT: baked value 21 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_FRAMEBUFFER_SRGB_CAPABLE) == (22), "SDL_GL_FRAMEBUFFER_SRGB_CAPABLE: baked value 22 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_CONTEXT_RELEASE_BEHAVIOR) == (23), "SDL_GL_CONTEXT_RELEASE_BEHAVIOR: baked value 23 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_CONTEXT_RESET_NOTIFICATION) == (24), "SDL_GL_CONTEXT_RESET_NOTIFICATION: baked value 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_CONTEXT_NO_ERROR) == (25), "SDL_GL_CONTEXT_NO_ERROR: baked value 25 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_FLOATBUFFERS) == (26), "SDL_GL_FLOATBUFFERS: baked value 26 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_EGL_PLATFORM) == (27), "SDL_GL_EGL_PLATFORM: baked value 27 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_HitTestResult) == 4, "enum SDL_HitTestResult: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_HitTestResult) == 4, "enum SDL_HitTestResult: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HITTEST_NORMAL) == (0), "SDL_HITTEST_NORMAL: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HITTEST_DRAGGABLE) == (1), "SDL_HITTEST_DRAGGABLE: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HITTEST_RESIZE_TOPLEFT) == (2), "SDL_HITTEST_RESIZE_TOPLEFT: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HITTEST_RESIZE_TOP) == (3), "SDL_HITTEST_RESIZE_TOP: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HITTEST_RESIZE_TOPRIGHT) == (4), "SDL_HITTEST_RESIZE_TOPRIGHT: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HITTEST_RESIZE_RIGHT) == (5), "SDL_HITTEST_RESIZE_RIGHT: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HITTEST_RESIZE_BOTTOMRIGHT) == (6), "SDL_HITTEST_RESIZE_BOTTOMRIGHT: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HITTEST_RESIZE_BOTTOM) == (7), "SDL_HITTEST_RESIZE_BOTTOM: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HITTEST_RESIZE_BOTTOMLEFT) == (8), "SDL_HITTEST_RESIZE_BOTTOMLEFT: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HITTEST_RESIZE_LEFT) == (9), "SDL_HITTEST_RESIZE_LEFT: baked value 9 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_dialog.h ---- */
-_Static_assert(sizeof(struct SDL_DialogFileFilter) == 16, "struct SDL_DialogFileFilter: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_DialogFileFilter) == 8, "struct SDL_DialogFileFilter: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DialogFileFilter, name) == 0, "struct SDL_DialogFileFilter.name: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DialogFileFilter, pattern) == 8, "struct SDL_DialogFileFilter.pattern: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_FileDialogType) == 4, "enum SDL_FileDialogType: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_FileDialogType) == 4, "enum SDL_FileDialogType: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_FILEDIALOG_OPENFILE) == (0), "SDL_FILEDIALOG_OPENFILE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_FILEDIALOG_SAVEFILE) == (1), "SDL_FILEDIALOG_SAVEFILE: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_FILEDIALOG_OPENFOLDER) == (2), "SDL_FILEDIALOG_OPENFOLDER: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_guid.h ---- */
-_Static_assert(sizeof(struct SDL_GUID) == 16, "struct SDL_GUID: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GUID) == 1, "struct SDL_GUID: baked alignment 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GUID, data) == 0, "struct SDL_GUID.data: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_power.h ---- */
-_Static_assert(sizeof(enum SDL_PowerState) == 4, "enum SDL_PowerState: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_PowerState) == 4, "enum SDL_PowerState: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_POWERSTATE_ERROR) == (-1), "SDL_POWERSTATE_ERROR: baked value -1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_POWERSTATE_UNKNOWN) == (0), "SDL_POWERSTATE_UNKNOWN: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_POWERSTATE_ON_BATTERY) == (1), "SDL_POWERSTATE_ON_BATTERY: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_POWERSTATE_NO_BATTERY) == (2), "SDL_POWERSTATE_NO_BATTERY: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_POWERSTATE_CHARGING) == (3), "SDL_POWERSTATE_CHARGING: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_POWERSTATE_CHARGED) == (4), "SDL_POWERSTATE_CHARGED: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_sensor.h ---- */
-_Static_assert(sizeof(enum SDL_SensorType) == 4, "enum SDL_SensorType: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_SensorType) == 4, "enum SDL_SensorType: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SENSOR_INVALID) == (-1), "SDL_SENSOR_INVALID: baked value -1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SENSOR_UNKNOWN) == (0), "SDL_SENSOR_UNKNOWN: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SENSOR_ACCEL) == (1), "SDL_SENSOR_ACCEL: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SENSOR_GYRO) == (2), "SDL_SENSOR_GYRO: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SENSOR_ACCEL_L) == (3), "SDL_SENSOR_ACCEL_L: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SENSOR_GYRO_L) == (4), "SDL_SENSOR_GYRO_L: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SENSOR_ACCEL_R) == (5), "SDL_SENSOR_ACCEL_R: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SENSOR_GYRO_R) == (6), "SDL_SENSOR_GYRO_R: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 2, 30)
-_Static_assert((SDL_SENSOR_COUNT) == (7), "SDL_SENSOR_COUNT: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-
-/* ---- SDL_joystick.h ---- */
-_Static_assert(sizeof(enum SDL_JoystickType) == 4, "enum SDL_JoystickType: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_JoystickType) == 4, "enum SDL_JoystickType: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_JOYSTICK_TYPE_UNKNOWN) == (0), "SDL_JOYSTICK_TYPE_UNKNOWN: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_JOYSTICK_TYPE_GAMEPAD) == (1), "SDL_JOYSTICK_TYPE_GAMEPAD: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_JOYSTICK_TYPE_WHEEL) == (2), "SDL_JOYSTICK_TYPE_WHEEL: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_JOYSTICK_TYPE_ARCADE_STICK) == (3), "SDL_JOYSTICK_TYPE_ARCADE_STICK: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_JOYSTICK_TYPE_FLIGHT_STICK) == (4), "SDL_JOYSTICK_TYPE_FLIGHT_STICK: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_JOYSTICK_TYPE_DANCE_PAD) == (5), "SDL_JOYSTICK_TYPE_DANCE_PAD: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_JOYSTICK_TYPE_GUITAR) == (6), "SDL_JOYSTICK_TYPE_GUITAR: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_JOYSTICK_TYPE_DRUM_KIT) == (7), "SDL_JOYSTICK_TYPE_DRUM_KIT: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_JOYSTICK_TYPE_ARCADE_PAD) == (8), "SDL_JOYSTICK_TYPE_ARCADE_PAD: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_JOYSTICK_TYPE_THROTTLE) == (9), "SDL_JOYSTICK_TYPE_THROTTLE: baked value 9 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_JOYSTICK_TYPE_COUNT) == (10), "SDL_JOYSTICK_TYPE_COUNT: baked value 10 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_JoystickConnectionState) == 4, "enum SDL_JoystickConnectionState: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_JoystickConnectionState) == 4, "enum SDL_JoystickConnectionState: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_JOYSTICK_CONNECTION_INVALID) == (-1), "SDL_JOYSTICK_CONNECTION_INVALID: baked value -1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_JOYSTICK_CONNECTION_UNKNOWN) == (0), "SDL_JOYSTICK_CONNECTION_UNKNOWN: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_JOYSTICK_CONNECTION_WIRED) == (1), "SDL_JOYSTICK_CONNECTION_WIRED: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_JOYSTICK_CONNECTION_WIRELESS) == (2), "SDL_JOYSTICK_CONNECTION_WIRELESS: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_VirtualJoystickTouchpadDesc) == 8, "struct SDL_VirtualJoystickTouchpadDesc: baked sizeof 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_VirtualJoystickTouchpadDesc) == 2, "struct SDL_VirtualJoystickTouchpadDesc: baked alignment 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickTouchpadDesc, nfingers) == 0, "struct SDL_VirtualJoystickTouchpadDesc.nfingers: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickTouchpadDesc, padding) == 2, "struct SDL_VirtualJoystickTouchpadDesc.padding: baked offset 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_VirtualJoystickSensorDesc) == 8, "struct SDL_VirtualJoystickSensorDesc: baked sizeof 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_VirtualJoystickSensorDesc) == 4, "struct SDL_VirtualJoystickSensorDesc: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickSensorDesc, type) == 0, "struct SDL_VirtualJoystickSensorDesc.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickSensorDesc, rate) == 4, "struct SDL_VirtualJoystickSensorDesc.rate: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_VirtualJoystickDesc) == 136, "struct SDL_VirtualJoystickDesc: baked sizeof 136 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_VirtualJoystickDesc) == 8, "struct SDL_VirtualJoystickDesc: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, version) == 0, "struct SDL_VirtualJoystickDesc.version: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, type) == 4, "struct SDL_VirtualJoystickDesc.type: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, padding) == 6, "struct SDL_VirtualJoystickDesc.padding: baked offset 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, vendor_id) == 8, "struct SDL_VirtualJoystickDesc.vendor_id: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, product_id) == 10, "struct SDL_VirtualJoystickDesc.product_id: baked offset 10 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, naxes) == 12, "struct SDL_VirtualJoystickDesc.naxes: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, nbuttons) == 14, "struct SDL_VirtualJoystickDesc.nbuttons: baked offset 14 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, nballs) == 16, "struct SDL_VirtualJoystickDesc.nballs: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, nhats) == 18, "struct SDL_VirtualJoystickDesc.nhats: baked offset 18 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, ntouchpads) == 20, "struct SDL_VirtualJoystickDesc.ntouchpads: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, nsensors) == 22, "struct SDL_VirtualJoystickDesc.nsensors: baked offset 22 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, padding2) == 24, "struct SDL_VirtualJoystickDesc.padding2: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, button_mask) == 28, "struct SDL_VirtualJoystickDesc.button_mask: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, axis_mask) == 32, "struct SDL_VirtualJoystickDesc.axis_mask: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, name) == 40, "struct SDL_VirtualJoystickDesc.name: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, touchpads) == 48, "struct SDL_VirtualJoystickDesc.touchpads: baked offset 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, sensors) == 56, "struct SDL_VirtualJoystickDesc.sensors: baked offset 56 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, userdata) == 64, "struct SDL_VirtualJoystickDesc.userdata: baked offset 64 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, Update) == 72, "struct SDL_VirtualJoystickDesc.Update: baked offset 72 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, SetPlayerIndex) == 80, "struct SDL_VirtualJoystickDesc.SetPlayerIndex: baked offset 80 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, Rumble) == 88, "struct SDL_VirtualJoystickDesc.Rumble: baked offset 88 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, RumbleTriggers) == 96, "struct SDL_VirtualJoystickDesc.RumbleTriggers: baked offset 96 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, SetLED) == 104, "struct SDL_VirtualJoystickDesc.SetLED: baked offset 104 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, SendEffect) == 112, "struct SDL_VirtualJoystickDesc.SendEffect: baked offset 112 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, SetSensorsEnabled) == 120, "struct SDL_VirtualJoystickDesc.SetSensorsEnabled: baked offset 120 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, Cleanup) == 128, "struct SDL_VirtualJoystickDesc.Cleanup: baked offset 128 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_gamepad.h ---- */
-_Static_assert(sizeof(enum SDL_GamepadType) == 4, "enum SDL_GamepadType: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GamepadType) == 4, "enum SDL_GamepadType: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_TYPE_UNKNOWN) == (0), "SDL_GAMEPAD_TYPE_UNKNOWN: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_TYPE_STANDARD) == (1), "SDL_GAMEPAD_TYPE_STANDARD: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_TYPE_XBOX360) == (2), "SDL_GAMEPAD_TYPE_XBOX360: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_TYPE_XBOXONE) == (3), "SDL_GAMEPAD_TYPE_XBOXONE: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_TYPE_PS3) == (4), "SDL_GAMEPAD_TYPE_PS3: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_TYPE_PS4) == (5), "SDL_GAMEPAD_TYPE_PS4: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_TYPE_PS5) == (6), "SDL_GAMEPAD_TYPE_PS5: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_PRO) == (7), "SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_PRO: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_LEFT) == (8), "SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_LEFT: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_RIGHT) == (9), "SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_RIGHT: baked value 9 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_PAIR) == (10), "SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_PAIR: baked value 10 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 4, 0)
-_Static_assert((SDL_GAMEPAD_TYPE_GAMECUBE) == (11), "SDL_GAMEPAD_TYPE_GAMECUBE: baked value 11 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_TYPE_COUNT) == (12), "SDL_GAMEPAD_TYPE_COUNT: baked value 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-_Static_assert(sizeof(enum SDL_GamepadButton) == 4, "enum SDL_GamepadButton: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GamepadButton) == 4, "enum SDL_GamepadButton: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_INVALID) == (-1), "SDL_GAMEPAD_BUTTON_INVALID: baked value -1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_SOUTH) == (0), "SDL_GAMEPAD_BUTTON_SOUTH: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_EAST) == (1), "SDL_GAMEPAD_BUTTON_EAST: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_WEST) == (2), "SDL_GAMEPAD_BUTTON_WEST: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_NORTH) == (3), "SDL_GAMEPAD_BUTTON_NORTH: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_BACK) == (4), "SDL_GAMEPAD_BUTTON_BACK: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_GUIDE) == (5), "SDL_GAMEPAD_BUTTON_GUIDE: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_START) == (6), "SDL_GAMEPAD_BUTTON_START: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_LEFT_STICK) == (7), "SDL_GAMEPAD_BUTTON_LEFT_STICK: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_RIGHT_STICK) == (8), "SDL_GAMEPAD_BUTTON_RIGHT_STICK: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_LEFT_SHOULDER) == (9), "SDL_GAMEPAD_BUTTON_LEFT_SHOULDER: baked value 9 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_RIGHT_SHOULDER) == (10), "SDL_GAMEPAD_BUTTON_RIGHT_SHOULDER: baked value 10 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_DPAD_UP) == (11), "SDL_GAMEPAD_BUTTON_DPAD_UP: baked value 11 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_DPAD_DOWN) == (12), "SDL_GAMEPAD_BUTTON_DPAD_DOWN: baked value 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_DPAD_LEFT) == (13), "SDL_GAMEPAD_BUTTON_DPAD_LEFT: baked value 13 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_DPAD_RIGHT) == (14), "SDL_GAMEPAD_BUTTON_DPAD_RIGHT: baked value 14 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_MISC1) == (15), "SDL_GAMEPAD_BUTTON_MISC1: baked value 15 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_RIGHT_PADDLE1) == (16), "SDL_GAMEPAD_BUTTON_RIGHT_PADDLE1: baked value 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_LEFT_PADDLE1) == (17), "SDL_GAMEPAD_BUTTON_LEFT_PADDLE1: baked value 17 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_RIGHT_PADDLE2) == (18), "SDL_GAMEPAD_BUTTON_RIGHT_PADDLE2: baked value 18 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_LEFT_PADDLE2) == (19), "SDL_GAMEPAD_BUTTON_LEFT_PADDLE2: baked value 19 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_TOUCHPAD) == (20), "SDL_GAMEPAD_BUTTON_TOUCHPAD: baked value 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_MISC2) == (21), "SDL_GAMEPAD_BUTTON_MISC2: baked value 21 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_MISC3) == (22), "SDL_GAMEPAD_BUTTON_MISC3: baked value 22 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_MISC4) == (23), "SDL_GAMEPAD_BUTTON_MISC4: baked value 23 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_MISC5) == (24), "SDL_GAMEPAD_BUTTON_MISC5: baked value 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_MISC6) == (25), "SDL_GAMEPAD_BUTTON_MISC6: baked value 25 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_COUNT) == (26), "SDL_GAMEPAD_BUTTON_COUNT: baked value 26 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GamepadButtonLabel) == 4, "enum SDL_GamepadButtonLabel: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GamepadButtonLabel) == 4, "enum SDL_GamepadButtonLabel: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_LABEL_UNKNOWN) == (0), "SDL_GAMEPAD_BUTTON_LABEL_UNKNOWN: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_LABEL_A) == (1), "SDL_GAMEPAD_BUTTON_LABEL_A: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_LABEL_B) == (2), "SDL_GAMEPAD_BUTTON_LABEL_B: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_LABEL_X) == (3), "SDL_GAMEPAD_BUTTON_LABEL_X: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_LABEL_Y) == (4), "SDL_GAMEPAD_BUTTON_LABEL_Y: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_LABEL_CROSS) == (5), "SDL_GAMEPAD_BUTTON_LABEL_CROSS: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_LABEL_CIRCLE) == (6), "SDL_GAMEPAD_BUTTON_LABEL_CIRCLE: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_LABEL_SQUARE) == (7), "SDL_GAMEPAD_BUTTON_LABEL_SQUARE: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BUTTON_LABEL_TRIANGLE) == (8), "SDL_GAMEPAD_BUTTON_LABEL_TRIANGLE: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GamepadAxis) == 4, "enum SDL_GamepadAxis: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GamepadAxis) == 4, "enum SDL_GamepadAxis: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_AXIS_INVALID) == (-1), "SDL_GAMEPAD_AXIS_INVALID: baked value -1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_AXIS_LEFTX) == (0), "SDL_GAMEPAD_AXIS_LEFTX: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_AXIS_LEFTY) == (1), "SDL_GAMEPAD_AXIS_LEFTY: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_AXIS_RIGHTX) == (2), "SDL_GAMEPAD_AXIS_RIGHTX: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_AXIS_RIGHTY) == (3), "SDL_GAMEPAD_AXIS_RIGHTY: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_AXIS_LEFT_TRIGGER) == (4), "SDL_GAMEPAD_AXIS_LEFT_TRIGGER: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_AXIS_RIGHT_TRIGGER) == (5), "SDL_GAMEPAD_AXIS_RIGHT_TRIGGER: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_AXIS_COUNT) == (6), "SDL_GAMEPAD_AXIS_COUNT: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GamepadBindingType) == 4, "enum SDL_GamepadBindingType: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GamepadBindingType) == 4, "enum SDL_GamepadBindingType: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BINDTYPE_NONE) == (0), "SDL_GAMEPAD_BINDTYPE_NONE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BINDTYPE_BUTTON) == (1), "SDL_GAMEPAD_BINDTYPE_BUTTON: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BINDTYPE_AXIS) == (2), "SDL_GAMEPAD_BINDTYPE_AXIS: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GAMEPAD_BINDTYPE_HAT) == (3), "SDL_GAMEPAD_BINDTYPE_HAT: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GamepadBinding) == 32, "struct SDL_GamepadBinding: baked sizeof 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GamepadBinding) == 4, "struct SDL_GamepadBinding: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadBinding, input_type) == 0, "struct SDL_GamepadBinding.input_type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadBinding, input) == 4, "struct SDL_GamepadBinding.input: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadBinding, output_type) == 16, "struct SDL_GamepadBinding.output_type: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadBinding, output) == 20, "struct SDL_GamepadBinding.output: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_scancode.h ---- */
-_Static_assert(sizeof(enum SDL_Scancode) == 4, "enum SDL_Scancode: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_Scancode) == 4, "enum SDL_Scancode: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_UNKNOWN) == (0), "SDL_SCANCODE_UNKNOWN: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_A) == (4), "SDL_SCANCODE_A: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_B) == (5), "SDL_SCANCODE_B: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_C) == (6), "SDL_SCANCODE_C: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_D) == (7), "SDL_SCANCODE_D: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_E) == (8), "SDL_SCANCODE_E: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F) == (9), "SDL_SCANCODE_F: baked value 9 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_G) == (10), "SDL_SCANCODE_G: baked value 10 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_H) == (11), "SDL_SCANCODE_H: baked value 11 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_I) == (12), "SDL_SCANCODE_I: baked value 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_J) == (13), "SDL_SCANCODE_J: baked value 13 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_K) == (14), "SDL_SCANCODE_K: baked value 14 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_L) == (15), "SDL_SCANCODE_L: baked value 15 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_M) == (16), "SDL_SCANCODE_M: baked value 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_N) == (17), "SDL_SCANCODE_N: baked value 17 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_O) == (18), "SDL_SCANCODE_O: baked value 18 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_P) == (19), "SDL_SCANCODE_P: baked value 19 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_Q) == (20), "SDL_SCANCODE_Q: baked value 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_R) == (21), "SDL_SCANCODE_R: baked value 21 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_S) == (22), "SDL_SCANCODE_S: baked value 22 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_T) == (23), "SDL_SCANCODE_T: baked value 23 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_U) == (24), "SDL_SCANCODE_U: baked value 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_V) == (25), "SDL_SCANCODE_V: baked value 25 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_W) == (26), "SDL_SCANCODE_W: baked value 26 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_X) == (27), "SDL_SCANCODE_X: baked value 27 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_Y) == (28), "SDL_SCANCODE_Y: baked value 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_Z) == (29), "SDL_SCANCODE_Z: baked value 29 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_1) == (30), "SDL_SCANCODE_1: baked value 30 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_2) == (31), "SDL_SCANCODE_2: baked value 31 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_3) == (32), "SDL_SCANCODE_3: baked value 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_4) == (33), "SDL_SCANCODE_4: baked value 33 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_5) == (34), "SDL_SCANCODE_5: baked value 34 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_6) == (35), "SDL_SCANCODE_6: baked value 35 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_7) == (36), "SDL_SCANCODE_7: baked value 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_8) == (37), "SDL_SCANCODE_8: baked value 37 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_9) == (38), "SDL_SCANCODE_9: baked value 38 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_0) == (39), "SDL_SCANCODE_0: baked value 39 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_RETURN) == (40), "SDL_SCANCODE_RETURN: baked value 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_ESCAPE) == (41), "SDL_SCANCODE_ESCAPE: baked value 41 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_BACKSPACE) == (42), "SDL_SCANCODE_BACKSPACE: baked value 42 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_TAB) == (43), "SDL_SCANCODE_TAB: baked value 43 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_SPACE) == (44), "SDL_SCANCODE_SPACE: baked value 44 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_MINUS) == (45), "SDL_SCANCODE_MINUS: baked value 45 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_EQUALS) == (46), "SDL_SCANCODE_EQUALS: baked value 46 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_LEFTBRACKET) == (47), "SDL_SCANCODE_LEFTBRACKET: baked value 47 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_RIGHTBRACKET) == (48), "SDL_SCANCODE_RIGHTBRACKET: baked value 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_BACKSLASH) == (49), "SDL_SCANCODE_BACKSLASH: baked value 49 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_NONUSHASH) == (50), "SDL_SCANCODE_NONUSHASH: baked value 50 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_SEMICOLON) == (51), "SDL_SCANCODE_SEMICOLON: baked value 51 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_APOSTROPHE) == (52), "SDL_SCANCODE_APOSTROPHE: baked value 52 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_GRAVE) == (53), "SDL_SCANCODE_GRAVE: baked value 53 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_COMMA) == (54), "SDL_SCANCODE_COMMA: baked value 54 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_PERIOD) == (55), "SDL_SCANCODE_PERIOD: baked value 55 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_SLASH) == (56), "SDL_SCANCODE_SLASH: baked value 56 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_CAPSLOCK) == (57), "SDL_SCANCODE_CAPSLOCK: baked value 57 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F1) == (58), "SDL_SCANCODE_F1: baked value 58 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F2) == (59), "SDL_SCANCODE_F2: baked value 59 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F3) == (60), "SDL_SCANCODE_F3: baked value 60 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F4) == (61), "SDL_SCANCODE_F4: baked value 61 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F5) == (62), "SDL_SCANCODE_F5: baked value 62 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F6) == (63), "SDL_SCANCODE_F6: baked value 63 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F7) == (64), "SDL_SCANCODE_F7: baked value 64 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F8) == (65), "SDL_SCANCODE_F8: baked value 65 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F9) == (66), "SDL_SCANCODE_F9: baked value 66 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F10) == (67), "SDL_SCANCODE_F10: baked value 67 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F11) == (68), "SDL_SCANCODE_F11: baked value 68 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F12) == (69), "SDL_SCANCODE_F12: baked value 69 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_PRINTSCREEN) == (70), "SDL_SCANCODE_PRINTSCREEN: baked value 70 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_SCROLLLOCK) == (71), "SDL_SCANCODE_SCROLLLOCK: baked value 71 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_PAUSE) == (72), "SDL_SCANCODE_PAUSE: baked value 72 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_INSERT) == (73), "SDL_SCANCODE_INSERT: baked value 73 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_HOME) == (74), "SDL_SCANCODE_HOME: baked value 74 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_PAGEUP) == (75), "SDL_SCANCODE_PAGEUP: baked value 75 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_DELETE) == (76), "SDL_SCANCODE_DELETE: baked value 76 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_END) == (77), "SDL_SCANCODE_END: baked value 77 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_PAGEDOWN) == (78), "SDL_SCANCODE_PAGEDOWN: baked value 78 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_RIGHT) == (79), "SDL_SCANCODE_RIGHT: baked value 79 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_LEFT) == (80), "SDL_SCANCODE_LEFT: baked value 80 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_DOWN) == (81), "SDL_SCANCODE_DOWN: baked value 81 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_UP) == (82), "SDL_SCANCODE_UP: baked value 82 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_NUMLOCKCLEAR) == (83), "SDL_SCANCODE_NUMLOCKCLEAR: baked value 83 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_DIVIDE) == (84), "SDL_SCANCODE_KP_DIVIDE: baked value 84 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_MULTIPLY) == (85), "SDL_SCANCODE_KP_MULTIPLY: baked value 85 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_MINUS) == (86), "SDL_SCANCODE_KP_MINUS: baked value 86 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_PLUS) == (87), "SDL_SCANCODE_KP_PLUS: baked value 87 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_ENTER) == (88), "SDL_SCANCODE_KP_ENTER: baked value 88 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_1) == (89), "SDL_SCANCODE_KP_1: baked value 89 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_2) == (90), "SDL_SCANCODE_KP_2: baked value 90 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_3) == (91), "SDL_SCANCODE_KP_3: baked value 91 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_4) == (92), "SDL_SCANCODE_KP_4: baked value 92 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_5) == (93), "SDL_SCANCODE_KP_5: baked value 93 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_6) == (94), "SDL_SCANCODE_KP_6: baked value 94 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_7) == (95), "SDL_SCANCODE_KP_7: baked value 95 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_8) == (96), "SDL_SCANCODE_KP_8: baked value 96 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_9) == (97), "SDL_SCANCODE_KP_9: baked value 97 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_0) == (98), "SDL_SCANCODE_KP_0: baked value 98 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_PERIOD) == (99), "SDL_SCANCODE_KP_PERIOD: baked value 99 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_NONUSBACKSLASH) == (100), "SDL_SCANCODE_NONUSBACKSLASH: baked value 100 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_APPLICATION) == (101), "SDL_SCANCODE_APPLICATION: baked value 101 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_POWER) == (102), "SDL_SCANCODE_POWER: baked value 102 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_EQUALS) == (103), "SDL_SCANCODE_KP_EQUALS: baked value 103 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F13) == (104), "SDL_SCANCODE_F13: baked value 104 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F14) == (105), "SDL_SCANCODE_F14: baked value 105 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F15) == (106), "SDL_SCANCODE_F15: baked value 106 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F16) == (107), "SDL_SCANCODE_F16: baked value 107 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F17) == (108), "SDL_SCANCODE_F17: baked value 108 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F18) == (109), "SDL_SCANCODE_F18: baked value 109 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F19) == (110), "SDL_SCANCODE_F19: baked value 110 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F20) == (111), "SDL_SCANCODE_F20: baked value 111 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F21) == (112), "SDL_SCANCODE_F21: baked value 112 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F22) == (113), "SDL_SCANCODE_F22: baked value 113 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F23) == (114), "SDL_SCANCODE_F23: baked value 114 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_F24) == (115), "SDL_SCANCODE_F24: baked value 115 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_EXECUTE) == (116), "SDL_SCANCODE_EXECUTE: baked value 116 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_HELP) == (117), "SDL_SCANCODE_HELP: baked value 117 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_MENU) == (118), "SDL_SCANCODE_MENU: baked value 118 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_SELECT) == (119), "SDL_SCANCODE_SELECT: baked value 119 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_STOP) == (120), "SDL_SCANCODE_STOP: baked value 120 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_AGAIN) == (121), "SDL_SCANCODE_AGAIN: baked value 121 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_UNDO) == (122), "SDL_SCANCODE_UNDO: baked value 122 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_CUT) == (123), "SDL_SCANCODE_CUT: baked value 123 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_COPY) == (124), "SDL_SCANCODE_COPY: baked value 124 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_PASTE) == (125), "SDL_SCANCODE_PASTE: baked value 125 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_FIND) == (126), "SDL_SCANCODE_FIND: baked value 126 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_MUTE) == (127), "SDL_SCANCODE_MUTE: baked value 127 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_VOLUMEUP) == (128), "SDL_SCANCODE_VOLUMEUP: baked value 128 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_VOLUMEDOWN) == (129), "SDL_SCANCODE_VOLUMEDOWN: baked value 129 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_COMMA) == (133), "SDL_SCANCODE_KP_COMMA: baked value 133 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_EQUALSAS400) == (134), "SDL_SCANCODE_KP_EQUALSAS400: baked value 134 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_INTERNATIONAL1) == (135), "SDL_SCANCODE_INTERNATIONAL1: baked value 135 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_INTERNATIONAL2) == (136), "SDL_SCANCODE_INTERNATIONAL2: baked value 136 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_INTERNATIONAL3) == (137), "SDL_SCANCODE_INTERNATIONAL3: baked value 137 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_INTERNATIONAL4) == (138), "SDL_SCANCODE_INTERNATIONAL4: baked value 138 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_INTERNATIONAL5) == (139), "SDL_SCANCODE_INTERNATIONAL5: baked value 139 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_INTERNATIONAL6) == (140), "SDL_SCANCODE_INTERNATIONAL6: baked value 140 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_INTERNATIONAL7) == (141), "SDL_SCANCODE_INTERNATIONAL7: baked value 141 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_INTERNATIONAL8) == (142), "SDL_SCANCODE_INTERNATIONAL8: baked value 142 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_INTERNATIONAL9) == (143), "SDL_SCANCODE_INTERNATIONAL9: baked value 143 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_LANG1) == (144), "SDL_SCANCODE_LANG1: baked value 144 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_LANG2) == (145), "SDL_SCANCODE_LANG2: baked value 145 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_LANG3) == (146), "SDL_SCANCODE_LANG3: baked value 146 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_LANG4) == (147), "SDL_SCANCODE_LANG4: baked value 147 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_LANG5) == (148), "SDL_SCANCODE_LANG5: baked value 148 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_LANG6) == (149), "SDL_SCANCODE_LANG6: baked value 149 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_LANG7) == (150), "SDL_SCANCODE_LANG7: baked value 150 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_LANG8) == (151), "SDL_SCANCODE_LANG8: baked value 151 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_LANG9) == (152), "SDL_SCANCODE_LANG9: baked value 152 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_ALTERASE) == (153), "SDL_SCANCODE_ALTERASE: baked value 153 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_SYSREQ) == (154), "SDL_SCANCODE_SYSREQ: baked value 154 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_CANCEL) == (155), "SDL_SCANCODE_CANCEL: baked value 155 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_CLEAR) == (156), "SDL_SCANCODE_CLEAR: baked value 156 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_PRIOR) == (157), "SDL_SCANCODE_PRIOR: baked value 157 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_RETURN2) == (158), "SDL_SCANCODE_RETURN2: baked value 158 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_SEPARATOR) == (159), "SDL_SCANCODE_SEPARATOR: baked value 159 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_OUT) == (160), "SDL_SCANCODE_OUT: baked value 160 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_OPER) == (161), "SDL_SCANCODE_OPER: baked value 161 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_CLEARAGAIN) == (162), "SDL_SCANCODE_CLEARAGAIN: baked value 162 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_CRSEL) == (163), "SDL_SCANCODE_CRSEL: baked value 163 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_EXSEL) == (164), "SDL_SCANCODE_EXSEL: baked value 164 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_00) == (176), "SDL_SCANCODE_KP_00: baked value 176 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_000) == (177), "SDL_SCANCODE_KP_000: baked value 177 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_THOUSANDSSEPARATOR) == (178), "SDL_SCANCODE_THOUSANDSSEPARATOR: baked value 178 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_DECIMALSEPARATOR) == (179), "SDL_SCANCODE_DECIMALSEPARATOR: baked value 179 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_CURRENCYUNIT) == (180), "SDL_SCANCODE_CURRENCYUNIT: baked value 180 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_CURRENCYSUBUNIT) == (181), "SDL_SCANCODE_CURRENCYSUBUNIT: baked value 181 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_LEFTPAREN) == (182), "SDL_SCANCODE_KP_LEFTPAREN: baked value 182 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_RIGHTPAREN) == (183), "SDL_SCANCODE_KP_RIGHTPAREN: baked value 183 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_LEFTBRACE) == (184), "SDL_SCANCODE_KP_LEFTBRACE: baked value 184 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_RIGHTBRACE) == (185), "SDL_SCANCODE_KP_RIGHTBRACE: baked value 185 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_TAB) == (186), "SDL_SCANCODE_KP_TAB: baked value 186 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_BACKSPACE) == (187), "SDL_SCANCODE_KP_BACKSPACE: baked value 187 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_A) == (188), "SDL_SCANCODE_KP_A: baked value 188 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_B) == (189), "SDL_SCANCODE_KP_B: baked value 189 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_C) == (190), "SDL_SCANCODE_KP_C: baked value 190 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_D) == (191), "SDL_SCANCODE_KP_D: baked value 191 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_E) == (192), "SDL_SCANCODE_KP_E: baked value 192 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_F) == (193), "SDL_SCANCODE_KP_F: baked value 193 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_XOR) == (194), "SDL_SCANCODE_KP_XOR: baked value 194 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_POWER) == (195), "SDL_SCANCODE_KP_POWER: baked value 195 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_PERCENT) == (196), "SDL_SCANCODE_KP_PERCENT: baked value 196 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_LESS) == (197), "SDL_SCANCODE_KP_LESS: baked value 197 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_GREATER) == (198), "SDL_SCANCODE_KP_GREATER: baked value 198 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_AMPERSAND) == (199), "SDL_SCANCODE_KP_AMPERSAND: baked value 199 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_DBLAMPERSAND) == (200), "SDL_SCANCODE_KP_DBLAMPERSAND: baked value 200 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_VERTICALBAR) == (201), "SDL_SCANCODE_KP_VERTICALBAR: baked value 201 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_DBLVERTICALBAR) == (202), "SDL_SCANCODE_KP_DBLVERTICALBAR: baked value 202 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_COLON) == (203), "SDL_SCANCODE_KP_COLON: baked value 203 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_HASH) == (204), "SDL_SCANCODE_KP_HASH: baked value 204 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_SPACE) == (205), "SDL_SCANCODE_KP_SPACE: baked value 205 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_AT) == (206), "SDL_SCANCODE_KP_AT: baked value 206 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_EXCLAM) == (207), "SDL_SCANCODE_KP_EXCLAM: baked value 207 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_MEMSTORE) == (208), "SDL_SCANCODE_KP_MEMSTORE: baked value 208 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_MEMRECALL) == (209), "SDL_SCANCODE_KP_MEMRECALL: baked value 209 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_MEMCLEAR) == (210), "SDL_SCANCODE_KP_MEMCLEAR: baked value 210 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_MEMADD) == (211), "SDL_SCANCODE_KP_MEMADD: baked value 211 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_MEMSUBTRACT) == (212), "SDL_SCANCODE_KP_MEMSUBTRACT: baked value 212 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_MEMMULTIPLY) == (213), "SDL_SCANCODE_KP_MEMMULTIPLY: baked value 213 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_MEMDIVIDE) == (214), "SDL_SCANCODE_KP_MEMDIVIDE: baked value 214 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_PLUSMINUS) == (215), "SDL_SCANCODE_KP_PLUSMINUS: baked value 215 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_CLEAR) == (216), "SDL_SCANCODE_KP_CLEAR: baked value 216 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_CLEARENTRY) == (217), "SDL_SCANCODE_KP_CLEARENTRY: baked value 217 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_BINARY) == (218), "SDL_SCANCODE_KP_BINARY: baked value 218 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_OCTAL) == (219), "SDL_SCANCODE_KP_OCTAL: baked value 219 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_DECIMAL) == (220), "SDL_SCANCODE_KP_DECIMAL: baked value 220 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_KP_HEXADECIMAL) == (221), "SDL_SCANCODE_KP_HEXADECIMAL: baked value 221 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_LCTRL) == (224), "SDL_SCANCODE_LCTRL: baked value 224 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_LSHIFT) == (225), "SDL_SCANCODE_LSHIFT: baked value 225 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_LALT) == (226), "SDL_SCANCODE_LALT: baked value 226 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_LGUI) == (227), "SDL_SCANCODE_LGUI: baked value 227 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_RCTRL) == (228), "SDL_SCANCODE_RCTRL: baked value 228 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_RSHIFT) == (229), "SDL_SCANCODE_RSHIFT: baked value 229 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_RALT) == (230), "SDL_SCANCODE_RALT: baked value 230 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_RGUI) == (231), "SDL_SCANCODE_RGUI: baked value 231 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_MODE) == (257), "SDL_SCANCODE_MODE: baked value 257 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_SLEEP) == (258), "SDL_SCANCODE_SLEEP: baked value 258 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_WAKE) == (259), "SDL_SCANCODE_WAKE: baked value 259 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_CHANNEL_INCREMENT) == (260), "SDL_SCANCODE_CHANNEL_INCREMENT: baked value 260 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_CHANNEL_DECREMENT) == (261), "SDL_SCANCODE_CHANNEL_DECREMENT: baked value 261 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_MEDIA_PLAY) == (262), "SDL_SCANCODE_MEDIA_PLAY: baked value 262 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_MEDIA_PAUSE) == (263), "SDL_SCANCODE_MEDIA_PAUSE: baked value 263 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_MEDIA_RECORD) == (264), "SDL_SCANCODE_MEDIA_RECORD: baked value 264 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_MEDIA_FAST_FORWARD) == (265), "SDL_SCANCODE_MEDIA_FAST_FORWARD: baked value 265 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_MEDIA_REWIND) == (266), "SDL_SCANCODE_MEDIA_REWIND: baked value 266 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_MEDIA_NEXT_TRACK) == (267), "SDL_SCANCODE_MEDIA_NEXT_TRACK: baked value 267 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_MEDIA_PREVIOUS_TRACK) == (268), "SDL_SCANCODE_MEDIA_PREVIOUS_TRACK: baked value 268 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_MEDIA_STOP) == (269), "SDL_SCANCODE_MEDIA_STOP: baked value 269 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_MEDIA_EJECT) == (270), "SDL_SCANCODE_MEDIA_EJECT: baked value 270 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_MEDIA_PLAY_PAUSE) == (271), "SDL_SCANCODE_MEDIA_PLAY_PAUSE: baked value 271 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_MEDIA_SELECT) == (272), "SDL_SCANCODE_MEDIA_SELECT: baked value 272 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_AC_NEW) == (273), "SDL_SCANCODE_AC_NEW: baked value 273 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_AC_OPEN) == (274), "SDL_SCANCODE_AC_OPEN: baked value 274 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_AC_CLOSE) == (275), "SDL_SCANCODE_AC_CLOSE: baked value 275 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_AC_EXIT) == (276), "SDL_SCANCODE_AC_EXIT: baked value 276 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_AC_SAVE) == (277), "SDL_SCANCODE_AC_SAVE: baked value 277 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_AC_PRINT) == (278), "SDL_SCANCODE_AC_PRINT: baked value 278 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_AC_PROPERTIES) == (279), "SDL_SCANCODE_AC_PROPERTIES: baked value 279 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_AC_SEARCH) == (280), "SDL_SCANCODE_AC_SEARCH: baked value 280 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_AC_HOME) == (281), "SDL_SCANCODE_AC_HOME: baked value 281 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_AC_BACK) == (282), "SDL_SCANCODE_AC_BACK: baked value 282 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_AC_FORWARD) == (283), "SDL_SCANCODE_AC_FORWARD: baked value 283 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_AC_STOP) == (284), "SDL_SCANCODE_AC_STOP: baked value 284 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_AC_REFRESH) == (285), "SDL_SCANCODE_AC_REFRESH: baked value 285 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_AC_BOOKMARKS) == (286), "SDL_SCANCODE_AC_BOOKMARKS: baked value 286 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_SOFTLEFT) == (287), "SDL_SCANCODE_SOFTLEFT: baked value 287 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_SOFTRIGHT) == (288), "SDL_SCANCODE_SOFTRIGHT: baked value 288 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_CALL) == (289), "SDL_SCANCODE_CALL: baked value 289 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_ENDCALL) == (290), "SDL_SCANCODE_ENDCALL: baked value 290 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_RESERVED) == (400), "SDL_SCANCODE_RESERVED: baked value 400 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SCANCODE_COUNT) == (512), "SDL_SCANCODE_COUNT: baked value 512 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_keyboard.h ---- */
-_Static_assert(sizeof(enum SDL_TextInputType) == 4, "enum SDL_TextInputType: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_TextInputType) == 4, "enum SDL_TextInputType: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TEXTINPUT_TYPE_TEXT) == (0), "SDL_TEXTINPUT_TYPE_TEXT: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TEXTINPUT_TYPE_TEXT_NAME) == (1), "SDL_TEXTINPUT_TYPE_TEXT_NAME: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TEXTINPUT_TYPE_TEXT_EMAIL) == (2), "SDL_TEXTINPUT_TYPE_TEXT_EMAIL: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TEXTINPUT_TYPE_TEXT_USERNAME) == (3), "SDL_TEXTINPUT_TYPE_TEXT_USERNAME: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TEXTINPUT_TYPE_TEXT_PASSWORD_HIDDEN) == (4), "SDL_TEXTINPUT_TYPE_TEXT_PASSWORD_HIDDEN: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TEXTINPUT_TYPE_TEXT_PASSWORD_VISIBLE) == (5), "SDL_TEXTINPUT_TYPE_TEXT_PASSWORD_VISIBLE: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TEXTINPUT_TYPE_NUMBER) == (6), "SDL_TEXTINPUT_TYPE_NUMBER: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TEXTINPUT_TYPE_NUMBER_PASSWORD_HIDDEN) == (7), "SDL_TEXTINPUT_TYPE_NUMBER_PASSWORD_HIDDEN: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TEXTINPUT_TYPE_NUMBER_PASSWORD_VISIBLE) == (8), "SDL_TEXTINPUT_TYPE_NUMBER_PASSWORD_VISIBLE: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_Capitalization) == 4, "enum SDL_Capitalization: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_Capitalization) == 4, "enum SDL_Capitalization: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_CAPITALIZE_NONE) == (0), "SDL_CAPITALIZE_NONE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_CAPITALIZE_SENTENCES) == (1), "SDL_CAPITALIZE_SENTENCES: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_CAPITALIZE_WORDS) == (2), "SDL_CAPITALIZE_WORDS: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_CAPITALIZE_LETTERS) == (3), "SDL_CAPITALIZE_LETTERS: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_mouse.h ---- */
-_Static_assert(sizeof(enum SDL_SystemCursor) == 4, "enum SDL_SystemCursor: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_SystemCursor) == 4, "enum SDL_SystemCursor: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_CURSOR_DEFAULT) == (0), "SDL_SYSTEM_CURSOR_DEFAULT: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_CURSOR_TEXT) == (1), "SDL_SYSTEM_CURSOR_TEXT: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_CURSOR_WAIT) == (2), "SDL_SYSTEM_CURSOR_WAIT: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_CURSOR_CROSSHAIR) == (3), "SDL_SYSTEM_CURSOR_CROSSHAIR: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_CURSOR_PROGRESS) == (4), "SDL_SYSTEM_CURSOR_PROGRESS: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_CURSOR_NWSE_RESIZE) == (5), "SDL_SYSTEM_CURSOR_NWSE_RESIZE: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_CURSOR_NESW_RESIZE) == (6), "SDL_SYSTEM_CURSOR_NESW_RESIZE: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_CURSOR_EW_RESIZE) == (7), "SDL_SYSTEM_CURSOR_EW_RESIZE: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_CURSOR_NS_RESIZE) == (8), "SDL_SYSTEM_CURSOR_NS_RESIZE: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_CURSOR_MOVE) == (9), "SDL_SYSTEM_CURSOR_MOVE: baked value 9 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_CURSOR_NOT_ALLOWED) == (10), "SDL_SYSTEM_CURSOR_NOT_ALLOWED: baked value 10 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_CURSOR_POINTER) == (11), "SDL_SYSTEM_CURSOR_POINTER: baked value 11 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_CURSOR_NW_RESIZE) == (12), "SDL_SYSTEM_CURSOR_NW_RESIZE: baked value 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_CURSOR_N_RESIZE) == (13), "SDL_SYSTEM_CURSOR_N_RESIZE: baked value 13 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_CURSOR_NE_RESIZE) == (14), "SDL_SYSTEM_CURSOR_NE_RESIZE: baked value 14 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_CURSOR_E_RESIZE) == (15), "SDL_SYSTEM_CURSOR_E_RESIZE: baked value 15 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_CURSOR_SE_RESIZE) == (16), "SDL_SYSTEM_CURSOR_SE_RESIZE: baked value 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_CURSOR_S_RESIZE) == (17), "SDL_SYSTEM_CURSOR_S_RESIZE: baked value 17 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_CURSOR_SW_RESIZE) == (18), "SDL_SYSTEM_CURSOR_SW_RESIZE: baked value 18 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_CURSOR_W_RESIZE) == (19), "SDL_SYSTEM_CURSOR_W_RESIZE: baked value 19 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SYSTEM_CURSOR_COUNT) == (20), "SDL_SYSTEM_CURSOR_COUNT: baked value 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_MouseWheelDirection) == 4, "enum SDL_MouseWheelDirection: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_MouseWheelDirection) == 4, "enum SDL_MouseWheelDirection: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MOUSEWHEEL_NORMAL) == (0), "SDL_MOUSEWHEEL_NORMAL: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MOUSEWHEEL_FLIPPED) == (1), "SDL_MOUSEWHEEL_FLIPPED: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 4, 0)
-_Static_assert(sizeof(struct SDL_CursorFrameInfo) == 16, "struct SDL_CursorFrameInfo: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_CursorFrameInfo) == 8, "struct SDL_CursorFrameInfo: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_CursorFrameInfo, surface) == 0, "struct SDL_CursorFrameInfo.surface: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_CursorFrameInfo, duration) == 8, "struct SDL_CursorFrameInfo.duration: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-
-/* ---- SDL_touch.h ---- */
-_Static_assert(sizeof(enum SDL_TouchDeviceType) == 4, "enum SDL_TouchDeviceType: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_TouchDeviceType) == 4, "enum SDL_TouchDeviceType: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TOUCH_DEVICE_INVALID) == (-1), "SDL_TOUCH_DEVICE_INVALID: baked value -1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TOUCH_DEVICE_DIRECT) == (0), "SDL_TOUCH_DEVICE_DIRECT: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TOUCH_DEVICE_INDIRECT_ABSOLUTE) == (1), "SDL_TOUCH_DEVICE_INDIRECT_ABSOLUTE: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TOUCH_DEVICE_INDIRECT_RELATIVE) == (2), "SDL_TOUCH_DEVICE_INDIRECT_RELATIVE: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_Finger) == 24, "struct SDL_Finger: baked sizeof 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_Finger) == 8, "struct SDL_Finger: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Finger, id) == 0, "struct SDL_Finger.id: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Finger, x) == 8, "struct SDL_Finger.x: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Finger, y) == 12, "struct SDL_Finger.y: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Finger, pressure) == 16, "struct SDL_Finger.pressure: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_pen.h ---- */
-_Static_assert(sizeof(enum SDL_PenAxis) == 4, "enum SDL_PenAxis: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_PenAxis) == 4, "enum SDL_PenAxis: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PEN_AXIS_PRESSURE) == (0), "SDL_PEN_AXIS_PRESSURE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PEN_AXIS_XTILT) == (1), "SDL_PEN_AXIS_XTILT: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PEN_AXIS_YTILT) == (2), "SDL_PEN_AXIS_YTILT: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PEN_AXIS_DISTANCE) == (3), "SDL_PEN_AXIS_DISTANCE: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PEN_AXIS_ROTATION) == (4), "SDL_PEN_AXIS_ROTATION: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PEN_AXIS_SLIDER) == (5), "SDL_PEN_AXIS_SLIDER: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PEN_AXIS_TANGENTIAL_PRESSURE) == (6), "SDL_PEN_AXIS_TANGENTIAL_PRESSURE: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PEN_AXIS_COUNT) == (7), "SDL_PEN_AXIS_COUNT: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 4, 0)
-_Static_assert(sizeof(enum SDL_PenDeviceType) == 4, "enum SDL_PenDeviceType: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_PenDeviceType) == 4, "enum SDL_PenDeviceType: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PEN_DEVICE_TYPE_INVALID) == (-1), "SDL_PEN_DEVICE_TYPE_INVALID: baked value -1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PEN_DEVICE_TYPE_UNKNOWN) == (0), "SDL_PEN_DEVICE_TYPE_UNKNOWN: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PEN_DEVICE_TYPE_DIRECT) == (1), "SDL_PEN_DEVICE_TYPE_DIRECT: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PEN_DEVICE_TYPE_INDIRECT) == (2), "SDL_PEN_DEVICE_TYPE_INDIRECT: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-
-/* ---- SDL_events.h ---- */
-_Static_assert(sizeof(enum SDL_EventType) == 4, "enum SDL_EventType: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_EventType) == 4, "enum SDL_EventType: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_FIRST) == (0), "SDL_EVENT_FIRST: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_QUIT) == (256), "SDL_EVENT_QUIT: baked value 256 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_TERMINATING) == (257), "SDL_EVENT_TERMINATING: baked value 257 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_LOW_MEMORY) == (258), "SDL_EVENT_LOW_MEMORY: baked value 258 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WILL_ENTER_BACKGROUND) == (259), "SDL_EVENT_WILL_ENTER_BACKGROUND: baked value 259 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_DID_ENTER_BACKGROUND) == (260), "SDL_EVENT_DID_ENTER_BACKGROUND: baked value 260 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WILL_ENTER_FOREGROUND) == (261), "SDL_EVENT_WILL_ENTER_FOREGROUND: baked value 261 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_DID_ENTER_FOREGROUND) == (262), "SDL_EVENT_DID_ENTER_FOREGROUND: baked value 262 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_LOCALE_CHANGED) == (263), "SDL_EVENT_LOCALE_CHANGED: baked value 263 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_SYSTEM_THEME_CHANGED) == (264), "SDL_EVENT_SYSTEM_THEME_CHANGED: baked value 264 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_DISPLAY_ORIENTATION) == (337), "SDL_EVENT_DISPLAY_ORIENTATION: baked value 337 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_DISPLAY_ADDED) == (338), "SDL_EVENT_DISPLAY_ADDED: baked value 338 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_DISPLAY_REMOVED) == (339), "SDL_EVENT_DISPLAY_REMOVED: baked value 339 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_DISPLAY_MOVED) == (340), "SDL_EVENT_DISPLAY_MOVED: baked value 340 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_DISPLAY_DESKTOP_MODE_CHANGED) == (341), "SDL_EVENT_DISPLAY_DESKTOP_MODE_CHANGED: baked value 341 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_DISPLAY_CURRENT_MODE_CHANGED) == (342), "SDL_EVENT_DISPLAY_CURRENT_MODE_CHANGED: baked value 342 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_DISPLAY_CONTENT_SCALE_CHANGED) == (343), "SDL_EVENT_DISPLAY_CONTENT_SCALE_CHANGED: baked value 343 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 4, 0)
-_Static_assert((SDL_EVENT_DISPLAY_USABLE_BOUNDS_CHANGED) == (344), "SDL_EVENT_DISPLAY_USABLE_BOUNDS_CHANGED: baked value 344 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-_Static_assert((SDL_EVENT_DISPLAY_FIRST) == (337), "SDL_EVENT_DISPLAY_FIRST: baked value 337 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 4, 0)
-_Static_assert((SDL_EVENT_DISPLAY_LAST) == (344), "SDL_EVENT_DISPLAY_LAST: baked value 344 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-_Static_assert((SDL_EVENT_WINDOW_SHOWN) == (514), "SDL_EVENT_WINDOW_SHOWN: baked value 514 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_HIDDEN) == (515), "SDL_EVENT_WINDOW_HIDDEN: baked value 515 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_EXPOSED) == (516), "SDL_EVENT_WINDOW_EXPOSED: baked value 516 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_MOVED) == (517), "SDL_EVENT_WINDOW_MOVED: baked value 517 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_RESIZED) == (518), "SDL_EVENT_WINDOW_RESIZED: baked value 518 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_PIXEL_SIZE_CHANGED) == (519), "SDL_EVENT_WINDOW_PIXEL_SIZE_CHANGED: baked value 519 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_METAL_VIEW_RESIZED) == (520), "SDL_EVENT_WINDOW_METAL_VIEW_RESIZED: baked value 520 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_MINIMIZED) == (521), "SDL_EVENT_WINDOW_MINIMIZED: baked value 521 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_MAXIMIZED) == (522), "SDL_EVENT_WINDOW_MAXIMIZED: baked value 522 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_RESTORED) == (523), "SDL_EVENT_WINDOW_RESTORED: baked value 523 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_MOUSE_ENTER) == (524), "SDL_EVENT_WINDOW_MOUSE_ENTER: baked value 524 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_MOUSE_LEAVE) == (525), "SDL_EVENT_WINDOW_MOUSE_LEAVE: baked value 525 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_FOCUS_GAINED) == (526), "SDL_EVENT_WINDOW_FOCUS_GAINED: baked value 526 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_FOCUS_LOST) == (527), "SDL_EVENT_WINDOW_FOCUS_LOST: baked value 527 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_CLOSE_REQUESTED) == (528), "SDL_EVENT_WINDOW_CLOSE_REQUESTED: baked value 528 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_HIT_TEST) == (529), "SDL_EVENT_WINDOW_HIT_TEST: baked value 529 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_ICCPROF_CHANGED) == (530), "SDL_EVENT_WINDOW_ICCPROF_CHANGED: baked value 530 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_DISPLAY_CHANGED) == (531), "SDL_EVENT_WINDOW_DISPLAY_CHANGED: baked value 531 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_DISPLAY_SCALE_CHANGED) == (532), "SDL_EVENT_WINDOW_DISPLAY_SCALE_CHANGED: baked value 532 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_SAFE_AREA_CHANGED) == (533), "SDL_EVENT_WINDOW_SAFE_AREA_CHANGED: baked value 533 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_OCCLUDED) == (534), "SDL_EVENT_WINDOW_OCCLUDED: baked value 534 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_ENTER_FULLSCREEN) == (535), "SDL_EVENT_WINDOW_ENTER_FULLSCREEN: baked value 535 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_LEAVE_FULLSCREEN) == (536), "SDL_EVENT_WINDOW_LEAVE_FULLSCREEN: baked value 536 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_DESTROYED) == (537), "SDL_EVENT_WINDOW_DESTROYED: baked value 537 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_HDR_STATE_CHANGED) == (538), "SDL_EVENT_WINDOW_HDR_STATE_CHANGED: baked value 538 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_FIRST) == (514), "SDL_EVENT_WINDOW_FIRST: baked value 514 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_WINDOW_LAST) == (538), "SDL_EVENT_WINDOW_LAST: baked value 538 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_KEY_DOWN) == (768), "SDL_EVENT_KEY_DOWN: baked value 768 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_KEY_UP) == (769), "SDL_EVENT_KEY_UP: baked value 769 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_TEXT_EDITING) == (770), "SDL_EVENT_TEXT_EDITING: baked value 770 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_TEXT_INPUT) == (771), "SDL_EVENT_TEXT_INPUT: baked value 771 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_KEYMAP_CHANGED) == (772), "SDL_EVENT_KEYMAP_CHANGED: baked value 772 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_KEYBOARD_ADDED) == (773), "SDL_EVENT_KEYBOARD_ADDED: baked value 773 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_KEYBOARD_REMOVED) == (774), "SDL_EVENT_KEYBOARD_REMOVED: baked value 774 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_TEXT_EDITING_CANDIDATES) == (775), "SDL_EVENT_TEXT_EDITING_CANDIDATES: baked value 775 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 4, 0)
-_Static_assert((SDL_EVENT_SCREEN_KEYBOARD_SHOWN) == (776), "SDL_EVENT_SCREEN_KEYBOARD_SHOWN: baked value 776 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_SCREEN_KEYBOARD_HIDDEN) == (777), "SDL_EVENT_SCREEN_KEYBOARD_HIDDEN: baked value 777 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-_Static_assert((SDL_EVENT_MOUSE_MOTION) == (1024), "SDL_EVENT_MOUSE_MOTION: baked value 1024 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_MOUSE_BUTTON_DOWN) == (1025), "SDL_EVENT_MOUSE_BUTTON_DOWN: baked value 1025 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_MOUSE_BUTTON_UP) == (1026), "SDL_EVENT_MOUSE_BUTTON_UP: baked value 1026 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_MOUSE_WHEEL) == (1027), "SDL_EVENT_MOUSE_WHEEL: baked value 1027 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_MOUSE_ADDED) == (1028), "SDL_EVENT_MOUSE_ADDED: baked value 1028 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_MOUSE_REMOVED) == (1029), "SDL_EVENT_MOUSE_REMOVED: baked value 1029 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_JOYSTICK_AXIS_MOTION) == (1536), "SDL_EVENT_JOYSTICK_AXIS_MOTION: baked value 1536 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_JOYSTICK_BALL_MOTION) == (1537), "SDL_EVENT_JOYSTICK_BALL_MOTION: baked value 1537 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_JOYSTICK_HAT_MOTION) == (1538), "SDL_EVENT_JOYSTICK_HAT_MOTION: baked value 1538 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_JOYSTICK_BUTTON_DOWN) == (1539), "SDL_EVENT_JOYSTICK_BUTTON_DOWN: baked value 1539 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_JOYSTICK_BUTTON_UP) == (1540), "SDL_EVENT_JOYSTICK_BUTTON_UP: baked value 1540 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_JOYSTICK_ADDED) == (1541), "SDL_EVENT_JOYSTICK_ADDED: baked value 1541 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_JOYSTICK_REMOVED) == (1542), "SDL_EVENT_JOYSTICK_REMOVED: baked value 1542 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_JOYSTICK_BATTERY_UPDATED) == (1543), "SDL_EVENT_JOYSTICK_BATTERY_UPDATED: baked value 1543 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_JOYSTICK_UPDATE_COMPLETE) == (1544), "SDL_EVENT_JOYSTICK_UPDATE_COMPLETE: baked value 1544 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_GAMEPAD_AXIS_MOTION) == (1616), "SDL_EVENT_GAMEPAD_AXIS_MOTION: baked value 1616 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_GAMEPAD_BUTTON_DOWN) == (1617), "SDL_EVENT_GAMEPAD_BUTTON_DOWN: baked value 1617 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_GAMEPAD_BUTTON_UP) == (1618), "SDL_EVENT_GAMEPAD_BUTTON_UP: baked value 1618 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_GAMEPAD_ADDED) == (1619), "SDL_EVENT_GAMEPAD_ADDED: baked value 1619 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_GAMEPAD_REMOVED) == (1620), "SDL_EVENT_GAMEPAD_REMOVED: baked value 1620 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_GAMEPAD_REMAPPED) == (1621), "SDL_EVENT_GAMEPAD_REMAPPED: baked value 1621 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_GAMEPAD_TOUCHPAD_DOWN) == (1622), "SDL_EVENT_GAMEPAD_TOUCHPAD_DOWN: baked value 1622 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_GAMEPAD_TOUCHPAD_MOTION) == (1623), "SDL_EVENT_GAMEPAD_TOUCHPAD_MOTION: baked value 1623 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_GAMEPAD_TOUCHPAD_UP) == (1624), "SDL_EVENT_GAMEPAD_TOUCHPAD_UP: baked value 1624 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_GAMEPAD_SENSOR_UPDATE) == (1625), "SDL_EVENT_GAMEPAD_SENSOR_UPDATE: baked value 1625 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_GAMEPAD_UPDATE_COMPLETE) == (1626), "SDL_EVENT_GAMEPAD_UPDATE_COMPLETE: baked value 1626 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_GAMEPAD_STEAM_HANDLE_UPDATED) == (1627), "SDL_EVENT_GAMEPAD_STEAM_HANDLE_UPDATED: baked value 1627 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_FINGER_DOWN) == (1792), "SDL_EVENT_FINGER_DOWN: baked value 1792 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_FINGER_UP) == (1793), "SDL_EVENT_FINGER_UP: baked value 1793 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_FINGER_MOTION) == (1794), "SDL_EVENT_FINGER_MOTION: baked value 1794 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_FINGER_CANCELED) == (1795), "SDL_EVENT_FINGER_CANCELED: baked value 1795 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 4, 0)
-_Static_assert((SDL_EVENT_PINCH_BEGIN) == (1808), "SDL_EVENT_PINCH_BEGIN: baked value 1808 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_PINCH_UPDATE) == (1809), "SDL_EVENT_PINCH_UPDATE: baked value 1809 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_PINCH_END) == (1810), "SDL_EVENT_PINCH_END: baked value 1810 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-_Static_assert((SDL_EVENT_CLIPBOARD_UPDATE) == (2304), "SDL_EVENT_CLIPBOARD_UPDATE: baked value 2304 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_DROP_FILE) == (4096), "SDL_EVENT_DROP_FILE: baked value 4096 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_DROP_TEXT) == (4097), "SDL_EVENT_DROP_TEXT: baked value 4097 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_DROP_BEGIN) == (4098), "SDL_EVENT_DROP_BEGIN: baked value 4098 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_DROP_COMPLETE) == (4099), "SDL_EVENT_DROP_COMPLETE: baked value 4099 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_DROP_POSITION) == (4100), "SDL_EVENT_DROP_POSITION: baked value 4100 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_AUDIO_DEVICE_ADDED) == (4352), "SDL_EVENT_AUDIO_DEVICE_ADDED: baked value 4352 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_AUDIO_DEVICE_REMOVED) == (4353), "SDL_EVENT_AUDIO_DEVICE_REMOVED: baked value 4353 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_AUDIO_DEVICE_FORMAT_CHANGED) == (4354), "SDL_EVENT_AUDIO_DEVICE_FORMAT_CHANGED: baked value 4354 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_SENSOR_UPDATE) == (4608), "SDL_EVENT_SENSOR_UPDATE: baked value 4608 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_PEN_PROXIMITY_IN) == (4864), "SDL_EVENT_PEN_PROXIMITY_IN: baked value 4864 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_PEN_PROXIMITY_OUT) == (4865), "SDL_EVENT_PEN_PROXIMITY_OUT: baked value 4865 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_PEN_DOWN) == (4866), "SDL_EVENT_PEN_DOWN: baked value 4866 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_PEN_UP) == (4867), "SDL_EVENT_PEN_UP: baked value 4867 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_PEN_BUTTON_DOWN) == (4868), "SDL_EVENT_PEN_BUTTON_DOWN: baked value 4868 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_PEN_BUTTON_UP) == (4869), "SDL_EVENT_PEN_BUTTON_UP: baked value 4869 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_PEN_MOTION) == (4870), "SDL_EVENT_PEN_MOTION: baked value 4870 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_PEN_AXIS) == (4871), "SDL_EVENT_PEN_AXIS: baked value 4871 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_CAMERA_DEVICE_ADDED) == (5120), "SDL_EVENT_CAMERA_DEVICE_ADDED: baked value 5120 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_CAMERA_DEVICE_REMOVED) == (5121), "SDL_EVENT_CAMERA_DEVICE_REMOVED: baked value 5121 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_CAMERA_DEVICE_APPROVED) == (5122), "SDL_EVENT_CAMERA_DEVICE_APPROVED: baked value 5122 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_CAMERA_DEVICE_DENIED) == (5123), "SDL_EVENT_CAMERA_DEVICE_DENIED: baked value 5123 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_RENDER_TARGETS_RESET) == (8192), "SDL_EVENT_RENDER_TARGETS_RESET: baked value 8192 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_RENDER_DEVICE_RESET) == (8193), "SDL_EVENT_RENDER_DEVICE_RESET: baked value 8193 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_RENDER_DEVICE_LOST) == (8194), "SDL_EVENT_RENDER_DEVICE_LOST: baked value 8194 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_PRIVATE0) == (16384), "SDL_EVENT_PRIVATE0: baked value 16384 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_PRIVATE1) == (16385), "SDL_EVENT_PRIVATE1: baked value 16385 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_PRIVATE2) == (16386), "SDL_EVENT_PRIVATE2: baked value 16386 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_PRIVATE3) == (16387), "SDL_EVENT_PRIVATE3: baked value 16387 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_POLL_SENTINEL) == (32512), "SDL_EVENT_POLL_SENTINEL: baked value 32512 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_USER) == (32768), "SDL_EVENT_USER: baked value 32768 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_LAST) == (65535), "SDL_EVENT_LAST: baked value 65535 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_EVENT_ENUM_PADDING) == (2147483647), "SDL_EVENT_ENUM_PADDING: baked value 2147483647 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_CommonEvent) == 16, "struct SDL_CommonEvent: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_CommonEvent) == 8, "struct SDL_CommonEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_CommonEvent, type) == 0, "struct SDL_CommonEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_CommonEvent, reserved) == 4, "struct SDL_CommonEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_CommonEvent, timestamp) == 8, "struct SDL_CommonEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_DisplayEvent) == 32, "struct SDL_DisplayEvent: baked sizeof 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_DisplayEvent) == 8, "struct SDL_DisplayEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DisplayEvent, type) == 0, "struct SDL_DisplayEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DisplayEvent, reserved) == 4, "struct SDL_DisplayEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DisplayEvent, timestamp) == 8, "struct SDL_DisplayEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DisplayEvent, displayID) == 16, "struct SDL_DisplayEvent.displayID: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DisplayEvent, data1) == 20, "struct SDL_DisplayEvent.data1: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DisplayEvent, data2) == 24, "struct SDL_DisplayEvent.data2: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_WindowEvent) == 32, "struct SDL_WindowEvent: baked sizeof 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_WindowEvent) == 8, "struct SDL_WindowEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_WindowEvent, type) == 0, "struct SDL_WindowEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_WindowEvent, reserved) == 4, "struct SDL_WindowEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_WindowEvent, timestamp) == 8, "struct SDL_WindowEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_WindowEvent, windowID) == 16, "struct SDL_WindowEvent.windowID: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_WindowEvent, data1) == 20, "struct SDL_WindowEvent.data1: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_WindowEvent, data2) == 24, "struct SDL_WindowEvent.data2: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_KeyboardDeviceEvent) == 24, "struct SDL_KeyboardDeviceEvent: baked sizeof 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_KeyboardDeviceEvent) == 8, "struct SDL_KeyboardDeviceEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_KeyboardDeviceEvent, type) == 0, "struct SDL_KeyboardDeviceEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_KeyboardDeviceEvent, reserved) == 4, "struct SDL_KeyboardDeviceEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_KeyboardDeviceEvent, timestamp) == 8, "struct SDL_KeyboardDeviceEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_KeyboardDeviceEvent, which) == 16, "struct SDL_KeyboardDeviceEvent.which: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_KeyboardEvent) == 40, "struct SDL_KeyboardEvent: baked sizeof 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_KeyboardEvent) == 8, "struct SDL_KeyboardEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_KeyboardEvent, type) == 0, "struct SDL_KeyboardEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_KeyboardEvent, reserved) == 4, "struct SDL_KeyboardEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_KeyboardEvent, timestamp) == 8, "struct SDL_KeyboardEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_KeyboardEvent, windowID) == 16, "struct SDL_KeyboardEvent.windowID: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_KeyboardEvent, which) == 20, "struct SDL_KeyboardEvent.which: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_KeyboardEvent, scancode) == 24, "struct SDL_KeyboardEvent.scancode: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_KeyboardEvent, key) == 28, "struct SDL_KeyboardEvent.key: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_KeyboardEvent, mod) == 32, "struct SDL_KeyboardEvent.mod: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_KeyboardEvent, raw) == 34, "struct SDL_KeyboardEvent.raw: baked offset 34 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_KeyboardEvent, down) == 36, "struct SDL_KeyboardEvent.down: baked offset 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_KeyboardEvent, repeat) == 37, "struct SDL_KeyboardEvent.repeat: baked offset 37 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_TextEditingEvent) == 40, "struct SDL_TextEditingEvent: baked sizeof 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_TextEditingEvent) == 8, "struct SDL_TextEditingEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextEditingEvent, type) == 0, "struct SDL_TextEditingEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextEditingEvent, reserved) == 4, "struct SDL_TextEditingEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextEditingEvent, timestamp) == 8, "struct SDL_TextEditingEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextEditingEvent, windowID) == 16, "struct SDL_TextEditingEvent.windowID: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextEditingEvent, text) == 24, "struct SDL_TextEditingEvent.text: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextEditingEvent, start) == 32, "struct SDL_TextEditingEvent.start: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextEditingEvent, length) == 36, "struct SDL_TextEditingEvent.length: baked offset 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_TextEditingCandidatesEvent) == 48, "struct SDL_TextEditingCandidatesEvent: baked sizeof 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_TextEditingCandidatesEvent) == 8, "struct SDL_TextEditingCandidatesEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextEditingCandidatesEvent, type) == 0, "struct SDL_TextEditingCandidatesEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextEditingCandidatesEvent, reserved) == 4, "struct SDL_TextEditingCandidatesEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextEditingCandidatesEvent, timestamp) == 8, "struct SDL_TextEditingCandidatesEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextEditingCandidatesEvent, windowID) == 16, "struct SDL_TextEditingCandidatesEvent.windowID: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextEditingCandidatesEvent, candidates) == 24, "struct SDL_TextEditingCandidatesEvent.candidates: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextEditingCandidatesEvent, num_candidates) == 32, "struct SDL_TextEditingCandidatesEvent.num_candidates: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextEditingCandidatesEvent, selected_candidate) == 36, "struct SDL_TextEditingCandidatesEvent.selected_candidate: baked offset 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextEditingCandidatesEvent, horizontal) == 40, "struct SDL_TextEditingCandidatesEvent.horizontal: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextEditingCandidatesEvent, padding1) == 41, "struct SDL_TextEditingCandidatesEvent.padding1: baked offset 41 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextEditingCandidatesEvent, padding2) == 42, "struct SDL_TextEditingCandidatesEvent.padding2: baked offset 42 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextEditingCandidatesEvent, padding3) == 43, "struct SDL_TextEditingCandidatesEvent.padding3: baked offset 43 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_TextInputEvent) == 32, "struct SDL_TextInputEvent: baked sizeof 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_TextInputEvent) == 8, "struct SDL_TextInputEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextInputEvent, type) == 0, "struct SDL_TextInputEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextInputEvent, reserved) == 4, "struct SDL_TextInputEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextInputEvent, timestamp) == 8, "struct SDL_TextInputEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextInputEvent, windowID) == 16, "struct SDL_TextInputEvent.windowID: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TextInputEvent, text) == 24, "struct SDL_TextInputEvent.text: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_MouseDeviceEvent) == 24, "struct SDL_MouseDeviceEvent: baked sizeof 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_MouseDeviceEvent) == 8, "struct SDL_MouseDeviceEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseDeviceEvent, type) == 0, "struct SDL_MouseDeviceEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseDeviceEvent, reserved) == 4, "struct SDL_MouseDeviceEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseDeviceEvent, timestamp) == 8, "struct SDL_MouseDeviceEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseDeviceEvent, which) == 16, "struct SDL_MouseDeviceEvent.which: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_MouseMotionEvent) == 48, "struct SDL_MouseMotionEvent: baked sizeof 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_MouseMotionEvent) == 8, "struct SDL_MouseMotionEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseMotionEvent, type) == 0, "struct SDL_MouseMotionEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseMotionEvent, reserved) == 4, "struct SDL_MouseMotionEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseMotionEvent, timestamp) == 8, "struct SDL_MouseMotionEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseMotionEvent, windowID) == 16, "struct SDL_MouseMotionEvent.windowID: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseMotionEvent, which) == 20, "struct SDL_MouseMotionEvent.which: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseMotionEvent, state) == 24, "struct SDL_MouseMotionEvent.state: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseMotionEvent, x) == 28, "struct SDL_MouseMotionEvent.x: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseMotionEvent, y) == 32, "struct SDL_MouseMotionEvent.y: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseMotionEvent, xrel) == 36, "struct SDL_MouseMotionEvent.xrel: baked offset 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseMotionEvent, yrel) == 40, "struct SDL_MouseMotionEvent.yrel: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_MouseButtonEvent) == 40, "struct SDL_MouseButtonEvent: baked sizeof 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_MouseButtonEvent) == 8, "struct SDL_MouseButtonEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseButtonEvent, type) == 0, "struct SDL_MouseButtonEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseButtonEvent, reserved) == 4, "struct SDL_MouseButtonEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseButtonEvent, timestamp) == 8, "struct SDL_MouseButtonEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseButtonEvent, windowID) == 16, "struct SDL_MouseButtonEvent.windowID: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseButtonEvent, which) == 20, "struct SDL_MouseButtonEvent.which: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseButtonEvent, button) == 24, "struct SDL_MouseButtonEvent.button: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseButtonEvent, down) == 25, "struct SDL_MouseButtonEvent.down: baked offset 25 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseButtonEvent, clicks) == 26, "struct SDL_MouseButtonEvent.clicks: baked offset 26 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseButtonEvent, padding) == 27, "struct SDL_MouseButtonEvent.padding: baked offset 27 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseButtonEvent, x) == 28, "struct SDL_MouseButtonEvent.x: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseButtonEvent, y) == 32, "struct SDL_MouseButtonEvent.y: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 2, 12)
-_Static_assert(sizeof(struct SDL_MouseWheelEvent) == 56, "struct SDL_MouseWheelEvent: baked sizeof 56 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_MouseWheelEvent) == 8, "struct SDL_MouseWheelEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-_Static_assert(offsetof(struct SDL_MouseWheelEvent, type) == 0, "struct SDL_MouseWheelEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseWheelEvent, reserved) == 4, "struct SDL_MouseWheelEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseWheelEvent, timestamp) == 8, "struct SDL_MouseWheelEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseWheelEvent, windowID) == 16, "struct SDL_MouseWheelEvent.windowID: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseWheelEvent, which) == 20, "struct SDL_MouseWheelEvent.which: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseWheelEvent, x) == 24, "struct SDL_MouseWheelEvent.x: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseWheelEvent, y) == 28, "struct SDL_MouseWheelEvent.y: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseWheelEvent, direction) == 32, "struct SDL_MouseWheelEvent.direction: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseWheelEvent, mouse_x) == 36, "struct SDL_MouseWheelEvent.mouse_x: baked offset 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseWheelEvent, mouse_y) == 40, "struct SDL_MouseWheelEvent.mouse_y: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 2, 12)
-_Static_assert(offsetof(struct SDL_MouseWheelEvent, integer_x) == 44, "struct SDL_MouseWheelEvent.integer_x: baked offset 44 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MouseWheelEvent, integer_y) == 48, "struct SDL_MouseWheelEvent.integer_y: baked offset 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-_Static_assert(sizeof(struct SDL_JoyAxisEvent) == 32, "struct SDL_JoyAxisEvent: baked sizeof 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_JoyAxisEvent) == 8, "struct SDL_JoyAxisEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyAxisEvent, type) == 0, "struct SDL_JoyAxisEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyAxisEvent, reserved) == 4, "struct SDL_JoyAxisEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyAxisEvent, timestamp) == 8, "struct SDL_JoyAxisEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyAxisEvent, which) == 16, "struct SDL_JoyAxisEvent.which: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyAxisEvent, axis) == 20, "struct SDL_JoyAxisEvent.axis: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyAxisEvent, padding1) == 21, "struct SDL_JoyAxisEvent.padding1: baked offset 21 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyAxisEvent, padding2) == 22, "struct SDL_JoyAxisEvent.padding2: baked offset 22 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyAxisEvent, padding3) == 23, "struct SDL_JoyAxisEvent.padding3: baked offset 23 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyAxisEvent, value) == 24, "struct SDL_JoyAxisEvent.value: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyAxisEvent, padding4) == 26, "struct SDL_JoyAxisEvent.padding4: baked offset 26 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_JoyBallEvent) == 32, "struct SDL_JoyBallEvent: baked sizeof 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_JoyBallEvent) == 8, "struct SDL_JoyBallEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyBallEvent, type) == 0, "struct SDL_JoyBallEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyBallEvent, reserved) == 4, "struct SDL_JoyBallEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyBallEvent, timestamp) == 8, "struct SDL_JoyBallEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyBallEvent, which) == 16, "struct SDL_JoyBallEvent.which: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyBallEvent, ball) == 20, "struct SDL_JoyBallEvent.ball: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyBallEvent, padding1) == 21, "struct SDL_JoyBallEvent.padding1: baked offset 21 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyBallEvent, padding2) == 22, "struct SDL_JoyBallEvent.padding2: baked offset 22 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyBallEvent, padding3) == 23, "struct SDL_JoyBallEvent.padding3: baked offset 23 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyBallEvent, xrel) == 24, "struct SDL_JoyBallEvent.xrel: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyBallEvent, yrel) == 26, "struct SDL_JoyBallEvent.yrel: baked offset 26 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_JoyHatEvent) == 24, "struct SDL_JoyHatEvent: baked sizeof 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_JoyHatEvent) == 8, "struct SDL_JoyHatEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyHatEvent, type) == 0, "struct SDL_JoyHatEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyHatEvent, reserved) == 4, "struct SDL_JoyHatEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyHatEvent, timestamp) == 8, "struct SDL_JoyHatEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyHatEvent, which) == 16, "struct SDL_JoyHatEvent.which: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyHatEvent, hat) == 20, "struct SDL_JoyHatEvent.hat: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyHatEvent, value) == 21, "struct SDL_JoyHatEvent.value: baked offset 21 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyHatEvent, padding1) == 22, "struct SDL_JoyHatEvent.padding1: baked offset 22 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyHatEvent, padding2) == 23, "struct SDL_JoyHatEvent.padding2: baked offset 23 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_JoyButtonEvent) == 24, "struct SDL_JoyButtonEvent: baked sizeof 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_JoyButtonEvent) == 8, "struct SDL_JoyButtonEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyButtonEvent, type) == 0, "struct SDL_JoyButtonEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyButtonEvent, reserved) == 4, "struct SDL_JoyButtonEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyButtonEvent, timestamp) == 8, "struct SDL_JoyButtonEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyButtonEvent, which) == 16, "struct SDL_JoyButtonEvent.which: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyButtonEvent, button) == 20, "struct SDL_JoyButtonEvent.button: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyButtonEvent, down) == 21, "struct SDL_JoyButtonEvent.down: baked offset 21 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyButtonEvent, padding1) == 22, "struct SDL_JoyButtonEvent.padding1: baked offset 22 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyButtonEvent, padding2) == 23, "struct SDL_JoyButtonEvent.padding2: baked offset 23 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_JoyDeviceEvent) == 24, "struct SDL_JoyDeviceEvent: baked sizeof 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_JoyDeviceEvent) == 8, "struct SDL_JoyDeviceEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyDeviceEvent, type) == 0, "struct SDL_JoyDeviceEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyDeviceEvent, reserved) == 4, "struct SDL_JoyDeviceEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyDeviceEvent, timestamp) == 8, "struct SDL_JoyDeviceEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyDeviceEvent, which) == 16, "struct SDL_JoyDeviceEvent.which: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_JoyBatteryEvent) == 32, "struct SDL_JoyBatteryEvent: baked sizeof 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_JoyBatteryEvent) == 8, "struct SDL_JoyBatteryEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyBatteryEvent, type) == 0, "struct SDL_JoyBatteryEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyBatteryEvent, reserved) == 4, "struct SDL_JoyBatteryEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyBatteryEvent, timestamp) == 8, "struct SDL_JoyBatteryEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyBatteryEvent, which) == 16, "struct SDL_JoyBatteryEvent.which: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyBatteryEvent, state) == 20, "struct SDL_JoyBatteryEvent.state: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_JoyBatteryEvent, percent) == 24, "struct SDL_JoyBatteryEvent.percent: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GamepadAxisEvent) == 32, "struct SDL_GamepadAxisEvent: baked sizeof 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GamepadAxisEvent) == 8, "struct SDL_GamepadAxisEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadAxisEvent, type) == 0, "struct SDL_GamepadAxisEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadAxisEvent, reserved) == 4, "struct SDL_GamepadAxisEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadAxisEvent, timestamp) == 8, "struct SDL_GamepadAxisEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadAxisEvent, which) == 16, "struct SDL_GamepadAxisEvent.which: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadAxisEvent, axis) == 20, "struct SDL_GamepadAxisEvent.axis: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadAxisEvent, padding1) == 21, "struct SDL_GamepadAxisEvent.padding1: baked offset 21 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadAxisEvent, padding2) == 22, "struct SDL_GamepadAxisEvent.padding2: baked offset 22 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadAxisEvent, padding3) == 23, "struct SDL_GamepadAxisEvent.padding3: baked offset 23 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadAxisEvent, value) == 24, "struct SDL_GamepadAxisEvent.value: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadAxisEvent, padding4) == 26, "struct SDL_GamepadAxisEvent.padding4: baked offset 26 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GamepadButtonEvent) == 24, "struct SDL_GamepadButtonEvent: baked sizeof 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GamepadButtonEvent) == 8, "struct SDL_GamepadButtonEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadButtonEvent, type) == 0, "struct SDL_GamepadButtonEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadButtonEvent, reserved) == 4, "struct SDL_GamepadButtonEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadButtonEvent, timestamp) == 8, "struct SDL_GamepadButtonEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadButtonEvent, which) == 16, "struct SDL_GamepadButtonEvent.which: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadButtonEvent, button) == 20, "struct SDL_GamepadButtonEvent.button: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadButtonEvent, down) == 21, "struct SDL_GamepadButtonEvent.down: baked offset 21 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadButtonEvent, padding1) == 22, "struct SDL_GamepadButtonEvent.padding1: baked offset 22 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadButtonEvent, padding2) == 23, "struct SDL_GamepadButtonEvent.padding2: baked offset 23 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GamepadDeviceEvent) == 24, "struct SDL_GamepadDeviceEvent: baked sizeof 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GamepadDeviceEvent) == 8, "struct SDL_GamepadDeviceEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadDeviceEvent, type) == 0, "struct SDL_GamepadDeviceEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadDeviceEvent, reserved) == 4, "struct SDL_GamepadDeviceEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadDeviceEvent, timestamp) == 8, "struct SDL_GamepadDeviceEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadDeviceEvent, which) == 16, "struct SDL_GamepadDeviceEvent.which: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GamepadTouchpadEvent) == 40, "struct SDL_GamepadTouchpadEvent: baked sizeof 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GamepadTouchpadEvent) == 8, "struct SDL_GamepadTouchpadEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadTouchpadEvent, type) == 0, "struct SDL_GamepadTouchpadEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadTouchpadEvent, reserved) == 4, "struct SDL_GamepadTouchpadEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadTouchpadEvent, timestamp) == 8, "struct SDL_GamepadTouchpadEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadTouchpadEvent, which) == 16, "struct SDL_GamepadTouchpadEvent.which: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadTouchpadEvent, touchpad) == 20, "struct SDL_GamepadTouchpadEvent.touchpad: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadTouchpadEvent, finger) == 24, "struct SDL_GamepadTouchpadEvent.finger: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadTouchpadEvent, x) == 28, "struct SDL_GamepadTouchpadEvent.x: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadTouchpadEvent, y) == 32, "struct SDL_GamepadTouchpadEvent.y: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadTouchpadEvent, pressure) == 36, "struct SDL_GamepadTouchpadEvent.pressure: baked offset 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GamepadSensorEvent) == 48, "struct SDL_GamepadSensorEvent: baked sizeof 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GamepadSensorEvent) == 8, "struct SDL_GamepadSensorEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadSensorEvent, type) == 0, "struct SDL_GamepadSensorEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadSensorEvent, reserved) == 4, "struct SDL_GamepadSensorEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadSensorEvent, timestamp) == 8, "struct SDL_GamepadSensorEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadSensorEvent, which) == 16, "struct SDL_GamepadSensorEvent.which: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadSensorEvent, sensor) == 20, "struct SDL_GamepadSensorEvent.sensor: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadSensorEvent, data) == 24, "struct SDL_GamepadSensorEvent.data: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GamepadSensorEvent, sensor_timestamp) == 40, "struct SDL_GamepadSensorEvent.sensor_timestamp: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_AudioDeviceEvent) == 24, "struct SDL_AudioDeviceEvent: baked sizeof 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_AudioDeviceEvent) == 8, "struct SDL_AudioDeviceEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AudioDeviceEvent, type) == 0, "struct SDL_AudioDeviceEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AudioDeviceEvent, reserved) == 4, "struct SDL_AudioDeviceEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AudioDeviceEvent, timestamp) == 8, "struct SDL_AudioDeviceEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AudioDeviceEvent, which) == 16, "struct SDL_AudioDeviceEvent.which: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AudioDeviceEvent, recording) == 20, "struct SDL_AudioDeviceEvent.recording: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AudioDeviceEvent, padding1) == 21, "struct SDL_AudioDeviceEvent.padding1: baked offset 21 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AudioDeviceEvent, padding2) == 22, "struct SDL_AudioDeviceEvent.padding2: baked offset 22 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_AudioDeviceEvent, padding3) == 23, "struct SDL_AudioDeviceEvent.padding3: baked offset 23 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_CameraDeviceEvent) == 24, "struct SDL_CameraDeviceEvent: baked sizeof 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_CameraDeviceEvent) == 8, "struct SDL_CameraDeviceEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_CameraDeviceEvent, type) == 0, "struct SDL_CameraDeviceEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_CameraDeviceEvent, reserved) == 4, "struct SDL_CameraDeviceEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_CameraDeviceEvent, timestamp) == 8, "struct SDL_CameraDeviceEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_CameraDeviceEvent, which) == 16, "struct SDL_CameraDeviceEvent.which: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_RenderEvent) == 24, "struct SDL_RenderEvent: baked sizeof 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_RenderEvent) == 8, "struct SDL_RenderEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_RenderEvent, type) == 0, "struct SDL_RenderEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_RenderEvent, reserved) == 4, "struct SDL_RenderEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_RenderEvent, timestamp) == 8, "struct SDL_RenderEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_RenderEvent, windowID) == 16, "struct SDL_RenderEvent.windowID: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_TouchFingerEvent) == 56, "struct SDL_TouchFingerEvent: baked sizeof 56 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_TouchFingerEvent) == 8, "struct SDL_TouchFingerEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TouchFingerEvent, type) == 0, "struct SDL_TouchFingerEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TouchFingerEvent, reserved) == 4, "struct SDL_TouchFingerEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TouchFingerEvent, timestamp) == 8, "struct SDL_TouchFingerEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TouchFingerEvent, touchID) == 16, "struct SDL_TouchFingerEvent.touchID: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TouchFingerEvent, fingerID) == 24, "struct SDL_TouchFingerEvent.fingerID: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TouchFingerEvent, x) == 32, "struct SDL_TouchFingerEvent.x: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TouchFingerEvent, y) == 36, "struct SDL_TouchFingerEvent.y: baked offset 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TouchFingerEvent, dx) == 40, "struct SDL_TouchFingerEvent.dx: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TouchFingerEvent, dy) == 44, "struct SDL_TouchFingerEvent.dy: baked offset 44 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TouchFingerEvent, pressure) == 48, "struct SDL_TouchFingerEvent.pressure: baked offset 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_TouchFingerEvent, windowID) == 52, "struct SDL_TouchFingerEvent.windowID: baked offset 52 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 4, 0)
-_Static_assert(sizeof(struct SDL_PinchFingerEvent) == 24, "struct SDL_PinchFingerEvent: baked sizeof 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_PinchFingerEvent) == 8, "struct SDL_PinchFingerEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PinchFingerEvent, type) == 0, "struct SDL_PinchFingerEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PinchFingerEvent, reserved) == 4, "struct SDL_PinchFingerEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PinchFingerEvent, timestamp) == 8, "struct SDL_PinchFingerEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PinchFingerEvent, scale) == 16, "struct SDL_PinchFingerEvent.scale: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PinchFingerEvent, windowID) == 20, "struct SDL_PinchFingerEvent.windowID: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-_Static_assert(sizeof(struct SDL_PenProximityEvent) == 24, "struct SDL_PenProximityEvent: baked sizeof 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_PenProximityEvent) == 8, "struct SDL_PenProximityEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenProximityEvent, type) == 0, "struct SDL_PenProximityEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenProximityEvent, reserved) == 4, "struct SDL_PenProximityEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenProximityEvent, timestamp) == 8, "struct SDL_PenProximityEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenProximityEvent, windowID) == 16, "struct SDL_PenProximityEvent.windowID: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenProximityEvent, which) == 20, "struct SDL_PenProximityEvent.which: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_PenMotionEvent) == 40, "struct SDL_PenMotionEvent: baked sizeof 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_PenMotionEvent) == 8, "struct SDL_PenMotionEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenMotionEvent, type) == 0, "struct SDL_PenMotionEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenMotionEvent, reserved) == 4, "struct SDL_PenMotionEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenMotionEvent, timestamp) == 8, "struct SDL_PenMotionEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenMotionEvent, windowID) == 16, "struct SDL_PenMotionEvent.windowID: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenMotionEvent, which) == 20, "struct SDL_PenMotionEvent.which: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenMotionEvent, pen_state) == 24, "struct SDL_PenMotionEvent.pen_state: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenMotionEvent, x) == 28, "struct SDL_PenMotionEvent.x: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenMotionEvent, y) == 32, "struct SDL_PenMotionEvent.y: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_PenTouchEvent) == 40, "struct SDL_PenTouchEvent: baked sizeof 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_PenTouchEvent) == 8, "struct SDL_PenTouchEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenTouchEvent, type) == 0, "struct SDL_PenTouchEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenTouchEvent, reserved) == 4, "struct SDL_PenTouchEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenTouchEvent, timestamp) == 8, "struct SDL_PenTouchEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenTouchEvent, windowID) == 16, "struct SDL_PenTouchEvent.windowID: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenTouchEvent, which) == 20, "struct SDL_PenTouchEvent.which: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenTouchEvent, pen_state) == 24, "struct SDL_PenTouchEvent.pen_state: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenTouchEvent, x) == 28, "struct SDL_PenTouchEvent.x: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenTouchEvent, y) == 32, "struct SDL_PenTouchEvent.y: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenTouchEvent, eraser) == 36, "struct SDL_PenTouchEvent.eraser: baked offset 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenTouchEvent, down) == 37, "struct SDL_PenTouchEvent.down: baked offset 37 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_PenButtonEvent) == 40, "struct SDL_PenButtonEvent: baked sizeof 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_PenButtonEvent) == 8, "struct SDL_PenButtonEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenButtonEvent, type) == 0, "struct SDL_PenButtonEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenButtonEvent, reserved) == 4, "struct SDL_PenButtonEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenButtonEvent, timestamp) == 8, "struct SDL_PenButtonEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenButtonEvent, windowID) == 16, "struct SDL_PenButtonEvent.windowID: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenButtonEvent, which) == 20, "struct SDL_PenButtonEvent.which: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenButtonEvent, pen_state) == 24, "struct SDL_PenButtonEvent.pen_state: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenButtonEvent, x) == 28, "struct SDL_PenButtonEvent.x: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenButtonEvent, y) == 32, "struct SDL_PenButtonEvent.y: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenButtonEvent, button) == 36, "struct SDL_PenButtonEvent.button: baked offset 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenButtonEvent, down) == 37, "struct SDL_PenButtonEvent.down: baked offset 37 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_PenAxisEvent) == 48, "struct SDL_PenAxisEvent: baked sizeof 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_PenAxisEvent) == 8, "struct SDL_PenAxisEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenAxisEvent, type) == 0, "struct SDL_PenAxisEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenAxisEvent, reserved) == 4, "struct SDL_PenAxisEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenAxisEvent, timestamp) == 8, "struct SDL_PenAxisEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenAxisEvent, windowID) == 16, "struct SDL_PenAxisEvent.windowID: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenAxisEvent, which) == 20, "struct SDL_PenAxisEvent.which: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenAxisEvent, pen_state) == 24, "struct SDL_PenAxisEvent.pen_state: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenAxisEvent, x) == 28, "struct SDL_PenAxisEvent.x: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenAxisEvent, y) == 32, "struct SDL_PenAxisEvent.y: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenAxisEvent, axis) == 36, "struct SDL_PenAxisEvent.axis: baked offset 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PenAxisEvent, value) == 40, "struct SDL_PenAxisEvent.value: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_DropEvent) == 48, "struct SDL_DropEvent: baked sizeof 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_DropEvent) == 8, "struct SDL_DropEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DropEvent, type) == 0, "struct SDL_DropEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DropEvent, reserved) == 4, "struct SDL_DropEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DropEvent, timestamp) == 8, "struct SDL_DropEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DropEvent, windowID) == 16, "struct SDL_DropEvent.windowID: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DropEvent, x) == 20, "struct SDL_DropEvent.x: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DropEvent, y) == 24, "struct SDL_DropEvent.y: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DropEvent, source) == 32, "struct SDL_DropEvent.source: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DropEvent, data) == 40, "struct SDL_DropEvent.data: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_ClipboardEvent) == 32, "struct SDL_ClipboardEvent: baked sizeof 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_ClipboardEvent) == 8, "struct SDL_ClipboardEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_ClipboardEvent, type) == 0, "struct SDL_ClipboardEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_ClipboardEvent, reserved) == 4, "struct SDL_ClipboardEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_ClipboardEvent, timestamp) == 8, "struct SDL_ClipboardEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_ClipboardEvent, owner) == 16, "struct SDL_ClipboardEvent.owner: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_ClipboardEvent, num_mime_types) == 20, "struct SDL_ClipboardEvent.num_mime_types: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_ClipboardEvent, mime_types) == 24, "struct SDL_ClipboardEvent.mime_types: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_SensorEvent) == 56, "struct SDL_SensorEvent: baked sizeof 56 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_SensorEvent) == 8, "struct SDL_SensorEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_SensorEvent, type) == 0, "struct SDL_SensorEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_SensorEvent, reserved) == 4, "struct SDL_SensorEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_SensorEvent, timestamp) == 8, "struct SDL_SensorEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_SensorEvent, which) == 16, "struct SDL_SensorEvent.which: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_SensorEvent, data) == 20, "struct SDL_SensorEvent.data: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_SensorEvent, sensor_timestamp) == 48, "struct SDL_SensorEvent.sensor_timestamp: baked offset 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_QuitEvent) == 16, "struct SDL_QuitEvent: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_QuitEvent) == 8, "struct SDL_QuitEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_QuitEvent, type) == 0, "struct SDL_QuitEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_QuitEvent, reserved) == 4, "struct SDL_QuitEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_QuitEvent, timestamp) == 8, "struct SDL_QuitEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_UserEvent) == 40, "struct SDL_UserEvent: baked sizeof 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_UserEvent) == 8, "struct SDL_UserEvent: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_UserEvent, type) == 0, "struct SDL_UserEvent.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_UserEvent, reserved) == 4, "struct SDL_UserEvent.reserved: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_UserEvent, timestamp) == 8, "struct SDL_UserEvent.timestamp: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_UserEvent, windowID) == 16, "struct SDL_UserEvent.windowID: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_UserEvent, code) == 20, "struct SDL_UserEvent.code: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_UserEvent, data1) == 24, "struct SDL_UserEvent.data1: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_UserEvent, data2) == 32, "struct SDL_UserEvent.data2: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(union SDL_Event) == 128, "union SDL_Event: baked sizeof 128 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(union SDL_Event) == 8, "union SDL_Event: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_EventAction) == 4, "enum SDL_EventAction: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_EventAction) == 4, "enum SDL_EventAction: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ADDEVENT) == (0), "SDL_ADDEVENT: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PEEKEVENT) == (1), "SDL_PEEKEVENT: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GETEVENT) == (2), "SDL_GETEVENT: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_filesystem.h ---- */
-_Static_assert(sizeof(enum SDL_Folder) == 4, "enum SDL_Folder: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_Folder) == 4, "enum SDL_Folder: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_FOLDER_HOME) == (0), "SDL_FOLDER_HOME: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_FOLDER_DESKTOP) == (1), "SDL_FOLDER_DESKTOP: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_FOLDER_DOCUMENTS) == (2), "SDL_FOLDER_DOCUMENTS: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_FOLDER_DOWNLOADS) == (3), "SDL_FOLDER_DOWNLOADS: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_FOLDER_MUSIC) == (4), "SDL_FOLDER_MUSIC: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_FOLDER_PICTURES) == (5), "SDL_FOLDER_PICTURES: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_FOLDER_PUBLICSHARE) == (6), "SDL_FOLDER_PUBLICSHARE: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_FOLDER_SAVEDGAMES) == (7), "SDL_FOLDER_SAVEDGAMES: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_FOLDER_SCREENSHOTS) == (8), "SDL_FOLDER_SCREENSHOTS: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_FOLDER_TEMPLATES) == (9), "SDL_FOLDER_TEMPLATES: baked value 9 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_FOLDER_VIDEOS) == (10), "SDL_FOLDER_VIDEOS: baked value 10 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_FOLDER_COUNT) == (11), "SDL_FOLDER_COUNT: baked value 11 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_PathType) == 4, "enum SDL_PathType: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_PathType) == 4, "enum SDL_PathType: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PATHTYPE_NONE) == (0), "SDL_PATHTYPE_NONE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PATHTYPE_FILE) == (1), "SDL_PATHTYPE_FILE: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PATHTYPE_DIRECTORY) == (2), "SDL_PATHTYPE_DIRECTORY: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PATHTYPE_OTHER) == (3), "SDL_PATHTYPE_OTHER: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_PathInfo) == 40, "struct SDL_PathInfo: baked sizeof 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_PathInfo) == 8, "struct SDL_PathInfo: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PathInfo, type) == 0, "struct SDL_PathInfo.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PathInfo, size) == 8, "struct SDL_PathInfo.size: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PathInfo, create_time) == 16, "struct SDL_PathInfo.create_time: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PathInfo, modify_time) == 24, "struct SDL_PathInfo.modify_time: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_PathInfo, access_time) == 32, "struct SDL_PathInfo.access_time: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_EnumerationResult) == 4, "enum SDL_EnumerationResult: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_EnumerationResult) == 4, "enum SDL_EnumerationResult: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ENUM_CONTINUE) == (0), "SDL_ENUM_CONTINUE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ENUM_SUCCESS) == (1), "SDL_ENUM_SUCCESS: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_ENUM_FAILURE) == (2), "SDL_ENUM_FAILURE: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_gpu.h ---- */
-_Static_assert(sizeof(enum SDL_GPUPrimitiveType) == 4, "enum SDL_GPUPrimitiveType: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUPrimitiveType) == 4, "enum SDL_GPUPrimitiveType: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_PRIMITIVETYPE_TRIANGLELIST) == (0), "SDL_GPU_PRIMITIVETYPE_TRIANGLELIST: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_PRIMITIVETYPE_TRIANGLESTRIP) == (1), "SDL_GPU_PRIMITIVETYPE_TRIANGLESTRIP: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_PRIMITIVETYPE_LINELIST) == (2), "SDL_GPU_PRIMITIVETYPE_LINELIST: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_PRIMITIVETYPE_LINESTRIP) == (3), "SDL_GPU_PRIMITIVETYPE_LINESTRIP: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_PRIMITIVETYPE_POINTLIST) == (4), "SDL_GPU_PRIMITIVETYPE_POINTLIST: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPULoadOp) == 4, "enum SDL_GPULoadOp: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPULoadOp) == 4, "enum SDL_GPULoadOp: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_LOADOP_LOAD) == (0), "SDL_GPU_LOADOP_LOAD: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_LOADOP_CLEAR) == (1), "SDL_GPU_LOADOP_CLEAR: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_LOADOP_DONT_CARE) == (2), "SDL_GPU_LOADOP_DONT_CARE: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPUStoreOp) == 4, "enum SDL_GPUStoreOp: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUStoreOp) == 4, "enum SDL_GPUStoreOp: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_STOREOP_STORE) == (0), "SDL_GPU_STOREOP_STORE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_STOREOP_DONT_CARE) == (1), "SDL_GPU_STOREOP_DONT_CARE: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_STOREOP_RESOLVE) == (2), "SDL_GPU_STOREOP_RESOLVE: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_STOREOP_RESOLVE_AND_STORE) == (3), "SDL_GPU_STOREOP_RESOLVE_AND_STORE: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPUIndexElementSize) == 4, "enum SDL_GPUIndexElementSize: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUIndexElementSize) == 4, "enum SDL_GPUIndexElementSize: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_INDEXELEMENTSIZE_16BIT) == (0), "SDL_GPU_INDEXELEMENTSIZE_16BIT: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_INDEXELEMENTSIZE_32BIT) == (1), "SDL_GPU_INDEXELEMENTSIZE_32BIT: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPUTextureFormat) == 4, "enum SDL_GPUTextureFormat: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUTextureFormat) == 4, "enum SDL_GPUTextureFormat: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_INVALID) == (0), "SDL_GPU_TEXTUREFORMAT_INVALID: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_A8_UNORM) == (1), "SDL_GPU_TEXTUREFORMAT_A8_UNORM: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R8_UNORM) == (2), "SDL_GPU_TEXTUREFORMAT_R8_UNORM: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R8G8_UNORM) == (3), "SDL_GPU_TEXTUREFORMAT_R8G8_UNORM: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM) == (4), "SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R16_UNORM) == (5), "SDL_GPU_TEXTUREFORMAT_R16_UNORM: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R16G16_UNORM) == (6), "SDL_GPU_TEXTUREFORMAT_R16G16_UNORM: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R16G16B16A16_UNORM) == (7), "SDL_GPU_TEXTUREFORMAT_R16G16B16A16_UNORM: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R10G10B10A2_UNORM) == (8), "SDL_GPU_TEXTUREFORMAT_R10G10B10A2_UNORM: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_B5G6R5_UNORM) == (9), "SDL_GPU_TEXTUREFORMAT_B5G6R5_UNORM: baked value 9 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_B5G5R5A1_UNORM) == (10), "SDL_GPU_TEXTUREFORMAT_B5G5R5A1_UNORM: baked value 10 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_B4G4R4A4_UNORM) == (11), "SDL_GPU_TEXTUREFORMAT_B4G4R4A4_UNORM: baked value 11 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM) == (12), "SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM: baked value 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_BC1_RGBA_UNORM) == (13), "SDL_GPU_TEXTUREFORMAT_BC1_RGBA_UNORM: baked value 13 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_BC2_RGBA_UNORM) == (14), "SDL_GPU_TEXTUREFORMAT_BC2_RGBA_UNORM: baked value 14 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_BC3_RGBA_UNORM) == (15), "SDL_GPU_TEXTUREFORMAT_BC3_RGBA_UNORM: baked value 15 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_BC4_R_UNORM) == (16), "SDL_GPU_TEXTUREFORMAT_BC4_R_UNORM: baked value 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_BC5_RG_UNORM) == (17), "SDL_GPU_TEXTUREFORMAT_BC5_RG_UNORM: baked value 17 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_BC7_RGBA_UNORM) == (18), "SDL_GPU_TEXTUREFORMAT_BC7_RGBA_UNORM: baked value 18 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_BC6H_RGB_FLOAT) == (19), "SDL_GPU_TEXTUREFORMAT_BC6H_RGB_FLOAT: baked value 19 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_BC6H_RGB_UFLOAT) == (20), "SDL_GPU_TEXTUREFORMAT_BC6H_RGB_UFLOAT: baked value 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R8_SNORM) == (21), "SDL_GPU_TEXTUREFORMAT_R8_SNORM: baked value 21 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R8G8_SNORM) == (22), "SDL_GPU_TEXTUREFORMAT_R8G8_SNORM: baked value 22 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R8G8B8A8_SNORM) == (23), "SDL_GPU_TEXTUREFORMAT_R8G8B8A8_SNORM: baked value 23 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R16_SNORM) == (24), "SDL_GPU_TEXTUREFORMAT_R16_SNORM: baked value 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R16G16_SNORM) == (25), "SDL_GPU_TEXTUREFORMAT_R16G16_SNORM: baked value 25 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R16G16B16A16_SNORM) == (26), "SDL_GPU_TEXTUREFORMAT_R16G16B16A16_SNORM: baked value 26 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R16_FLOAT) == (27), "SDL_GPU_TEXTUREFORMAT_R16_FLOAT: baked value 27 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R16G16_FLOAT) == (28), "SDL_GPU_TEXTUREFORMAT_R16G16_FLOAT: baked value 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R16G16B16A16_FLOAT) == (29), "SDL_GPU_TEXTUREFORMAT_R16G16B16A16_FLOAT: baked value 29 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R32_FLOAT) == (30), "SDL_GPU_TEXTUREFORMAT_R32_FLOAT: baked value 30 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R32G32_FLOAT) == (31), "SDL_GPU_TEXTUREFORMAT_R32G32_FLOAT: baked value 31 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R32G32B32A32_FLOAT) == (32), "SDL_GPU_TEXTUREFORMAT_R32G32B32A32_FLOAT: baked value 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R11G11B10_UFLOAT) == (33), "SDL_GPU_TEXTUREFORMAT_R11G11B10_UFLOAT: baked value 33 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R8_UINT) == (34), "SDL_GPU_TEXTUREFORMAT_R8_UINT: baked value 34 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R8G8_UINT) == (35), "SDL_GPU_TEXTUREFORMAT_R8G8_UINT: baked value 35 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UINT) == (36), "SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UINT: baked value 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R16_UINT) == (37), "SDL_GPU_TEXTUREFORMAT_R16_UINT: baked value 37 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R16G16_UINT) == (38), "SDL_GPU_TEXTUREFORMAT_R16G16_UINT: baked value 38 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R16G16B16A16_UINT) == (39), "SDL_GPU_TEXTUREFORMAT_R16G16B16A16_UINT: baked value 39 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R32_UINT) == (40), "SDL_GPU_TEXTUREFORMAT_R32_UINT: baked value 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R32G32_UINT) == (41), "SDL_GPU_TEXTUREFORMAT_R32G32_UINT: baked value 41 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R32G32B32A32_UINT) == (42), "SDL_GPU_TEXTUREFORMAT_R32G32B32A32_UINT: baked value 42 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R8_INT) == (43), "SDL_GPU_TEXTUREFORMAT_R8_INT: baked value 43 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R8G8_INT) == (44), "SDL_GPU_TEXTUREFORMAT_R8G8_INT: baked value 44 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R8G8B8A8_INT) == (45), "SDL_GPU_TEXTUREFORMAT_R8G8B8A8_INT: baked value 45 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R16_INT) == (46), "SDL_GPU_TEXTUREFORMAT_R16_INT: baked value 46 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R16G16_INT) == (47), "SDL_GPU_TEXTUREFORMAT_R16G16_INT: baked value 47 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R16G16B16A16_INT) == (48), "SDL_GPU_TEXTUREFORMAT_R16G16B16A16_INT: baked value 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R32_INT) == (49), "SDL_GPU_TEXTUREFORMAT_R32_INT: baked value 49 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R32G32_INT) == (50), "SDL_GPU_TEXTUREFORMAT_R32G32_INT: baked value 50 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R32G32B32A32_INT) == (51), "SDL_GPU_TEXTUREFORMAT_R32G32B32A32_INT: baked value 51 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM_SRGB) == (52), "SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM_SRGB: baked value 52 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM_SRGB) == (53), "SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM_SRGB: baked value 53 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_BC1_RGBA_UNORM_SRGB) == (54), "SDL_GPU_TEXTUREFORMAT_BC1_RGBA_UNORM_SRGB: baked value 54 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_BC2_RGBA_UNORM_SRGB) == (55), "SDL_GPU_TEXTUREFORMAT_BC2_RGBA_UNORM_SRGB: baked value 55 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_BC3_RGBA_UNORM_SRGB) == (56), "SDL_GPU_TEXTUREFORMAT_BC3_RGBA_UNORM_SRGB: baked value 56 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_BC7_RGBA_UNORM_SRGB) == (57), "SDL_GPU_TEXTUREFORMAT_BC7_RGBA_UNORM_SRGB: baked value 57 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_D16_UNORM) == (58), "SDL_GPU_TEXTUREFORMAT_D16_UNORM: baked value 58 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_D24_UNORM) == (59), "SDL_GPU_TEXTUREFORMAT_D24_UNORM: baked value 59 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_D32_FLOAT) == (60), "SDL_GPU_TEXTUREFORMAT_D32_FLOAT: baked value 60 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_D24_UNORM_S8_UINT) == (61), "SDL_GPU_TEXTUREFORMAT_D24_UNORM_S8_UINT: baked value 61 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_D32_FLOAT_S8_UINT) == (62), "SDL_GPU_TEXTUREFORMAT_D32_FLOAT_S8_UINT: baked value 62 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM) == (63), "SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM: baked value 63 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM) == (64), "SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM: baked value 64 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM) == (65), "SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM: baked value 65 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM) == (66), "SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM: baked value 66 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM) == (67), "SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM: baked value 67 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM) == (68), "SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM: baked value 68 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM) == (69), "SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM: baked value 69 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM) == (70), "SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM: baked value 70 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM) == (71), "SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM: baked value 71 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM) == (72), "SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM: baked value 72 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM) == (73), "SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM: baked value 73 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM) == (74), "SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM: baked value 74 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM) == (75), "SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM: baked value 75 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM) == (76), "SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM: baked value 76 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM_SRGB) == (77), "SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM_SRGB: baked value 77 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM_SRGB) == (78), "SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM_SRGB: baked value 78 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM_SRGB) == (79), "SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM_SRGB: baked value 79 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM_SRGB) == (80), "SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM_SRGB: baked value 80 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM_SRGB) == (81), "SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM_SRGB: baked value 81 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM_SRGB) == (82), "SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM_SRGB: baked value 82 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM_SRGB) == (83), "SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM_SRGB: baked value 83 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM_SRGB) == (84), "SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM_SRGB: baked value 84 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM_SRGB) == (85), "SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM_SRGB: baked value 85 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM_SRGB) == (86), "SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM_SRGB: baked value 86 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM_SRGB) == (87), "SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM_SRGB: baked value 87 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM_SRGB) == (88), "SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM_SRGB: baked value 88 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM_SRGB) == (89), "SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM_SRGB: baked value 89 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM_SRGB) == (90), "SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM_SRGB: baked value 90 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_4x4_FLOAT) == (91), "SDL_GPU_TEXTUREFORMAT_ASTC_4x4_FLOAT: baked value 91 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_5x4_FLOAT) == (92), "SDL_GPU_TEXTUREFORMAT_ASTC_5x4_FLOAT: baked value 92 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_5x5_FLOAT) == (93), "SDL_GPU_TEXTUREFORMAT_ASTC_5x5_FLOAT: baked value 93 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_6x5_FLOAT) == (94), "SDL_GPU_TEXTUREFORMAT_ASTC_6x5_FLOAT: baked value 94 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_6x6_FLOAT) == (95), "SDL_GPU_TEXTUREFORMAT_ASTC_6x6_FLOAT: baked value 95 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_8x5_FLOAT) == (96), "SDL_GPU_TEXTUREFORMAT_ASTC_8x5_FLOAT: baked value 96 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_8x6_FLOAT) == (97), "SDL_GPU_TEXTUREFORMAT_ASTC_8x6_FLOAT: baked value 97 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_8x8_FLOAT) == (98), "SDL_GPU_TEXTUREFORMAT_ASTC_8x8_FLOAT: baked value 98 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x5_FLOAT) == (99), "SDL_GPU_TEXTUREFORMAT_ASTC_10x5_FLOAT: baked value 99 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x6_FLOAT) == (100), "SDL_GPU_TEXTUREFORMAT_ASTC_10x6_FLOAT: baked value 100 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x8_FLOAT) == (101), "SDL_GPU_TEXTUREFORMAT_ASTC_10x8_FLOAT: baked value 101 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x10_FLOAT) == (102), "SDL_GPU_TEXTUREFORMAT_ASTC_10x10_FLOAT: baked value 102 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_12x10_FLOAT) == (103), "SDL_GPU_TEXTUREFORMAT_ASTC_12x10_FLOAT: baked value 103 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_12x12_FLOAT) == (104), "SDL_GPU_TEXTUREFORMAT_ASTC_12x12_FLOAT: baked value 104 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPUTextureType) == 4, "enum SDL_GPUTextureType: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUTextureType) == 4, "enum SDL_GPUTextureType: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTURETYPE_2D) == (0), "SDL_GPU_TEXTURETYPE_2D: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTURETYPE_2D_ARRAY) == (1), "SDL_GPU_TEXTURETYPE_2D_ARRAY: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTURETYPE_3D) == (2), "SDL_GPU_TEXTURETYPE_3D: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTURETYPE_CUBE) == (3), "SDL_GPU_TEXTURETYPE_CUBE: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTURETYPE_CUBE_ARRAY) == (4), "SDL_GPU_TEXTURETYPE_CUBE_ARRAY: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPUSampleCount) == 4, "enum SDL_GPUSampleCount: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUSampleCount) == 4, "enum SDL_GPUSampleCount: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_SAMPLECOUNT_1) == (0), "SDL_GPU_SAMPLECOUNT_1: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_SAMPLECOUNT_2) == (1), "SDL_GPU_SAMPLECOUNT_2: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_SAMPLECOUNT_4) == (2), "SDL_GPU_SAMPLECOUNT_4: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_SAMPLECOUNT_8) == (3), "SDL_GPU_SAMPLECOUNT_8: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPUCubeMapFace) == 4, "enum SDL_GPUCubeMapFace: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUCubeMapFace) == 4, "enum SDL_GPUCubeMapFace: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_CUBEMAPFACE_POSITIVEX) == (0), "SDL_GPU_CUBEMAPFACE_POSITIVEX: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_CUBEMAPFACE_NEGATIVEX) == (1), "SDL_GPU_CUBEMAPFACE_NEGATIVEX: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_CUBEMAPFACE_POSITIVEY) == (2), "SDL_GPU_CUBEMAPFACE_POSITIVEY: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_CUBEMAPFACE_NEGATIVEY) == (3), "SDL_GPU_CUBEMAPFACE_NEGATIVEY: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_CUBEMAPFACE_POSITIVEZ) == (4), "SDL_GPU_CUBEMAPFACE_POSITIVEZ: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_CUBEMAPFACE_NEGATIVEZ) == (5), "SDL_GPU_CUBEMAPFACE_NEGATIVEZ: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPUTransferBufferUsage) == 4, "enum SDL_GPUTransferBufferUsage: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUTransferBufferUsage) == 4, "enum SDL_GPUTransferBufferUsage: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TRANSFERBUFFERUSAGE_UPLOAD) == (0), "SDL_GPU_TRANSFERBUFFERUSAGE_UPLOAD: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TRANSFERBUFFERUSAGE_DOWNLOAD) == (1), "SDL_GPU_TRANSFERBUFFERUSAGE_DOWNLOAD: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPUShaderStage) == 4, "enum SDL_GPUShaderStage: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUShaderStage) == 4, "enum SDL_GPUShaderStage: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_SHADERSTAGE_VERTEX) == (0), "SDL_GPU_SHADERSTAGE_VERTEX: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_SHADERSTAGE_FRAGMENT) == (1), "SDL_GPU_SHADERSTAGE_FRAGMENT: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPUVertexElementFormat) == 4, "enum SDL_GPUVertexElementFormat: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUVertexElementFormat) == 4, "enum SDL_GPUVertexElementFormat: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_INVALID) == (0), "SDL_GPU_VERTEXELEMENTFORMAT_INVALID: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_INT) == (1), "SDL_GPU_VERTEXELEMENTFORMAT_INT: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_INT2) == (2), "SDL_GPU_VERTEXELEMENTFORMAT_INT2: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_INT3) == (3), "SDL_GPU_VERTEXELEMENTFORMAT_INT3: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_INT4) == (4), "SDL_GPU_VERTEXELEMENTFORMAT_INT4: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_UINT) == (5), "SDL_GPU_VERTEXELEMENTFORMAT_UINT: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_UINT2) == (6), "SDL_GPU_VERTEXELEMENTFORMAT_UINT2: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_UINT3) == (7), "SDL_GPU_VERTEXELEMENTFORMAT_UINT3: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_UINT4) == (8), "SDL_GPU_VERTEXELEMENTFORMAT_UINT4: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_FLOAT) == (9), "SDL_GPU_VERTEXELEMENTFORMAT_FLOAT: baked value 9 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_FLOAT2) == (10), "SDL_GPU_VERTEXELEMENTFORMAT_FLOAT2: baked value 10 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_FLOAT3) == (11), "SDL_GPU_VERTEXELEMENTFORMAT_FLOAT3: baked value 11 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_FLOAT4) == (12), "SDL_GPU_VERTEXELEMENTFORMAT_FLOAT4: baked value 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_BYTE2) == (13), "SDL_GPU_VERTEXELEMENTFORMAT_BYTE2: baked value 13 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_BYTE4) == (14), "SDL_GPU_VERTEXELEMENTFORMAT_BYTE4: baked value 14 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2) == (15), "SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2: baked value 15 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4) == (16), "SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4: baked value 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_BYTE2_NORM) == (17), "SDL_GPU_VERTEXELEMENTFORMAT_BYTE2_NORM: baked value 17 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_BYTE4_NORM) == (18), "SDL_GPU_VERTEXELEMENTFORMAT_BYTE4_NORM: baked value 18 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2_NORM) == (19), "SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2_NORM: baked value 19 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4_NORM) == (20), "SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4_NORM: baked value 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_SHORT2) == (21), "SDL_GPU_VERTEXELEMENTFORMAT_SHORT2: baked value 21 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_SHORT4) == (22), "SDL_GPU_VERTEXELEMENTFORMAT_SHORT4: baked value 22 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_USHORT2) == (23), "SDL_GPU_VERTEXELEMENTFORMAT_USHORT2: baked value 23 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_USHORT4) == (24), "SDL_GPU_VERTEXELEMENTFORMAT_USHORT4: baked value 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_SHORT2_NORM) == (25), "SDL_GPU_VERTEXELEMENTFORMAT_SHORT2_NORM: baked value 25 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_SHORT4_NORM) == (26), "SDL_GPU_VERTEXELEMENTFORMAT_SHORT4_NORM: baked value 26 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_USHORT2_NORM) == (27), "SDL_GPU_VERTEXELEMENTFORMAT_USHORT2_NORM: baked value 27 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_USHORT4_NORM) == (28), "SDL_GPU_VERTEXELEMENTFORMAT_USHORT4_NORM: baked value 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_HALF2) == (29), "SDL_GPU_VERTEXELEMENTFORMAT_HALF2: baked value 29 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_HALF4) == (30), "SDL_GPU_VERTEXELEMENTFORMAT_HALF4: baked value 30 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPUVertexInputRate) == 4, "enum SDL_GPUVertexInputRate: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUVertexInputRate) == 4, "enum SDL_GPUVertexInputRate: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXINPUTRATE_VERTEX) == (0), "SDL_GPU_VERTEXINPUTRATE_VERTEX: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_VERTEXINPUTRATE_INSTANCE) == (1), "SDL_GPU_VERTEXINPUTRATE_INSTANCE: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPUFillMode) == 4, "enum SDL_GPUFillMode: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUFillMode) == 4, "enum SDL_GPUFillMode: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_FILLMODE_FILL) == (0), "SDL_GPU_FILLMODE_FILL: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_FILLMODE_LINE) == (1), "SDL_GPU_FILLMODE_LINE: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPUCullMode) == 4, "enum SDL_GPUCullMode: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUCullMode) == 4, "enum SDL_GPUCullMode: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_CULLMODE_NONE) == (0), "SDL_GPU_CULLMODE_NONE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_CULLMODE_FRONT) == (1), "SDL_GPU_CULLMODE_FRONT: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_CULLMODE_BACK) == (2), "SDL_GPU_CULLMODE_BACK: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPUFrontFace) == 4, "enum SDL_GPUFrontFace: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUFrontFace) == 4, "enum SDL_GPUFrontFace: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_FRONTFACE_COUNTER_CLOCKWISE) == (0), "SDL_GPU_FRONTFACE_COUNTER_CLOCKWISE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_FRONTFACE_CLOCKWISE) == (1), "SDL_GPU_FRONTFACE_CLOCKWISE: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPUCompareOp) == 4, "enum SDL_GPUCompareOp: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUCompareOp) == 4, "enum SDL_GPUCompareOp: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_COMPAREOP_INVALID) == (0), "SDL_GPU_COMPAREOP_INVALID: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_COMPAREOP_NEVER) == (1), "SDL_GPU_COMPAREOP_NEVER: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_COMPAREOP_LESS) == (2), "SDL_GPU_COMPAREOP_LESS: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_COMPAREOP_EQUAL) == (3), "SDL_GPU_COMPAREOP_EQUAL: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_COMPAREOP_LESS_OR_EQUAL) == (4), "SDL_GPU_COMPAREOP_LESS_OR_EQUAL: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_COMPAREOP_GREATER) == (5), "SDL_GPU_COMPAREOP_GREATER: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_COMPAREOP_NOT_EQUAL) == (6), "SDL_GPU_COMPAREOP_NOT_EQUAL: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_COMPAREOP_GREATER_OR_EQUAL) == (7), "SDL_GPU_COMPAREOP_GREATER_OR_EQUAL: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_COMPAREOP_ALWAYS) == (8), "SDL_GPU_COMPAREOP_ALWAYS: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPUStencilOp) == 4, "enum SDL_GPUStencilOp: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUStencilOp) == 4, "enum SDL_GPUStencilOp: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_STENCILOP_INVALID) == (0), "SDL_GPU_STENCILOP_INVALID: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_STENCILOP_KEEP) == (1), "SDL_GPU_STENCILOP_KEEP: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_STENCILOP_ZERO) == (2), "SDL_GPU_STENCILOP_ZERO: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_STENCILOP_REPLACE) == (3), "SDL_GPU_STENCILOP_REPLACE: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_STENCILOP_INCREMENT_AND_CLAMP) == (4), "SDL_GPU_STENCILOP_INCREMENT_AND_CLAMP: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_STENCILOP_DECREMENT_AND_CLAMP) == (5), "SDL_GPU_STENCILOP_DECREMENT_AND_CLAMP: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_STENCILOP_INVERT) == (6), "SDL_GPU_STENCILOP_INVERT: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_STENCILOP_INCREMENT_AND_WRAP) == (7), "SDL_GPU_STENCILOP_INCREMENT_AND_WRAP: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_STENCILOP_DECREMENT_AND_WRAP) == (8), "SDL_GPU_STENCILOP_DECREMENT_AND_WRAP: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPUBlendOp) == 4, "enum SDL_GPUBlendOp: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUBlendOp) == 4, "enum SDL_GPUBlendOp: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BLENDOP_INVALID) == (0), "SDL_GPU_BLENDOP_INVALID: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BLENDOP_ADD) == (1), "SDL_GPU_BLENDOP_ADD: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BLENDOP_SUBTRACT) == (2), "SDL_GPU_BLENDOP_SUBTRACT: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BLENDOP_REVERSE_SUBTRACT) == (3), "SDL_GPU_BLENDOP_REVERSE_SUBTRACT: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BLENDOP_MIN) == (4), "SDL_GPU_BLENDOP_MIN: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BLENDOP_MAX) == (5), "SDL_GPU_BLENDOP_MAX: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPUBlendFactor) == 4, "enum SDL_GPUBlendFactor: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUBlendFactor) == 4, "enum SDL_GPUBlendFactor: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BLENDFACTOR_INVALID) == (0), "SDL_GPU_BLENDFACTOR_INVALID: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BLENDFACTOR_ZERO) == (1), "SDL_GPU_BLENDFACTOR_ZERO: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BLENDFACTOR_ONE) == (2), "SDL_GPU_BLENDFACTOR_ONE: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BLENDFACTOR_SRC_COLOR) == (3), "SDL_GPU_BLENDFACTOR_SRC_COLOR: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_COLOR) == (4), "SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_COLOR: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BLENDFACTOR_DST_COLOR) == (5), "SDL_GPU_BLENDFACTOR_DST_COLOR: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_COLOR) == (6), "SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_COLOR: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BLENDFACTOR_SRC_ALPHA) == (7), "SDL_GPU_BLENDFACTOR_SRC_ALPHA: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_ALPHA) == (8), "SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_ALPHA: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BLENDFACTOR_DST_ALPHA) == (9), "SDL_GPU_BLENDFACTOR_DST_ALPHA: baked value 9 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_ALPHA) == (10), "SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_ALPHA: baked value 10 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BLENDFACTOR_CONSTANT_COLOR) == (11), "SDL_GPU_BLENDFACTOR_CONSTANT_COLOR: baked value 11 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BLENDFACTOR_ONE_MINUS_CONSTANT_COLOR) == (12), "SDL_GPU_BLENDFACTOR_ONE_MINUS_CONSTANT_COLOR: baked value 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BLENDFACTOR_SRC_ALPHA_SATURATE) == (13), "SDL_GPU_BLENDFACTOR_SRC_ALPHA_SATURATE: baked value 13 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPUFilter) == 4, "enum SDL_GPUFilter: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUFilter) == 4, "enum SDL_GPUFilter: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_FILTER_NEAREST) == (0), "SDL_GPU_FILTER_NEAREST: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_FILTER_LINEAR) == (1), "SDL_GPU_FILTER_LINEAR: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPUSamplerMipmapMode) == 4, "enum SDL_GPUSamplerMipmapMode: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUSamplerMipmapMode) == 4, "enum SDL_GPUSamplerMipmapMode: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_SAMPLERMIPMAPMODE_NEAREST) == (0), "SDL_GPU_SAMPLERMIPMAPMODE_NEAREST: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_SAMPLERMIPMAPMODE_LINEAR) == (1), "SDL_GPU_SAMPLERMIPMAPMODE_LINEAR: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPUSamplerAddressMode) == 4, "enum SDL_GPUSamplerAddressMode: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUSamplerAddressMode) == 4, "enum SDL_GPUSamplerAddressMode: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_SAMPLERADDRESSMODE_REPEAT) == (0), "SDL_GPU_SAMPLERADDRESSMODE_REPEAT: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_SAMPLERADDRESSMODE_MIRRORED_REPEAT) == (1), "SDL_GPU_SAMPLERADDRESSMODE_MIRRORED_REPEAT: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_SAMPLERADDRESSMODE_CLAMP_TO_EDGE) == (2), "SDL_GPU_SAMPLERADDRESSMODE_CLAMP_TO_EDGE: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPUPresentMode) == 4, "enum SDL_GPUPresentMode: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUPresentMode) == 4, "enum SDL_GPUPresentMode: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_PRESENTMODE_VSYNC) == (0), "SDL_GPU_PRESENTMODE_VSYNC: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_PRESENTMODE_IMMEDIATE) == (1), "SDL_GPU_PRESENTMODE_IMMEDIATE: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_PRESENTMODE_MAILBOX) == (2), "SDL_GPU_PRESENTMODE_MAILBOX: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_GPUSwapchainComposition) == 4, "enum SDL_GPUSwapchainComposition: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_GPUSwapchainComposition) == 4, "enum SDL_GPUSwapchainComposition: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_SWAPCHAINCOMPOSITION_SDR) == (0), "SDL_GPU_SWAPCHAINCOMPOSITION_SDR: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_SWAPCHAINCOMPOSITION_SDR_LINEAR) == (1), "SDL_GPU_SWAPCHAINCOMPOSITION_SDR_LINEAR: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_SWAPCHAINCOMPOSITION_HDR_EXTENDED_LINEAR) == (2), "SDL_GPU_SWAPCHAINCOMPOSITION_HDR_EXTENDED_LINEAR: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2084) == (3), "SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2084: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUViewport) == 24, "struct SDL_GPUViewport: baked sizeof 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUViewport) == 4, "struct SDL_GPUViewport: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUViewport, x) == 0, "struct SDL_GPUViewport.x: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUViewport, y) == 4, "struct SDL_GPUViewport.y: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUViewport, w) == 8, "struct SDL_GPUViewport.w: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUViewport, h) == 12, "struct SDL_GPUViewport.h: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUViewport, min_depth) == 16, "struct SDL_GPUViewport.min_depth: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUViewport, max_depth) == 20, "struct SDL_GPUViewport.max_depth: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUTextureTransferInfo) == 24, "struct SDL_GPUTextureTransferInfo: baked sizeof 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUTextureTransferInfo) == 8, "struct SDL_GPUTextureTransferInfo: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureTransferInfo, transfer_buffer) == 0, "struct SDL_GPUTextureTransferInfo.transfer_buffer: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureTransferInfo, offset) == 8, "struct SDL_GPUTextureTransferInfo.offset: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureTransferInfo, pixels_per_row) == 12, "struct SDL_GPUTextureTransferInfo.pixels_per_row: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureTransferInfo, rows_per_layer) == 16, "struct SDL_GPUTextureTransferInfo.rows_per_layer: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUTransferBufferLocation) == 16, "struct SDL_GPUTransferBufferLocation: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUTransferBufferLocation) == 8, "struct SDL_GPUTransferBufferLocation: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTransferBufferLocation, transfer_buffer) == 0, "struct SDL_GPUTransferBufferLocation.transfer_buffer: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTransferBufferLocation, offset) == 8, "struct SDL_GPUTransferBufferLocation.offset: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUTextureLocation) == 32, "struct SDL_GPUTextureLocation: baked sizeof 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUTextureLocation) == 8, "struct SDL_GPUTextureLocation: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureLocation, texture) == 0, "struct SDL_GPUTextureLocation.texture: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureLocation, mip_level) == 8, "struct SDL_GPUTextureLocation.mip_level: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureLocation, layer) == 12, "struct SDL_GPUTextureLocation.layer: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureLocation, x) == 16, "struct SDL_GPUTextureLocation.x: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureLocation, y) == 20, "struct SDL_GPUTextureLocation.y: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureLocation, z) == 24, "struct SDL_GPUTextureLocation.z: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUTextureRegion) == 40, "struct SDL_GPUTextureRegion: baked sizeof 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUTextureRegion) == 8, "struct SDL_GPUTextureRegion: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureRegion, texture) == 0, "struct SDL_GPUTextureRegion.texture: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureRegion, mip_level) == 8, "struct SDL_GPUTextureRegion.mip_level: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureRegion, layer) == 12, "struct SDL_GPUTextureRegion.layer: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureRegion, x) == 16, "struct SDL_GPUTextureRegion.x: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureRegion, y) == 20, "struct SDL_GPUTextureRegion.y: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureRegion, z) == 24, "struct SDL_GPUTextureRegion.z: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureRegion, w) == 28, "struct SDL_GPUTextureRegion.w: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureRegion, h) == 32, "struct SDL_GPUTextureRegion.h: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureRegion, d) == 36, "struct SDL_GPUTextureRegion.d: baked offset 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUBlitRegion) == 32, "struct SDL_GPUBlitRegion: baked sizeof 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUBlitRegion) == 8, "struct SDL_GPUBlitRegion: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBlitRegion, texture) == 0, "struct SDL_GPUBlitRegion.texture: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBlitRegion, mip_level) == 8, "struct SDL_GPUBlitRegion.mip_level: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBlitRegion, layer_or_depth_plane) == 12, "struct SDL_GPUBlitRegion.layer_or_depth_plane: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBlitRegion, x) == 16, "struct SDL_GPUBlitRegion.x: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBlitRegion, y) == 20, "struct SDL_GPUBlitRegion.y: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBlitRegion, w) == 24, "struct SDL_GPUBlitRegion.w: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBlitRegion, h) == 28, "struct SDL_GPUBlitRegion.h: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUBufferLocation) == 16, "struct SDL_GPUBufferLocation: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUBufferLocation) == 8, "struct SDL_GPUBufferLocation: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBufferLocation, buffer) == 0, "struct SDL_GPUBufferLocation.buffer: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBufferLocation, offset) == 8, "struct SDL_GPUBufferLocation.offset: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUBufferRegion) == 16, "struct SDL_GPUBufferRegion: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUBufferRegion) == 8, "struct SDL_GPUBufferRegion: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBufferRegion, buffer) == 0, "struct SDL_GPUBufferRegion.buffer: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBufferRegion, offset) == 8, "struct SDL_GPUBufferRegion.offset: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBufferRegion, size) == 12, "struct SDL_GPUBufferRegion.size: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUIndirectDrawCommand) == 16, "struct SDL_GPUIndirectDrawCommand: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUIndirectDrawCommand) == 4, "struct SDL_GPUIndirectDrawCommand: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUIndirectDrawCommand, num_vertices) == 0, "struct SDL_GPUIndirectDrawCommand.num_vertices: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUIndirectDrawCommand, num_instances) == 4, "struct SDL_GPUIndirectDrawCommand.num_instances: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUIndirectDrawCommand, first_vertex) == 8, "struct SDL_GPUIndirectDrawCommand.first_vertex: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUIndirectDrawCommand, first_instance) == 12, "struct SDL_GPUIndirectDrawCommand.first_instance: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUIndexedIndirectDrawCommand) == 20, "struct SDL_GPUIndexedIndirectDrawCommand: baked sizeof 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUIndexedIndirectDrawCommand) == 4, "struct SDL_GPUIndexedIndirectDrawCommand: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUIndexedIndirectDrawCommand, num_indices) == 0, "struct SDL_GPUIndexedIndirectDrawCommand.num_indices: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUIndexedIndirectDrawCommand, num_instances) == 4, "struct SDL_GPUIndexedIndirectDrawCommand.num_instances: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUIndexedIndirectDrawCommand, first_index) == 8, "struct SDL_GPUIndexedIndirectDrawCommand.first_index: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUIndexedIndirectDrawCommand, vertex_offset) == 12, "struct SDL_GPUIndexedIndirectDrawCommand.vertex_offset: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUIndexedIndirectDrawCommand, first_instance) == 16, "struct SDL_GPUIndexedIndirectDrawCommand.first_instance: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUIndirectDispatchCommand) == 12, "struct SDL_GPUIndirectDispatchCommand: baked sizeof 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUIndirectDispatchCommand) == 4, "struct SDL_GPUIndirectDispatchCommand: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUIndirectDispatchCommand, groupcount_x) == 0, "struct SDL_GPUIndirectDispatchCommand.groupcount_x: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUIndirectDispatchCommand, groupcount_y) == 4, "struct SDL_GPUIndirectDispatchCommand.groupcount_y: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUIndirectDispatchCommand, groupcount_z) == 8, "struct SDL_GPUIndirectDispatchCommand.groupcount_z: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUSamplerCreateInfo) == 52, "struct SDL_GPUSamplerCreateInfo: baked sizeof 52 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUSamplerCreateInfo) == 4, "struct SDL_GPUSamplerCreateInfo: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, min_filter) == 0, "struct SDL_GPUSamplerCreateInfo.min_filter: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, mag_filter) == 4, "struct SDL_GPUSamplerCreateInfo.mag_filter: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, mipmap_mode) == 8, "struct SDL_GPUSamplerCreateInfo.mipmap_mode: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, address_mode_u) == 12, "struct SDL_GPUSamplerCreateInfo.address_mode_u: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, address_mode_v) == 16, "struct SDL_GPUSamplerCreateInfo.address_mode_v: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, address_mode_w) == 20, "struct SDL_GPUSamplerCreateInfo.address_mode_w: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, mip_lod_bias) == 24, "struct SDL_GPUSamplerCreateInfo.mip_lod_bias: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, max_anisotropy) == 28, "struct SDL_GPUSamplerCreateInfo.max_anisotropy: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, compare_op) == 32, "struct SDL_GPUSamplerCreateInfo.compare_op: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, min_lod) == 36, "struct SDL_GPUSamplerCreateInfo.min_lod: baked offset 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, max_lod) == 40, "struct SDL_GPUSamplerCreateInfo.max_lod: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, enable_anisotropy) == 44, "struct SDL_GPUSamplerCreateInfo.enable_anisotropy: baked offset 44 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, enable_compare) == 45, "struct SDL_GPUSamplerCreateInfo.enable_compare: baked offset 45 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, padding1) == 46, "struct SDL_GPUSamplerCreateInfo.padding1: baked offset 46 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, padding2) == 47, "struct SDL_GPUSamplerCreateInfo.padding2: baked offset 47 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, props) == 48, "struct SDL_GPUSamplerCreateInfo.props: baked offset 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUVertexBufferDescription) == 16, "struct SDL_GPUVertexBufferDescription: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUVertexBufferDescription) == 4, "struct SDL_GPUVertexBufferDescription: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUVertexBufferDescription, slot) == 0, "struct SDL_GPUVertexBufferDescription.slot: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUVertexBufferDescription, pitch) == 4, "struct SDL_GPUVertexBufferDescription.pitch: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUVertexBufferDescription, input_rate) == 8, "struct SDL_GPUVertexBufferDescription.input_rate: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUVertexBufferDescription, instance_step_rate) == 12, "struct SDL_GPUVertexBufferDescription.instance_step_rate: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUVertexAttribute) == 16, "struct SDL_GPUVertexAttribute: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUVertexAttribute) == 4, "struct SDL_GPUVertexAttribute: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUVertexAttribute, location) == 0, "struct SDL_GPUVertexAttribute.location: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUVertexAttribute, buffer_slot) == 4, "struct SDL_GPUVertexAttribute.buffer_slot: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUVertexAttribute, format) == 8, "struct SDL_GPUVertexAttribute.format: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUVertexAttribute, offset) == 12, "struct SDL_GPUVertexAttribute.offset: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUVertexInputState) == 32, "struct SDL_GPUVertexInputState: baked sizeof 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUVertexInputState) == 8, "struct SDL_GPUVertexInputState: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUVertexInputState, vertex_buffer_descriptions) == 0, "struct SDL_GPUVertexInputState.vertex_buffer_descriptions: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUVertexInputState, num_vertex_buffers) == 8, "struct SDL_GPUVertexInputState.num_vertex_buffers: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUVertexInputState, vertex_attributes) == 16, "struct SDL_GPUVertexInputState.vertex_attributes: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUVertexInputState, num_vertex_attributes) == 24, "struct SDL_GPUVertexInputState.num_vertex_attributes: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUStencilOpState) == 16, "struct SDL_GPUStencilOpState: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUStencilOpState) == 4, "struct SDL_GPUStencilOpState: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUStencilOpState, fail_op) == 0, "struct SDL_GPUStencilOpState.fail_op: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUStencilOpState, pass_op) == 4, "struct SDL_GPUStencilOpState.pass_op: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUStencilOpState, depth_fail_op) == 8, "struct SDL_GPUStencilOpState.depth_fail_op: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUStencilOpState, compare_op) == 12, "struct SDL_GPUStencilOpState.compare_op: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUColorTargetBlendState) == 32, "struct SDL_GPUColorTargetBlendState: baked sizeof 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUColorTargetBlendState) == 4, "struct SDL_GPUColorTargetBlendState: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetBlendState, src_color_blendfactor) == 0, "struct SDL_GPUColorTargetBlendState.src_color_blendfactor: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetBlendState, dst_color_blendfactor) == 4, "struct SDL_GPUColorTargetBlendState.dst_color_blendfactor: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetBlendState, color_blend_op) == 8, "struct SDL_GPUColorTargetBlendState.color_blend_op: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetBlendState, src_alpha_blendfactor) == 12, "struct SDL_GPUColorTargetBlendState.src_alpha_blendfactor: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetBlendState, dst_alpha_blendfactor) == 16, "struct SDL_GPUColorTargetBlendState.dst_alpha_blendfactor: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetBlendState, alpha_blend_op) == 20, "struct SDL_GPUColorTargetBlendState.alpha_blend_op: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetBlendState, color_write_mask) == 24, "struct SDL_GPUColorTargetBlendState.color_write_mask: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetBlendState, enable_blend) == 25, "struct SDL_GPUColorTargetBlendState.enable_blend: baked offset 25 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetBlendState, enable_color_write_mask) == 26, "struct SDL_GPUColorTargetBlendState.enable_color_write_mask: baked offset 26 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetBlendState, padding1) == 27, "struct SDL_GPUColorTargetBlendState.padding1: baked offset 27 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetBlendState, padding2) == 28, "struct SDL_GPUColorTargetBlendState.padding2: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUShaderCreateInfo) == 56, "struct SDL_GPUShaderCreateInfo: baked sizeof 56 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUShaderCreateInfo) == 8, "struct SDL_GPUShaderCreateInfo: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUShaderCreateInfo, code_size) == 0, "struct SDL_GPUShaderCreateInfo.code_size: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUShaderCreateInfo, code) == 8, "struct SDL_GPUShaderCreateInfo.code: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUShaderCreateInfo, entrypoint) == 16, "struct SDL_GPUShaderCreateInfo.entrypoint: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUShaderCreateInfo, format) == 24, "struct SDL_GPUShaderCreateInfo.format: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUShaderCreateInfo, stage) == 28, "struct SDL_GPUShaderCreateInfo.stage: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUShaderCreateInfo, num_samplers) == 32, "struct SDL_GPUShaderCreateInfo.num_samplers: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUShaderCreateInfo, num_storage_textures) == 36, "struct SDL_GPUShaderCreateInfo.num_storage_textures: baked offset 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUShaderCreateInfo, num_storage_buffers) == 40, "struct SDL_GPUShaderCreateInfo.num_storage_buffers: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUShaderCreateInfo, num_uniform_buffers) == 44, "struct SDL_GPUShaderCreateInfo.num_uniform_buffers: baked offset 44 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUShaderCreateInfo, props) == 48, "struct SDL_GPUShaderCreateInfo.props: baked offset 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUTextureCreateInfo) == 36, "struct SDL_GPUTextureCreateInfo: baked sizeof 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUTextureCreateInfo) == 4, "struct SDL_GPUTextureCreateInfo: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureCreateInfo, type) == 0, "struct SDL_GPUTextureCreateInfo.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureCreateInfo, format) == 4, "struct SDL_GPUTextureCreateInfo.format: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureCreateInfo, usage) == 8, "struct SDL_GPUTextureCreateInfo.usage: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureCreateInfo, width) == 12, "struct SDL_GPUTextureCreateInfo.width: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureCreateInfo, height) == 16, "struct SDL_GPUTextureCreateInfo.height: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureCreateInfo, layer_count_or_depth) == 20, "struct SDL_GPUTextureCreateInfo.layer_count_or_depth: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureCreateInfo, num_levels) == 24, "struct SDL_GPUTextureCreateInfo.num_levels: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureCreateInfo, sample_count) == 28, "struct SDL_GPUTextureCreateInfo.sample_count: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureCreateInfo, props) == 32, "struct SDL_GPUTextureCreateInfo.props: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUBufferCreateInfo) == 12, "struct SDL_GPUBufferCreateInfo: baked sizeof 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUBufferCreateInfo) == 4, "struct SDL_GPUBufferCreateInfo: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBufferCreateInfo, usage) == 0, "struct SDL_GPUBufferCreateInfo.usage: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBufferCreateInfo, size) == 4, "struct SDL_GPUBufferCreateInfo.size: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBufferCreateInfo, props) == 8, "struct SDL_GPUBufferCreateInfo.props: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUTransferBufferCreateInfo) == 12, "struct SDL_GPUTransferBufferCreateInfo: baked sizeof 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUTransferBufferCreateInfo) == 4, "struct SDL_GPUTransferBufferCreateInfo: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTransferBufferCreateInfo, usage) == 0, "struct SDL_GPUTransferBufferCreateInfo.usage: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTransferBufferCreateInfo, size) == 4, "struct SDL_GPUTransferBufferCreateInfo.size: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTransferBufferCreateInfo, props) == 8, "struct SDL_GPUTransferBufferCreateInfo.props: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPURasterizerState) == 28, "struct SDL_GPURasterizerState: baked sizeof 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPURasterizerState) == 4, "struct SDL_GPURasterizerState: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPURasterizerState, fill_mode) == 0, "struct SDL_GPURasterizerState.fill_mode: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPURasterizerState, cull_mode) == 4, "struct SDL_GPURasterizerState.cull_mode: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPURasterizerState, front_face) == 8, "struct SDL_GPURasterizerState.front_face: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPURasterizerState, depth_bias_constant_factor) == 12, "struct SDL_GPURasterizerState.depth_bias_constant_factor: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPURasterizerState, depth_bias_clamp) == 16, "struct SDL_GPURasterizerState.depth_bias_clamp: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPURasterizerState, depth_bias_slope_factor) == 20, "struct SDL_GPURasterizerState.depth_bias_slope_factor: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPURasterizerState, enable_depth_bias) == 24, "struct SDL_GPURasterizerState.enable_depth_bias: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPURasterizerState, enable_depth_clip) == 25, "struct SDL_GPURasterizerState.enable_depth_clip: baked offset 25 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPURasterizerState, padding1) == 26, "struct SDL_GPURasterizerState.padding1: baked offset 26 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPURasterizerState, padding2) == 27, "struct SDL_GPURasterizerState.padding2: baked offset 27 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUMultisampleState) == 12, "struct SDL_GPUMultisampleState: baked sizeof 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUMultisampleState) == 4, "struct SDL_GPUMultisampleState: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUMultisampleState, sample_count) == 0, "struct SDL_GPUMultisampleState.sample_count: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUMultisampleState, sample_mask) == 4, "struct SDL_GPUMultisampleState.sample_mask: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUMultisampleState, enable_mask) == 8, "struct SDL_GPUMultisampleState.enable_mask: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 4, 0)
-_Static_assert(offsetof(struct SDL_GPUMultisampleState, enable_alpha_to_coverage) == 9, "struct SDL_GPUMultisampleState.enable_alpha_to_coverage: baked offset 9 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-_Static_assert(offsetof(struct SDL_GPUMultisampleState, padding2) == 10, "struct SDL_GPUMultisampleState.padding2: baked offset 10 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUMultisampleState, padding3) == 11, "struct SDL_GPUMultisampleState.padding3: baked offset 11 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUDepthStencilState) == 44, "struct SDL_GPUDepthStencilState: baked sizeof 44 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUDepthStencilState) == 4, "struct SDL_GPUDepthStencilState: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUDepthStencilState, compare_op) == 0, "struct SDL_GPUDepthStencilState.compare_op: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUDepthStencilState, back_stencil_state) == 4, "struct SDL_GPUDepthStencilState.back_stencil_state: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUDepthStencilState, front_stencil_state) == 20, "struct SDL_GPUDepthStencilState.front_stencil_state: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUDepthStencilState, compare_mask) == 36, "struct SDL_GPUDepthStencilState.compare_mask: baked offset 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUDepthStencilState, write_mask) == 37, "struct SDL_GPUDepthStencilState.write_mask: baked offset 37 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUDepthStencilState, enable_depth_test) == 38, "struct SDL_GPUDepthStencilState.enable_depth_test: baked offset 38 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUDepthStencilState, enable_depth_write) == 39, "struct SDL_GPUDepthStencilState.enable_depth_write: baked offset 39 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUDepthStencilState, enable_stencil_test) == 40, "struct SDL_GPUDepthStencilState.enable_stencil_test: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUDepthStencilState, padding1) == 41, "struct SDL_GPUDepthStencilState.padding1: baked offset 41 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUDepthStencilState, padding2) == 42, "struct SDL_GPUDepthStencilState.padding2: baked offset 42 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUDepthStencilState, padding3) == 43, "struct SDL_GPUDepthStencilState.padding3: baked offset 43 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUColorTargetDescription) == 36, "struct SDL_GPUColorTargetDescription: baked sizeof 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUColorTargetDescription) == 4, "struct SDL_GPUColorTargetDescription: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetDescription, format) == 0, "struct SDL_GPUColorTargetDescription.format: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetDescription, blend_state) == 4, "struct SDL_GPUColorTargetDescription.blend_state: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUGraphicsPipelineTargetInfo) == 24, "struct SDL_GPUGraphicsPipelineTargetInfo: baked sizeof 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUGraphicsPipelineTargetInfo) == 8, "struct SDL_GPUGraphicsPipelineTargetInfo: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineTargetInfo, color_target_descriptions) == 0, "struct SDL_GPUGraphicsPipelineTargetInfo.color_target_descriptions: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineTargetInfo, num_color_targets) == 8, "struct SDL_GPUGraphicsPipelineTargetInfo.num_color_targets: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineTargetInfo, depth_stencil_format) == 12, "struct SDL_GPUGraphicsPipelineTargetInfo.depth_stencil_format: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineTargetInfo, has_depth_stencil_target) == 16, "struct SDL_GPUGraphicsPipelineTargetInfo.has_depth_stencil_target: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineTargetInfo, padding1) == 17, "struct SDL_GPUGraphicsPipelineTargetInfo.padding1: baked offset 17 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineTargetInfo, padding2) == 18, "struct SDL_GPUGraphicsPipelineTargetInfo.padding2: baked offset 18 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineTargetInfo, padding3) == 19, "struct SDL_GPUGraphicsPipelineTargetInfo.padding3: baked offset 19 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUGraphicsPipelineCreateInfo) == 168, "struct SDL_GPUGraphicsPipelineCreateInfo: baked sizeof 168 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUGraphicsPipelineCreateInfo) == 8, "struct SDL_GPUGraphicsPipelineCreateInfo: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineCreateInfo, vertex_shader) == 0, "struct SDL_GPUGraphicsPipelineCreateInfo.vertex_shader: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineCreateInfo, fragment_shader) == 8, "struct SDL_GPUGraphicsPipelineCreateInfo.fragment_shader: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineCreateInfo, vertex_input_state) == 16, "struct SDL_GPUGraphicsPipelineCreateInfo.vertex_input_state: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineCreateInfo, primitive_type) == 48, "struct SDL_GPUGraphicsPipelineCreateInfo.primitive_type: baked offset 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineCreateInfo, rasterizer_state) == 52, "struct SDL_GPUGraphicsPipelineCreateInfo.rasterizer_state: baked offset 52 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineCreateInfo, multisample_state) == 80, "struct SDL_GPUGraphicsPipelineCreateInfo.multisample_state: baked offset 80 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineCreateInfo, depth_stencil_state) == 92, "struct SDL_GPUGraphicsPipelineCreateInfo.depth_stencil_state: baked offset 92 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineCreateInfo, target_info) == 136, "struct SDL_GPUGraphicsPipelineCreateInfo.target_info: baked offset 136 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineCreateInfo, props) == 160, "struct SDL_GPUGraphicsPipelineCreateInfo.props: baked offset 160 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUComputePipelineCreateInfo) == 72, "struct SDL_GPUComputePipelineCreateInfo: baked sizeof 72 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUComputePipelineCreateInfo) == 8, "struct SDL_GPUComputePipelineCreateInfo: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, code_size) == 0, "struct SDL_GPUComputePipelineCreateInfo.code_size: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, code) == 8, "struct SDL_GPUComputePipelineCreateInfo.code: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, entrypoint) == 16, "struct SDL_GPUComputePipelineCreateInfo.entrypoint: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, format) == 24, "struct SDL_GPUComputePipelineCreateInfo.format: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, num_samplers) == 28, "struct SDL_GPUComputePipelineCreateInfo.num_samplers: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, num_readonly_storage_textures) == 32, "struct SDL_GPUComputePipelineCreateInfo.num_readonly_storage_textures: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, num_readonly_storage_buffers) == 36, "struct SDL_GPUComputePipelineCreateInfo.num_readonly_storage_buffers: baked offset 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, num_readwrite_storage_textures) == 40, "struct SDL_GPUComputePipelineCreateInfo.num_readwrite_storage_textures: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, num_readwrite_storage_buffers) == 44, "struct SDL_GPUComputePipelineCreateInfo.num_readwrite_storage_buffers: baked offset 44 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, num_uniform_buffers) == 48, "struct SDL_GPUComputePipelineCreateInfo.num_uniform_buffers: baked offset 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, threadcount_x) == 52, "struct SDL_GPUComputePipelineCreateInfo.threadcount_x: baked offset 52 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, threadcount_y) == 56, "struct SDL_GPUComputePipelineCreateInfo.threadcount_y: baked offset 56 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, threadcount_z) == 60, "struct SDL_GPUComputePipelineCreateInfo.threadcount_z: baked offset 60 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, props) == 64, "struct SDL_GPUComputePipelineCreateInfo.props: baked offset 64 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUColorTargetInfo) == 64, "struct SDL_GPUColorTargetInfo: baked sizeof 64 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUColorTargetInfo) == 8, "struct SDL_GPUColorTargetInfo: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, texture) == 0, "struct SDL_GPUColorTargetInfo.texture: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, mip_level) == 8, "struct SDL_GPUColorTargetInfo.mip_level: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, layer_or_depth_plane) == 12, "struct SDL_GPUColorTargetInfo.layer_or_depth_plane: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, clear_color) == 16, "struct SDL_GPUColorTargetInfo.clear_color: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, load_op) == 32, "struct SDL_GPUColorTargetInfo.load_op: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, store_op) == 36, "struct SDL_GPUColorTargetInfo.store_op: baked offset 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, resolve_texture) == 40, "struct SDL_GPUColorTargetInfo.resolve_texture: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, resolve_mip_level) == 48, "struct SDL_GPUColorTargetInfo.resolve_mip_level: baked offset 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, resolve_layer) == 52, "struct SDL_GPUColorTargetInfo.resolve_layer: baked offset 52 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, cycle) == 56, "struct SDL_GPUColorTargetInfo.cycle: baked offset 56 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, cycle_resolve_texture) == 57, "struct SDL_GPUColorTargetInfo.cycle_resolve_texture: baked offset 57 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, padding1) == 58, "struct SDL_GPUColorTargetInfo.padding1: baked offset 58 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, padding2) == 59, "struct SDL_GPUColorTargetInfo.padding2: baked offset 59 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUDepthStencilTargetInfo) == 32, "struct SDL_GPUDepthStencilTargetInfo: baked sizeof 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUDepthStencilTargetInfo) == 8, "struct SDL_GPUDepthStencilTargetInfo: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUDepthStencilTargetInfo, texture) == 0, "struct SDL_GPUDepthStencilTargetInfo.texture: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUDepthStencilTargetInfo, clear_depth) == 8, "struct SDL_GPUDepthStencilTargetInfo.clear_depth: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUDepthStencilTargetInfo, load_op) == 12, "struct SDL_GPUDepthStencilTargetInfo.load_op: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUDepthStencilTargetInfo, store_op) == 16, "struct SDL_GPUDepthStencilTargetInfo.store_op: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUDepthStencilTargetInfo, stencil_load_op) == 20, "struct SDL_GPUDepthStencilTargetInfo.stencil_load_op: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUDepthStencilTargetInfo, stencil_store_op) == 24, "struct SDL_GPUDepthStencilTargetInfo.stencil_store_op: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUDepthStencilTargetInfo, cycle) == 28, "struct SDL_GPUDepthStencilTargetInfo.cycle: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUDepthStencilTargetInfo, clear_stencil) == 29, "struct SDL_GPUDepthStencilTargetInfo.clear_stencil: baked offset 29 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 4, 0)
-_Static_assert(offsetof(struct SDL_GPUDepthStencilTargetInfo, mip_level) == 30, "struct SDL_GPUDepthStencilTargetInfo.mip_level: baked offset 30 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUDepthStencilTargetInfo, layer) == 31, "struct SDL_GPUDepthStencilTargetInfo.layer: baked offset 31 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-_Static_assert(sizeof(struct SDL_GPUBlitInfo) == 96, "struct SDL_GPUBlitInfo: baked sizeof 96 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUBlitInfo) == 8, "struct SDL_GPUBlitInfo: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBlitInfo, source) == 0, "struct SDL_GPUBlitInfo.source: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBlitInfo, destination) == 32, "struct SDL_GPUBlitInfo.destination: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBlitInfo, load_op) == 64, "struct SDL_GPUBlitInfo.load_op: baked offset 64 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBlitInfo, clear_color) == 68, "struct SDL_GPUBlitInfo.clear_color: baked offset 68 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBlitInfo, flip_mode) == 84, "struct SDL_GPUBlitInfo.flip_mode: baked offset 84 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBlitInfo, filter) == 88, "struct SDL_GPUBlitInfo.filter: baked offset 88 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBlitInfo, cycle) == 92, "struct SDL_GPUBlitInfo.cycle: baked offset 92 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBlitInfo, padding1) == 93, "struct SDL_GPUBlitInfo.padding1: baked offset 93 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBlitInfo, padding2) == 94, "struct SDL_GPUBlitInfo.padding2: baked offset 94 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBlitInfo, padding3) == 95, "struct SDL_GPUBlitInfo.padding3: baked offset 95 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUBufferBinding) == 16, "struct SDL_GPUBufferBinding: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUBufferBinding) == 8, "struct SDL_GPUBufferBinding: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBufferBinding, buffer) == 0, "struct SDL_GPUBufferBinding.buffer: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUBufferBinding, offset) == 8, "struct SDL_GPUBufferBinding.offset: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUTextureSamplerBinding) == 16, "struct SDL_GPUTextureSamplerBinding: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUTextureSamplerBinding) == 8, "struct SDL_GPUTextureSamplerBinding: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureSamplerBinding, texture) == 0, "struct SDL_GPUTextureSamplerBinding.texture: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUTextureSamplerBinding, sampler) == 8, "struct SDL_GPUTextureSamplerBinding.sampler: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUStorageBufferReadWriteBinding) == 16, "struct SDL_GPUStorageBufferReadWriteBinding: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUStorageBufferReadWriteBinding) == 8, "struct SDL_GPUStorageBufferReadWriteBinding: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUStorageBufferReadWriteBinding, buffer) == 0, "struct SDL_GPUStorageBufferReadWriteBinding.buffer: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUStorageBufferReadWriteBinding, cycle) == 8, "struct SDL_GPUStorageBufferReadWriteBinding.cycle: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUStorageBufferReadWriteBinding, padding1) == 9, "struct SDL_GPUStorageBufferReadWriteBinding.padding1: baked offset 9 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUStorageBufferReadWriteBinding, padding2) == 10, "struct SDL_GPUStorageBufferReadWriteBinding.padding2: baked offset 10 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUStorageBufferReadWriteBinding, padding3) == 11, "struct SDL_GPUStorageBufferReadWriteBinding.padding3: baked offset 11 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_GPUStorageTextureReadWriteBinding) == 24, "struct SDL_GPUStorageTextureReadWriteBinding: baked sizeof 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUStorageTextureReadWriteBinding) == 8, "struct SDL_GPUStorageTextureReadWriteBinding: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUStorageTextureReadWriteBinding, texture) == 0, "struct SDL_GPUStorageTextureReadWriteBinding.texture: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUStorageTextureReadWriteBinding, mip_level) == 8, "struct SDL_GPUStorageTextureReadWriteBinding.mip_level: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUStorageTextureReadWriteBinding, layer) == 12, "struct SDL_GPUStorageTextureReadWriteBinding.layer: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUStorageTextureReadWriteBinding, cycle) == 16, "struct SDL_GPUStorageTextureReadWriteBinding.cycle: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUStorageTextureReadWriteBinding, padding1) == 17, "struct SDL_GPUStorageTextureReadWriteBinding.padding1: baked offset 17 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUStorageTextureReadWriteBinding, padding2) == 18, "struct SDL_GPUStorageTextureReadWriteBinding.padding2: baked offset 18 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUStorageTextureReadWriteBinding, padding3) == 19, "struct SDL_GPUStorageTextureReadWriteBinding.padding3: baked offset 19 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 4, 0)
-_Static_assert(sizeof(struct SDL_GPUVulkanOptions) == 56, "struct SDL_GPUVulkanOptions: baked sizeof 56 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPUVulkanOptions) == 8, "struct SDL_GPUVulkanOptions: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUVulkanOptions, vulkan_api_version) == 0, "struct SDL_GPUVulkanOptions.vulkan_api_version: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUVulkanOptions, feature_list) == 8, "struct SDL_GPUVulkanOptions.feature_list: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUVulkanOptions, vulkan_10_physical_device_features) == 16, "struct SDL_GPUVulkanOptions.vulkan_10_physical_device_features: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUVulkanOptions, device_extension_count) == 24, "struct SDL_GPUVulkanOptions.device_extension_count: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUVulkanOptions, device_extension_names) == 32, "struct SDL_GPUVulkanOptions.device_extension_names: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUVulkanOptions, instance_extension_count) == 40, "struct SDL_GPUVulkanOptions.instance_extension_count: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPUVulkanOptions, instance_extension_names) == 48, "struct SDL_GPUVulkanOptions.instance_extension_names: baked offset 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-
-/* ---- SDL_haptic.h ---- */
-_Static_assert(sizeof(struct SDL_HapticDirection) == 16, "struct SDL_HapticDirection: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_HapticDirection) == 4, "struct SDL_HapticDirection: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticDirection, type) == 0, "struct SDL_HapticDirection.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticDirection, dir) == 4, "struct SDL_HapticDirection.dir: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_HapticConstant) == 40, "struct SDL_HapticConstant: baked sizeof 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_HapticConstant) == 4, "struct SDL_HapticConstant: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticConstant, type) == 0, "struct SDL_HapticConstant.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticConstant, direction) == 4, "struct SDL_HapticConstant.direction: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticConstant, length) == 20, "struct SDL_HapticConstant.length: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticConstant, delay) == 24, "struct SDL_HapticConstant.delay: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticConstant, button) == 26, "struct SDL_HapticConstant.button: baked offset 26 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticConstant, interval) == 28, "struct SDL_HapticConstant.interval: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticConstant, level) == 30, "struct SDL_HapticConstant.level: baked offset 30 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticConstant, attack_length) == 32, "struct SDL_HapticConstant.attack_length: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticConstant, attack_level) == 34, "struct SDL_HapticConstant.attack_level: baked offset 34 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticConstant, fade_length) == 36, "struct SDL_HapticConstant.fade_length: baked offset 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticConstant, fade_level) == 38, "struct SDL_HapticConstant.fade_level: baked offset 38 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_HapticPeriodic) == 48, "struct SDL_HapticPeriodic: baked sizeof 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_HapticPeriodic) == 4, "struct SDL_HapticPeriodic: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticPeriodic, type) == 0, "struct SDL_HapticPeriodic.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticPeriodic, direction) == 4, "struct SDL_HapticPeriodic.direction: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticPeriodic, length) == 20, "struct SDL_HapticPeriodic.length: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticPeriodic, delay) == 24, "struct SDL_HapticPeriodic.delay: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticPeriodic, button) == 26, "struct SDL_HapticPeriodic.button: baked offset 26 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticPeriodic, interval) == 28, "struct SDL_HapticPeriodic.interval: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticPeriodic, period) == 30, "struct SDL_HapticPeriodic.period: baked offset 30 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticPeriodic, magnitude) == 32, "struct SDL_HapticPeriodic.magnitude: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticPeriodic, offset) == 34, "struct SDL_HapticPeriodic.offset: baked offset 34 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticPeriodic, phase) == 36, "struct SDL_HapticPeriodic.phase: baked offset 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticPeriodic, attack_length) == 38, "struct SDL_HapticPeriodic.attack_length: baked offset 38 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticPeriodic, attack_level) == 40, "struct SDL_HapticPeriodic.attack_level: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticPeriodic, fade_length) == 42, "struct SDL_HapticPeriodic.fade_length: baked offset 42 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticPeriodic, fade_level) == 44, "struct SDL_HapticPeriodic.fade_level: baked offset 44 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_HapticCondition) == 68, "struct SDL_HapticCondition: baked sizeof 68 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_HapticCondition) == 4, "struct SDL_HapticCondition: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCondition, type) == 0, "struct SDL_HapticCondition.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCondition, direction) == 4, "struct SDL_HapticCondition.direction: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCondition, length) == 20, "struct SDL_HapticCondition.length: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCondition, delay) == 24, "struct SDL_HapticCondition.delay: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCondition, button) == 26, "struct SDL_HapticCondition.button: baked offset 26 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCondition, interval) == 28, "struct SDL_HapticCondition.interval: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCondition, right_sat) == 30, "struct SDL_HapticCondition.right_sat: baked offset 30 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCondition, left_sat) == 36, "struct SDL_HapticCondition.left_sat: baked offset 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCondition, right_coeff) == 42, "struct SDL_HapticCondition.right_coeff: baked offset 42 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCondition, left_coeff) == 48, "struct SDL_HapticCondition.left_coeff: baked offset 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCondition, deadband) == 54, "struct SDL_HapticCondition.deadband: baked offset 54 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCondition, center) == 60, "struct SDL_HapticCondition.center: baked offset 60 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_HapticRamp) == 44, "struct SDL_HapticRamp: baked sizeof 44 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_HapticRamp) == 4, "struct SDL_HapticRamp: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticRamp, type) == 0, "struct SDL_HapticRamp.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticRamp, direction) == 4, "struct SDL_HapticRamp.direction: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticRamp, length) == 20, "struct SDL_HapticRamp.length: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticRamp, delay) == 24, "struct SDL_HapticRamp.delay: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticRamp, button) == 26, "struct SDL_HapticRamp.button: baked offset 26 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticRamp, interval) == 28, "struct SDL_HapticRamp.interval: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticRamp, start) == 30, "struct SDL_HapticRamp.start: baked offset 30 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticRamp, end) == 32, "struct SDL_HapticRamp.end: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticRamp, attack_length) == 34, "struct SDL_HapticRamp.attack_length: baked offset 34 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticRamp, attack_level) == 36, "struct SDL_HapticRamp.attack_level: baked offset 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticRamp, fade_length) == 38, "struct SDL_HapticRamp.fade_length: baked offset 38 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticRamp, fade_level) == 40, "struct SDL_HapticRamp.fade_level: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_HapticLeftRight) == 12, "struct SDL_HapticLeftRight: baked sizeof 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_HapticLeftRight) == 4, "struct SDL_HapticLeftRight: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticLeftRight, type) == 0, "struct SDL_HapticLeftRight.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticLeftRight, length) == 4, "struct SDL_HapticLeftRight.length: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticLeftRight, large_magnitude) == 8, "struct SDL_HapticLeftRight.large_magnitude: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticLeftRight, small_magnitude) == 10, "struct SDL_HapticLeftRight.small_magnitude: baked offset 10 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_HapticCustom) == 56, "struct SDL_HapticCustom: baked sizeof 56 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_HapticCustom) == 8, "struct SDL_HapticCustom: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCustom, type) == 0, "struct SDL_HapticCustom.type: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCustom, direction) == 4, "struct SDL_HapticCustom.direction: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCustom, length) == 20, "struct SDL_HapticCustom.length: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCustom, delay) == 24, "struct SDL_HapticCustom.delay: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCustom, button) == 26, "struct SDL_HapticCustom.button: baked offset 26 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCustom, interval) == 28, "struct SDL_HapticCustom.interval: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCustom, channels) == 30, "struct SDL_HapticCustom.channels: baked offset 30 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCustom, period) == 32, "struct SDL_HapticCustom.period: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCustom, samples) == 34, "struct SDL_HapticCustom.samples: baked offset 34 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCustom, data) == 40, "struct SDL_HapticCustom.data: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCustom, attack_length) == 48, "struct SDL_HapticCustom.attack_length: baked offset 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCustom, attack_level) == 50, "struct SDL_HapticCustom.attack_level: baked offset 50 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCustom, fade_length) == 52, "struct SDL_HapticCustom.fade_length: baked offset 52 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_HapticCustom, fade_level) == 54, "struct SDL_HapticCustom.fade_level: baked offset 54 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(union SDL_HapticEffect) == 72, "union SDL_HapticEffect: baked sizeof 72 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(union SDL_HapticEffect) == 8, "union SDL_HapticEffect: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_hidapi.h ---- */
-_Static_assert(sizeof(enum SDL_hid_bus_type) == 4, "enum SDL_hid_bus_type: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_hid_bus_type) == 4, "enum SDL_hid_bus_type: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HID_API_BUS_UNKNOWN) == (0), "SDL_HID_API_BUS_UNKNOWN: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HID_API_BUS_USB) == (1), "SDL_HID_API_BUS_USB: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HID_API_BUS_BLUETOOTH) == (2), "SDL_HID_API_BUS_BLUETOOTH: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HID_API_BUS_I2C) == (3), "SDL_HID_API_BUS_I2C: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HID_API_BUS_SPI) == (4), "SDL_HID_API_BUS_SPI: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_hid_device_info) == 80, "struct SDL_hid_device_info: baked sizeof 80 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_hid_device_info) == 8, "struct SDL_hid_device_info: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_hid_device_info, path) == 0, "struct SDL_hid_device_info.path: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_hid_device_info, vendor_id) == 8, "struct SDL_hid_device_info.vendor_id: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_hid_device_info, product_id) == 10, "struct SDL_hid_device_info.product_id: baked offset 10 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_hid_device_info, serial_number) == 16, "struct SDL_hid_device_info.serial_number: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_hid_device_info, release_number) == 24, "struct SDL_hid_device_info.release_number: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_hid_device_info, manufacturer_string) == 32, "struct SDL_hid_device_info.manufacturer_string: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_hid_device_info, product_string) == 40, "struct SDL_hid_device_info.product_string: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_hid_device_info, usage_page) == 48, "struct SDL_hid_device_info.usage_page: baked offset 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_hid_device_info, usage) == 50, "struct SDL_hid_device_info.usage: baked offset 50 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_hid_device_info, interface_number) == 52, "struct SDL_hid_device_info.interface_number: baked offset 52 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_hid_device_info, interface_class) == 56, "struct SDL_hid_device_info.interface_class: baked offset 56 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_hid_device_info, interface_subclass) == 60, "struct SDL_hid_device_info.interface_subclass: baked offset 60 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_hid_device_info, interface_protocol) == 64, "struct SDL_hid_device_info.interface_protocol: baked offset 64 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_hid_device_info, bus_type) == 68, "struct SDL_hid_device_info.bus_type: baked offset 68 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_hid_device_info, next) == 72, "struct SDL_hid_device_info.next: baked offset 72 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_hints.h ---- */
-_Static_assert(sizeof(enum SDL_HintPriority) == 4, "enum SDL_HintPriority: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_HintPriority) == 4, "enum SDL_HintPriority: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HINT_DEFAULT) == (0), "SDL_HINT_DEFAULT: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HINT_NORMAL) == (1), "SDL_HINT_NORMAL: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HINT_OVERRIDE) == (2), "SDL_HINT_OVERRIDE: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_init.h ---- */
-_Static_assert(sizeof(enum SDL_AppResult) == 4, "enum SDL_AppResult: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_AppResult) == 4, "enum SDL_AppResult: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_APP_CONTINUE) == (0), "SDL_APP_CONTINUE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_APP_SUCCESS) == (1), "SDL_APP_SUCCESS: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_APP_FAILURE) == (2), "SDL_APP_FAILURE: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_locale.h ---- */
-_Static_assert(sizeof(struct SDL_Locale) == 16, "struct SDL_Locale: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_Locale) == 8, "struct SDL_Locale: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Locale, language) == 0, "struct SDL_Locale.language: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Locale, country) == 8, "struct SDL_Locale.country: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_log.h ---- */
-_Static_assert(sizeof(enum SDL_LogCategory) == 4, "enum SDL_LogCategory: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_LogCategory) == 4, "enum SDL_LogCategory: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_CATEGORY_APPLICATION) == (0), "SDL_LOG_CATEGORY_APPLICATION: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_CATEGORY_ERROR) == (1), "SDL_LOG_CATEGORY_ERROR: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_CATEGORY_ASSERT) == (2), "SDL_LOG_CATEGORY_ASSERT: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_CATEGORY_SYSTEM) == (3), "SDL_LOG_CATEGORY_SYSTEM: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_CATEGORY_AUDIO) == (4), "SDL_LOG_CATEGORY_AUDIO: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_CATEGORY_VIDEO) == (5), "SDL_LOG_CATEGORY_VIDEO: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_CATEGORY_RENDER) == (6), "SDL_LOG_CATEGORY_RENDER: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_CATEGORY_INPUT) == (7), "SDL_LOG_CATEGORY_INPUT: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_CATEGORY_TEST) == (8), "SDL_LOG_CATEGORY_TEST: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_CATEGORY_GPU) == (9), "SDL_LOG_CATEGORY_GPU: baked value 9 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_CATEGORY_RESERVED2) == (10), "SDL_LOG_CATEGORY_RESERVED2: baked value 10 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_CATEGORY_RESERVED3) == (11), "SDL_LOG_CATEGORY_RESERVED3: baked value 11 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_CATEGORY_RESERVED4) == (12), "SDL_LOG_CATEGORY_RESERVED4: baked value 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_CATEGORY_RESERVED5) == (13), "SDL_LOG_CATEGORY_RESERVED5: baked value 13 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_CATEGORY_RESERVED6) == (14), "SDL_LOG_CATEGORY_RESERVED6: baked value 14 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_CATEGORY_RESERVED7) == (15), "SDL_LOG_CATEGORY_RESERVED7: baked value 15 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_CATEGORY_RESERVED8) == (16), "SDL_LOG_CATEGORY_RESERVED8: baked value 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_CATEGORY_RESERVED9) == (17), "SDL_LOG_CATEGORY_RESERVED9: baked value 17 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_CATEGORY_RESERVED10) == (18), "SDL_LOG_CATEGORY_RESERVED10: baked value 18 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_CATEGORY_CUSTOM) == (19), "SDL_LOG_CATEGORY_CUSTOM: baked value 19 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_LogPriority) == 4, "enum SDL_LogPriority: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_LogPriority) == 4, "enum SDL_LogPriority: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_PRIORITY_INVALID) == (0), "SDL_LOG_PRIORITY_INVALID: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_PRIORITY_TRACE) == (1), "SDL_LOG_PRIORITY_TRACE: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_PRIORITY_VERBOSE) == (2), "SDL_LOG_PRIORITY_VERBOSE: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_PRIORITY_DEBUG) == (3), "SDL_LOG_PRIORITY_DEBUG: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_PRIORITY_INFO) == (4), "SDL_LOG_PRIORITY_INFO: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_PRIORITY_WARN) == (5), "SDL_LOG_PRIORITY_WARN: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_PRIORITY_ERROR) == (6), "SDL_LOG_PRIORITY_ERROR: baked value 6 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_PRIORITY_CRITICAL) == (7), "SDL_LOG_PRIORITY_CRITICAL: baked value 7 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOG_PRIORITY_COUNT) == (8), "SDL_LOG_PRIORITY_COUNT: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_messagebox.h ---- */
-_Static_assert(sizeof(struct SDL_MessageBoxButtonData) == 16, "struct SDL_MessageBoxButtonData: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_MessageBoxButtonData) == 8, "struct SDL_MessageBoxButtonData: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MessageBoxButtonData, flags) == 0, "struct SDL_MessageBoxButtonData.flags: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MessageBoxButtonData, buttonID) == 4, "struct SDL_MessageBoxButtonData.buttonID: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MessageBoxButtonData, text) == 8, "struct SDL_MessageBoxButtonData.text: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_MessageBoxColor) == 3, "struct SDL_MessageBoxColor: baked sizeof 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_MessageBoxColor) == 1, "struct SDL_MessageBoxColor: baked alignment 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MessageBoxColor, r) == 0, "struct SDL_MessageBoxColor.r: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MessageBoxColor, g) == 1, "struct SDL_MessageBoxColor.g: baked offset 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MessageBoxColor, b) == 2, "struct SDL_MessageBoxColor.b: baked offset 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_MessageBoxColorType) == 4, "enum SDL_MessageBoxColorType: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_MessageBoxColorType) == 4, "enum SDL_MessageBoxColorType: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MESSAGEBOX_COLOR_BACKGROUND) == (0), "SDL_MESSAGEBOX_COLOR_BACKGROUND: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MESSAGEBOX_COLOR_TEXT) == (1), "SDL_MESSAGEBOX_COLOR_TEXT: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MESSAGEBOX_COLOR_BUTTON_BORDER) == (2), "SDL_MESSAGEBOX_COLOR_BUTTON_BORDER: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MESSAGEBOX_COLOR_BUTTON_BACKGROUND) == (3), "SDL_MESSAGEBOX_COLOR_BUTTON_BACKGROUND: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MESSAGEBOX_COLOR_BUTTON_SELECTED) == (4), "SDL_MESSAGEBOX_COLOR_BUTTON_SELECTED: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MESSAGEBOX_COLOR_COUNT) == (5), "SDL_MESSAGEBOX_COLOR_COUNT: baked value 5 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_MessageBoxColorScheme) == 15, "struct SDL_MessageBoxColorScheme: baked sizeof 15 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_MessageBoxColorScheme) == 1, "struct SDL_MessageBoxColorScheme: baked alignment 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MessageBoxColorScheme, colors) == 0, "struct SDL_MessageBoxColorScheme.colors: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_MessageBoxData) == 56, "struct SDL_MessageBoxData: baked sizeof 56 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_MessageBoxData) == 8, "struct SDL_MessageBoxData: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MessageBoxData, flags) == 0, "struct SDL_MessageBoxData.flags: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MessageBoxData, window) == 8, "struct SDL_MessageBoxData.window: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MessageBoxData, title) == 16, "struct SDL_MessageBoxData.title: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MessageBoxData, message) == 24, "struct SDL_MessageBoxData.message: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MessageBoxData, numbuttons) == 32, "struct SDL_MessageBoxData.numbuttons: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MessageBoxData, buttons) == 40, "struct SDL_MessageBoxData.buttons: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_MessageBoxData, colorScheme) == 48, "struct SDL_MessageBoxData.colorScheme: baked offset 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_process.h ---- */
-_Static_assert(sizeof(enum SDL_ProcessIO) == 4, "enum SDL_ProcessIO: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_ProcessIO) == 4, "enum SDL_ProcessIO: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PROCESS_STDIO_INHERITED) == (0), "SDL_PROCESS_STDIO_INHERITED: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PROCESS_STDIO_NULL) == (1), "SDL_PROCESS_STDIO_NULL: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PROCESS_STDIO_APP) == (2), "SDL_PROCESS_STDIO_APP: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PROCESS_STDIO_REDIRECT) == (3), "SDL_PROCESS_STDIO_REDIRECT: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_render.h ---- */
-_Static_assert(sizeof(struct SDL_Vertex) == 32, "struct SDL_Vertex: baked sizeof 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_Vertex) == 4, "struct SDL_Vertex: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Vertex, position) == 0, "struct SDL_Vertex.position: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Vertex, color) == 8, "struct SDL_Vertex.color: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Vertex, tex_coord) == 24, "struct SDL_Vertex.tex_coord: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_TextureAccess) == 4, "enum SDL_TextureAccess: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_TextureAccess) == 4, "enum SDL_TextureAccess: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TEXTUREACCESS_STATIC) == (0), "SDL_TEXTUREACCESS_STATIC: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TEXTUREACCESS_STREAMING) == (1), "SDL_TEXTUREACCESS_STREAMING: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TEXTUREACCESS_TARGET) == (2), "SDL_TEXTUREACCESS_TARGET: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 4, 0)
-_Static_assert(sizeof(enum SDL_TextureAddressMode) == 4, "enum SDL_TextureAddressMode: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_TextureAddressMode) == 4, "enum SDL_TextureAddressMode: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TEXTURE_ADDRESS_INVALID) == (-1), "SDL_TEXTURE_ADDRESS_INVALID: baked value -1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TEXTURE_ADDRESS_AUTO) == (0), "SDL_TEXTURE_ADDRESS_AUTO: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TEXTURE_ADDRESS_CLAMP) == (1), "SDL_TEXTURE_ADDRESS_CLAMP: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TEXTURE_ADDRESS_WRAP) == (2), "SDL_TEXTURE_ADDRESS_WRAP: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-_Static_assert(sizeof(enum SDL_RendererLogicalPresentation) == 4, "enum SDL_RendererLogicalPresentation: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_RendererLogicalPresentation) == 4, "enum SDL_RendererLogicalPresentation: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOGICAL_PRESENTATION_DISABLED) == (0), "SDL_LOGICAL_PRESENTATION_DISABLED: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOGICAL_PRESENTATION_STRETCH) == (1), "SDL_LOGICAL_PRESENTATION_STRETCH: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOGICAL_PRESENTATION_LETTERBOX) == (2), "SDL_LOGICAL_PRESENTATION_LETTERBOX: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOGICAL_PRESENTATION_OVERSCAN) == (3), "SDL_LOGICAL_PRESENTATION_OVERSCAN: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_LOGICAL_PRESENTATION_INTEGER_SCALE) == (4), "SDL_LOGICAL_PRESENTATION_INTEGER_SCALE: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(struct SDL_Texture) == 16, "struct SDL_Texture: baked sizeof 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_Texture) == 4, "struct SDL_Texture: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Texture, format) == 0, "struct SDL_Texture.format: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Texture, w) == 4, "struct SDL_Texture.w: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Texture, h) == 8, "struct SDL_Texture.h: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_Texture, refcount) == 12, "struct SDL_Texture.refcount: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 4, 0)
-_Static_assert(sizeof(struct SDL_GPURenderStateCreateInfo) == 64, "struct SDL_GPURenderStateCreateInfo: baked sizeof 64 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_GPURenderStateCreateInfo) == 8, "struct SDL_GPURenderStateCreateInfo: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPURenderStateCreateInfo, fragment_shader) == 0, "struct SDL_GPURenderStateCreateInfo.fragment_shader: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPURenderStateCreateInfo, num_sampler_bindings) == 8, "struct SDL_GPURenderStateCreateInfo.num_sampler_bindings: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPURenderStateCreateInfo, sampler_bindings) == 16, "struct SDL_GPURenderStateCreateInfo.sampler_bindings: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPURenderStateCreateInfo, num_storage_textures) == 24, "struct SDL_GPURenderStateCreateInfo.num_storage_textures: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPURenderStateCreateInfo, storage_textures) == 32, "struct SDL_GPURenderStateCreateInfo.storage_textures: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPURenderStateCreateInfo, num_storage_buffers) == 40, "struct SDL_GPURenderStateCreateInfo.num_storage_buffers: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPURenderStateCreateInfo, storage_buffers) == 48, "struct SDL_GPURenderStateCreateInfo.storage_buffers: baked offset 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_GPURenderStateCreateInfo, props) == 56, "struct SDL_GPURenderStateCreateInfo.props: baked offset 56 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-
-/* ---- SDL_storage.h ---- */
-_Static_assert(sizeof(struct SDL_StorageInterface) == 96, "struct SDL_StorageInterface: baked sizeof 96 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_StorageInterface) == 8, "struct SDL_StorageInterface: baked alignment 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_StorageInterface, version) == 0, "struct SDL_StorageInterface.version: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_StorageInterface, close) == 8, "struct SDL_StorageInterface.close: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_StorageInterface, ready) == 16, "struct SDL_StorageInterface.ready: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_StorageInterface, enumerate) == 24, "struct SDL_StorageInterface.enumerate: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_StorageInterface, info) == 32, "struct SDL_StorageInterface.info: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_StorageInterface, read_file) == 40, "struct SDL_StorageInterface.read_file: baked offset 40 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_StorageInterface, write_file) == 48, "struct SDL_StorageInterface.write_file: baked offset 48 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_StorageInterface, mkdir) == 56, "struct SDL_StorageInterface.mkdir: baked offset 56 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_StorageInterface, remove) == 64, "struct SDL_StorageInterface.remove: baked offset 64 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_StorageInterface, rename) == 72, "struct SDL_StorageInterface.rename: baked offset 72 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_StorageInterface, copy) == 80, "struct SDL_StorageInterface.copy: baked offset 80 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_StorageInterface, space_remaining) == 88, "struct SDL_StorageInterface.space_remaining: baked offset 88 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_system.h ---- */
-_Static_assert(sizeof(enum SDL_Sandbox) == 4, "enum SDL_Sandbox: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_Sandbox) == 4, "enum SDL_Sandbox: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SANDBOX_NONE) == (0), "SDL_SANDBOX_NONE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SANDBOX_UNKNOWN_CONTAINER) == (1), "SDL_SANDBOX_UNKNOWN_CONTAINER: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SANDBOX_FLATPAK) == (2), "SDL_SANDBOX_FLATPAK: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SANDBOX_SNAP) == (3), "SDL_SANDBOX_SNAP: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SANDBOX_MACOS) == (4), "SDL_SANDBOX_MACOS: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_time.h ---- */
-_Static_assert(sizeof(struct SDL_DateTime) == 36, "struct SDL_DateTime: baked sizeof 36 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(struct SDL_DateTime) == 4, "struct SDL_DateTime: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DateTime, year) == 0, "struct SDL_DateTime.year: baked offset 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DateTime, month) == 4, "struct SDL_DateTime.month: baked offset 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DateTime, day) == 8, "struct SDL_DateTime.day: baked offset 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DateTime, hour) == 12, "struct SDL_DateTime.hour: baked offset 12 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DateTime, minute) == 16, "struct SDL_DateTime.minute: baked offset 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DateTime, second) == 20, "struct SDL_DateTime.second: baked offset 20 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DateTime, nanosecond) == 24, "struct SDL_DateTime.nanosecond: baked offset 24 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DateTime, day_of_week) == 28, "struct SDL_DateTime.day_of_week: baked offset 28 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(offsetof(struct SDL_DateTime, utc_offset) == 32, "struct SDL_DateTime.utc_offset: baked offset 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_DateFormat) == 4, "enum SDL_DateFormat: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_DateFormat) == 4, "enum SDL_DateFormat: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_DATE_FORMAT_YYYYMMDD) == (0), "SDL_DATE_FORMAT_YYYYMMDD: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_DATE_FORMAT_DDMMYYYY) == (1), "SDL_DATE_FORMAT_DDMMYYYY: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_DATE_FORMAT_MMDDYYYY) == (2), "SDL_DATE_FORMAT_MMDDYYYY: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(sizeof(enum SDL_TimeFormat) == 4, "enum SDL_TimeFormat: baked sizeof 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert(_Alignof(enum SDL_TimeFormat) == 4, "enum SDL_TimeFormat: baked alignment 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TIME_FORMAT_24HR) == (0), "SDL_TIME_FORMAT_24HR: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TIME_FORMAT_12HR) == (1), "SDL_TIME_FORMAT_12HR: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_blendmode.h (typed constants) ---- */
-_Static_assert((SDL_BLENDMODE_NONE) == (0ull), "SDL_BLENDMODE_NONE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BLENDMODE_BLEND) == (1ull), "SDL_BLENDMODE_BLEND: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BLENDMODE_BLEND_PREMULTIPLIED) == (16ull), "SDL_BLENDMODE_BLEND_PREMULTIPLIED: baked value 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BLENDMODE_ADD) == (2ull), "SDL_BLENDMODE_ADD: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BLENDMODE_ADD_PREMULTIPLIED) == (32ull), "SDL_BLENDMODE_ADD_PREMULTIPLIED: baked value 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BLENDMODE_MOD) == (4ull), "SDL_BLENDMODE_MOD: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BLENDMODE_MUL) == (8ull), "SDL_BLENDMODE_MUL: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BLENDMODE_INVALID) == (2147483647ull), "SDL_BLENDMODE_INVALID: baked value 2147483647 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_video.h (typed constants) ---- */
-_Static_assert((SDL_GL_CONTEXT_DEBUG_FLAG) == (1ull), "SDL_GL_CONTEXT_DEBUG_FLAG: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG) == (2ull), "SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_CONTEXT_ROBUST_ACCESS_FLAG) == (4ull), "SDL_GL_CONTEXT_ROBUST_ACCESS_FLAG: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_CONTEXT_RESET_ISOLATION_FLAG) == (8ull), "SDL_GL_CONTEXT_RESET_ISOLATION_FLAG: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_CONTEXT_RELEASE_BEHAVIOR_NONE) == (0ull), "SDL_GL_CONTEXT_RELEASE_BEHAVIOR_NONE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH) == (1ull), "SDL_GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_CONTEXT_RESET_NO_NOTIFICATION) == (0ull), "SDL_GL_CONTEXT_RESET_NO_NOTIFICATION: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_CONTEXT_RESET_LOSE_CONTEXT) == (1ull), "SDL_GL_CONTEXT_RESET_LOSE_CONTEXT: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_CONTEXT_PROFILE_CORE) == (1ull), "SDL_GL_CONTEXT_PROFILE_CORE: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_CONTEXT_PROFILE_COMPATIBILITY) == (2ull), "SDL_GL_CONTEXT_PROFILE_COMPATIBILITY: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GL_CONTEXT_PROFILE_ES) == (4ull), "SDL_GL_CONTEXT_PROFILE_ES: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_gpu.h (typed constants) ---- */
-_Static_assert((SDL_GPU_BUFFERUSAGE_VERTEX) == (1ull), "SDL_GPU_BUFFERUSAGE_VERTEX: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BUFFERUSAGE_INDEX) == (2ull), "SDL_GPU_BUFFERUSAGE_INDEX: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BUFFERUSAGE_INDIRECT) == (4ull), "SDL_GPU_BUFFERUSAGE_INDIRECT: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BUFFERUSAGE_GRAPHICS_STORAGE_READ) == (8ull), "SDL_GPU_BUFFERUSAGE_GRAPHICS_STORAGE_READ: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_READ) == (16ull), "SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_READ: baked value 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE) == (32ull), "SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE: baked value 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_COLORCOMPONENT_R) == (1ull), "SDL_GPU_COLORCOMPONENT_R: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_COLORCOMPONENT_G) == (2ull), "SDL_GPU_COLORCOMPONENT_G: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_COLORCOMPONENT_B) == (4ull), "SDL_GPU_COLORCOMPONENT_B: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_COLORCOMPONENT_A) == (8ull), "SDL_GPU_COLORCOMPONENT_A: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_SHADERFORMAT_INVALID) == (0ull), "SDL_GPU_SHADERFORMAT_INVALID: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_SHADERFORMAT_PRIVATE) == (1ull), "SDL_GPU_SHADERFORMAT_PRIVATE: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_SHADERFORMAT_SPIRV) == (2ull), "SDL_GPU_SHADERFORMAT_SPIRV: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_SHADERFORMAT_DXBC) == (4ull), "SDL_GPU_SHADERFORMAT_DXBC: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_SHADERFORMAT_DXIL) == (8ull), "SDL_GPU_SHADERFORMAT_DXIL: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_SHADERFORMAT_MSL) == (16ull), "SDL_GPU_SHADERFORMAT_MSL: baked value 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_SHADERFORMAT_METALLIB) == (32ull), "SDL_GPU_SHADERFORMAT_METALLIB: baked value 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREUSAGE_SAMPLER) == (1ull), "SDL_GPU_TEXTUREUSAGE_SAMPLER: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREUSAGE_COLOR_TARGET) == (2ull), "SDL_GPU_TEXTUREUSAGE_COLOR_TARGET: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREUSAGE_DEPTH_STENCIL_TARGET) == (4ull), "SDL_GPU_TEXTUREUSAGE_DEPTH_STENCIL_TARGET: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREUSAGE_GRAPHICS_STORAGE_READ) == (8ull), "SDL_GPU_TEXTUREUSAGE_GRAPHICS_STORAGE_READ: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_READ) == (16ull), "SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_READ: baked value 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE) == (32ull), "SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE: baked value 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_SIMULTANEOUS_READ_WRITE) == (64ull), "SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_SIMULTANEOUS_READ_WRITE: baked value 64 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_filesystem.h (typed constants) ---- */
-_Static_assert((SDL_GLOB_CASEINSENSITIVE) == (1ull), "SDL_GLOB_CASEINSENSITIVE: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_haptic.h (typed constants) ---- */
-_Static_assert((SDL_HAPTIC_POLAR) == (0ull), "SDL_HAPTIC_POLAR: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HAPTIC_CARTESIAN) == (1ull), "SDL_HAPTIC_CARTESIAN: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HAPTIC_SPHERICAL) == (2ull), "SDL_HAPTIC_SPHERICAL: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HAPTIC_STEERING_AXIS) == (3ull), "SDL_HAPTIC_STEERING_AXIS: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HAPTIC_CONSTANT) == (1ull), "SDL_HAPTIC_CONSTANT: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HAPTIC_SINE) == (2ull), "SDL_HAPTIC_SINE: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HAPTIC_SQUARE) == (4ull), "SDL_HAPTIC_SQUARE: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HAPTIC_TRIANGLE) == (8ull), "SDL_HAPTIC_TRIANGLE: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HAPTIC_SAWTOOTHUP) == (16ull), "SDL_HAPTIC_SAWTOOTHUP: baked value 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HAPTIC_SAWTOOTHDOWN) == (32ull), "SDL_HAPTIC_SAWTOOTHDOWN: baked value 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HAPTIC_RAMP) == (64ull), "SDL_HAPTIC_RAMP: baked value 64 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HAPTIC_SPRING) == (128ull), "SDL_HAPTIC_SPRING: baked value 128 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HAPTIC_DAMPER) == (256ull), "SDL_HAPTIC_DAMPER: baked value 256 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HAPTIC_INERTIA) == (512ull), "SDL_HAPTIC_INERTIA: baked value 512 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HAPTIC_FRICTION) == (1024ull), "SDL_HAPTIC_FRICTION: baked value 1024 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HAPTIC_LEFTRIGHT) == (2048ull), "SDL_HAPTIC_LEFTRIGHT: baked value 2048 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HAPTIC_RESERVED1) == (4096ull), "SDL_HAPTIC_RESERVED1: baked value 4096 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HAPTIC_RESERVED2) == (8192ull), "SDL_HAPTIC_RESERVED2: baked value 8192 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HAPTIC_RESERVED3) == (16384ull), "SDL_HAPTIC_RESERVED3: baked value 16384 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_HAPTIC_CUSTOM) == (32768ull), "SDL_HAPTIC_CUSTOM: baked value 32768 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_init.h (typed constants) ---- */
-_Static_assert((SDL_INIT_AUDIO) == (16ull), "SDL_INIT_AUDIO: baked value 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_INIT_VIDEO) == (32ull), "SDL_INIT_VIDEO: baked value 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_INIT_JOYSTICK) == (512ull), "SDL_INIT_JOYSTICK: baked value 512 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_INIT_HAPTIC) == (4096ull), "SDL_INIT_HAPTIC: baked value 4096 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_INIT_GAMEPAD) == (8192ull), "SDL_INIT_GAMEPAD: baked value 8192 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_INIT_EVENTS) == (16384ull), "SDL_INIT_EVENTS: baked value 16384 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_INIT_SENSOR) == (32768ull), "SDL_INIT_SENSOR: baked value 32768 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_INIT_CAMERA) == (65536ull), "SDL_INIT_CAMERA: baked value 65536 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_keycode.h (typed constants) ---- */
-_Static_assert((SDL_KMOD_NONE) == (0ull), "SDL_KMOD_NONE: baked value 0 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_KMOD_LSHIFT) == (1ull), "SDL_KMOD_LSHIFT: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_KMOD_RSHIFT) == (2ull), "SDL_KMOD_RSHIFT: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_KMOD_LEVEL5) == (4ull), "SDL_KMOD_LEVEL5: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_KMOD_LCTRL) == (64ull), "SDL_KMOD_LCTRL: baked value 64 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_KMOD_RCTRL) == (128ull), "SDL_KMOD_RCTRL: baked value 128 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_KMOD_LALT) == (256ull), "SDL_KMOD_LALT: baked value 256 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_KMOD_RALT) == (512ull), "SDL_KMOD_RALT: baked value 512 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_KMOD_LGUI) == (1024ull), "SDL_KMOD_LGUI: baked value 1024 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_KMOD_RGUI) == (2048ull), "SDL_KMOD_RGUI: baked value 2048 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_KMOD_NUM) == (4096ull), "SDL_KMOD_NUM: baked value 4096 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_KMOD_CAPS) == (8192ull), "SDL_KMOD_CAPS: baked value 8192 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_KMOD_MODE) == (16384ull), "SDL_KMOD_MODE: baked value 16384 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_KMOD_SCROLL) == (32768ull), "SDL_KMOD_SCROLL: baked value 32768 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_KMOD_CTRL) == (192ull), "SDL_KMOD_CTRL: baked value 192 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_KMOD_SHIFT) == (3ull), "SDL_KMOD_SHIFT: baked value 3 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_KMOD_ALT) == (768ull), "SDL_KMOD_ALT: baked value 768 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_KMOD_GUI) == (3072ull), "SDL_KMOD_GUI: baked value 3072 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_messagebox.h (typed constants) ---- */
-_Static_assert((SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT) == (1ull), "SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT) == (2ull), "SDL_MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MESSAGEBOX_ERROR) == (16ull), "SDL_MESSAGEBOX_ERROR: baked value 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MESSAGEBOX_WARNING) == (32ull), "SDL_MESSAGEBOX_WARNING: baked value 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MESSAGEBOX_INFORMATION) == (64ull), "SDL_MESSAGEBOX_INFORMATION: baked value 64 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT) == (128ull), "SDL_MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT: baked value 128 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT) == (256ull), "SDL_MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT: baked value 256 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_mouse.h (typed constants) ---- */
-_Static_assert((SDL_BUTTON_LMASK) == (1ull), "SDL_BUTTON_LMASK: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BUTTON_MMASK) == (2ull), "SDL_BUTTON_MMASK: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BUTTON_RMASK) == (4ull), "SDL_BUTTON_RMASK: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BUTTON_X1MASK) == (8ull), "SDL_BUTTON_X1MASK: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_BUTTON_X2MASK) == (16ull), "SDL_BUTTON_X2MASK: baked value 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_pen.h (typed constants) ---- */
-_Static_assert((SDL_PEN_INPUT_DOWN) == (1ull), "SDL_PEN_INPUT_DOWN: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PEN_INPUT_BUTTON_1) == (2ull), "SDL_PEN_INPUT_BUTTON_1: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PEN_INPUT_BUTTON_2) == (4ull), "SDL_PEN_INPUT_BUTTON_2: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PEN_INPUT_BUTTON_3) == (8ull), "SDL_PEN_INPUT_BUTTON_3: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PEN_INPUT_BUTTON_4) == (16ull), "SDL_PEN_INPUT_BUTTON_4: baked value 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PEN_INPUT_BUTTON_5) == (32ull), "SDL_PEN_INPUT_BUTTON_5: baked value 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_PEN_INPUT_ERASER_TIP) == (1073741824ull), "SDL_PEN_INPUT_ERASER_TIP: baked value 1073741824 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 4, 0)
-_Static_assert((SDL_PEN_INPUT_IN_PROXIMITY) == (2147483648ull), "SDL_PEN_INPUT_IN_PROXIMITY: baked value 2147483648 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-
-/* ---- SDL_surface.h (typed constants) ---- */
-_Static_assert((SDL_SURFACE_PREALLOCATED) == (1ull), "SDL_SURFACE_PREALLOCATED: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SURFACE_LOCK_NEEDED) == (2ull), "SDL_SURFACE_LOCK_NEEDED: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SURFACE_LOCKED) == (4ull), "SDL_SURFACE_LOCKED: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_SURFACE_SIMD_ALIGNED) == (8ull), "SDL_SURFACE_SIMD_ALIGNED: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_tray.h (typed constants) ---- */
-_Static_assert((SDL_TRAYENTRY_BUTTON) == (1ull), "SDL_TRAYENTRY_BUTTON: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRAYENTRY_CHECKBOX) == (2ull), "SDL_TRAYENTRY_CHECKBOX: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRAYENTRY_SUBMENU) == (4ull), "SDL_TRAYENTRY_SUBMENU: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRAYENTRY_DISABLED) == (2147483648ull), "SDL_TRAYENTRY_DISABLED: baked value 2147483648 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_TRAYENTRY_CHECKED) == (1073741824ull), "SDL_TRAYENTRY_CHECKED: baked value 1073741824 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-
-/* ---- SDL_video.h (typed constants) ---- */
-_Static_assert((SDL_WINDOW_FULLSCREEN) == (1ull), "SDL_WINDOW_FULLSCREEN: baked value 1 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_OPENGL) == (2ull), "SDL_WINDOW_OPENGL: baked value 2 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_OCCLUDED) == (4ull), "SDL_WINDOW_OCCLUDED: baked value 4 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_HIDDEN) == (8ull), "SDL_WINDOW_HIDDEN: baked value 8 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_BORDERLESS) == (16ull), "SDL_WINDOW_BORDERLESS: baked value 16 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_RESIZABLE) == (32ull), "SDL_WINDOW_RESIZABLE: baked value 32 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_MINIMIZED) == (64ull), "SDL_WINDOW_MINIMIZED: baked value 64 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_MAXIMIZED) == (128ull), "SDL_WINDOW_MAXIMIZED: baked value 128 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_MOUSE_GRABBED) == (256ull), "SDL_WINDOW_MOUSE_GRABBED: baked value 256 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_INPUT_FOCUS) == (512ull), "SDL_WINDOW_INPUT_FOCUS: baked value 512 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_MOUSE_FOCUS) == (1024ull), "SDL_WINDOW_MOUSE_FOCUS: baked value 1024 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_EXTERNAL) == (2048ull), "SDL_WINDOW_EXTERNAL: baked value 2048 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_MODAL) == (4096ull), "SDL_WINDOW_MODAL: baked value 4096 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_HIGH_PIXEL_DENSITY) == (8192ull), "SDL_WINDOW_HIGH_PIXEL_DENSITY: baked value 8192 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_MOUSE_CAPTURE) == (16384ull), "SDL_WINDOW_MOUSE_CAPTURE: baked value 16384 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_MOUSE_RELATIVE_MODE) == (32768ull), "SDL_WINDOW_MOUSE_RELATIVE_MODE: baked value 32768 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_ALWAYS_ON_TOP) == (65536ull), "SDL_WINDOW_ALWAYS_ON_TOP: baked value 65536 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_UTILITY) == (131072ull), "SDL_WINDOW_UTILITY: baked value 131072 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_TOOLTIP) == (262144ull), "SDL_WINDOW_TOOLTIP: baked value 262144 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_POPUP_MENU) == (524288ull), "SDL_WINDOW_POPUP_MENU: baked value 524288 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_KEYBOARD_GRABBED) == (1048576ull), "SDL_WINDOW_KEYBOARD_GRABBED: baked value 1048576 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#if SDL_VERSION_ATLEAST(3, 4, 0)
-_Static_assert((SDL_WINDOW_FILL_DOCUMENT) == (2097152ull), "SDL_WINDOW_FILL_DOCUMENT: baked value 2097152 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-#endif
-_Static_assert((SDL_WINDOW_VULKAN) == (268435456ull), "SDL_WINDOW_VULKAN: baked value 268435456 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_METAL) == (536870912ull), "SDL_WINDOW_METAL: baked value 536870912 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_TRANSPARENT) == (1073741824ull), "SDL_WINDOW_TRANSPARENT: baked value 1073741824 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
-_Static_assert((SDL_WINDOW_NOT_FOCUSABLE) == (2147483648ull), "SDL_WINDOW_NOT_FOCUSABLE: baked value 2147483648 differs from your SDL3 headers (sdl3-bindgen-sys README: ABI verification)");
+ * A sizeof asserted with >= belongs to a struct the bindings only ever
+ * read inside a named union (SDL_Event, SDL_HapticEffect) or one the
+ * registry marks layout: prefix. SDL may append fields to it; its known
+ * fields stay pinned by offset and the union's own size stays exact.
+ * Building with the cabal flag abi-assertions-exact makes every sizeof
+ * exact again, for checking a newer SDL.
+ *
+ * #if guards mirror each declaration's documented @since and each
+ * member's "(added in X.Y.Z)" note — corrected and refined by the
+ * empirical availability registry (lithon-codegen sdl3/versions.json)
+ * — on SDL's own version macros.
+ */
+#define LITHON_ABI_HELP ". sdl3-bindgen-sys was generated from SDL 3.4.16; see the README section ABI verification. Please report this at https://github.com/jtnuttall/lithon/issues with your SDL version and platform, and if you are comfortable, open a PR updating the SDL version the bindings are generated from."
+#ifdef LITHON_ABI_EXACT
+#define LITHON_ABI_PREFIX_OP ==
+#define LITHON_ABI_PREFIX_MSG "differs from your SDL3 headers (exact mode)"
+#else
+#define LITHON_ABI_PREFIX_OP >=
+#define LITHON_ABI_PREFIX_MSG "exceeds your SDL3 headers (growth is accepted, shrinking is not)"
+#endif
+#include <stddef.h>
+
+#define SDL_MAIN_HANDLED
+#include <SDL3/SDL.h>
+#include <SDL3/SDL_vulkan.h>
+#include <SDL3/SDL_main.h>
+
+/* ---- SDL_stdinc.h ---- */
+_Static_assert(sizeof(struct SDL_alignment_test) == 16, "struct SDL_alignment_test: baked sizeof 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_alignment_test) == 8, "struct SDL_alignment_test: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_alignment_test, a) == 0, "struct SDL_alignment_test.a: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_alignment_test, b) == 8, "struct SDL_alignment_test.b: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_DUMMY_ENUM) == 4, "enum SDL_DUMMY_ENUM: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_DUMMY_ENUM) == 4, "enum SDL_DUMMY_ENUM: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((DUMMY_ENUM_VALUE) == (0), "DUMMY_ENUM_VALUE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_assert.h ---- */
+_Static_assert(sizeof(enum SDL_AssertState) == 4, "enum SDL_AssertState: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_AssertState) == 4, "enum SDL_AssertState: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ASSERTION_RETRY) == (0), "SDL_ASSERTION_RETRY: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ASSERTION_BREAK) == (1), "SDL_ASSERTION_BREAK: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ASSERTION_ABORT) == (2), "SDL_ASSERTION_ABORT: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ASSERTION_IGNORE) == (3), "SDL_ASSERTION_IGNORE: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ASSERTION_ALWAYS_IGNORE) == (4), "SDL_ASSERTION_ALWAYS_IGNORE: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_AssertData) == 48, "struct SDL_AssertData: baked sizeof 48 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_AssertData) == 8, "struct SDL_AssertData: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AssertData, always_ignore) == 0, "struct SDL_AssertData.always_ignore: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AssertData, trigger_count) == 4, "struct SDL_AssertData.trigger_count: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AssertData, condition) == 8, "struct SDL_AssertData.condition: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AssertData, filename) == 16, "struct SDL_AssertData.filename: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AssertData, linenum) == 24, "struct SDL_AssertData.linenum: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AssertData, function) == 32, "struct SDL_AssertData.function: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AssertData, next) == 40, "struct SDL_AssertData.next: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_asyncio.h ---- */
+_Static_assert(sizeof(enum SDL_AsyncIOTaskType) == 4, "enum SDL_AsyncIOTaskType: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_AsyncIOTaskType) == 4, "enum SDL_AsyncIOTaskType: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ASYNCIO_TASK_READ) == (0), "SDL_ASYNCIO_TASK_READ: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ASYNCIO_TASK_WRITE) == (1), "SDL_ASYNCIO_TASK_WRITE: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ASYNCIO_TASK_CLOSE) == (2), "SDL_ASYNCIO_TASK_CLOSE: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_AsyncIOResult) == 4, "enum SDL_AsyncIOResult: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_AsyncIOResult) == 4, "enum SDL_AsyncIOResult: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ASYNCIO_COMPLETE) == (0), "SDL_ASYNCIO_COMPLETE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ASYNCIO_FAILURE) == (1), "SDL_ASYNCIO_FAILURE: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ASYNCIO_CANCELED) == (2), "SDL_ASYNCIO_CANCELED: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_AsyncIOOutcome) == 56, "struct SDL_AsyncIOOutcome: baked sizeof 56 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_AsyncIOOutcome) == 8, "struct SDL_AsyncIOOutcome: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AsyncIOOutcome, asyncio) == 0, "struct SDL_AsyncIOOutcome.asyncio: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AsyncIOOutcome, type) == 8, "struct SDL_AsyncIOOutcome.type: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AsyncIOOutcome, result) == 12, "struct SDL_AsyncIOOutcome.result: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AsyncIOOutcome, buffer) == 16, "struct SDL_AsyncIOOutcome.buffer: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AsyncIOOutcome, offset) == 24, "struct SDL_AsyncIOOutcome.offset: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AsyncIOOutcome, bytes_requested) == 32, "struct SDL_AsyncIOOutcome.bytes_requested: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AsyncIOOutcome, bytes_transferred) == 40, "struct SDL_AsyncIOOutcome.bytes_transferred: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AsyncIOOutcome, userdata) == 48, "struct SDL_AsyncIOOutcome.userdata: baked offset 48 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_atomic.h ---- */
+_Static_assert(sizeof(struct SDL_AtomicInt) == 4, "struct SDL_AtomicInt: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_AtomicInt) == 4, "struct SDL_AtomicInt: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AtomicInt, value) == 0, "struct SDL_AtomicInt.value: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_AtomicU32) == 4, "struct SDL_AtomicU32: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_AtomicU32) == 4, "struct SDL_AtomicU32: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AtomicU32, value) == 0, "struct SDL_AtomicU32.value: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_properties.h ---- */
+_Static_assert(sizeof(enum SDL_PropertyType) == 4, "enum SDL_PropertyType: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_PropertyType) == 4, "enum SDL_PropertyType: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PROPERTY_TYPE_INVALID) == (0), "SDL_PROPERTY_TYPE_INVALID: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PROPERTY_TYPE_POINTER) == (1), "SDL_PROPERTY_TYPE_POINTER: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PROPERTY_TYPE_STRING) == (2), "SDL_PROPERTY_TYPE_STRING: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PROPERTY_TYPE_NUMBER) == (3), "SDL_PROPERTY_TYPE_NUMBER: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PROPERTY_TYPE_FLOAT) == (4), "SDL_PROPERTY_TYPE_FLOAT: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PROPERTY_TYPE_BOOLEAN) == (5), "SDL_PROPERTY_TYPE_BOOLEAN: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_thread.h ---- */
+_Static_assert(sizeof(enum SDL_ThreadPriority) == 4, "enum SDL_ThreadPriority: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_ThreadPriority) == 4, "enum SDL_ThreadPriority: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_THREAD_PRIORITY_LOW) == (0), "SDL_THREAD_PRIORITY_LOW: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_THREAD_PRIORITY_NORMAL) == (1), "SDL_THREAD_PRIORITY_NORMAL: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_THREAD_PRIORITY_HIGH) == (2), "SDL_THREAD_PRIORITY_HIGH: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_THREAD_PRIORITY_TIME_CRITICAL) == (3), "SDL_THREAD_PRIORITY_TIME_CRITICAL: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_ThreadState) == 4, "enum SDL_ThreadState: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_ThreadState) == 4, "enum SDL_ThreadState: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_THREAD_UNKNOWN) == (0), "SDL_THREAD_UNKNOWN: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_THREAD_ALIVE) == (1), "SDL_THREAD_ALIVE: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_THREAD_DETACHED) == (2), "SDL_THREAD_DETACHED: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_THREAD_COMPLETE) == (3), "SDL_THREAD_COMPLETE: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_mutex.h ---- */
+_Static_assert(sizeof(enum SDL_InitStatus) == 4, "enum SDL_InitStatus: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_InitStatus) == 4, "enum SDL_InitStatus: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_INIT_STATUS_UNINITIALIZED) == (0), "SDL_INIT_STATUS_UNINITIALIZED: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_INIT_STATUS_INITIALIZING) == (1), "SDL_INIT_STATUS_INITIALIZING: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_INIT_STATUS_INITIALIZED) == (2), "SDL_INIT_STATUS_INITIALIZED: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_INIT_STATUS_UNINITIALIZING) == (3), "SDL_INIT_STATUS_UNINITIALIZING: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_InitState) == 24, "struct SDL_InitState: baked sizeof 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_InitState) == 8, "struct SDL_InitState: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_InitState, status) == 0, "struct SDL_InitState.status: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_InitState, thread) == 8, "struct SDL_InitState.thread: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_InitState, reserved) == 16, "struct SDL_InitState.reserved: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_iostream.h ---- */
+_Static_assert(sizeof(enum SDL_IOStatus) == 4, "enum SDL_IOStatus: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_IOStatus) == 4, "enum SDL_IOStatus: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_IO_STATUS_READY) == (0), "SDL_IO_STATUS_READY: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_IO_STATUS_ERROR) == (1), "SDL_IO_STATUS_ERROR: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_IO_STATUS_EOF) == (2), "SDL_IO_STATUS_EOF: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_IO_STATUS_NOT_READY) == (3), "SDL_IO_STATUS_NOT_READY: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_IO_STATUS_READONLY) == (4), "SDL_IO_STATUS_READONLY: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_IO_STATUS_WRITEONLY) == (5), "SDL_IO_STATUS_WRITEONLY: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_IOWhence) == 4, "enum SDL_IOWhence: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_IOWhence) == 4, "enum SDL_IOWhence: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_IO_SEEK_SET) == (0), "SDL_IO_SEEK_SET: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_IO_SEEK_CUR) == (1), "SDL_IO_SEEK_CUR: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_IO_SEEK_END) == (2), "SDL_IO_SEEK_END: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_IOStreamInterface) == 56, "struct SDL_IOStreamInterface: baked sizeof 56 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_IOStreamInterface) == 8, "struct SDL_IOStreamInterface: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_IOStreamInterface, version) == 0, "struct SDL_IOStreamInterface.version: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_IOStreamInterface, size) == 8, "struct SDL_IOStreamInterface.size: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_IOStreamInterface, seek) == 16, "struct SDL_IOStreamInterface.seek: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_IOStreamInterface, read) == 24, "struct SDL_IOStreamInterface.read: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_IOStreamInterface, write) == 32, "struct SDL_IOStreamInterface.write: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_IOStreamInterface, flush) == 40, "struct SDL_IOStreamInterface.flush: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_IOStreamInterface, close) == 48, "struct SDL_IOStreamInterface.close: baked offset 48 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_audio.h ---- */
+_Static_assert(sizeof(enum SDL_AudioFormat) == 4, "enum SDL_AudioFormat: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_AudioFormat) == 4, "enum SDL_AudioFormat: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_AUDIO_UNKNOWN) == (0), "SDL_AUDIO_UNKNOWN: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_AUDIO_U8) == (8), "SDL_AUDIO_U8: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_AUDIO_S8) == (32776), "SDL_AUDIO_S8: baked value 32776 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_AUDIO_S16LE) == (32784), "SDL_AUDIO_S16LE: baked value 32784 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_AUDIO_S16BE) == (36880), "SDL_AUDIO_S16BE: baked value 36880 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_AUDIO_S32LE) == (32800), "SDL_AUDIO_S32LE: baked value 32800 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_AUDIO_S32BE) == (36896), "SDL_AUDIO_S32BE: baked value 36896 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_AUDIO_F32LE) == (33056), "SDL_AUDIO_F32LE: baked value 33056 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_AUDIO_F32BE) == (37152), "SDL_AUDIO_F32BE: baked value 37152 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_AUDIO_S16) == (32784), "SDL_AUDIO_S16: baked value 32784 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_AUDIO_S32) == (32800), "SDL_AUDIO_S32: baked value 32800 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_AUDIO_F32) == (33056), "SDL_AUDIO_F32: baked value 33056 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_AudioSpec) == 12, "struct SDL_AudioSpec: baked sizeof 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_AudioSpec) == 4, "struct SDL_AudioSpec: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AudioSpec, format) == 0, "struct SDL_AudioSpec.format: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AudioSpec, channels) == 4, "struct SDL_AudioSpec.channels: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AudioSpec, freq) == 8, "struct SDL_AudioSpec.freq: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_blendmode.h ---- */
+_Static_assert(sizeof(enum SDL_BlendOperation) == 4, "enum SDL_BlendOperation: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_BlendOperation) == 4, "enum SDL_BlendOperation: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BLENDOPERATION_ADD) == (1), "SDL_BLENDOPERATION_ADD: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BLENDOPERATION_SUBTRACT) == (2), "SDL_BLENDOPERATION_SUBTRACT: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BLENDOPERATION_REV_SUBTRACT) == (3), "SDL_BLENDOPERATION_REV_SUBTRACT: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BLENDOPERATION_MINIMUM) == (4), "SDL_BLENDOPERATION_MINIMUM: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BLENDOPERATION_MAXIMUM) == (5), "SDL_BLENDOPERATION_MAXIMUM: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_BlendFactor) == 4, "enum SDL_BlendFactor: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_BlendFactor) == 4, "enum SDL_BlendFactor: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BLENDFACTOR_ZERO) == (1), "SDL_BLENDFACTOR_ZERO: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BLENDFACTOR_ONE) == (2), "SDL_BLENDFACTOR_ONE: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BLENDFACTOR_SRC_COLOR) == (3), "SDL_BLENDFACTOR_SRC_COLOR: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BLENDFACTOR_ONE_MINUS_SRC_COLOR) == (4), "SDL_BLENDFACTOR_ONE_MINUS_SRC_COLOR: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BLENDFACTOR_SRC_ALPHA) == (5), "SDL_BLENDFACTOR_SRC_ALPHA: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BLENDFACTOR_ONE_MINUS_SRC_ALPHA) == (6), "SDL_BLENDFACTOR_ONE_MINUS_SRC_ALPHA: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BLENDFACTOR_DST_COLOR) == (7), "SDL_BLENDFACTOR_DST_COLOR: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BLENDFACTOR_ONE_MINUS_DST_COLOR) == (8), "SDL_BLENDFACTOR_ONE_MINUS_DST_COLOR: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BLENDFACTOR_DST_ALPHA) == (9), "SDL_BLENDFACTOR_DST_ALPHA: baked value 9 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA) == (10), "SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA: baked value 10 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_pixels.h ---- */
+_Static_assert(sizeof(enum SDL_PixelType) == 4, "enum SDL_PixelType: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_PixelType) == 4, "enum SDL_PixelType: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELTYPE_UNKNOWN) == (0), "SDL_PIXELTYPE_UNKNOWN: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELTYPE_INDEX1) == (1), "SDL_PIXELTYPE_INDEX1: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELTYPE_INDEX4) == (2), "SDL_PIXELTYPE_INDEX4: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELTYPE_INDEX8) == (3), "SDL_PIXELTYPE_INDEX8: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELTYPE_PACKED8) == (4), "SDL_PIXELTYPE_PACKED8: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELTYPE_PACKED16) == (5), "SDL_PIXELTYPE_PACKED16: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELTYPE_PACKED32) == (6), "SDL_PIXELTYPE_PACKED32: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELTYPE_ARRAYU8) == (7), "SDL_PIXELTYPE_ARRAYU8: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELTYPE_ARRAYU16) == (8), "SDL_PIXELTYPE_ARRAYU16: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELTYPE_ARRAYU32) == (9), "SDL_PIXELTYPE_ARRAYU32: baked value 9 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELTYPE_ARRAYF16) == (10), "SDL_PIXELTYPE_ARRAYF16: baked value 10 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELTYPE_ARRAYF32) == (11), "SDL_PIXELTYPE_ARRAYF32: baked value 11 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELTYPE_INDEX2) == (12), "SDL_PIXELTYPE_INDEX2: baked value 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_BitmapOrder) == 4, "enum SDL_BitmapOrder: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_BitmapOrder) == 4, "enum SDL_BitmapOrder: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BITMAPORDER_NONE) == (0), "SDL_BITMAPORDER_NONE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BITMAPORDER_4321) == (1), "SDL_BITMAPORDER_4321: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BITMAPORDER_1234) == (2), "SDL_BITMAPORDER_1234: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_PackedOrder) == 4, "enum SDL_PackedOrder: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_PackedOrder) == 4, "enum SDL_PackedOrder: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PACKEDORDER_NONE) == (0), "SDL_PACKEDORDER_NONE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PACKEDORDER_XRGB) == (1), "SDL_PACKEDORDER_XRGB: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PACKEDORDER_RGBX) == (2), "SDL_PACKEDORDER_RGBX: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PACKEDORDER_ARGB) == (3), "SDL_PACKEDORDER_ARGB: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PACKEDORDER_RGBA) == (4), "SDL_PACKEDORDER_RGBA: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PACKEDORDER_XBGR) == (5), "SDL_PACKEDORDER_XBGR: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PACKEDORDER_BGRX) == (6), "SDL_PACKEDORDER_BGRX: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PACKEDORDER_ABGR) == (7), "SDL_PACKEDORDER_ABGR: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PACKEDORDER_BGRA) == (8), "SDL_PACKEDORDER_BGRA: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_ArrayOrder) == 4, "enum SDL_ArrayOrder: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_ArrayOrder) == 4, "enum SDL_ArrayOrder: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ARRAYORDER_NONE) == (0), "SDL_ARRAYORDER_NONE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ARRAYORDER_RGB) == (1), "SDL_ARRAYORDER_RGB: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ARRAYORDER_RGBA) == (2), "SDL_ARRAYORDER_RGBA: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ARRAYORDER_ARGB) == (3), "SDL_ARRAYORDER_ARGB: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ARRAYORDER_BGR) == (4), "SDL_ARRAYORDER_BGR: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ARRAYORDER_BGRA) == (5), "SDL_ARRAYORDER_BGRA: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ARRAYORDER_ABGR) == (6), "SDL_ARRAYORDER_ABGR: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_PackedLayout) == 4, "enum SDL_PackedLayout: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_PackedLayout) == 4, "enum SDL_PackedLayout: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PACKEDLAYOUT_NONE) == (0), "SDL_PACKEDLAYOUT_NONE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PACKEDLAYOUT_332) == (1), "SDL_PACKEDLAYOUT_332: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PACKEDLAYOUT_4444) == (2), "SDL_PACKEDLAYOUT_4444: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PACKEDLAYOUT_1555) == (3), "SDL_PACKEDLAYOUT_1555: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PACKEDLAYOUT_5551) == (4), "SDL_PACKEDLAYOUT_5551: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PACKEDLAYOUT_565) == (5), "SDL_PACKEDLAYOUT_565: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PACKEDLAYOUT_8888) == (6), "SDL_PACKEDLAYOUT_8888: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PACKEDLAYOUT_2101010) == (7), "SDL_PACKEDLAYOUT_2101010: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PACKEDLAYOUT_1010102) == (8), "SDL_PACKEDLAYOUT_1010102: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_PixelFormat) == 4, "enum SDL_PixelFormat: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_PixelFormat) == 4, "enum SDL_PixelFormat: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_UNKNOWN) == (0), "SDL_PIXELFORMAT_UNKNOWN: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_INDEX1LSB) == (286261504), "SDL_PIXELFORMAT_INDEX1LSB: baked value 286261504 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_INDEX1MSB) == (287310080), "SDL_PIXELFORMAT_INDEX1MSB: baked value 287310080 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_INDEX2LSB) == (470811136), "SDL_PIXELFORMAT_INDEX2LSB: baked value 470811136 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_INDEX2MSB) == (471859712), "SDL_PIXELFORMAT_INDEX2MSB: baked value 471859712 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_INDEX4LSB) == (303039488), "SDL_PIXELFORMAT_INDEX4LSB: baked value 303039488 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_INDEX4MSB) == (304088064), "SDL_PIXELFORMAT_INDEX4MSB: baked value 304088064 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_INDEX8) == (318769153), "SDL_PIXELFORMAT_INDEX8: baked value 318769153 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_RGB332) == (336660481), "SDL_PIXELFORMAT_RGB332: baked value 336660481 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_XRGB4444) == (353504258), "SDL_PIXELFORMAT_XRGB4444: baked value 353504258 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_XBGR4444) == (357698562), "SDL_PIXELFORMAT_XBGR4444: baked value 357698562 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_XRGB1555) == (353570562), "SDL_PIXELFORMAT_XRGB1555: baked value 353570562 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_XBGR1555) == (357764866), "SDL_PIXELFORMAT_XBGR1555: baked value 357764866 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_ARGB4444) == (355602434), "SDL_PIXELFORMAT_ARGB4444: baked value 355602434 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_RGBA4444) == (356651010), "SDL_PIXELFORMAT_RGBA4444: baked value 356651010 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_ABGR4444) == (359796738), "SDL_PIXELFORMAT_ABGR4444: baked value 359796738 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_BGRA4444) == (360845314), "SDL_PIXELFORMAT_BGRA4444: baked value 360845314 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_ARGB1555) == (355667970), "SDL_PIXELFORMAT_ARGB1555: baked value 355667970 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_RGBA5551) == (356782082), "SDL_PIXELFORMAT_RGBA5551: baked value 356782082 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_ABGR1555) == (359862274), "SDL_PIXELFORMAT_ABGR1555: baked value 359862274 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_BGRA5551) == (360976386), "SDL_PIXELFORMAT_BGRA5551: baked value 360976386 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_RGB565) == (353701890), "SDL_PIXELFORMAT_RGB565: baked value 353701890 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_BGR565) == (357896194), "SDL_PIXELFORMAT_BGR565: baked value 357896194 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_RGB24) == (386930691), "SDL_PIXELFORMAT_RGB24: baked value 386930691 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_BGR24) == (390076419), "SDL_PIXELFORMAT_BGR24: baked value 390076419 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_XRGB8888) == (370546692), "SDL_PIXELFORMAT_XRGB8888: baked value 370546692 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_RGBX8888) == (371595268), "SDL_PIXELFORMAT_RGBX8888: baked value 371595268 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_XBGR8888) == (374740996), "SDL_PIXELFORMAT_XBGR8888: baked value 374740996 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_BGRX8888) == (375789572), "SDL_PIXELFORMAT_BGRX8888: baked value 375789572 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_ARGB8888) == (372645892), "SDL_PIXELFORMAT_ARGB8888: baked value 372645892 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_RGBA8888) == (373694468), "SDL_PIXELFORMAT_RGBA8888: baked value 373694468 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_ABGR8888) == (376840196), "SDL_PIXELFORMAT_ABGR8888: baked value 376840196 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_BGRA8888) == (377888772), "SDL_PIXELFORMAT_BGRA8888: baked value 377888772 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_XRGB2101010) == (370614276), "SDL_PIXELFORMAT_XRGB2101010: baked value 370614276 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_XBGR2101010) == (374808580), "SDL_PIXELFORMAT_XBGR2101010: baked value 374808580 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_ARGB2101010) == (372711428), "SDL_PIXELFORMAT_ARGB2101010: baked value 372711428 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_ABGR2101010) == (376905732), "SDL_PIXELFORMAT_ABGR2101010: baked value 376905732 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_RGB48) == (403714054), "SDL_PIXELFORMAT_RGB48: baked value 403714054 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_BGR48) == (406859782), "SDL_PIXELFORMAT_BGR48: baked value 406859782 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_RGBA64) == (404766728), "SDL_PIXELFORMAT_RGBA64: baked value 404766728 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_ARGB64) == (405815304), "SDL_PIXELFORMAT_ARGB64: baked value 405815304 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_BGRA64) == (407912456), "SDL_PIXELFORMAT_BGRA64: baked value 407912456 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_ABGR64) == (408961032), "SDL_PIXELFORMAT_ABGR64: baked value 408961032 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_RGB48_FLOAT) == (437268486), "SDL_PIXELFORMAT_RGB48_FLOAT: baked value 437268486 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_BGR48_FLOAT) == (440414214), "SDL_PIXELFORMAT_BGR48_FLOAT: baked value 440414214 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_RGBA64_FLOAT) == (438321160), "SDL_PIXELFORMAT_RGBA64_FLOAT: baked value 438321160 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_ARGB64_FLOAT) == (439369736), "SDL_PIXELFORMAT_ARGB64_FLOAT: baked value 439369736 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_BGRA64_FLOAT) == (441466888), "SDL_PIXELFORMAT_BGRA64_FLOAT: baked value 441466888 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_ABGR64_FLOAT) == (442515464), "SDL_PIXELFORMAT_ABGR64_FLOAT: baked value 442515464 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_RGB96_FLOAT) == (454057996), "SDL_PIXELFORMAT_RGB96_FLOAT: baked value 454057996 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_BGR96_FLOAT) == (457203724), "SDL_PIXELFORMAT_BGR96_FLOAT: baked value 457203724 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_RGBA128_FLOAT) == (455114768), "SDL_PIXELFORMAT_RGBA128_FLOAT: baked value 455114768 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_ARGB128_FLOAT) == (456163344), "SDL_PIXELFORMAT_ARGB128_FLOAT: baked value 456163344 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_BGRA128_FLOAT) == (458260496), "SDL_PIXELFORMAT_BGRA128_FLOAT: baked value 458260496 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_ABGR128_FLOAT) == (459309072), "SDL_PIXELFORMAT_ABGR128_FLOAT: baked value 459309072 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_YV12) == (842094169), "SDL_PIXELFORMAT_YV12: baked value 842094169 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_IYUV) == (1448433993), "SDL_PIXELFORMAT_IYUV: baked value 1448433993 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_YUY2) == (844715353), "SDL_PIXELFORMAT_YUY2: baked value 844715353 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_UYVY) == (1498831189), "SDL_PIXELFORMAT_UYVY: baked value 1498831189 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_YVYU) == (1431918169), "SDL_PIXELFORMAT_YVYU: baked value 1431918169 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_NV12) == (842094158), "SDL_PIXELFORMAT_NV12: baked value 842094158 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_NV21) == (825382478), "SDL_PIXELFORMAT_NV21: baked value 825382478 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_P010) == (808530000), "SDL_PIXELFORMAT_P010: baked value 808530000 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_EXTERNAL_OES) == (542328143), "SDL_PIXELFORMAT_EXTERNAL_OES: baked value 542328143 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 2, 6)
+_Static_assert((SDL_PIXELFORMAT_MJPG) == (1196444237), "SDL_PIXELFORMAT_MJPG: baked value 1196444237 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+_Static_assert((SDL_PIXELFORMAT_RGBA32) == (376840196), "SDL_PIXELFORMAT_RGBA32: baked value 376840196 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_ARGB32) == (377888772), "SDL_PIXELFORMAT_ARGB32: baked value 377888772 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_BGRA32) == (372645892), "SDL_PIXELFORMAT_BGRA32: baked value 372645892 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_ABGR32) == (373694468), "SDL_PIXELFORMAT_ABGR32: baked value 373694468 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_RGBX32) == (374740996), "SDL_PIXELFORMAT_RGBX32: baked value 374740996 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_XRGB32) == (375789572), "SDL_PIXELFORMAT_XRGB32: baked value 375789572 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_BGRX32) == (370546692), "SDL_PIXELFORMAT_BGRX32: baked value 370546692 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PIXELFORMAT_XBGR32) == (371595268), "SDL_PIXELFORMAT_XBGR32: baked value 371595268 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_ColorType) == 4, "enum SDL_ColorType: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_ColorType) == 4, "enum SDL_ColorType: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLOR_TYPE_UNKNOWN) == (0), "SDL_COLOR_TYPE_UNKNOWN: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLOR_TYPE_RGB) == (1), "SDL_COLOR_TYPE_RGB: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLOR_TYPE_YCBCR) == (2), "SDL_COLOR_TYPE_YCBCR: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_ColorRange) == 4, "enum SDL_ColorRange: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_ColorRange) == 4, "enum SDL_ColorRange: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLOR_RANGE_UNKNOWN) == (0), "SDL_COLOR_RANGE_UNKNOWN: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLOR_RANGE_LIMITED) == (1), "SDL_COLOR_RANGE_LIMITED: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLOR_RANGE_FULL) == (2), "SDL_COLOR_RANGE_FULL: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_ColorPrimaries) == 4, "enum SDL_ColorPrimaries: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_ColorPrimaries) == 4, "enum SDL_ColorPrimaries: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLOR_PRIMARIES_UNKNOWN) == (0), "SDL_COLOR_PRIMARIES_UNKNOWN: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLOR_PRIMARIES_BT709) == (1), "SDL_COLOR_PRIMARIES_BT709: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLOR_PRIMARIES_UNSPECIFIED) == (2), "SDL_COLOR_PRIMARIES_UNSPECIFIED: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLOR_PRIMARIES_BT470M) == (4), "SDL_COLOR_PRIMARIES_BT470M: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLOR_PRIMARIES_BT470BG) == (5), "SDL_COLOR_PRIMARIES_BT470BG: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLOR_PRIMARIES_BT601) == (6), "SDL_COLOR_PRIMARIES_BT601: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLOR_PRIMARIES_SMPTE240) == (7), "SDL_COLOR_PRIMARIES_SMPTE240: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLOR_PRIMARIES_GENERIC_FILM) == (8), "SDL_COLOR_PRIMARIES_GENERIC_FILM: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLOR_PRIMARIES_BT2020) == (9), "SDL_COLOR_PRIMARIES_BT2020: baked value 9 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLOR_PRIMARIES_XYZ) == (10), "SDL_COLOR_PRIMARIES_XYZ: baked value 10 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLOR_PRIMARIES_SMPTE431) == (11), "SDL_COLOR_PRIMARIES_SMPTE431: baked value 11 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLOR_PRIMARIES_SMPTE432) == (12), "SDL_COLOR_PRIMARIES_SMPTE432: baked value 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLOR_PRIMARIES_EBU3213) == (22), "SDL_COLOR_PRIMARIES_EBU3213: baked value 22 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLOR_PRIMARIES_CUSTOM) == (31), "SDL_COLOR_PRIMARIES_CUSTOM: baked value 31 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_TransferCharacteristics) == 4, "enum SDL_TransferCharacteristics: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_TransferCharacteristics) == 4, "enum SDL_TransferCharacteristics: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRANSFER_CHARACTERISTICS_UNKNOWN) == (0), "SDL_TRANSFER_CHARACTERISTICS_UNKNOWN: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRANSFER_CHARACTERISTICS_BT709) == (1), "SDL_TRANSFER_CHARACTERISTICS_BT709: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRANSFER_CHARACTERISTICS_UNSPECIFIED) == (2), "SDL_TRANSFER_CHARACTERISTICS_UNSPECIFIED: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRANSFER_CHARACTERISTICS_GAMMA22) == (4), "SDL_TRANSFER_CHARACTERISTICS_GAMMA22: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRANSFER_CHARACTERISTICS_GAMMA28) == (5), "SDL_TRANSFER_CHARACTERISTICS_GAMMA28: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRANSFER_CHARACTERISTICS_BT601) == (6), "SDL_TRANSFER_CHARACTERISTICS_BT601: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRANSFER_CHARACTERISTICS_SMPTE240) == (7), "SDL_TRANSFER_CHARACTERISTICS_SMPTE240: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRANSFER_CHARACTERISTICS_LINEAR) == (8), "SDL_TRANSFER_CHARACTERISTICS_LINEAR: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRANSFER_CHARACTERISTICS_LOG100) == (9), "SDL_TRANSFER_CHARACTERISTICS_LOG100: baked value 9 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRANSFER_CHARACTERISTICS_LOG100_SQRT10) == (10), "SDL_TRANSFER_CHARACTERISTICS_LOG100_SQRT10: baked value 10 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRANSFER_CHARACTERISTICS_IEC61966) == (11), "SDL_TRANSFER_CHARACTERISTICS_IEC61966: baked value 11 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRANSFER_CHARACTERISTICS_BT1361) == (12), "SDL_TRANSFER_CHARACTERISTICS_BT1361: baked value 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRANSFER_CHARACTERISTICS_SRGB) == (13), "SDL_TRANSFER_CHARACTERISTICS_SRGB: baked value 13 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRANSFER_CHARACTERISTICS_BT2020_10BIT) == (14), "SDL_TRANSFER_CHARACTERISTICS_BT2020_10BIT: baked value 14 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRANSFER_CHARACTERISTICS_BT2020_12BIT) == (15), "SDL_TRANSFER_CHARACTERISTICS_BT2020_12BIT: baked value 15 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRANSFER_CHARACTERISTICS_PQ) == (16), "SDL_TRANSFER_CHARACTERISTICS_PQ: baked value 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRANSFER_CHARACTERISTICS_SMPTE428) == (17), "SDL_TRANSFER_CHARACTERISTICS_SMPTE428: baked value 17 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRANSFER_CHARACTERISTICS_HLG) == (18), "SDL_TRANSFER_CHARACTERISTICS_HLG: baked value 18 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRANSFER_CHARACTERISTICS_CUSTOM) == (31), "SDL_TRANSFER_CHARACTERISTICS_CUSTOM: baked value 31 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_MatrixCoefficients) == 4, "enum SDL_MatrixCoefficients: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_MatrixCoefficients) == 4, "enum SDL_MatrixCoefficients: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MATRIX_COEFFICIENTS_IDENTITY) == (0), "SDL_MATRIX_COEFFICIENTS_IDENTITY: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MATRIX_COEFFICIENTS_BT709) == (1), "SDL_MATRIX_COEFFICIENTS_BT709: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MATRIX_COEFFICIENTS_UNSPECIFIED) == (2), "SDL_MATRIX_COEFFICIENTS_UNSPECIFIED: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MATRIX_COEFFICIENTS_FCC) == (4), "SDL_MATRIX_COEFFICIENTS_FCC: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MATRIX_COEFFICIENTS_BT470BG) == (5), "SDL_MATRIX_COEFFICIENTS_BT470BG: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MATRIX_COEFFICIENTS_BT601) == (6), "SDL_MATRIX_COEFFICIENTS_BT601: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MATRIX_COEFFICIENTS_SMPTE240) == (7), "SDL_MATRIX_COEFFICIENTS_SMPTE240: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MATRIX_COEFFICIENTS_YCGCO) == (8), "SDL_MATRIX_COEFFICIENTS_YCGCO: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MATRIX_COEFFICIENTS_BT2020_NCL) == (9), "SDL_MATRIX_COEFFICIENTS_BT2020_NCL: baked value 9 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MATRIX_COEFFICIENTS_BT2020_CL) == (10), "SDL_MATRIX_COEFFICIENTS_BT2020_CL: baked value 10 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MATRIX_COEFFICIENTS_SMPTE2085) == (11), "SDL_MATRIX_COEFFICIENTS_SMPTE2085: baked value 11 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MATRIX_COEFFICIENTS_CHROMA_DERIVED_NCL) == (12), "SDL_MATRIX_COEFFICIENTS_CHROMA_DERIVED_NCL: baked value 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MATRIX_COEFFICIENTS_CHROMA_DERIVED_CL) == (13), "SDL_MATRIX_COEFFICIENTS_CHROMA_DERIVED_CL: baked value 13 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MATRIX_COEFFICIENTS_ICTCP) == (14), "SDL_MATRIX_COEFFICIENTS_ICTCP: baked value 14 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MATRIX_COEFFICIENTS_CUSTOM) == (31), "SDL_MATRIX_COEFFICIENTS_CUSTOM: baked value 31 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_ChromaLocation) == 4, "enum SDL_ChromaLocation: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_ChromaLocation) == 4, "enum SDL_ChromaLocation: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_CHROMA_LOCATION_NONE) == (0), "SDL_CHROMA_LOCATION_NONE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_CHROMA_LOCATION_LEFT) == (1), "SDL_CHROMA_LOCATION_LEFT: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_CHROMA_LOCATION_CENTER) == (2), "SDL_CHROMA_LOCATION_CENTER: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_CHROMA_LOCATION_TOPLEFT) == (3), "SDL_CHROMA_LOCATION_TOPLEFT: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_Colorspace) == 4, "enum SDL_Colorspace: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_Colorspace) == 4, "enum SDL_Colorspace: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLORSPACE_UNKNOWN) == (0), "SDL_COLORSPACE_UNKNOWN: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLORSPACE_SRGB) == (301991328), "SDL_COLORSPACE_SRGB: baked value 301991328 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLORSPACE_SRGB_LINEAR) == (301991168), "SDL_COLORSPACE_SRGB_LINEAR: baked value 301991168 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLORSPACE_HDR10) == (301999616), "SDL_COLORSPACE_HDR10: baked value 301999616 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLORSPACE_JPEG) == (570426566), "SDL_COLORSPACE_JPEG: baked value 570426566 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLORSPACE_BT601_LIMITED) == (554703046), "SDL_COLORSPACE_BT601_LIMITED: baked value 554703046 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLORSPACE_BT601_FULL) == (571480262), "SDL_COLORSPACE_BT601_FULL: baked value 571480262 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLORSPACE_BT709_LIMITED) == (554697761), "SDL_COLORSPACE_BT709_LIMITED: baked value 554697761 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLORSPACE_BT709_FULL) == (571474977), "SDL_COLORSPACE_BT709_FULL: baked value 571474977 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLORSPACE_BT2020_LIMITED) == (554706441), "SDL_COLORSPACE_BT2020_LIMITED: baked value 554706441 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLORSPACE_BT2020_FULL) == (571483657), "SDL_COLORSPACE_BT2020_FULL: baked value 571483657 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_COLORSPACE_RGB_DEFAULT) == (301991328), "SDL_COLORSPACE_RGB_DEFAULT: baked value 301991328 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 4, 0)
+_Static_assert((SDL_COLORSPACE_YUV_DEFAULT) == (554703046), "SDL_COLORSPACE_YUV_DEFAULT: baked value 554703046 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+_Static_assert(sizeof(struct SDL_Color) == 4, "struct SDL_Color: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_Color) == 1, "struct SDL_Color: baked alignment 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Color, r) == 0, "struct SDL_Color.r: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Color, g) == 1, "struct SDL_Color.g: baked offset 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Color, b) == 2, "struct SDL_Color.b: baked offset 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Color, a) == 3, "struct SDL_Color.a: baked offset 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_FColor) == 16, "struct SDL_FColor: baked sizeof 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_FColor) == 4, "struct SDL_FColor: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_FColor, r) == 0, "struct SDL_FColor.r: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_FColor, g) == 4, "struct SDL_FColor.g: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_FColor, b) == 8, "struct SDL_FColor.b: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_FColor, a) == 12, "struct SDL_FColor.a: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_Palette) == 24, "struct SDL_Palette: baked sizeof 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_Palette) == 8, "struct SDL_Palette: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Palette, ncolors) == 0, "struct SDL_Palette.ncolors: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Palette, colors) == 8, "struct SDL_Palette.colors: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Palette, version) == 16, "struct SDL_Palette.version: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Palette, refcount) == 20, "struct SDL_Palette.refcount: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_PixelFormatDetails) == 32, "struct SDL_PixelFormatDetails: baked sizeof 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_PixelFormatDetails) == 4, "struct SDL_PixelFormatDetails: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PixelFormatDetails, format) == 0, "struct SDL_PixelFormatDetails.format: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PixelFormatDetails, bits_per_pixel) == 4, "struct SDL_PixelFormatDetails.bits_per_pixel: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PixelFormatDetails, bytes_per_pixel) == 5, "struct SDL_PixelFormatDetails.bytes_per_pixel: baked offset 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PixelFormatDetails, padding) == 6, "struct SDL_PixelFormatDetails.padding: baked offset 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PixelFormatDetails, Rmask) == 8, "struct SDL_PixelFormatDetails.Rmask: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PixelFormatDetails, Gmask) == 12, "struct SDL_PixelFormatDetails.Gmask: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PixelFormatDetails, Bmask) == 16, "struct SDL_PixelFormatDetails.Bmask: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PixelFormatDetails, Amask) == 20, "struct SDL_PixelFormatDetails.Amask: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PixelFormatDetails, Rbits) == 24, "struct SDL_PixelFormatDetails.Rbits: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PixelFormatDetails, Gbits) == 25, "struct SDL_PixelFormatDetails.Gbits: baked offset 25 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PixelFormatDetails, Bbits) == 26, "struct SDL_PixelFormatDetails.Bbits: baked offset 26 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PixelFormatDetails, Abits) == 27, "struct SDL_PixelFormatDetails.Abits: baked offset 27 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PixelFormatDetails, Rshift) == 28, "struct SDL_PixelFormatDetails.Rshift: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PixelFormatDetails, Gshift) == 29, "struct SDL_PixelFormatDetails.Gshift: baked offset 29 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PixelFormatDetails, Bshift) == 30, "struct SDL_PixelFormatDetails.Bshift: baked offset 30 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PixelFormatDetails, Ashift) == 31, "struct SDL_PixelFormatDetails.Ashift: baked offset 31 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_rect.h ---- */
+_Static_assert(sizeof(struct SDL_Point) == 8, "struct SDL_Point: baked sizeof 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_Point) == 4, "struct SDL_Point: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Point, x) == 0, "struct SDL_Point.x: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Point, y) == 4, "struct SDL_Point.y: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_FPoint) == 8, "struct SDL_FPoint: baked sizeof 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_FPoint) == 4, "struct SDL_FPoint: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_FPoint, x) == 0, "struct SDL_FPoint.x: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_FPoint, y) == 4, "struct SDL_FPoint.y: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_Rect) == 16, "struct SDL_Rect: baked sizeof 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_Rect) == 4, "struct SDL_Rect: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Rect, x) == 0, "struct SDL_Rect.x: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Rect, y) == 4, "struct SDL_Rect.y: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Rect, w) == 8, "struct SDL_Rect.w: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Rect, h) == 12, "struct SDL_Rect.h: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_FRect) == 16, "struct SDL_FRect: baked sizeof 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_FRect) == 4, "struct SDL_FRect: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_FRect, x) == 0, "struct SDL_FRect.x: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_FRect, y) == 4, "struct SDL_FRect.y: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_FRect, w) == 8, "struct SDL_FRect.w: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_FRect, h) == 12, "struct SDL_FRect.h: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_surface.h ---- */
+_Static_assert(sizeof(enum SDL_ScaleMode) == 4, "enum SDL_ScaleMode: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_ScaleMode) == 4, "enum SDL_ScaleMode: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 2, 10)
+_Static_assert((SDL_SCALEMODE_INVALID) == (-1), "SDL_SCALEMODE_INVALID: baked value -1 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+_Static_assert((SDL_SCALEMODE_NEAREST) == (0), "SDL_SCALEMODE_NEAREST: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCALEMODE_LINEAR) == (1), "SDL_SCALEMODE_LINEAR: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 4, 0)
+_Static_assert((SDL_SCALEMODE_PIXELART) == (2), "SDL_SCALEMODE_PIXELART: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+_Static_assert(sizeof(enum SDL_FlipMode) == 4, "enum SDL_FlipMode: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_FlipMode) == 4, "enum SDL_FlipMode: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_FLIP_NONE) == (0), "SDL_FLIP_NONE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_FLIP_HORIZONTAL) == (1), "SDL_FLIP_HORIZONTAL: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_FLIP_VERTICAL) == (2), "SDL_FLIP_VERTICAL: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 4, 0)
+_Static_assert((SDL_FLIP_HORIZONTAL_AND_VERTICAL) == (3), "SDL_FLIP_HORIZONTAL_AND_VERTICAL: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+_Static_assert(sizeof(struct SDL_Surface) == 48, "struct SDL_Surface: baked sizeof 48 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_Surface) == 8, "struct SDL_Surface: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Surface, flags) == 0, "struct SDL_Surface.flags: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Surface, format) == 4, "struct SDL_Surface.format: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Surface, w) == 8, "struct SDL_Surface.w: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Surface, h) == 12, "struct SDL_Surface.h: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Surface, pitch) == 16, "struct SDL_Surface.pitch: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Surface, pixels) == 24, "struct SDL_Surface.pixels: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Surface, refcount) == 32, "struct SDL_Surface.refcount: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Surface, reserved) == 40, "struct SDL_Surface.reserved: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_camera.h ---- */
+_Static_assert(sizeof(struct SDL_CameraSpec) == 24, "struct SDL_CameraSpec: baked sizeof 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_CameraSpec) == 4, "struct SDL_CameraSpec: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_CameraSpec, format) == 0, "struct SDL_CameraSpec.format: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_CameraSpec, colorspace) == 4, "struct SDL_CameraSpec.colorspace: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_CameraSpec, width) == 8, "struct SDL_CameraSpec.width: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_CameraSpec, height) == 12, "struct SDL_CameraSpec.height: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_CameraSpec, framerate_numerator) == 16, "struct SDL_CameraSpec.framerate_numerator: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_CameraSpec, framerate_denominator) == 20, "struct SDL_CameraSpec.framerate_denominator: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_CameraPosition) == 4, "enum SDL_CameraPosition: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_CameraPosition) == 4, "enum SDL_CameraPosition: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_CAMERA_POSITION_UNKNOWN) == (0), "SDL_CAMERA_POSITION_UNKNOWN: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_CAMERA_POSITION_FRONT_FACING) == (1), "SDL_CAMERA_POSITION_FRONT_FACING: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_CAMERA_POSITION_BACK_FACING) == (2), "SDL_CAMERA_POSITION_BACK_FACING: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 4, 0)
+_Static_assert(sizeof(enum SDL_CameraPermissionState) == 4, "enum SDL_CameraPermissionState: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_CameraPermissionState) == 4, "enum SDL_CameraPermissionState: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_CAMERA_PERMISSION_STATE_DENIED) == (-1), "SDL_CAMERA_PERMISSION_STATE_DENIED: baked value -1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_CAMERA_PERMISSION_STATE_PENDING) == (0), "SDL_CAMERA_PERMISSION_STATE_PENDING: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_CAMERA_PERMISSION_STATE_APPROVED) == (1), "SDL_CAMERA_PERMISSION_STATE_APPROVED: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+
+/* ---- SDL_video.h ---- */
+_Static_assert(sizeof(enum SDL_SystemTheme) == 4, "enum SDL_SystemTheme: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_SystemTheme) == 4, "enum SDL_SystemTheme: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_THEME_UNKNOWN) == (0), "SDL_SYSTEM_THEME_UNKNOWN: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_THEME_LIGHT) == (1), "SDL_SYSTEM_THEME_LIGHT: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_THEME_DARK) == (2), "SDL_SYSTEM_THEME_DARK: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_DisplayMode) == 40, "struct SDL_DisplayMode: baked sizeof 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_DisplayMode) == 8, "struct SDL_DisplayMode: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DisplayMode, displayID) == 0, "struct SDL_DisplayMode.displayID: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DisplayMode, format) == 4, "struct SDL_DisplayMode.format: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DisplayMode, w) == 8, "struct SDL_DisplayMode.w: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DisplayMode, h) == 12, "struct SDL_DisplayMode.h: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DisplayMode, pixel_density) == 16, "struct SDL_DisplayMode.pixel_density: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DisplayMode, refresh_rate) == 20, "struct SDL_DisplayMode.refresh_rate: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DisplayMode, refresh_rate_numerator) == 24, "struct SDL_DisplayMode.refresh_rate_numerator: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DisplayMode, refresh_rate_denominator) == 28, "struct SDL_DisplayMode.refresh_rate_denominator: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DisplayMode, internal) == 32, "struct SDL_DisplayMode.internal: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_DisplayOrientation) == 4, "enum SDL_DisplayOrientation: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_DisplayOrientation) == 4, "enum SDL_DisplayOrientation: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ORIENTATION_UNKNOWN) == (0), "SDL_ORIENTATION_UNKNOWN: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ORIENTATION_LANDSCAPE) == (1), "SDL_ORIENTATION_LANDSCAPE: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ORIENTATION_LANDSCAPE_FLIPPED) == (2), "SDL_ORIENTATION_LANDSCAPE_FLIPPED: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ORIENTATION_PORTRAIT) == (3), "SDL_ORIENTATION_PORTRAIT: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ORIENTATION_PORTRAIT_FLIPPED) == (4), "SDL_ORIENTATION_PORTRAIT_FLIPPED: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_FlashOperation) == 4, "enum SDL_FlashOperation: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_FlashOperation) == 4, "enum SDL_FlashOperation: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_FLASH_CANCEL) == (0), "SDL_FLASH_CANCEL: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_FLASH_BRIEFLY) == (1), "SDL_FLASH_BRIEFLY: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_FLASH_UNTIL_FOCUSED) == (2), "SDL_FLASH_UNTIL_FOCUSED: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 4, 0)
+_Static_assert(sizeof(enum SDL_ProgressState) == 4, "enum SDL_ProgressState: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_ProgressState) == 4, "enum SDL_ProgressState: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PROGRESS_STATE_INVALID) == (-1), "SDL_PROGRESS_STATE_INVALID: baked value -1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PROGRESS_STATE_NONE) == (0), "SDL_PROGRESS_STATE_NONE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PROGRESS_STATE_INDETERMINATE) == (1), "SDL_PROGRESS_STATE_INDETERMINATE: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PROGRESS_STATE_NORMAL) == (2), "SDL_PROGRESS_STATE_NORMAL: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PROGRESS_STATE_PAUSED) == (3), "SDL_PROGRESS_STATE_PAUSED: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PROGRESS_STATE_ERROR) == (4), "SDL_PROGRESS_STATE_ERROR: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+_Static_assert(sizeof(enum SDL_GLAttr) == 4, "enum SDL_GLAttr: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GLAttr) == 4, "enum SDL_GLAttr: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_RED_SIZE) == (0), "SDL_GL_RED_SIZE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_GREEN_SIZE) == (1), "SDL_GL_GREEN_SIZE: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_BLUE_SIZE) == (2), "SDL_GL_BLUE_SIZE: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_ALPHA_SIZE) == (3), "SDL_GL_ALPHA_SIZE: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_BUFFER_SIZE) == (4), "SDL_GL_BUFFER_SIZE: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_DOUBLEBUFFER) == (5), "SDL_GL_DOUBLEBUFFER: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_DEPTH_SIZE) == (6), "SDL_GL_DEPTH_SIZE: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_STENCIL_SIZE) == (7), "SDL_GL_STENCIL_SIZE: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_ACCUM_RED_SIZE) == (8), "SDL_GL_ACCUM_RED_SIZE: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_ACCUM_GREEN_SIZE) == (9), "SDL_GL_ACCUM_GREEN_SIZE: baked value 9 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_ACCUM_BLUE_SIZE) == (10), "SDL_GL_ACCUM_BLUE_SIZE: baked value 10 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_ACCUM_ALPHA_SIZE) == (11), "SDL_GL_ACCUM_ALPHA_SIZE: baked value 11 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_STEREO) == (12), "SDL_GL_STEREO: baked value 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_MULTISAMPLEBUFFERS) == (13), "SDL_GL_MULTISAMPLEBUFFERS: baked value 13 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_MULTISAMPLESAMPLES) == (14), "SDL_GL_MULTISAMPLESAMPLES: baked value 14 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_ACCELERATED_VISUAL) == (15), "SDL_GL_ACCELERATED_VISUAL: baked value 15 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_RETAINED_BACKING) == (16), "SDL_GL_RETAINED_BACKING: baked value 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_CONTEXT_MAJOR_VERSION) == (17), "SDL_GL_CONTEXT_MAJOR_VERSION: baked value 17 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_CONTEXT_MINOR_VERSION) == (18), "SDL_GL_CONTEXT_MINOR_VERSION: baked value 18 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_CONTEXT_FLAGS) == (19), "SDL_GL_CONTEXT_FLAGS: baked value 19 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_CONTEXT_PROFILE_MASK) == (20), "SDL_GL_CONTEXT_PROFILE_MASK: baked value 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_SHARE_WITH_CURRENT_CONTEXT) == (21), "SDL_GL_SHARE_WITH_CURRENT_CONTEXT: baked value 21 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_FRAMEBUFFER_SRGB_CAPABLE) == (22), "SDL_GL_FRAMEBUFFER_SRGB_CAPABLE: baked value 22 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_CONTEXT_RELEASE_BEHAVIOR) == (23), "SDL_GL_CONTEXT_RELEASE_BEHAVIOR: baked value 23 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_CONTEXT_RESET_NOTIFICATION) == (24), "SDL_GL_CONTEXT_RESET_NOTIFICATION: baked value 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_CONTEXT_NO_ERROR) == (25), "SDL_GL_CONTEXT_NO_ERROR: baked value 25 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_FLOATBUFFERS) == (26), "SDL_GL_FLOATBUFFERS: baked value 26 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_EGL_PLATFORM) == (27), "SDL_GL_EGL_PLATFORM: baked value 27 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_HitTestResult) == 4, "enum SDL_HitTestResult: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_HitTestResult) == 4, "enum SDL_HitTestResult: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HITTEST_NORMAL) == (0), "SDL_HITTEST_NORMAL: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HITTEST_DRAGGABLE) == (1), "SDL_HITTEST_DRAGGABLE: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HITTEST_RESIZE_TOPLEFT) == (2), "SDL_HITTEST_RESIZE_TOPLEFT: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HITTEST_RESIZE_TOP) == (3), "SDL_HITTEST_RESIZE_TOP: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HITTEST_RESIZE_TOPRIGHT) == (4), "SDL_HITTEST_RESIZE_TOPRIGHT: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HITTEST_RESIZE_RIGHT) == (5), "SDL_HITTEST_RESIZE_RIGHT: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HITTEST_RESIZE_BOTTOMRIGHT) == (6), "SDL_HITTEST_RESIZE_BOTTOMRIGHT: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HITTEST_RESIZE_BOTTOM) == (7), "SDL_HITTEST_RESIZE_BOTTOM: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HITTEST_RESIZE_BOTTOMLEFT) == (8), "SDL_HITTEST_RESIZE_BOTTOMLEFT: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HITTEST_RESIZE_LEFT) == (9), "SDL_HITTEST_RESIZE_LEFT: baked value 9 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_dialog.h ---- */
+_Static_assert(sizeof(struct SDL_DialogFileFilter) == 16, "struct SDL_DialogFileFilter: baked sizeof 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_DialogFileFilter) == 8, "struct SDL_DialogFileFilter: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DialogFileFilter, name) == 0, "struct SDL_DialogFileFilter.name: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DialogFileFilter, pattern) == 8, "struct SDL_DialogFileFilter.pattern: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_FileDialogType) == 4, "enum SDL_FileDialogType: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_FileDialogType) == 4, "enum SDL_FileDialogType: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_FILEDIALOG_OPENFILE) == (0), "SDL_FILEDIALOG_OPENFILE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_FILEDIALOG_SAVEFILE) == (1), "SDL_FILEDIALOG_SAVEFILE: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_FILEDIALOG_OPENFOLDER) == (2), "SDL_FILEDIALOG_OPENFOLDER: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_guid.h ---- */
+_Static_assert(sizeof(struct SDL_GUID) == 16, "struct SDL_GUID: baked sizeof 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GUID) == 1, "struct SDL_GUID: baked alignment 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GUID, data) == 0, "struct SDL_GUID.data: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_power.h ---- */
+_Static_assert(sizeof(enum SDL_PowerState) == 4, "enum SDL_PowerState: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_PowerState) == 4, "enum SDL_PowerState: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_POWERSTATE_ERROR) == (-1), "SDL_POWERSTATE_ERROR: baked value -1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_POWERSTATE_UNKNOWN) == (0), "SDL_POWERSTATE_UNKNOWN: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_POWERSTATE_ON_BATTERY) == (1), "SDL_POWERSTATE_ON_BATTERY: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_POWERSTATE_NO_BATTERY) == (2), "SDL_POWERSTATE_NO_BATTERY: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_POWERSTATE_CHARGING) == (3), "SDL_POWERSTATE_CHARGING: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_POWERSTATE_CHARGED) == (4), "SDL_POWERSTATE_CHARGED: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_sensor.h ---- */
+_Static_assert(sizeof(enum SDL_SensorType) == 4, "enum SDL_SensorType: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_SensorType) == 4, "enum SDL_SensorType: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SENSOR_INVALID) == (-1), "SDL_SENSOR_INVALID: baked value -1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SENSOR_UNKNOWN) == (0), "SDL_SENSOR_UNKNOWN: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SENSOR_ACCEL) == (1), "SDL_SENSOR_ACCEL: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SENSOR_GYRO) == (2), "SDL_SENSOR_GYRO: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SENSOR_ACCEL_L) == (3), "SDL_SENSOR_ACCEL_L: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SENSOR_GYRO_L) == (4), "SDL_SENSOR_GYRO_L: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SENSOR_ACCEL_R) == (5), "SDL_SENSOR_ACCEL_R: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SENSOR_GYRO_R) == (6), "SDL_SENSOR_GYRO_R: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 2, 30)
+_Static_assert((SDL_SENSOR_COUNT) == (7), "SDL_SENSOR_COUNT: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+
+/* ---- SDL_joystick.h ---- */
+_Static_assert(sizeof(enum SDL_JoystickType) == 4, "enum SDL_JoystickType: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_JoystickType) == 4, "enum SDL_JoystickType: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_JOYSTICK_TYPE_UNKNOWN) == (0), "SDL_JOYSTICK_TYPE_UNKNOWN: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_JOYSTICK_TYPE_GAMEPAD) == (1), "SDL_JOYSTICK_TYPE_GAMEPAD: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_JOYSTICK_TYPE_WHEEL) == (2), "SDL_JOYSTICK_TYPE_WHEEL: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_JOYSTICK_TYPE_ARCADE_STICK) == (3), "SDL_JOYSTICK_TYPE_ARCADE_STICK: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_JOYSTICK_TYPE_FLIGHT_STICK) == (4), "SDL_JOYSTICK_TYPE_FLIGHT_STICK: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_JOYSTICK_TYPE_DANCE_PAD) == (5), "SDL_JOYSTICK_TYPE_DANCE_PAD: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_JOYSTICK_TYPE_GUITAR) == (6), "SDL_JOYSTICK_TYPE_GUITAR: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_JOYSTICK_TYPE_DRUM_KIT) == (7), "SDL_JOYSTICK_TYPE_DRUM_KIT: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_JOYSTICK_TYPE_ARCADE_PAD) == (8), "SDL_JOYSTICK_TYPE_ARCADE_PAD: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_JOYSTICK_TYPE_THROTTLE) == (9), "SDL_JOYSTICK_TYPE_THROTTLE: baked value 9 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_JOYSTICK_TYPE_COUNT) == (10), "SDL_JOYSTICK_TYPE_COUNT: baked value 10 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_JoystickConnectionState) == 4, "enum SDL_JoystickConnectionState: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_JoystickConnectionState) == 4, "enum SDL_JoystickConnectionState: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_JOYSTICK_CONNECTION_INVALID) == (-1), "SDL_JOYSTICK_CONNECTION_INVALID: baked value -1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_JOYSTICK_CONNECTION_UNKNOWN) == (0), "SDL_JOYSTICK_CONNECTION_UNKNOWN: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_JOYSTICK_CONNECTION_WIRED) == (1), "SDL_JOYSTICK_CONNECTION_WIRED: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_JOYSTICK_CONNECTION_WIRELESS) == (2), "SDL_JOYSTICK_CONNECTION_WIRELESS: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_VirtualJoystickTouchpadDesc) == 8, "struct SDL_VirtualJoystickTouchpadDesc: baked sizeof 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_VirtualJoystickTouchpadDesc) == 2, "struct SDL_VirtualJoystickTouchpadDesc: baked alignment 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickTouchpadDesc, nfingers) == 0, "struct SDL_VirtualJoystickTouchpadDesc.nfingers: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickTouchpadDesc, padding) == 2, "struct SDL_VirtualJoystickTouchpadDesc.padding: baked offset 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_VirtualJoystickSensorDesc) == 8, "struct SDL_VirtualJoystickSensorDesc: baked sizeof 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_VirtualJoystickSensorDesc) == 4, "struct SDL_VirtualJoystickSensorDesc: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickSensorDesc, type) == 0, "struct SDL_VirtualJoystickSensorDesc.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickSensorDesc, rate) == 4, "struct SDL_VirtualJoystickSensorDesc.rate: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_VirtualJoystickDesc) == 136, "struct SDL_VirtualJoystickDesc: baked sizeof 136 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_VirtualJoystickDesc) == 8, "struct SDL_VirtualJoystickDesc: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, version) == 0, "struct SDL_VirtualJoystickDesc.version: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, type) == 4, "struct SDL_VirtualJoystickDesc.type: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, padding) == 6, "struct SDL_VirtualJoystickDesc.padding: baked offset 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, vendor_id) == 8, "struct SDL_VirtualJoystickDesc.vendor_id: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, product_id) == 10, "struct SDL_VirtualJoystickDesc.product_id: baked offset 10 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, naxes) == 12, "struct SDL_VirtualJoystickDesc.naxes: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, nbuttons) == 14, "struct SDL_VirtualJoystickDesc.nbuttons: baked offset 14 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, nballs) == 16, "struct SDL_VirtualJoystickDesc.nballs: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, nhats) == 18, "struct SDL_VirtualJoystickDesc.nhats: baked offset 18 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, ntouchpads) == 20, "struct SDL_VirtualJoystickDesc.ntouchpads: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, nsensors) == 22, "struct SDL_VirtualJoystickDesc.nsensors: baked offset 22 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, padding2) == 24, "struct SDL_VirtualJoystickDesc.padding2: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, button_mask) == 28, "struct SDL_VirtualJoystickDesc.button_mask: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, axis_mask) == 32, "struct SDL_VirtualJoystickDesc.axis_mask: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, name) == 40, "struct SDL_VirtualJoystickDesc.name: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, touchpads) == 48, "struct SDL_VirtualJoystickDesc.touchpads: baked offset 48 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, sensors) == 56, "struct SDL_VirtualJoystickDesc.sensors: baked offset 56 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, userdata) == 64, "struct SDL_VirtualJoystickDesc.userdata: baked offset 64 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, Update) == 72, "struct SDL_VirtualJoystickDesc.Update: baked offset 72 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, SetPlayerIndex) == 80, "struct SDL_VirtualJoystickDesc.SetPlayerIndex: baked offset 80 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, Rumble) == 88, "struct SDL_VirtualJoystickDesc.Rumble: baked offset 88 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, RumbleTriggers) == 96, "struct SDL_VirtualJoystickDesc.RumbleTriggers: baked offset 96 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, SetLED) == 104, "struct SDL_VirtualJoystickDesc.SetLED: baked offset 104 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, SendEffect) == 112, "struct SDL_VirtualJoystickDesc.SendEffect: baked offset 112 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, SetSensorsEnabled) == 120, "struct SDL_VirtualJoystickDesc.SetSensorsEnabled: baked offset 120 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_VirtualJoystickDesc, Cleanup) == 128, "struct SDL_VirtualJoystickDesc.Cleanup: baked offset 128 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_gamepad.h ---- */
+_Static_assert(sizeof(enum SDL_GamepadType) == 4, "enum SDL_GamepadType: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GamepadType) == 4, "enum SDL_GamepadType: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_TYPE_UNKNOWN) == (0), "SDL_GAMEPAD_TYPE_UNKNOWN: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_TYPE_STANDARD) == (1), "SDL_GAMEPAD_TYPE_STANDARD: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_TYPE_XBOX360) == (2), "SDL_GAMEPAD_TYPE_XBOX360: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_TYPE_XBOXONE) == (3), "SDL_GAMEPAD_TYPE_XBOXONE: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_TYPE_PS3) == (4), "SDL_GAMEPAD_TYPE_PS3: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_TYPE_PS4) == (5), "SDL_GAMEPAD_TYPE_PS4: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_TYPE_PS5) == (6), "SDL_GAMEPAD_TYPE_PS5: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_PRO) == (7), "SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_PRO: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_LEFT) == (8), "SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_LEFT: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_RIGHT) == (9), "SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_RIGHT: baked value 9 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_PAIR) == (10), "SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_PAIR: baked value 10 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 4, 0)
+_Static_assert((SDL_GAMEPAD_TYPE_GAMECUBE) == (11), "SDL_GAMEPAD_TYPE_GAMECUBE: baked value 11 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_TYPE_COUNT) == (12), "SDL_GAMEPAD_TYPE_COUNT: baked value 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+_Static_assert(sizeof(enum SDL_GamepadButton) == 4, "enum SDL_GamepadButton: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GamepadButton) == 4, "enum SDL_GamepadButton: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_INVALID) == (-1), "SDL_GAMEPAD_BUTTON_INVALID: baked value -1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_SOUTH) == (0), "SDL_GAMEPAD_BUTTON_SOUTH: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_EAST) == (1), "SDL_GAMEPAD_BUTTON_EAST: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_WEST) == (2), "SDL_GAMEPAD_BUTTON_WEST: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_NORTH) == (3), "SDL_GAMEPAD_BUTTON_NORTH: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_BACK) == (4), "SDL_GAMEPAD_BUTTON_BACK: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_GUIDE) == (5), "SDL_GAMEPAD_BUTTON_GUIDE: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_START) == (6), "SDL_GAMEPAD_BUTTON_START: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_LEFT_STICK) == (7), "SDL_GAMEPAD_BUTTON_LEFT_STICK: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_RIGHT_STICK) == (8), "SDL_GAMEPAD_BUTTON_RIGHT_STICK: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_LEFT_SHOULDER) == (9), "SDL_GAMEPAD_BUTTON_LEFT_SHOULDER: baked value 9 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_RIGHT_SHOULDER) == (10), "SDL_GAMEPAD_BUTTON_RIGHT_SHOULDER: baked value 10 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_DPAD_UP) == (11), "SDL_GAMEPAD_BUTTON_DPAD_UP: baked value 11 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_DPAD_DOWN) == (12), "SDL_GAMEPAD_BUTTON_DPAD_DOWN: baked value 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_DPAD_LEFT) == (13), "SDL_GAMEPAD_BUTTON_DPAD_LEFT: baked value 13 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_DPAD_RIGHT) == (14), "SDL_GAMEPAD_BUTTON_DPAD_RIGHT: baked value 14 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_MISC1) == (15), "SDL_GAMEPAD_BUTTON_MISC1: baked value 15 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_RIGHT_PADDLE1) == (16), "SDL_GAMEPAD_BUTTON_RIGHT_PADDLE1: baked value 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_LEFT_PADDLE1) == (17), "SDL_GAMEPAD_BUTTON_LEFT_PADDLE1: baked value 17 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_RIGHT_PADDLE2) == (18), "SDL_GAMEPAD_BUTTON_RIGHT_PADDLE2: baked value 18 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_LEFT_PADDLE2) == (19), "SDL_GAMEPAD_BUTTON_LEFT_PADDLE2: baked value 19 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_TOUCHPAD) == (20), "SDL_GAMEPAD_BUTTON_TOUCHPAD: baked value 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_MISC2) == (21), "SDL_GAMEPAD_BUTTON_MISC2: baked value 21 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_MISC3) == (22), "SDL_GAMEPAD_BUTTON_MISC3: baked value 22 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_MISC4) == (23), "SDL_GAMEPAD_BUTTON_MISC4: baked value 23 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_MISC5) == (24), "SDL_GAMEPAD_BUTTON_MISC5: baked value 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_MISC6) == (25), "SDL_GAMEPAD_BUTTON_MISC6: baked value 25 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_COUNT) == (26), "SDL_GAMEPAD_BUTTON_COUNT: baked value 26 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GamepadButtonLabel) == 4, "enum SDL_GamepadButtonLabel: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GamepadButtonLabel) == 4, "enum SDL_GamepadButtonLabel: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_LABEL_UNKNOWN) == (0), "SDL_GAMEPAD_BUTTON_LABEL_UNKNOWN: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_LABEL_A) == (1), "SDL_GAMEPAD_BUTTON_LABEL_A: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_LABEL_B) == (2), "SDL_GAMEPAD_BUTTON_LABEL_B: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_LABEL_X) == (3), "SDL_GAMEPAD_BUTTON_LABEL_X: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_LABEL_Y) == (4), "SDL_GAMEPAD_BUTTON_LABEL_Y: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_LABEL_CROSS) == (5), "SDL_GAMEPAD_BUTTON_LABEL_CROSS: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_LABEL_CIRCLE) == (6), "SDL_GAMEPAD_BUTTON_LABEL_CIRCLE: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_LABEL_SQUARE) == (7), "SDL_GAMEPAD_BUTTON_LABEL_SQUARE: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BUTTON_LABEL_TRIANGLE) == (8), "SDL_GAMEPAD_BUTTON_LABEL_TRIANGLE: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GamepadAxis) == 4, "enum SDL_GamepadAxis: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GamepadAxis) == 4, "enum SDL_GamepadAxis: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_AXIS_INVALID) == (-1), "SDL_GAMEPAD_AXIS_INVALID: baked value -1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_AXIS_LEFTX) == (0), "SDL_GAMEPAD_AXIS_LEFTX: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_AXIS_LEFTY) == (1), "SDL_GAMEPAD_AXIS_LEFTY: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_AXIS_RIGHTX) == (2), "SDL_GAMEPAD_AXIS_RIGHTX: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_AXIS_RIGHTY) == (3), "SDL_GAMEPAD_AXIS_RIGHTY: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_AXIS_LEFT_TRIGGER) == (4), "SDL_GAMEPAD_AXIS_LEFT_TRIGGER: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_AXIS_RIGHT_TRIGGER) == (5), "SDL_GAMEPAD_AXIS_RIGHT_TRIGGER: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_AXIS_COUNT) == (6), "SDL_GAMEPAD_AXIS_COUNT: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GamepadBindingType) == 4, "enum SDL_GamepadBindingType: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GamepadBindingType) == 4, "enum SDL_GamepadBindingType: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BINDTYPE_NONE) == (0), "SDL_GAMEPAD_BINDTYPE_NONE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BINDTYPE_BUTTON) == (1), "SDL_GAMEPAD_BINDTYPE_BUTTON: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BINDTYPE_AXIS) == (2), "SDL_GAMEPAD_BINDTYPE_AXIS: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GAMEPAD_BINDTYPE_HAT) == (3), "SDL_GAMEPAD_BINDTYPE_HAT: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GamepadBinding) == 32, "struct SDL_GamepadBinding: baked sizeof 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GamepadBinding) == 4, "struct SDL_GamepadBinding: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadBinding, input_type) == 0, "struct SDL_GamepadBinding.input_type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadBinding, input) == 4, "struct SDL_GamepadBinding.input: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadBinding, output_type) == 16, "struct SDL_GamepadBinding.output_type: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadBinding, output) == 20, "struct SDL_GamepadBinding.output: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_scancode.h ---- */
+_Static_assert(sizeof(enum SDL_Scancode) == 4, "enum SDL_Scancode: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_Scancode) == 4, "enum SDL_Scancode: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_UNKNOWN) == (0), "SDL_SCANCODE_UNKNOWN: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_A) == (4), "SDL_SCANCODE_A: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_B) == (5), "SDL_SCANCODE_B: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_C) == (6), "SDL_SCANCODE_C: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_D) == (7), "SDL_SCANCODE_D: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_E) == (8), "SDL_SCANCODE_E: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F) == (9), "SDL_SCANCODE_F: baked value 9 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_G) == (10), "SDL_SCANCODE_G: baked value 10 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_H) == (11), "SDL_SCANCODE_H: baked value 11 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_I) == (12), "SDL_SCANCODE_I: baked value 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_J) == (13), "SDL_SCANCODE_J: baked value 13 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_K) == (14), "SDL_SCANCODE_K: baked value 14 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_L) == (15), "SDL_SCANCODE_L: baked value 15 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_M) == (16), "SDL_SCANCODE_M: baked value 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_N) == (17), "SDL_SCANCODE_N: baked value 17 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_O) == (18), "SDL_SCANCODE_O: baked value 18 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_P) == (19), "SDL_SCANCODE_P: baked value 19 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_Q) == (20), "SDL_SCANCODE_Q: baked value 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_R) == (21), "SDL_SCANCODE_R: baked value 21 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_S) == (22), "SDL_SCANCODE_S: baked value 22 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_T) == (23), "SDL_SCANCODE_T: baked value 23 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_U) == (24), "SDL_SCANCODE_U: baked value 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_V) == (25), "SDL_SCANCODE_V: baked value 25 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_W) == (26), "SDL_SCANCODE_W: baked value 26 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_X) == (27), "SDL_SCANCODE_X: baked value 27 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_Y) == (28), "SDL_SCANCODE_Y: baked value 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_Z) == (29), "SDL_SCANCODE_Z: baked value 29 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_1) == (30), "SDL_SCANCODE_1: baked value 30 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_2) == (31), "SDL_SCANCODE_2: baked value 31 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_3) == (32), "SDL_SCANCODE_3: baked value 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_4) == (33), "SDL_SCANCODE_4: baked value 33 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_5) == (34), "SDL_SCANCODE_5: baked value 34 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_6) == (35), "SDL_SCANCODE_6: baked value 35 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_7) == (36), "SDL_SCANCODE_7: baked value 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_8) == (37), "SDL_SCANCODE_8: baked value 37 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_9) == (38), "SDL_SCANCODE_9: baked value 38 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_0) == (39), "SDL_SCANCODE_0: baked value 39 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_RETURN) == (40), "SDL_SCANCODE_RETURN: baked value 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_ESCAPE) == (41), "SDL_SCANCODE_ESCAPE: baked value 41 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_BACKSPACE) == (42), "SDL_SCANCODE_BACKSPACE: baked value 42 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_TAB) == (43), "SDL_SCANCODE_TAB: baked value 43 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_SPACE) == (44), "SDL_SCANCODE_SPACE: baked value 44 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_MINUS) == (45), "SDL_SCANCODE_MINUS: baked value 45 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_EQUALS) == (46), "SDL_SCANCODE_EQUALS: baked value 46 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_LEFTBRACKET) == (47), "SDL_SCANCODE_LEFTBRACKET: baked value 47 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_RIGHTBRACKET) == (48), "SDL_SCANCODE_RIGHTBRACKET: baked value 48 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_BACKSLASH) == (49), "SDL_SCANCODE_BACKSLASH: baked value 49 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_NONUSHASH) == (50), "SDL_SCANCODE_NONUSHASH: baked value 50 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_SEMICOLON) == (51), "SDL_SCANCODE_SEMICOLON: baked value 51 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_APOSTROPHE) == (52), "SDL_SCANCODE_APOSTROPHE: baked value 52 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_GRAVE) == (53), "SDL_SCANCODE_GRAVE: baked value 53 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_COMMA) == (54), "SDL_SCANCODE_COMMA: baked value 54 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_PERIOD) == (55), "SDL_SCANCODE_PERIOD: baked value 55 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_SLASH) == (56), "SDL_SCANCODE_SLASH: baked value 56 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_CAPSLOCK) == (57), "SDL_SCANCODE_CAPSLOCK: baked value 57 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F1) == (58), "SDL_SCANCODE_F1: baked value 58 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F2) == (59), "SDL_SCANCODE_F2: baked value 59 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F3) == (60), "SDL_SCANCODE_F3: baked value 60 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F4) == (61), "SDL_SCANCODE_F4: baked value 61 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F5) == (62), "SDL_SCANCODE_F5: baked value 62 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F6) == (63), "SDL_SCANCODE_F6: baked value 63 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F7) == (64), "SDL_SCANCODE_F7: baked value 64 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F8) == (65), "SDL_SCANCODE_F8: baked value 65 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F9) == (66), "SDL_SCANCODE_F9: baked value 66 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F10) == (67), "SDL_SCANCODE_F10: baked value 67 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F11) == (68), "SDL_SCANCODE_F11: baked value 68 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F12) == (69), "SDL_SCANCODE_F12: baked value 69 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_PRINTSCREEN) == (70), "SDL_SCANCODE_PRINTSCREEN: baked value 70 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_SCROLLLOCK) == (71), "SDL_SCANCODE_SCROLLLOCK: baked value 71 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_PAUSE) == (72), "SDL_SCANCODE_PAUSE: baked value 72 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_INSERT) == (73), "SDL_SCANCODE_INSERT: baked value 73 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_HOME) == (74), "SDL_SCANCODE_HOME: baked value 74 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_PAGEUP) == (75), "SDL_SCANCODE_PAGEUP: baked value 75 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_DELETE) == (76), "SDL_SCANCODE_DELETE: baked value 76 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_END) == (77), "SDL_SCANCODE_END: baked value 77 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_PAGEDOWN) == (78), "SDL_SCANCODE_PAGEDOWN: baked value 78 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_RIGHT) == (79), "SDL_SCANCODE_RIGHT: baked value 79 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_LEFT) == (80), "SDL_SCANCODE_LEFT: baked value 80 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_DOWN) == (81), "SDL_SCANCODE_DOWN: baked value 81 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_UP) == (82), "SDL_SCANCODE_UP: baked value 82 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_NUMLOCKCLEAR) == (83), "SDL_SCANCODE_NUMLOCKCLEAR: baked value 83 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_DIVIDE) == (84), "SDL_SCANCODE_KP_DIVIDE: baked value 84 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_MULTIPLY) == (85), "SDL_SCANCODE_KP_MULTIPLY: baked value 85 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_MINUS) == (86), "SDL_SCANCODE_KP_MINUS: baked value 86 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_PLUS) == (87), "SDL_SCANCODE_KP_PLUS: baked value 87 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_ENTER) == (88), "SDL_SCANCODE_KP_ENTER: baked value 88 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_1) == (89), "SDL_SCANCODE_KP_1: baked value 89 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_2) == (90), "SDL_SCANCODE_KP_2: baked value 90 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_3) == (91), "SDL_SCANCODE_KP_3: baked value 91 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_4) == (92), "SDL_SCANCODE_KP_4: baked value 92 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_5) == (93), "SDL_SCANCODE_KP_5: baked value 93 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_6) == (94), "SDL_SCANCODE_KP_6: baked value 94 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_7) == (95), "SDL_SCANCODE_KP_7: baked value 95 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_8) == (96), "SDL_SCANCODE_KP_8: baked value 96 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_9) == (97), "SDL_SCANCODE_KP_9: baked value 97 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_0) == (98), "SDL_SCANCODE_KP_0: baked value 98 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_PERIOD) == (99), "SDL_SCANCODE_KP_PERIOD: baked value 99 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_NONUSBACKSLASH) == (100), "SDL_SCANCODE_NONUSBACKSLASH: baked value 100 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_APPLICATION) == (101), "SDL_SCANCODE_APPLICATION: baked value 101 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_POWER) == (102), "SDL_SCANCODE_POWER: baked value 102 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_EQUALS) == (103), "SDL_SCANCODE_KP_EQUALS: baked value 103 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F13) == (104), "SDL_SCANCODE_F13: baked value 104 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F14) == (105), "SDL_SCANCODE_F14: baked value 105 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F15) == (106), "SDL_SCANCODE_F15: baked value 106 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F16) == (107), "SDL_SCANCODE_F16: baked value 107 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F17) == (108), "SDL_SCANCODE_F17: baked value 108 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F18) == (109), "SDL_SCANCODE_F18: baked value 109 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F19) == (110), "SDL_SCANCODE_F19: baked value 110 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F20) == (111), "SDL_SCANCODE_F20: baked value 111 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F21) == (112), "SDL_SCANCODE_F21: baked value 112 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F22) == (113), "SDL_SCANCODE_F22: baked value 113 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F23) == (114), "SDL_SCANCODE_F23: baked value 114 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_F24) == (115), "SDL_SCANCODE_F24: baked value 115 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_EXECUTE) == (116), "SDL_SCANCODE_EXECUTE: baked value 116 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_HELP) == (117), "SDL_SCANCODE_HELP: baked value 117 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_MENU) == (118), "SDL_SCANCODE_MENU: baked value 118 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_SELECT) == (119), "SDL_SCANCODE_SELECT: baked value 119 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_STOP) == (120), "SDL_SCANCODE_STOP: baked value 120 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_AGAIN) == (121), "SDL_SCANCODE_AGAIN: baked value 121 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_UNDO) == (122), "SDL_SCANCODE_UNDO: baked value 122 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_CUT) == (123), "SDL_SCANCODE_CUT: baked value 123 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_COPY) == (124), "SDL_SCANCODE_COPY: baked value 124 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_PASTE) == (125), "SDL_SCANCODE_PASTE: baked value 125 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_FIND) == (126), "SDL_SCANCODE_FIND: baked value 126 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_MUTE) == (127), "SDL_SCANCODE_MUTE: baked value 127 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_VOLUMEUP) == (128), "SDL_SCANCODE_VOLUMEUP: baked value 128 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_VOLUMEDOWN) == (129), "SDL_SCANCODE_VOLUMEDOWN: baked value 129 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_COMMA) == (133), "SDL_SCANCODE_KP_COMMA: baked value 133 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_EQUALSAS400) == (134), "SDL_SCANCODE_KP_EQUALSAS400: baked value 134 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_INTERNATIONAL1) == (135), "SDL_SCANCODE_INTERNATIONAL1: baked value 135 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_INTERNATIONAL2) == (136), "SDL_SCANCODE_INTERNATIONAL2: baked value 136 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_INTERNATIONAL3) == (137), "SDL_SCANCODE_INTERNATIONAL3: baked value 137 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_INTERNATIONAL4) == (138), "SDL_SCANCODE_INTERNATIONAL4: baked value 138 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_INTERNATIONAL5) == (139), "SDL_SCANCODE_INTERNATIONAL5: baked value 139 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_INTERNATIONAL6) == (140), "SDL_SCANCODE_INTERNATIONAL6: baked value 140 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_INTERNATIONAL7) == (141), "SDL_SCANCODE_INTERNATIONAL7: baked value 141 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_INTERNATIONAL8) == (142), "SDL_SCANCODE_INTERNATIONAL8: baked value 142 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_INTERNATIONAL9) == (143), "SDL_SCANCODE_INTERNATIONAL9: baked value 143 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_LANG1) == (144), "SDL_SCANCODE_LANG1: baked value 144 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_LANG2) == (145), "SDL_SCANCODE_LANG2: baked value 145 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_LANG3) == (146), "SDL_SCANCODE_LANG3: baked value 146 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_LANG4) == (147), "SDL_SCANCODE_LANG4: baked value 147 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_LANG5) == (148), "SDL_SCANCODE_LANG5: baked value 148 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_LANG6) == (149), "SDL_SCANCODE_LANG6: baked value 149 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_LANG7) == (150), "SDL_SCANCODE_LANG7: baked value 150 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_LANG8) == (151), "SDL_SCANCODE_LANG8: baked value 151 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_LANG9) == (152), "SDL_SCANCODE_LANG9: baked value 152 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_ALTERASE) == (153), "SDL_SCANCODE_ALTERASE: baked value 153 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_SYSREQ) == (154), "SDL_SCANCODE_SYSREQ: baked value 154 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_CANCEL) == (155), "SDL_SCANCODE_CANCEL: baked value 155 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_CLEAR) == (156), "SDL_SCANCODE_CLEAR: baked value 156 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_PRIOR) == (157), "SDL_SCANCODE_PRIOR: baked value 157 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_RETURN2) == (158), "SDL_SCANCODE_RETURN2: baked value 158 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_SEPARATOR) == (159), "SDL_SCANCODE_SEPARATOR: baked value 159 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_OUT) == (160), "SDL_SCANCODE_OUT: baked value 160 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_OPER) == (161), "SDL_SCANCODE_OPER: baked value 161 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_CLEARAGAIN) == (162), "SDL_SCANCODE_CLEARAGAIN: baked value 162 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_CRSEL) == (163), "SDL_SCANCODE_CRSEL: baked value 163 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_EXSEL) == (164), "SDL_SCANCODE_EXSEL: baked value 164 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_00) == (176), "SDL_SCANCODE_KP_00: baked value 176 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_000) == (177), "SDL_SCANCODE_KP_000: baked value 177 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_THOUSANDSSEPARATOR) == (178), "SDL_SCANCODE_THOUSANDSSEPARATOR: baked value 178 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_DECIMALSEPARATOR) == (179), "SDL_SCANCODE_DECIMALSEPARATOR: baked value 179 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_CURRENCYUNIT) == (180), "SDL_SCANCODE_CURRENCYUNIT: baked value 180 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_CURRENCYSUBUNIT) == (181), "SDL_SCANCODE_CURRENCYSUBUNIT: baked value 181 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_LEFTPAREN) == (182), "SDL_SCANCODE_KP_LEFTPAREN: baked value 182 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_RIGHTPAREN) == (183), "SDL_SCANCODE_KP_RIGHTPAREN: baked value 183 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_LEFTBRACE) == (184), "SDL_SCANCODE_KP_LEFTBRACE: baked value 184 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_RIGHTBRACE) == (185), "SDL_SCANCODE_KP_RIGHTBRACE: baked value 185 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_TAB) == (186), "SDL_SCANCODE_KP_TAB: baked value 186 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_BACKSPACE) == (187), "SDL_SCANCODE_KP_BACKSPACE: baked value 187 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_A) == (188), "SDL_SCANCODE_KP_A: baked value 188 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_B) == (189), "SDL_SCANCODE_KP_B: baked value 189 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_C) == (190), "SDL_SCANCODE_KP_C: baked value 190 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_D) == (191), "SDL_SCANCODE_KP_D: baked value 191 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_E) == (192), "SDL_SCANCODE_KP_E: baked value 192 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_F) == (193), "SDL_SCANCODE_KP_F: baked value 193 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_XOR) == (194), "SDL_SCANCODE_KP_XOR: baked value 194 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_POWER) == (195), "SDL_SCANCODE_KP_POWER: baked value 195 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_PERCENT) == (196), "SDL_SCANCODE_KP_PERCENT: baked value 196 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_LESS) == (197), "SDL_SCANCODE_KP_LESS: baked value 197 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_GREATER) == (198), "SDL_SCANCODE_KP_GREATER: baked value 198 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_AMPERSAND) == (199), "SDL_SCANCODE_KP_AMPERSAND: baked value 199 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_DBLAMPERSAND) == (200), "SDL_SCANCODE_KP_DBLAMPERSAND: baked value 200 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_VERTICALBAR) == (201), "SDL_SCANCODE_KP_VERTICALBAR: baked value 201 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_DBLVERTICALBAR) == (202), "SDL_SCANCODE_KP_DBLVERTICALBAR: baked value 202 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_COLON) == (203), "SDL_SCANCODE_KP_COLON: baked value 203 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_HASH) == (204), "SDL_SCANCODE_KP_HASH: baked value 204 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_SPACE) == (205), "SDL_SCANCODE_KP_SPACE: baked value 205 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_AT) == (206), "SDL_SCANCODE_KP_AT: baked value 206 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_EXCLAM) == (207), "SDL_SCANCODE_KP_EXCLAM: baked value 207 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_MEMSTORE) == (208), "SDL_SCANCODE_KP_MEMSTORE: baked value 208 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_MEMRECALL) == (209), "SDL_SCANCODE_KP_MEMRECALL: baked value 209 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_MEMCLEAR) == (210), "SDL_SCANCODE_KP_MEMCLEAR: baked value 210 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_MEMADD) == (211), "SDL_SCANCODE_KP_MEMADD: baked value 211 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_MEMSUBTRACT) == (212), "SDL_SCANCODE_KP_MEMSUBTRACT: baked value 212 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_MEMMULTIPLY) == (213), "SDL_SCANCODE_KP_MEMMULTIPLY: baked value 213 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_MEMDIVIDE) == (214), "SDL_SCANCODE_KP_MEMDIVIDE: baked value 214 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_PLUSMINUS) == (215), "SDL_SCANCODE_KP_PLUSMINUS: baked value 215 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_CLEAR) == (216), "SDL_SCANCODE_KP_CLEAR: baked value 216 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_CLEARENTRY) == (217), "SDL_SCANCODE_KP_CLEARENTRY: baked value 217 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_BINARY) == (218), "SDL_SCANCODE_KP_BINARY: baked value 218 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_OCTAL) == (219), "SDL_SCANCODE_KP_OCTAL: baked value 219 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_DECIMAL) == (220), "SDL_SCANCODE_KP_DECIMAL: baked value 220 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_KP_HEXADECIMAL) == (221), "SDL_SCANCODE_KP_HEXADECIMAL: baked value 221 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_LCTRL) == (224), "SDL_SCANCODE_LCTRL: baked value 224 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_LSHIFT) == (225), "SDL_SCANCODE_LSHIFT: baked value 225 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_LALT) == (226), "SDL_SCANCODE_LALT: baked value 226 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_LGUI) == (227), "SDL_SCANCODE_LGUI: baked value 227 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_RCTRL) == (228), "SDL_SCANCODE_RCTRL: baked value 228 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_RSHIFT) == (229), "SDL_SCANCODE_RSHIFT: baked value 229 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_RALT) == (230), "SDL_SCANCODE_RALT: baked value 230 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_RGUI) == (231), "SDL_SCANCODE_RGUI: baked value 231 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_MODE) == (257), "SDL_SCANCODE_MODE: baked value 257 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_SLEEP) == (258), "SDL_SCANCODE_SLEEP: baked value 258 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_WAKE) == (259), "SDL_SCANCODE_WAKE: baked value 259 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_CHANNEL_INCREMENT) == (260), "SDL_SCANCODE_CHANNEL_INCREMENT: baked value 260 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_CHANNEL_DECREMENT) == (261), "SDL_SCANCODE_CHANNEL_DECREMENT: baked value 261 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_MEDIA_PLAY) == (262), "SDL_SCANCODE_MEDIA_PLAY: baked value 262 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_MEDIA_PAUSE) == (263), "SDL_SCANCODE_MEDIA_PAUSE: baked value 263 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_MEDIA_RECORD) == (264), "SDL_SCANCODE_MEDIA_RECORD: baked value 264 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_MEDIA_FAST_FORWARD) == (265), "SDL_SCANCODE_MEDIA_FAST_FORWARD: baked value 265 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_MEDIA_REWIND) == (266), "SDL_SCANCODE_MEDIA_REWIND: baked value 266 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_MEDIA_NEXT_TRACK) == (267), "SDL_SCANCODE_MEDIA_NEXT_TRACK: baked value 267 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_MEDIA_PREVIOUS_TRACK) == (268), "SDL_SCANCODE_MEDIA_PREVIOUS_TRACK: baked value 268 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_MEDIA_STOP) == (269), "SDL_SCANCODE_MEDIA_STOP: baked value 269 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_MEDIA_EJECT) == (270), "SDL_SCANCODE_MEDIA_EJECT: baked value 270 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_MEDIA_PLAY_PAUSE) == (271), "SDL_SCANCODE_MEDIA_PLAY_PAUSE: baked value 271 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_MEDIA_SELECT) == (272), "SDL_SCANCODE_MEDIA_SELECT: baked value 272 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_AC_NEW) == (273), "SDL_SCANCODE_AC_NEW: baked value 273 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_AC_OPEN) == (274), "SDL_SCANCODE_AC_OPEN: baked value 274 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_AC_CLOSE) == (275), "SDL_SCANCODE_AC_CLOSE: baked value 275 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_AC_EXIT) == (276), "SDL_SCANCODE_AC_EXIT: baked value 276 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_AC_SAVE) == (277), "SDL_SCANCODE_AC_SAVE: baked value 277 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_AC_PRINT) == (278), "SDL_SCANCODE_AC_PRINT: baked value 278 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_AC_PROPERTIES) == (279), "SDL_SCANCODE_AC_PROPERTIES: baked value 279 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_AC_SEARCH) == (280), "SDL_SCANCODE_AC_SEARCH: baked value 280 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_AC_HOME) == (281), "SDL_SCANCODE_AC_HOME: baked value 281 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_AC_BACK) == (282), "SDL_SCANCODE_AC_BACK: baked value 282 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_AC_FORWARD) == (283), "SDL_SCANCODE_AC_FORWARD: baked value 283 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_AC_STOP) == (284), "SDL_SCANCODE_AC_STOP: baked value 284 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_AC_REFRESH) == (285), "SDL_SCANCODE_AC_REFRESH: baked value 285 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_AC_BOOKMARKS) == (286), "SDL_SCANCODE_AC_BOOKMARKS: baked value 286 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_SOFTLEFT) == (287), "SDL_SCANCODE_SOFTLEFT: baked value 287 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_SOFTRIGHT) == (288), "SDL_SCANCODE_SOFTRIGHT: baked value 288 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_CALL) == (289), "SDL_SCANCODE_CALL: baked value 289 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_ENDCALL) == (290), "SDL_SCANCODE_ENDCALL: baked value 290 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_RESERVED) == (400), "SDL_SCANCODE_RESERVED: baked value 400 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SCANCODE_COUNT) == (512), "SDL_SCANCODE_COUNT: baked value 512 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_keyboard.h ---- */
+_Static_assert(sizeof(enum SDL_TextInputType) == 4, "enum SDL_TextInputType: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_TextInputType) == 4, "enum SDL_TextInputType: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TEXTINPUT_TYPE_TEXT) == (0), "SDL_TEXTINPUT_TYPE_TEXT: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TEXTINPUT_TYPE_TEXT_NAME) == (1), "SDL_TEXTINPUT_TYPE_TEXT_NAME: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TEXTINPUT_TYPE_TEXT_EMAIL) == (2), "SDL_TEXTINPUT_TYPE_TEXT_EMAIL: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TEXTINPUT_TYPE_TEXT_USERNAME) == (3), "SDL_TEXTINPUT_TYPE_TEXT_USERNAME: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TEXTINPUT_TYPE_TEXT_PASSWORD_HIDDEN) == (4), "SDL_TEXTINPUT_TYPE_TEXT_PASSWORD_HIDDEN: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TEXTINPUT_TYPE_TEXT_PASSWORD_VISIBLE) == (5), "SDL_TEXTINPUT_TYPE_TEXT_PASSWORD_VISIBLE: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TEXTINPUT_TYPE_NUMBER) == (6), "SDL_TEXTINPUT_TYPE_NUMBER: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TEXTINPUT_TYPE_NUMBER_PASSWORD_HIDDEN) == (7), "SDL_TEXTINPUT_TYPE_NUMBER_PASSWORD_HIDDEN: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TEXTINPUT_TYPE_NUMBER_PASSWORD_VISIBLE) == (8), "SDL_TEXTINPUT_TYPE_NUMBER_PASSWORD_VISIBLE: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_Capitalization) == 4, "enum SDL_Capitalization: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_Capitalization) == 4, "enum SDL_Capitalization: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_CAPITALIZE_NONE) == (0), "SDL_CAPITALIZE_NONE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_CAPITALIZE_SENTENCES) == (1), "SDL_CAPITALIZE_SENTENCES: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_CAPITALIZE_WORDS) == (2), "SDL_CAPITALIZE_WORDS: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_CAPITALIZE_LETTERS) == (3), "SDL_CAPITALIZE_LETTERS: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_mouse.h ---- */
+_Static_assert(sizeof(enum SDL_SystemCursor) == 4, "enum SDL_SystemCursor: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_SystemCursor) == 4, "enum SDL_SystemCursor: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_CURSOR_DEFAULT) == (0), "SDL_SYSTEM_CURSOR_DEFAULT: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_CURSOR_TEXT) == (1), "SDL_SYSTEM_CURSOR_TEXT: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_CURSOR_WAIT) == (2), "SDL_SYSTEM_CURSOR_WAIT: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_CURSOR_CROSSHAIR) == (3), "SDL_SYSTEM_CURSOR_CROSSHAIR: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_CURSOR_PROGRESS) == (4), "SDL_SYSTEM_CURSOR_PROGRESS: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_CURSOR_NWSE_RESIZE) == (5), "SDL_SYSTEM_CURSOR_NWSE_RESIZE: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_CURSOR_NESW_RESIZE) == (6), "SDL_SYSTEM_CURSOR_NESW_RESIZE: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_CURSOR_EW_RESIZE) == (7), "SDL_SYSTEM_CURSOR_EW_RESIZE: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_CURSOR_NS_RESIZE) == (8), "SDL_SYSTEM_CURSOR_NS_RESIZE: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_CURSOR_MOVE) == (9), "SDL_SYSTEM_CURSOR_MOVE: baked value 9 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_CURSOR_NOT_ALLOWED) == (10), "SDL_SYSTEM_CURSOR_NOT_ALLOWED: baked value 10 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_CURSOR_POINTER) == (11), "SDL_SYSTEM_CURSOR_POINTER: baked value 11 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_CURSOR_NW_RESIZE) == (12), "SDL_SYSTEM_CURSOR_NW_RESIZE: baked value 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_CURSOR_N_RESIZE) == (13), "SDL_SYSTEM_CURSOR_N_RESIZE: baked value 13 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_CURSOR_NE_RESIZE) == (14), "SDL_SYSTEM_CURSOR_NE_RESIZE: baked value 14 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_CURSOR_E_RESIZE) == (15), "SDL_SYSTEM_CURSOR_E_RESIZE: baked value 15 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_CURSOR_SE_RESIZE) == (16), "SDL_SYSTEM_CURSOR_SE_RESIZE: baked value 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_CURSOR_S_RESIZE) == (17), "SDL_SYSTEM_CURSOR_S_RESIZE: baked value 17 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_CURSOR_SW_RESIZE) == (18), "SDL_SYSTEM_CURSOR_SW_RESIZE: baked value 18 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_CURSOR_W_RESIZE) == (19), "SDL_SYSTEM_CURSOR_W_RESIZE: baked value 19 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SYSTEM_CURSOR_COUNT) == (20), "SDL_SYSTEM_CURSOR_COUNT: baked value 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_MouseWheelDirection) == 4, "enum SDL_MouseWheelDirection: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_MouseWheelDirection) == 4, "enum SDL_MouseWheelDirection: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MOUSEWHEEL_NORMAL) == (0), "SDL_MOUSEWHEEL_NORMAL: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MOUSEWHEEL_FLIPPED) == (1), "SDL_MOUSEWHEEL_FLIPPED: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 4, 0)
+_Static_assert(sizeof(struct SDL_CursorFrameInfo) == 16, "struct SDL_CursorFrameInfo: baked sizeof 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_CursorFrameInfo) == 8, "struct SDL_CursorFrameInfo: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_CursorFrameInfo, surface) == 0, "struct SDL_CursorFrameInfo.surface: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_CursorFrameInfo, duration) == 8, "struct SDL_CursorFrameInfo.duration: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+
+/* ---- SDL_touch.h ---- */
+_Static_assert(sizeof(enum SDL_TouchDeviceType) == 4, "enum SDL_TouchDeviceType: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_TouchDeviceType) == 4, "enum SDL_TouchDeviceType: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TOUCH_DEVICE_INVALID) == (-1), "SDL_TOUCH_DEVICE_INVALID: baked value -1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TOUCH_DEVICE_DIRECT) == (0), "SDL_TOUCH_DEVICE_DIRECT: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TOUCH_DEVICE_INDIRECT_ABSOLUTE) == (1), "SDL_TOUCH_DEVICE_INDIRECT_ABSOLUTE: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TOUCH_DEVICE_INDIRECT_RELATIVE) == (2), "SDL_TOUCH_DEVICE_INDIRECT_RELATIVE: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_Finger) == 24, "struct SDL_Finger: baked sizeof 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_Finger) == 8, "struct SDL_Finger: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Finger, id) == 0, "struct SDL_Finger.id: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Finger, x) == 8, "struct SDL_Finger.x: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Finger, y) == 12, "struct SDL_Finger.y: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Finger, pressure) == 16, "struct SDL_Finger.pressure: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_pen.h ---- */
+_Static_assert(sizeof(enum SDL_PenAxis) == 4, "enum SDL_PenAxis: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_PenAxis) == 4, "enum SDL_PenAxis: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PEN_AXIS_PRESSURE) == (0), "SDL_PEN_AXIS_PRESSURE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PEN_AXIS_XTILT) == (1), "SDL_PEN_AXIS_XTILT: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PEN_AXIS_YTILT) == (2), "SDL_PEN_AXIS_YTILT: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PEN_AXIS_DISTANCE) == (3), "SDL_PEN_AXIS_DISTANCE: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PEN_AXIS_ROTATION) == (4), "SDL_PEN_AXIS_ROTATION: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PEN_AXIS_SLIDER) == (5), "SDL_PEN_AXIS_SLIDER: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PEN_AXIS_TANGENTIAL_PRESSURE) == (6), "SDL_PEN_AXIS_TANGENTIAL_PRESSURE: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PEN_AXIS_COUNT) == (7), "SDL_PEN_AXIS_COUNT: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 4, 0)
+_Static_assert(sizeof(enum SDL_PenDeviceType) == 4, "enum SDL_PenDeviceType: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_PenDeviceType) == 4, "enum SDL_PenDeviceType: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PEN_DEVICE_TYPE_INVALID) == (-1), "SDL_PEN_DEVICE_TYPE_INVALID: baked value -1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PEN_DEVICE_TYPE_UNKNOWN) == (0), "SDL_PEN_DEVICE_TYPE_UNKNOWN: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PEN_DEVICE_TYPE_DIRECT) == (1), "SDL_PEN_DEVICE_TYPE_DIRECT: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PEN_DEVICE_TYPE_INDIRECT) == (2), "SDL_PEN_DEVICE_TYPE_INDIRECT: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+
+/* ---- SDL_events.h ---- */
+_Static_assert(sizeof(enum SDL_EventType) == 4, "enum SDL_EventType: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_EventType) == 4, "enum SDL_EventType: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_FIRST) == (0), "SDL_EVENT_FIRST: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_QUIT) == (256), "SDL_EVENT_QUIT: baked value 256 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_TERMINATING) == (257), "SDL_EVENT_TERMINATING: baked value 257 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_LOW_MEMORY) == (258), "SDL_EVENT_LOW_MEMORY: baked value 258 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WILL_ENTER_BACKGROUND) == (259), "SDL_EVENT_WILL_ENTER_BACKGROUND: baked value 259 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_DID_ENTER_BACKGROUND) == (260), "SDL_EVENT_DID_ENTER_BACKGROUND: baked value 260 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WILL_ENTER_FOREGROUND) == (261), "SDL_EVENT_WILL_ENTER_FOREGROUND: baked value 261 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_DID_ENTER_FOREGROUND) == (262), "SDL_EVENT_DID_ENTER_FOREGROUND: baked value 262 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_LOCALE_CHANGED) == (263), "SDL_EVENT_LOCALE_CHANGED: baked value 263 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_SYSTEM_THEME_CHANGED) == (264), "SDL_EVENT_SYSTEM_THEME_CHANGED: baked value 264 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_DISPLAY_ORIENTATION) == (337), "SDL_EVENT_DISPLAY_ORIENTATION: baked value 337 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_DISPLAY_ADDED) == (338), "SDL_EVENT_DISPLAY_ADDED: baked value 338 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_DISPLAY_REMOVED) == (339), "SDL_EVENT_DISPLAY_REMOVED: baked value 339 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_DISPLAY_MOVED) == (340), "SDL_EVENT_DISPLAY_MOVED: baked value 340 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_DISPLAY_DESKTOP_MODE_CHANGED) == (341), "SDL_EVENT_DISPLAY_DESKTOP_MODE_CHANGED: baked value 341 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_DISPLAY_CURRENT_MODE_CHANGED) == (342), "SDL_EVENT_DISPLAY_CURRENT_MODE_CHANGED: baked value 342 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_DISPLAY_CONTENT_SCALE_CHANGED) == (343), "SDL_EVENT_DISPLAY_CONTENT_SCALE_CHANGED: baked value 343 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 4, 0)
+_Static_assert((SDL_EVENT_DISPLAY_USABLE_BOUNDS_CHANGED) == (344), "SDL_EVENT_DISPLAY_USABLE_BOUNDS_CHANGED: baked value 344 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+_Static_assert((SDL_EVENT_DISPLAY_FIRST) == (337), "SDL_EVENT_DISPLAY_FIRST: baked value 337 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 4, 0)
+_Static_assert((SDL_EVENT_DISPLAY_LAST) == (344), "SDL_EVENT_DISPLAY_LAST: baked value 344 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+_Static_assert((SDL_EVENT_WINDOW_SHOWN) == (514), "SDL_EVENT_WINDOW_SHOWN: baked value 514 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_HIDDEN) == (515), "SDL_EVENT_WINDOW_HIDDEN: baked value 515 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_EXPOSED) == (516), "SDL_EVENT_WINDOW_EXPOSED: baked value 516 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_MOVED) == (517), "SDL_EVENT_WINDOW_MOVED: baked value 517 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_RESIZED) == (518), "SDL_EVENT_WINDOW_RESIZED: baked value 518 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_PIXEL_SIZE_CHANGED) == (519), "SDL_EVENT_WINDOW_PIXEL_SIZE_CHANGED: baked value 519 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_METAL_VIEW_RESIZED) == (520), "SDL_EVENT_WINDOW_METAL_VIEW_RESIZED: baked value 520 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_MINIMIZED) == (521), "SDL_EVENT_WINDOW_MINIMIZED: baked value 521 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_MAXIMIZED) == (522), "SDL_EVENT_WINDOW_MAXIMIZED: baked value 522 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_RESTORED) == (523), "SDL_EVENT_WINDOW_RESTORED: baked value 523 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_MOUSE_ENTER) == (524), "SDL_EVENT_WINDOW_MOUSE_ENTER: baked value 524 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_MOUSE_LEAVE) == (525), "SDL_EVENT_WINDOW_MOUSE_LEAVE: baked value 525 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_FOCUS_GAINED) == (526), "SDL_EVENT_WINDOW_FOCUS_GAINED: baked value 526 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_FOCUS_LOST) == (527), "SDL_EVENT_WINDOW_FOCUS_LOST: baked value 527 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_CLOSE_REQUESTED) == (528), "SDL_EVENT_WINDOW_CLOSE_REQUESTED: baked value 528 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_HIT_TEST) == (529), "SDL_EVENT_WINDOW_HIT_TEST: baked value 529 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_ICCPROF_CHANGED) == (530), "SDL_EVENT_WINDOW_ICCPROF_CHANGED: baked value 530 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_DISPLAY_CHANGED) == (531), "SDL_EVENT_WINDOW_DISPLAY_CHANGED: baked value 531 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_DISPLAY_SCALE_CHANGED) == (532), "SDL_EVENT_WINDOW_DISPLAY_SCALE_CHANGED: baked value 532 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_SAFE_AREA_CHANGED) == (533), "SDL_EVENT_WINDOW_SAFE_AREA_CHANGED: baked value 533 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_OCCLUDED) == (534), "SDL_EVENT_WINDOW_OCCLUDED: baked value 534 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_ENTER_FULLSCREEN) == (535), "SDL_EVENT_WINDOW_ENTER_FULLSCREEN: baked value 535 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_LEAVE_FULLSCREEN) == (536), "SDL_EVENT_WINDOW_LEAVE_FULLSCREEN: baked value 536 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_DESTROYED) == (537), "SDL_EVENT_WINDOW_DESTROYED: baked value 537 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_HDR_STATE_CHANGED) == (538), "SDL_EVENT_WINDOW_HDR_STATE_CHANGED: baked value 538 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_FIRST) == (514), "SDL_EVENT_WINDOW_FIRST: baked value 514 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_WINDOW_LAST) == (538), "SDL_EVENT_WINDOW_LAST: baked value 538 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_KEY_DOWN) == (768), "SDL_EVENT_KEY_DOWN: baked value 768 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_KEY_UP) == (769), "SDL_EVENT_KEY_UP: baked value 769 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_TEXT_EDITING) == (770), "SDL_EVENT_TEXT_EDITING: baked value 770 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_TEXT_INPUT) == (771), "SDL_EVENT_TEXT_INPUT: baked value 771 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_KEYMAP_CHANGED) == (772), "SDL_EVENT_KEYMAP_CHANGED: baked value 772 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_KEYBOARD_ADDED) == (773), "SDL_EVENT_KEYBOARD_ADDED: baked value 773 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_KEYBOARD_REMOVED) == (774), "SDL_EVENT_KEYBOARD_REMOVED: baked value 774 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_TEXT_EDITING_CANDIDATES) == (775), "SDL_EVENT_TEXT_EDITING_CANDIDATES: baked value 775 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 4, 0)
+_Static_assert((SDL_EVENT_SCREEN_KEYBOARD_SHOWN) == (776), "SDL_EVENT_SCREEN_KEYBOARD_SHOWN: baked value 776 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_SCREEN_KEYBOARD_HIDDEN) == (777), "SDL_EVENT_SCREEN_KEYBOARD_HIDDEN: baked value 777 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+_Static_assert((SDL_EVENT_MOUSE_MOTION) == (1024), "SDL_EVENT_MOUSE_MOTION: baked value 1024 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_MOUSE_BUTTON_DOWN) == (1025), "SDL_EVENT_MOUSE_BUTTON_DOWN: baked value 1025 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_MOUSE_BUTTON_UP) == (1026), "SDL_EVENT_MOUSE_BUTTON_UP: baked value 1026 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_MOUSE_WHEEL) == (1027), "SDL_EVENT_MOUSE_WHEEL: baked value 1027 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_MOUSE_ADDED) == (1028), "SDL_EVENT_MOUSE_ADDED: baked value 1028 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_MOUSE_REMOVED) == (1029), "SDL_EVENT_MOUSE_REMOVED: baked value 1029 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_JOYSTICK_AXIS_MOTION) == (1536), "SDL_EVENT_JOYSTICK_AXIS_MOTION: baked value 1536 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_JOYSTICK_BALL_MOTION) == (1537), "SDL_EVENT_JOYSTICK_BALL_MOTION: baked value 1537 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_JOYSTICK_HAT_MOTION) == (1538), "SDL_EVENT_JOYSTICK_HAT_MOTION: baked value 1538 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_JOYSTICK_BUTTON_DOWN) == (1539), "SDL_EVENT_JOYSTICK_BUTTON_DOWN: baked value 1539 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_JOYSTICK_BUTTON_UP) == (1540), "SDL_EVENT_JOYSTICK_BUTTON_UP: baked value 1540 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_JOYSTICK_ADDED) == (1541), "SDL_EVENT_JOYSTICK_ADDED: baked value 1541 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_JOYSTICK_REMOVED) == (1542), "SDL_EVENT_JOYSTICK_REMOVED: baked value 1542 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_JOYSTICK_BATTERY_UPDATED) == (1543), "SDL_EVENT_JOYSTICK_BATTERY_UPDATED: baked value 1543 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_JOYSTICK_UPDATE_COMPLETE) == (1544), "SDL_EVENT_JOYSTICK_UPDATE_COMPLETE: baked value 1544 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_GAMEPAD_AXIS_MOTION) == (1616), "SDL_EVENT_GAMEPAD_AXIS_MOTION: baked value 1616 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_GAMEPAD_BUTTON_DOWN) == (1617), "SDL_EVENT_GAMEPAD_BUTTON_DOWN: baked value 1617 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_GAMEPAD_BUTTON_UP) == (1618), "SDL_EVENT_GAMEPAD_BUTTON_UP: baked value 1618 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_GAMEPAD_ADDED) == (1619), "SDL_EVENT_GAMEPAD_ADDED: baked value 1619 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_GAMEPAD_REMOVED) == (1620), "SDL_EVENT_GAMEPAD_REMOVED: baked value 1620 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_GAMEPAD_REMAPPED) == (1621), "SDL_EVENT_GAMEPAD_REMAPPED: baked value 1621 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_GAMEPAD_TOUCHPAD_DOWN) == (1622), "SDL_EVENT_GAMEPAD_TOUCHPAD_DOWN: baked value 1622 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_GAMEPAD_TOUCHPAD_MOTION) == (1623), "SDL_EVENT_GAMEPAD_TOUCHPAD_MOTION: baked value 1623 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_GAMEPAD_TOUCHPAD_UP) == (1624), "SDL_EVENT_GAMEPAD_TOUCHPAD_UP: baked value 1624 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_GAMEPAD_SENSOR_UPDATE) == (1625), "SDL_EVENT_GAMEPAD_SENSOR_UPDATE: baked value 1625 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_GAMEPAD_UPDATE_COMPLETE) == (1626), "SDL_EVENT_GAMEPAD_UPDATE_COMPLETE: baked value 1626 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_GAMEPAD_STEAM_HANDLE_UPDATED) == (1627), "SDL_EVENT_GAMEPAD_STEAM_HANDLE_UPDATED: baked value 1627 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_FINGER_DOWN) == (1792), "SDL_EVENT_FINGER_DOWN: baked value 1792 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_FINGER_UP) == (1793), "SDL_EVENT_FINGER_UP: baked value 1793 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_FINGER_MOTION) == (1794), "SDL_EVENT_FINGER_MOTION: baked value 1794 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_FINGER_CANCELED) == (1795), "SDL_EVENT_FINGER_CANCELED: baked value 1795 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 4, 0)
+_Static_assert((SDL_EVENT_PINCH_BEGIN) == (1808), "SDL_EVENT_PINCH_BEGIN: baked value 1808 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_PINCH_UPDATE) == (1809), "SDL_EVENT_PINCH_UPDATE: baked value 1809 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_PINCH_END) == (1810), "SDL_EVENT_PINCH_END: baked value 1810 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+_Static_assert((SDL_EVENT_CLIPBOARD_UPDATE) == (2304), "SDL_EVENT_CLIPBOARD_UPDATE: baked value 2304 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_DROP_FILE) == (4096), "SDL_EVENT_DROP_FILE: baked value 4096 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_DROP_TEXT) == (4097), "SDL_EVENT_DROP_TEXT: baked value 4097 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_DROP_BEGIN) == (4098), "SDL_EVENT_DROP_BEGIN: baked value 4098 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_DROP_COMPLETE) == (4099), "SDL_EVENT_DROP_COMPLETE: baked value 4099 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_DROP_POSITION) == (4100), "SDL_EVENT_DROP_POSITION: baked value 4100 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_AUDIO_DEVICE_ADDED) == (4352), "SDL_EVENT_AUDIO_DEVICE_ADDED: baked value 4352 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_AUDIO_DEVICE_REMOVED) == (4353), "SDL_EVENT_AUDIO_DEVICE_REMOVED: baked value 4353 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_AUDIO_DEVICE_FORMAT_CHANGED) == (4354), "SDL_EVENT_AUDIO_DEVICE_FORMAT_CHANGED: baked value 4354 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_SENSOR_UPDATE) == (4608), "SDL_EVENT_SENSOR_UPDATE: baked value 4608 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_PEN_PROXIMITY_IN) == (4864), "SDL_EVENT_PEN_PROXIMITY_IN: baked value 4864 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_PEN_PROXIMITY_OUT) == (4865), "SDL_EVENT_PEN_PROXIMITY_OUT: baked value 4865 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_PEN_DOWN) == (4866), "SDL_EVENT_PEN_DOWN: baked value 4866 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_PEN_UP) == (4867), "SDL_EVENT_PEN_UP: baked value 4867 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_PEN_BUTTON_DOWN) == (4868), "SDL_EVENT_PEN_BUTTON_DOWN: baked value 4868 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_PEN_BUTTON_UP) == (4869), "SDL_EVENT_PEN_BUTTON_UP: baked value 4869 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_PEN_MOTION) == (4870), "SDL_EVENT_PEN_MOTION: baked value 4870 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_PEN_AXIS) == (4871), "SDL_EVENT_PEN_AXIS: baked value 4871 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_CAMERA_DEVICE_ADDED) == (5120), "SDL_EVENT_CAMERA_DEVICE_ADDED: baked value 5120 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_CAMERA_DEVICE_REMOVED) == (5121), "SDL_EVENT_CAMERA_DEVICE_REMOVED: baked value 5121 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_CAMERA_DEVICE_APPROVED) == (5122), "SDL_EVENT_CAMERA_DEVICE_APPROVED: baked value 5122 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_CAMERA_DEVICE_DENIED) == (5123), "SDL_EVENT_CAMERA_DEVICE_DENIED: baked value 5123 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_RENDER_TARGETS_RESET) == (8192), "SDL_EVENT_RENDER_TARGETS_RESET: baked value 8192 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_RENDER_DEVICE_RESET) == (8193), "SDL_EVENT_RENDER_DEVICE_RESET: baked value 8193 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_RENDER_DEVICE_LOST) == (8194), "SDL_EVENT_RENDER_DEVICE_LOST: baked value 8194 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_PRIVATE0) == (16384), "SDL_EVENT_PRIVATE0: baked value 16384 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_PRIVATE1) == (16385), "SDL_EVENT_PRIVATE1: baked value 16385 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_PRIVATE2) == (16386), "SDL_EVENT_PRIVATE2: baked value 16386 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_PRIVATE3) == (16387), "SDL_EVENT_PRIVATE3: baked value 16387 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_POLL_SENTINEL) == (32512), "SDL_EVENT_POLL_SENTINEL: baked value 32512 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_USER) == (32768), "SDL_EVENT_USER: baked value 32768 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_LAST) == (65535), "SDL_EVENT_LAST: baked value 65535 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_EVENT_ENUM_PADDING) == (2147483647), "SDL_EVENT_ENUM_PADDING: baked value 2147483647 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_CommonEvent) LITHON_ABI_PREFIX_OP 16, "struct SDL_CommonEvent: baked sizeof 16 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_CommonEvent) == 8, "struct SDL_CommonEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_CommonEvent, type) == 0, "struct SDL_CommonEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_CommonEvent, reserved) == 4, "struct SDL_CommonEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_CommonEvent, timestamp) == 8, "struct SDL_CommonEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_DisplayEvent) LITHON_ABI_PREFIX_OP 32, "struct SDL_DisplayEvent: baked sizeof 32 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_DisplayEvent) == 8, "struct SDL_DisplayEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DisplayEvent, type) == 0, "struct SDL_DisplayEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DisplayEvent, reserved) == 4, "struct SDL_DisplayEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DisplayEvent, timestamp) == 8, "struct SDL_DisplayEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DisplayEvent, displayID) == 16, "struct SDL_DisplayEvent.displayID: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DisplayEvent, data1) == 20, "struct SDL_DisplayEvent.data1: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DisplayEvent, data2) == 24, "struct SDL_DisplayEvent.data2: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_WindowEvent) LITHON_ABI_PREFIX_OP 32, "struct SDL_WindowEvent: baked sizeof 32 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_WindowEvent) == 8, "struct SDL_WindowEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_WindowEvent, type) == 0, "struct SDL_WindowEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_WindowEvent, reserved) == 4, "struct SDL_WindowEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_WindowEvent, timestamp) == 8, "struct SDL_WindowEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_WindowEvent, windowID) == 16, "struct SDL_WindowEvent.windowID: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_WindowEvent, data1) == 20, "struct SDL_WindowEvent.data1: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_WindowEvent, data2) == 24, "struct SDL_WindowEvent.data2: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_KeyboardDeviceEvent) LITHON_ABI_PREFIX_OP 24, "struct SDL_KeyboardDeviceEvent: baked sizeof 24 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_KeyboardDeviceEvent) == 8, "struct SDL_KeyboardDeviceEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_KeyboardDeviceEvent, type) == 0, "struct SDL_KeyboardDeviceEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_KeyboardDeviceEvent, reserved) == 4, "struct SDL_KeyboardDeviceEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_KeyboardDeviceEvent, timestamp) == 8, "struct SDL_KeyboardDeviceEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_KeyboardDeviceEvent, which) == 16, "struct SDL_KeyboardDeviceEvent.which: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_KeyboardEvent) LITHON_ABI_PREFIX_OP 40, "struct SDL_KeyboardEvent: baked sizeof 40 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_KeyboardEvent) == 8, "struct SDL_KeyboardEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_KeyboardEvent, type) == 0, "struct SDL_KeyboardEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_KeyboardEvent, reserved) == 4, "struct SDL_KeyboardEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_KeyboardEvent, timestamp) == 8, "struct SDL_KeyboardEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_KeyboardEvent, windowID) == 16, "struct SDL_KeyboardEvent.windowID: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_KeyboardEvent, which) == 20, "struct SDL_KeyboardEvent.which: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_KeyboardEvent, scancode) == 24, "struct SDL_KeyboardEvent.scancode: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_KeyboardEvent, key) == 28, "struct SDL_KeyboardEvent.key: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_KeyboardEvent, mod) == 32, "struct SDL_KeyboardEvent.mod: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_KeyboardEvent, raw) == 34, "struct SDL_KeyboardEvent.raw: baked offset 34 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_KeyboardEvent, down) == 36, "struct SDL_KeyboardEvent.down: baked offset 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_KeyboardEvent, repeat) == 37, "struct SDL_KeyboardEvent.repeat: baked offset 37 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_TextEditingEvent) LITHON_ABI_PREFIX_OP 40, "struct SDL_TextEditingEvent: baked sizeof 40 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_TextEditingEvent) == 8, "struct SDL_TextEditingEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextEditingEvent, type) == 0, "struct SDL_TextEditingEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextEditingEvent, reserved) == 4, "struct SDL_TextEditingEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextEditingEvent, timestamp) == 8, "struct SDL_TextEditingEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextEditingEvent, windowID) == 16, "struct SDL_TextEditingEvent.windowID: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextEditingEvent, text) == 24, "struct SDL_TextEditingEvent.text: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextEditingEvent, start) == 32, "struct SDL_TextEditingEvent.start: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextEditingEvent, length) == 36, "struct SDL_TextEditingEvent.length: baked offset 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_TextEditingCandidatesEvent) LITHON_ABI_PREFIX_OP 48, "struct SDL_TextEditingCandidatesEvent: baked sizeof 48 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_TextEditingCandidatesEvent) == 8, "struct SDL_TextEditingCandidatesEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextEditingCandidatesEvent, type) == 0, "struct SDL_TextEditingCandidatesEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextEditingCandidatesEvent, reserved) == 4, "struct SDL_TextEditingCandidatesEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextEditingCandidatesEvent, timestamp) == 8, "struct SDL_TextEditingCandidatesEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextEditingCandidatesEvent, windowID) == 16, "struct SDL_TextEditingCandidatesEvent.windowID: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextEditingCandidatesEvent, candidates) == 24, "struct SDL_TextEditingCandidatesEvent.candidates: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextEditingCandidatesEvent, num_candidates) == 32, "struct SDL_TextEditingCandidatesEvent.num_candidates: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextEditingCandidatesEvent, selected_candidate) == 36, "struct SDL_TextEditingCandidatesEvent.selected_candidate: baked offset 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextEditingCandidatesEvent, horizontal) == 40, "struct SDL_TextEditingCandidatesEvent.horizontal: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextEditingCandidatesEvent, padding1) == 41, "struct SDL_TextEditingCandidatesEvent.padding1: baked offset 41 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextEditingCandidatesEvent, padding2) == 42, "struct SDL_TextEditingCandidatesEvent.padding2: baked offset 42 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextEditingCandidatesEvent, padding3) == 43, "struct SDL_TextEditingCandidatesEvent.padding3: baked offset 43 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_TextInputEvent) LITHON_ABI_PREFIX_OP 32, "struct SDL_TextInputEvent: baked sizeof 32 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_TextInputEvent) == 8, "struct SDL_TextInputEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextInputEvent, type) == 0, "struct SDL_TextInputEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextInputEvent, reserved) == 4, "struct SDL_TextInputEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextInputEvent, timestamp) == 8, "struct SDL_TextInputEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextInputEvent, windowID) == 16, "struct SDL_TextInputEvent.windowID: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TextInputEvent, text) == 24, "struct SDL_TextInputEvent.text: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_MouseDeviceEvent) LITHON_ABI_PREFIX_OP 24, "struct SDL_MouseDeviceEvent: baked sizeof 24 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_MouseDeviceEvent) == 8, "struct SDL_MouseDeviceEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseDeviceEvent, type) == 0, "struct SDL_MouseDeviceEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseDeviceEvent, reserved) == 4, "struct SDL_MouseDeviceEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseDeviceEvent, timestamp) == 8, "struct SDL_MouseDeviceEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseDeviceEvent, which) == 16, "struct SDL_MouseDeviceEvent.which: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_MouseMotionEvent) LITHON_ABI_PREFIX_OP 48, "struct SDL_MouseMotionEvent: baked sizeof 48 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_MouseMotionEvent) == 8, "struct SDL_MouseMotionEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseMotionEvent, type) == 0, "struct SDL_MouseMotionEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseMotionEvent, reserved) == 4, "struct SDL_MouseMotionEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseMotionEvent, timestamp) == 8, "struct SDL_MouseMotionEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseMotionEvent, windowID) == 16, "struct SDL_MouseMotionEvent.windowID: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseMotionEvent, which) == 20, "struct SDL_MouseMotionEvent.which: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseMotionEvent, state) == 24, "struct SDL_MouseMotionEvent.state: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseMotionEvent, x) == 28, "struct SDL_MouseMotionEvent.x: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseMotionEvent, y) == 32, "struct SDL_MouseMotionEvent.y: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseMotionEvent, xrel) == 36, "struct SDL_MouseMotionEvent.xrel: baked offset 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseMotionEvent, yrel) == 40, "struct SDL_MouseMotionEvent.yrel: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_MouseButtonEvent) LITHON_ABI_PREFIX_OP 40, "struct SDL_MouseButtonEvent: baked sizeof 40 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_MouseButtonEvent) == 8, "struct SDL_MouseButtonEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseButtonEvent, type) == 0, "struct SDL_MouseButtonEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseButtonEvent, reserved) == 4, "struct SDL_MouseButtonEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseButtonEvent, timestamp) == 8, "struct SDL_MouseButtonEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseButtonEvent, windowID) == 16, "struct SDL_MouseButtonEvent.windowID: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseButtonEvent, which) == 20, "struct SDL_MouseButtonEvent.which: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseButtonEvent, button) == 24, "struct SDL_MouseButtonEvent.button: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseButtonEvent, down) == 25, "struct SDL_MouseButtonEvent.down: baked offset 25 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseButtonEvent, clicks) == 26, "struct SDL_MouseButtonEvent.clicks: baked offset 26 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseButtonEvent, padding) == 27, "struct SDL_MouseButtonEvent.padding: baked offset 27 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseButtonEvent, x) == 28, "struct SDL_MouseButtonEvent.x: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseButtonEvent, y) == 32, "struct SDL_MouseButtonEvent.y: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 2, 12)
+_Static_assert(sizeof(struct SDL_MouseWheelEvent) LITHON_ABI_PREFIX_OP 56, "struct SDL_MouseWheelEvent: baked sizeof 56 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_MouseWheelEvent) == 8, "struct SDL_MouseWheelEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+#else
+_Static_assert(sizeof(struct SDL_MouseWheelEvent) LITHON_ABI_PREFIX_OP 48, "struct SDL_MouseWheelEvent: pre-3.2.12 sizeof 48 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_MouseWheelEvent) == 8, "struct SDL_MouseWheelEvent: pre-3.2.12 alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+_Static_assert(offsetof(struct SDL_MouseWheelEvent, type) == 0, "struct SDL_MouseWheelEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseWheelEvent, reserved) == 4, "struct SDL_MouseWheelEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseWheelEvent, timestamp) == 8, "struct SDL_MouseWheelEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseWheelEvent, windowID) == 16, "struct SDL_MouseWheelEvent.windowID: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseWheelEvent, which) == 20, "struct SDL_MouseWheelEvent.which: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseWheelEvent, x) == 24, "struct SDL_MouseWheelEvent.x: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseWheelEvent, y) == 28, "struct SDL_MouseWheelEvent.y: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseWheelEvent, direction) == 32, "struct SDL_MouseWheelEvent.direction: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseWheelEvent, mouse_x) == 36, "struct SDL_MouseWheelEvent.mouse_x: baked offset 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseWheelEvent, mouse_y) == 40, "struct SDL_MouseWheelEvent.mouse_y: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 2, 12)
+_Static_assert(offsetof(struct SDL_MouseWheelEvent, integer_x) == 44, "struct SDL_MouseWheelEvent.integer_x: baked offset 44 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MouseWheelEvent, integer_y) == 48, "struct SDL_MouseWheelEvent.integer_y: baked offset 48 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+_Static_assert(sizeof(struct SDL_JoyAxisEvent) LITHON_ABI_PREFIX_OP 32, "struct SDL_JoyAxisEvent: baked sizeof 32 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_JoyAxisEvent) == 8, "struct SDL_JoyAxisEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyAxisEvent, type) == 0, "struct SDL_JoyAxisEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyAxisEvent, reserved) == 4, "struct SDL_JoyAxisEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyAxisEvent, timestamp) == 8, "struct SDL_JoyAxisEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyAxisEvent, which) == 16, "struct SDL_JoyAxisEvent.which: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyAxisEvent, axis) == 20, "struct SDL_JoyAxisEvent.axis: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyAxisEvent, padding1) == 21, "struct SDL_JoyAxisEvent.padding1: baked offset 21 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyAxisEvent, padding2) == 22, "struct SDL_JoyAxisEvent.padding2: baked offset 22 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyAxisEvent, padding3) == 23, "struct SDL_JoyAxisEvent.padding3: baked offset 23 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyAxisEvent, value) == 24, "struct SDL_JoyAxisEvent.value: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyAxisEvent, padding4) == 26, "struct SDL_JoyAxisEvent.padding4: baked offset 26 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_JoyBallEvent) LITHON_ABI_PREFIX_OP 32, "struct SDL_JoyBallEvent: baked sizeof 32 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_JoyBallEvent) == 8, "struct SDL_JoyBallEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyBallEvent, type) == 0, "struct SDL_JoyBallEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyBallEvent, reserved) == 4, "struct SDL_JoyBallEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyBallEvent, timestamp) == 8, "struct SDL_JoyBallEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyBallEvent, which) == 16, "struct SDL_JoyBallEvent.which: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyBallEvent, ball) == 20, "struct SDL_JoyBallEvent.ball: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyBallEvent, padding1) == 21, "struct SDL_JoyBallEvent.padding1: baked offset 21 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyBallEvent, padding2) == 22, "struct SDL_JoyBallEvent.padding2: baked offset 22 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyBallEvent, padding3) == 23, "struct SDL_JoyBallEvent.padding3: baked offset 23 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyBallEvent, xrel) == 24, "struct SDL_JoyBallEvent.xrel: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyBallEvent, yrel) == 26, "struct SDL_JoyBallEvent.yrel: baked offset 26 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_JoyHatEvent) LITHON_ABI_PREFIX_OP 24, "struct SDL_JoyHatEvent: baked sizeof 24 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_JoyHatEvent) == 8, "struct SDL_JoyHatEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyHatEvent, type) == 0, "struct SDL_JoyHatEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyHatEvent, reserved) == 4, "struct SDL_JoyHatEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyHatEvent, timestamp) == 8, "struct SDL_JoyHatEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyHatEvent, which) == 16, "struct SDL_JoyHatEvent.which: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyHatEvent, hat) == 20, "struct SDL_JoyHatEvent.hat: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyHatEvent, value) == 21, "struct SDL_JoyHatEvent.value: baked offset 21 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyHatEvent, padding1) == 22, "struct SDL_JoyHatEvent.padding1: baked offset 22 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyHatEvent, padding2) == 23, "struct SDL_JoyHatEvent.padding2: baked offset 23 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_JoyButtonEvent) LITHON_ABI_PREFIX_OP 24, "struct SDL_JoyButtonEvent: baked sizeof 24 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_JoyButtonEvent) == 8, "struct SDL_JoyButtonEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyButtonEvent, type) == 0, "struct SDL_JoyButtonEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyButtonEvent, reserved) == 4, "struct SDL_JoyButtonEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyButtonEvent, timestamp) == 8, "struct SDL_JoyButtonEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyButtonEvent, which) == 16, "struct SDL_JoyButtonEvent.which: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyButtonEvent, button) == 20, "struct SDL_JoyButtonEvent.button: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyButtonEvent, down) == 21, "struct SDL_JoyButtonEvent.down: baked offset 21 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyButtonEvent, padding1) == 22, "struct SDL_JoyButtonEvent.padding1: baked offset 22 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyButtonEvent, padding2) == 23, "struct SDL_JoyButtonEvent.padding2: baked offset 23 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_JoyDeviceEvent) LITHON_ABI_PREFIX_OP 24, "struct SDL_JoyDeviceEvent: baked sizeof 24 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_JoyDeviceEvent) == 8, "struct SDL_JoyDeviceEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyDeviceEvent, type) == 0, "struct SDL_JoyDeviceEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyDeviceEvent, reserved) == 4, "struct SDL_JoyDeviceEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyDeviceEvent, timestamp) == 8, "struct SDL_JoyDeviceEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyDeviceEvent, which) == 16, "struct SDL_JoyDeviceEvent.which: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_JoyBatteryEvent) LITHON_ABI_PREFIX_OP 32, "struct SDL_JoyBatteryEvent: baked sizeof 32 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_JoyBatteryEvent) == 8, "struct SDL_JoyBatteryEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyBatteryEvent, type) == 0, "struct SDL_JoyBatteryEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyBatteryEvent, reserved) == 4, "struct SDL_JoyBatteryEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyBatteryEvent, timestamp) == 8, "struct SDL_JoyBatteryEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyBatteryEvent, which) == 16, "struct SDL_JoyBatteryEvent.which: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyBatteryEvent, state) == 20, "struct SDL_JoyBatteryEvent.state: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_JoyBatteryEvent, percent) == 24, "struct SDL_JoyBatteryEvent.percent: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GamepadAxisEvent) LITHON_ABI_PREFIX_OP 32, "struct SDL_GamepadAxisEvent: baked sizeof 32 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GamepadAxisEvent) == 8, "struct SDL_GamepadAxisEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadAxisEvent, type) == 0, "struct SDL_GamepadAxisEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadAxisEvent, reserved) == 4, "struct SDL_GamepadAxisEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadAxisEvent, timestamp) == 8, "struct SDL_GamepadAxisEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadAxisEvent, which) == 16, "struct SDL_GamepadAxisEvent.which: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadAxisEvent, axis) == 20, "struct SDL_GamepadAxisEvent.axis: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadAxisEvent, padding1) == 21, "struct SDL_GamepadAxisEvent.padding1: baked offset 21 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadAxisEvent, padding2) == 22, "struct SDL_GamepadAxisEvent.padding2: baked offset 22 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadAxisEvent, padding3) == 23, "struct SDL_GamepadAxisEvent.padding3: baked offset 23 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadAxisEvent, value) == 24, "struct SDL_GamepadAxisEvent.value: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadAxisEvent, padding4) == 26, "struct SDL_GamepadAxisEvent.padding4: baked offset 26 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GamepadButtonEvent) LITHON_ABI_PREFIX_OP 24, "struct SDL_GamepadButtonEvent: baked sizeof 24 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GamepadButtonEvent) == 8, "struct SDL_GamepadButtonEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadButtonEvent, type) == 0, "struct SDL_GamepadButtonEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadButtonEvent, reserved) == 4, "struct SDL_GamepadButtonEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadButtonEvent, timestamp) == 8, "struct SDL_GamepadButtonEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadButtonEvent, which) == 16, "struct SDL_GamepadButtonEvent.which: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadButtonEvent, button) == 20, "struct SDL_GamepadButtonEvent.button: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadButtonEvent, down) == 21, "struct SDL_GamepadButtonEvent.down: baked offset 21 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadButtonEvent, padding1) == 22, "struct SDL_GamepadButtonEvent.padding1: baked offset 22 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadButtonEvent, padding2) == 23, "struct SDL_GamepadButtonEvent.padding2: baked offset 23 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GamepadDeviceEvent) LITHON_ABI_PREFIX_OP 24, "struct SDL_GamepadDeviceEvent: baked sizeof 24 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GamepadDeviceEvent) == 8, "struct SDL_GamepadDeviceEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadDeviceEvent, type) == 0, "struct SDL_GamepadDeviceEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadDeviceEvent, reserved) == 4, "struct SDL_GamepadDeviceEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadDeviceEvent, timestamp) == 8, "struct SDL_GamepadDeviceEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadDeviceEvent, which) == 16, "struct SDL_GamepadDeviceEvent.which: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GamepadTouchpadEvent) LITHON_ABI_PREFIX_OP 40, "struct SDL_GamepadTouchpadEvent: baked sizeof 40 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GamepadTouchpadEvent) == 8, "struct SDL_GamepadTouchpadEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadTouchpadEvent, type) == 0, "struct SDL_GamepadTouchpadEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadTouchpadEvent, reserved) == 4, "struct SDL_GamepadTouchpadEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadTouchpadEvent, timestamp) == 8, "struct SDL_GamepadTouchpadEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadTouchpadEvent, which) == 16, "struct SDL_GamepadTouchpadEvent.which: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadTouchpadEvent, touchpad) == 20, "struct SDL_GamepadTouchpadEvent.touchpad: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadTouchpadEvent, finger) == 24, "struct SDL_GamepadTouchpadEvent.finger: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadTouchpadEvent, x) == 28, "struct SDL_GamepadTouchpadEvent.x: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadTouchpadEvent, y) == 32, "struct SDL_GamepadTouchpadEvent.y: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadTouchpadEvent, pressure) == 36, "struct SDL_GamepadTouchpadEvent.pressure: baked offset 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GamepadSensorEvent) LITHON_ABI_PREFIX_OP 48, "struct SDL_GamepadSensorEvent: baked sizeof 48 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GamepadSensorEvent) == 8, "struct SDL_GamepadSensorEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadSensorEvent, type) == 0, "struct SDL_GamepadSensorEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadSensorEvent, reserved) == 4, "struct SDL_GamepadSensorEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadSensorEvent, timestamp) == 8, "struct SDL_GamepadSensorEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadSensorEvent, which) == 16, "struct SDL_GamepadSensorEvent.which: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadSensorEvent, sensor) == 20, "struct SDL_GamepadSensorEvent.sensor: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadSensorEvent, data) == 24, "struct SDL_GamepadSensorEvent.data: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GamepadSensorEvent, sensor_timestamp) == 40, "struct SDL_GamepadSensorEvent.sensor_timestamp: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_AudioDeviceEvent) LITHON_ABI_PREFIX_OP 24, "struct SDL_AudioDeviceEvent: baked sizeof 24 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_AudioDeviceEvent) == 8, "struct SDL_AudioDeviceEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AudioDeviceEvent, type) == 0, "struct SDL_AudioDeviceEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AudioDeviceEvent, reserved) == 4, "struct SDL_AudioDeviceEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AudioDeviceEvent, timestamp) == 8, "struct SDL_AudioDeviceEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AudioDeviceEvent, which) == 16, "struct SDL_AudioDeviceEvent.which: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AudioDeviceEvent, recording) == 20, "struct SDL_AudioDeviceEvent.recording: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AudioDeviceEvent, padding1) == 21, "struct SDL_AudioDeviceEvent.padding1: baked offset 21 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AudioDeviceEvent, padding2) == 22, "struct SDL_AudioDeviceEvent.padding2: baked offset 22 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_AudioDeviceEvent, padding3) == 23, "struct SDL_AudioDeviceEvent.padding3: baked offset 23 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_CameraDeviceEvent) LITHON_ABI_PREFIX_OP 24, "struct SDL_CameraDeviceEvent: baked sizeof 24 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_CameraDeviceEvent) == 8, "struct SDL_CameraDeviceEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_CameraDeviceEvent, type) == 0, "struct SDL_CameraDeviceEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_CameraDeviceEvent, reserved) == 4, "struct SDL_CameraDeviceEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_CameraDeviceEvent, timestamp) == 8, "struct SDL_CameraDeviceEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_CameraDeviceEvent, which) == 16, "struct SDL_CameraDeviceEvent.which: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_RenderEvent) LITHON_ABI_PREFIX_OP 24, "struct SDL_RenderEvent: baked sizeof 24 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_RenderEvent) == 8, "struct SDL_RenderEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_RenderEvent, type) == 0, "struct SDL_RenderEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_RenderEvent, reserved) == 4, "struct SDL_RenderEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_RenderEvent, timestamp) == 8, "struct SDL_RenderEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_RenderEvent, windowID) == 16, "struct SDL_RenderEvent.windowID: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_TouchFingerEvent) LITHON_ABI_PREFIX_OP 56, "struct SDL_TouchFingerEvent: baked sizeof 56 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_TouchFingerEvent) == 8, "struct SDL_TouchFingerEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TouchFingerEvent, type) == 0, "struct SDL_TouchFingerEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TouchFingerEvent, reserved) == 4, "struct SDL_TouchFingerEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TouchFingerEvent, timestamp) == 8, "struct SDL_TouchFingerEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TouchFingerEvent, touchID) == 16, "struct SDL_TouchFingerEvent.touchID: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TouchFingerEvent, fingerID) == 24, "struct SDL_TouchFingerEvent.fingerID: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TouchFingerEvent, x) == 32, "struct SDL_TouchFingerEvent.x: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TouchFingerEvent, y) == 36, "struct SDL_TouchFingerEvent.y: baked offset 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TouchFingerEvent, dx) == 40, "struct SDL_TouchFingerEvent.dx: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TouchFingerEvent, dy) == 44, "struct SDL_TouchFingerEvent.dy: baked offset 44 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TouchFingerEvent, pressure) == 48, "struct SDL_TouchFingerEvent.pressure: baked offset 48 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_TouchFingerEvent, windowID) == 52, "struct SDL_TouchFingerEvent.windowID: baked offset 52 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 4, 0)
+_Static_assert(sizeof(struct SDL_PinchFingerEvent) LITHON_ABI_PREFIX_OP 24, "struct SDL_PinchFingerEvent: baked sizeof 24 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_PinchFingerEvent) == 8, "struct SDL_PinchFingerEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PinchFingerEvent, type) == 0, "struct SDL_PinchFingerEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PinchFingerEvent, reserved) == 4, "struct SDL_PinchFingerEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PinchFingerEvent, timestamp) == 8, "struct SDL_PinchFingerEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PinchFingerEvent, scale) == 16, "struct SDL_PinchFingerEvent.scale: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PinchFingerEvent, windowID) == 20, "struct SDL_PinchFingerEvent.windowID: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+#if SDL_VERSION_ATLEAST(3, 4, 16)
+_Static_assert(sizeof(struct SDL_PenProximityEvent) LITHON_ABI_PREFIX_OP 32, "struct SDL_PenProximityEvent: baked sizeof 32 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_PenProximityEvent) == 8, "struct SDL_PenProximityEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+#else
+_Static_assert(sizeof(struct SDL_PenProximityEvent) LITHON_ABI_PREFIX_OP 24, "struct SDL_PenProximityEvent: pre-3.4.16 sizeof 24 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_PenProximityEvent) == 8, "struct SDL_PenProximityEvent: pre-3.4.16 alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+_Static_assert(offsetof(struct SDL_PenProximityEvent, type) == 0, "struct SDL_PenProximityEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenProximityEvent, reserved) == 4, "struct SDL_PenProximityEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenProximityEvent, timestamp) == 8, "struct SDL_PenProximityEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenProximityEvent, windowID) == 16, "struct SDL_PenProximityEvent.windowID: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenProximityEvent, which) == 20, "struct SDL_PenProximityEvent.which: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 4, 16)
+_Static_assert(offsetof(struct SDL_PenProximityEvent, pen_state) == 24, "struct SDL_PenProximityEvent.pen_state: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+_Static_assert(sizeof(struct SDL_PenMotionEvent) LITHON_ABI_PREFIX_OP 40, "struct SDL_PenMotionEvent: baked sizeof 40 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_PenMotionEvent) == 8, "struct SDL_PenMotionEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenMotionEvent, type) == 0, "struct SDL_PenMotionEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenMotionEvent, reserved) == 4, "struct SDL_PenMotionEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenMotionEvent, timestamp) == 8, "struct SDL_PenMotionEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenMotionEvent, windowID) == 16, "struct SDL_PenMotionEvent.windowID: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenMotionEvent, which) == 20, "struct SDL_PenMotionEvent.which: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenMotionEvent, pen_state) == 24, "struct SDL_PenMotionEvent.pen_state: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenMotionEvent, x) == 28, "struct SDL_PenMotionEvent.x: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenMotionEvent, y) == 32, "struct SDL_PenMotionEvent.y: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_PenTouchEvent) LITHON_ABI_PREFIX_OP 40, "struct SDL_PenTouchEvent: baked sizeof 40 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_PenTouchEvent) == 8, "struct SDL_PenTouchEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenTouchEvent, type) == 0, "struct SDL_PenTouchEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenTouchEvent, reserved) == 4, "struct SDL_PenTouchEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenTouchEvent, timestamp) == 8, "struct SDL_PenTouchEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenTouchEvent, windowID) == 16, "struct SDL_PenTouchEvent.windowID: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenTouchEvent, which) == 20, "struct SDL_PenTouchEvent.which: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenTouchEvent, pen_state) == 24, "struct SDL_PenTouchEvent.pen_state: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenTouchEvent, x) == 28, "struct SDL_PenTouchEvent.x: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenTouchEvent, y) == 32, "struct SDL_PenTouchEvent.y: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenTouchEvent, eraser) == 36, "struct SDL_PenTouchEvent.eraser: baked offset 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenTouchEvent, down) == 37, "struct SDL_PenTouchEvent.down: baked offset 37 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_PenButtonEvent) LITHON_ABI_PREFIX_OP 40, "struct SDL_PenButtonEvent: baked sizeof 40 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_PenButtonEvent) == 8, "struct SDL_PenButtonEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenButtonEvent, type) == 0, "struct SDL_PenButtonEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenButtonEvent, reserved) == 4, "struct SDL_PenButtonEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenButtonEvent, timestamp) == 8, "struct SDL_PenButtonEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenButtonEvent, windowID) == 16, "struct SDL_PenButtonEvent.windowID: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenButtonEvent, which) == 20, "struct SDL_PenButtonEvent.which: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenButtonEvent, pen_state) == 24, "struct SDL_PenButtonEvent.pen_state: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenButtonEvent, x) == 28, "struct SDL_PenButtonEvent.x: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenButtonEvent, y) == 32, "struct SDL_PenButtonEvent.y: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenButtonEvent, button) == 36, "struct SDL_PenButtonEvent.button: baked offset 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenButtonEvent, down) == 37, "struct SDL_PenButtonEvent.down: baked offset 37 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_PenAxisEvent) LITHON_ABI_PREFIX_OP 48, "struct SDL_PenAxisEvent: baked sizeof 48 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_PenAxisEvent) == 8, "struct SDL_PenAxisEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenAxisEvent, type) == 0, "struct SDL_PenAxisEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenAxisEvent, reserved) == 4, "struct SDL_PenAxisEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenAxisEvent, timestamp) == 8, "struct SDL_PenAxisEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenAxisEvent, windowID) == 16, "struct SDL_PenAxisEvent.windowID: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenAxisEvent, which) == 20, "struct SDL_PenAxisEvent.which: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenAxisEvent, pen_state) == 24, "struct SDL_PenAxisEvent.pen_state: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenAxisEvent, x) == 28, "struct SDL_PenAxisEvent.x: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenAxisEvent, y) == 32, "struct SDL_PenAxisEvent.y: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenAxisEvent, axis) == 36, "struct SDL_PenAxisEvent.axis: baked offset 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PenAxisEvent, value) == 40, "struct SDL_PenAxisEvent.value: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_DropEvent) LITHON_ABI_PREFIX_OP 48, "struct SDL_DropEvent: baked sizeof 48 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_DropEvent) == 8, "struct SDL_DropEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DropEvent, type) == 0, "struct SDL_DropEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DropEvent, reserved) == 4, "struct SDL_DropEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DropEvent, timestamp) == 8, "struct SDL_DropEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DropEvent, windowID) == 16, "struct SDL_DropEvent.windowID: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DropEvent, x) == 20, "struct SDL_DropEvent.x: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DropEvent, y) == 24, "struct SDL_DropEvent.y: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DropEvent, source) == 32, "struct SDL_DropEvent.source: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DropEvent, data) == 40, "struct SDL_DropEvent.data: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_ClipboardEvent) LITHON_ABI_PREFIX_OP 32, "struct SDL_ClipboardEvent: baked sizeof 32 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_ClipboardEvent) == 8, "struct SDL_ClipboardEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_ClipboardEvent, type) == 0, "struct SDL_ClipboardEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_ClipboardEvent, reserved) == 4, "struct SDL_ClipboardEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_ClipboardEvent, timestamp) == 8, "struct SDL_ClipboardEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_ClipboardEvent, owner) == 16, "struct SDL_ClipboardEvent.owner: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_ClipboardEvent, num_mime_types) == 20, "struct SDL_ClipboardEvent.num_mime_types: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_ClipboardEvent, mime_types) == 24, "struct SDL_ClipboardEvent.mime_types: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_SensorEvent) LITHON_ABI_PREFIX_OP 56, "struct SDL_SensorEvent: baked sizeof 56 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_SensorEvent) == 8, "struct SDL_SensorEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_SensorEvent, type) == 0, "struct SDL_SensorEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_SensorEvent, reserved) == 4, "struct SDL_SensorEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_SensorEvent, timestamp) == 8, "struct SDL_SensorEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_SensorEvent, which) == 16, "struct SDL_SensorEvent.which: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_SensorEvent, data) == 20, "struct SDL_SensorEvent.data: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_SensorEvent, sensor_timestamp) == 48, "struct SDL_SensorEvent.sensor_timestamp: baked offset 48 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_QuitEvent) LITHON_ABI_PREFIX_OP 16, "struct SDL_QuitEvent: baked sizeof 16 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_QuitEvent) == 8, "struct SDL_QuitEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_QuitEvent, type) == 0, "struct SDL_QuitEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_QuitEvent, reserved) == 4, "struct SDL_QuitEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_QuitEvent, timestamp) == 8, "struct SDL_QuitEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_UserEvent) LITHON_ABI_PREFIX_OP 40, "struct SDL_UserEvent: baked sizeof 40 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_UserEvent) == 8, "struct SDL_UserEvent: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_UserEvent, type) == 0, "struct SDL_UserEvent.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_UserEvent, reserved) == 4, "struct SDL_UserEvent.reserved: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_UserEvent, timestamp) == 8, "struct SDL_UserEvent.timestamp: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_UserEvent, windowID) == 16, "struct SDL_UserEvent.windowID: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_UserEvent, code) == 20, "struct SDL_UserEvent.code: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_UserEvent, data1) == 24, "struct SDL_UserEvent.data1: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_UserEvent, data2) == 32, "struct SDL_UserEvent.data2: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(union SDL_Event) == 128, "union SDL_Event: baked sizeof 128 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(union SDL_Event) == 8, "union SDL_Event: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_EventAction) == 4, "enum SDL_EventAction: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_EventAction) == 4, "enum SDL_EventAction: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ADDEVENT) == (0), "SDL_ADDEVENT: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PEEKEVENT) == (1), "SDL_PEEKEVENT: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GETEVENT) == (2), "SDL_GETEVENT: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_filesystem.h ---- */
+_Static_assert(sizeof(enum SDL_Folder) == 4, "enum SDL_Folder: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_Folder) == 4, "enum SDL_Folder: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_FOLDER_HOME) == (0), "SDL_FOLDER_HOME: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_FOLDER_DESKTOP) == (1), "SDL_FOLDER_DESKTOP: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_FOLDER_DOCUMENTS) == (2), "SDL_FOLDER_DOCUMENTS: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_FOLDER_DOWNLOADS) == (3), "SDL_FOLDER_DOWNLOADS: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_FOLDER_MUSIC) == (4), "SDL_FOLDER_MUSIC: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_FOLDER_PICTURES) == (5), "SDL_FOLDER_PICTURES: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_FOLDER_PUBLICSHARE) == (6), "SDL_FOLDER_PUBLICSHARE: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_FOLDER_SAVEDGAMES) == (7), "SDL_FOLDER_SAVEDGAMES: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_FOLDER_SCREENSHOTS) == (8), "SDL_FOLDER_SCREENSHOTS: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_FOLDER_TEMPLATES) == (9), "SDL_FOLDER_TEMPLATES: baked value 9 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_FOLDER_VIDEOS) == (10), "SDL_FOLDER_VIDEOS: baked value 10 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_FOLDER_COUNT) == (11), "SDL_FOLDER_COUNT: baked value 11 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_PathType) == 4, "enum SDL_PathType: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_PathType) == 4, "enum SDL_PathType: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PATHTYPE_NONE) == (0), "SDL_PATHTYPE_NONE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PATHTYPE_FILE) == (1), "SDL_PATHTYPE_FILE: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PATHTYPE_DIRECTORY) == (2), "SDL_PATHTYPE_DIRECTORY: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PATHTYPE_OTHER) == (3), "SDL_PATHTYPE_OTHER: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_PathInfo) == 40, "struct SDL_PathInfo: baked sizeof 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_PathInfo) == 8, "struct SDL_PathInfo: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PathInfo, type) == 0, "struct SDL_PathInfo.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PathInfo, size) == 8, "struct SDL_PathInfo.size: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PathInfo, create_time) == 16, "struct SDL_PathInfo.create_time: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PathInfo, modify_time) == 24, "struct SDL_PathInfo.modify_time: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_PathInfo, access_time) == 32, "struct SDL_PathInfo.access_time: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_EnumerationResult) == 4, "enum SDL_EnumerationResult: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_EnumerationResult) == 4, "enum SDL_EnumerationResult: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ENUM_CONTINUE) == (0), "SDL_ENUM_CONTINUE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ENUM_SUCCESS) == (1), "SDL_ENUM_SUCCESS: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_ENUM_FAILURE) == (2), "SDL_ENUM_FAILURE: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_gpu.h ---- */
+_Static_assert(sizeof(enum SDL_GPUPrimitiveType) == 4, "enum SDL_GPUPrimitiveType: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUPrimitiveType) == 4, "enum SDL_GPUPrimitiveType: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_PRIMITIVETYPE_TRIANGLELIST) == (0), "SDL_GPU_PRIMITIVETYPE_TRIANGLELIST: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_PRIMITIVETYPE_TRIANGLESTRIP) == (1), "SDL_GPU_PRIMITIVETYPE_TRIANGLESTRIP: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_PRIMITIVETYPE_LINELIST) == (2), "SDL_GPU_PRIMITIVETYPE_LINELIST: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_PRIMITIVETYPE_LINESTRIP) == (3), "SDL_GPU_PRIMITIVETYPE_LINESTRIP: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_PRIMITIVETYPE_POINTLIST) == (4), "SDL_GPU_PRIMITIVETYPE_POINTLIST: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPULoadOp) == 4, "enum SDL_GPULoadOp: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPULoadOp) == 4, "enum SDL_GPULoadOp: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_LOADOP_LOAD) == (0), "SDL_GPU_LOADOP_LOAD: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_LOADOP_CLEAR) == (1), "SDL_GPU_LOADOP_CLEAR: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_LOADOP_DONT_CARE) == (2), "SDL_GPU_LOADOP_DONT_CARE: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPUStoreOp) == 4, "enum SDL_GPUStoreOp: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUStoreOp) == 4, "enum SDL_GPUStoreOp: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_STOREOP_STORE) == (0), "SDL_GPU_STOREOP_STORE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_STOREOP_DONT_CARE) == (1), "SDL_GPU_STOREOP_DONT_CARE: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_STOREOP_RESOLVE) == (2), "SDL_GPU_STOREOP_RESOLVE: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_STOREOP_RESOLVE_AND_STORE) == (3), "SDL_GPU_STOREOP_RESOLVE_AND_STORE: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPUIndexElementSize) == 4, "enum SDL_GPUIndexElementSize: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUIndexElementSize) == 4, "enum SDL_GPUIndexElementSize: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_INDEXELEMENTSIZE_16BIT) == (0), "SDL_GPU_INDEXELEMENTSIZE_16BIT: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_INDEXELEMENTSIZE_32BIT) == (1), "SDL_GPU_INDEXELEMENTSIZE_32BIT: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPUTextureFormat) == 4, "enum SDL_GPUTextureFormat: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUTextureFormat) == 4, "enum SDL_GPUTextureFormat: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_INVALID) == (0), "SDL_GPU_TEXTUREFORMAT_INVALID: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_A8_UNORM) == (1), "SDL_GPU_TEXTUREFORMAT_A8_UNORM: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R8_UNORM) == (2), "SDL_GPU_TEXTUREFORMAT_R8_UNORM: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R8G8_UNORM) == (3), "SDL_GPU_TEXTUREFORMAT_R8G8_UNORM: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM) == (4), "SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R16_UNORM) == (5), "SDL_GPU_TEXTUREFORMAT_R16_UNORM: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R16G16_UNORM) == (6), "SDL_GPU_TEXTUREFORMAT_R16G16_UNORM: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R16G16B16A16_UNORM) == (7), "SDL_GPU_TEXTUREFORMAT_R16G16B16A16_UNORM: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R10G10B10A2_UNORM) == (8), "SDL_GPU_TEXTUREFORMAT_R10G10B10A2_UNORM: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_B5G6R5_UNORM) == (9), "SDL_GPU_TEXTUREFORMAT_B5G6R5_UNORM: baked value 9 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_B5G5R5A1_UNORM) == (10), "SDL_GPU_TEXTUREFORMAT_B5G5R5A1_UNORM: baked value 10 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_B4G4R4A4_UNORM) == (11), "SDL_GPU_TEXTUREFORMAT_B4G4R4A4_UNORM: baked value 11 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM) == (12), "SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM: baked value 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_BC1_RGBA_UNORM) == (13), "SDL_GPU_TEXTUREFORMAT_BC1_RGBA_UNORM: baked value 13 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_BC2_RGBA_UNORM) == (14), "SDL_GPU_TEXTUREFORMAT_BC2_RGBA_UNORM: baked value 14 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_BC3_RGBA_UNORM) == (15), "SDL_GPU_TEXTUREFORMAT_BC3_RGBA_UNORM: baked value 15 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_BC4_R_UNORM) == (16), "SDL_GPU_TEXTUREFORMAT_BC4_R_UNORM: baked value 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_BC5_RG_UNORM) == (17), "SDL_GPU_TEXTUREFORMAT_BC5_RG_UNORM: baked value 17 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_BC7_RGBA_UNORM) == (18), "SDL_GPU_TEXTUREFORMAT_BC7_RGBA_UNORM: baked value 18 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_BC6H_RGB_FLOAT) == (19), "SDL_GPU_TEXTUREFORMAT_BC6H_RGB_FLOAT: baked value 19 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_BC6H_RGB_UFLOAT) == (20), "SDL_GPU_TEXTUREFORMAT_BC6H_RGB_UFLOAT: baked value 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R8_SNORM) == (21), "SDL_GPU_TEXTUREFORMAT_R8_SNORM: baked value 21 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R8G8_SNORM) == (22), "SDL_GPU_TEXTUREFORMAT_R8G8_SNORM: baked value 22 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R8G8B8A8_SNORM) == (23), "SDL_GPU_TEXTUREFORMAT_R8G8B8A8_SNORM: baked value 23 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R16_SNORM) == (24), "SDL_GPU_TEXTUREFORMAT_R16_SNORM: baked value 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R16G16_SNORM) == (25), "SDL_GPU_TEXTUREFORMAT_R16G16_SNORM: baked value 25 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R16G16B16A16_SNORM) == (26), "SDL_GPU_TEXTUREFORMAT_R16G16B16A16_SNORM: baked value 26 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R16_FLOAT) == (27), "SDL_GPU_TEXTUREFORMAT_R16_FLOAT: baked value 27 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R16G16_FLOAT) == (28), "SDL_GPU_TEXTUREFORMAT_R16G16_FLOAT: baked value 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R16G16B16A16_FLOAT) == (29), "SDL_GPU_TEXTUREFORMAT_R16G16B16A16_FLOAT: baked value 29 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R32_FLOAT) == (30), "SDL_GPU_TEXTUREFORMAT_R32_FLOAT: baked value 30 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R32G32_FLOAT) == (31), "SDL_GPU_TEXTUREFORMAT_R32G32_FLOAT: baked value 31 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R32G32B32A32_FLOAT) == (32), "SDL_GPU_TEXTUREFORMAT_R32G32B32A32_FLOAT: baked value 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R11G11B10_UFLOAT) == (33), "SDL_GPU_TEXTUREFORMAT_R11G11B10_UFLOAT: baked value 33 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R8_UINT) == (34), "SDL_GPU_TEXTUREFORMAT_R8_UINT: baked value 34 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R8G8_UINT) == (35), "SDL_GPU_TEXTUREFORMAT_R8G8_UINT: baked value 35 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UINT) == (36), "SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UINT: baked value 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R16_UINT) == (37), "SDL_GPU_TEXTUREFORMAT_R16_UINT: baked value 37 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R16G16_UINT) == (38), "SDL_GPU_TEXTUREFORMAT_R16G16_UINT: baked value 38 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R16G16B16A16_UINT) == (39), "SDL_GPU_TEXTUREFORMAT_R16G16B16A16_UINT: baked value 39 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R32_UINT) == (40), "SDL_GPU_TEXTUREFORMAT_R32_UINT: baked value 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R32G32_UINT) == (41), "SDL_GPU_TEXTUREFORMAT_R32G32_UINT: baked value 41 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R32G32B32A32_UINT) == (42), "SDL_GPU_TEXTUREFORMAT_R32G32B32A32_UINT: baked value 42 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R8_INT) == (43), "SDL_GPU_TEXTUREFORMAT_R8_INT: baked value 43 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R8G8_INT) == (44), "SDL_GPU_TEXTUREFORMAT_R8G8_INT: baked value 44 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R8G8B8A8_INT) == (45), "SDL_GPU_TEXTUREFORMAT_R8G8B8A8_INT: baked value 45 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R16_INT) == (46), "SDL_GPU_TEXTUREFORMAT_R16_INT: baked value 46 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R16G16_INT) == (47), "SDL_GPU_TEXTUREFORMAT_R16G16_INT: baked value 47 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R16G16B16A16_INT) == (48), "SDL_GPU_TEXTUREFORMAT_R16G16B16A16_INT: baked value 48 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R32_INT) == (49), "SDL_GPU_TEXTUREFORMAT_R32_INT: baked value 49 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R32G32_INT) == (50), "SDL_GPU_TEXTUREFORMAT_R32G32_INT: baked value 50 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R32G32B32A32_INT) == (51), "SDL_GPU_TEXTUREFORMAT_R32G32B32A32_INT: baked value 51 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM_SRGB) == (52), "SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM_SRGB: baked value 52 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM_SRGB) == (53), "SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM_SRGB: baked value 53 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_BC1_RGBA_UNORM_SRGB) == (54), "SDL_GPU_TEXTUREFORMAT_BC1_RGBA_UNORM_SRGB: baked value 54 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_BC2_RGBA_UNORM_SRGB) == (55), "SDL_GPU_TEXTUREFORMAT_BC2_RGBA_UNORM_SRGB: baked value 55 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_BC3_RGBA_UNORM_SRGB) == (56), "SDL_GPU_TEXTUREFORMAT_BC3_RGBA_UNORM_SRGB: baked value 56 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_BC7_RGBA_UNORM_SRGB) == (57), "SDL_GPU_TEXTUREFORMAT_BC7_RGBA_UNORM_SRGB: baked value 57 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_D16_UNORM) == (58), "SDL_GPU_TEXTUREFORMAT_D16_UNORM: baked value 58 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_D24_UNORM) == (59), "SDL_GPU_TEXTUREFORMAT_D24_UNORM: baked value 59 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_D32_FLOAT) == (60), "SDL_GPU_TEXTUREFORMAT_D32_FLOAT: baked value 60 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_D24_UNORM_S8_UINT) == (61), "SDL_GPU_TEXTUREFORMAT_D24_UNORM_S8_UINT: baked value 61 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_D32_FLOAT_S8_UINT) == (62), "SDL_GPU_TEXTUREFORMAT_D32_FLOAT_S8_UINT: baked value 62 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM) == (63), "SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM: baked value 63 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM) == (64), "SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM: baked value 64 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM) == (65), "SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM: baked value 65 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM) == (66), "SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM: baked value 66 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM) == (67), "SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM: baked value 67 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM) == (68), "SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM: baked value 68 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM) == (69), "SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM: baked value 69 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM) == (70), "SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM: baked value 70 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM) == (71), "SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM: baked value 71 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM) == (72), "SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM: baked value 72 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM) == (73), "SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM: baked value 73 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM) == (74), "SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM: baked value 74 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM) == (75), "SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM: baked value 75 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM) == (76), "SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM: baked value 76 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM_SRGB) == (77), "SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM_SRGB: baked value 77 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM_SRGB) == (78), "SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM_SRGB: baked value 78 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM_SRGB) == (79), "SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM_SRGB: baked value 79 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM_SRGB) == (80), "SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM_SRGB: baked value 80 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM_SRGB) == (81), "SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM_SRGB: baked value 81 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM_SRGB) == (82), "SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM_SRGB: baked value 82 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM_SRGB) == (83), "SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM_SRGB: baked value 83 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM_SRGB) == (84), "SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM_SRGB: baked value 84 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM_SRGB) == (85), "SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM_SRGB: baked value 85 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM_SRGB) == (86), "SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM_SRGB: baked value 86 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM_SRGB) == (87), "SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM_SRGB: baked value 87 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM_SRGB) == (88), "SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM_SRGB: baked value 88 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM_SRGB) == (89), "SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM_SRGB: baked value 89 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM_SRGB) == (90), "SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM_SRGB: baked value 90 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_4x4_FLOAT) == (91), "SDL_GPU_TEXTUREFORMAT_ASTC_4x4_FLOAT: baked value 91 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_5x4_FLOAT) == (92), "SDL_GPU_TEXTUREFORMAT_ASTC_5x4_FLOAT: baked value 92 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_5x5_FLOAT) == (93), "SDL_GPU_TEXTUREFORMAT_ASTC_5x5_FLOAT: baked value 93 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_6x5_FLOAT) == (94), "SDL_GPU_TEXTUREFORMAT_ASTC_6x5_FLOAT: baked value 94 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_6x6_FLOAT) == (95), "SDL_GPU_TEXTUREFORMAT_ASTC_6x6_FLOAT: baked value 95 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_8x5_FLOAT) == (96), "SDL_GPU_TEXTUREFORMAT_ASTC_8x5_FLOAT: baked value 96 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_8x6_FLOAT) == (97), "SDL_GPU_TEXTUREFORMAT_ASTC_8x6_FLOAT: baked value 97 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_8x8_FLOAT) == (98), "SDL_GPU_TEXTUREFORMAT_ASTC_8x8_FLOAT: baked value 98 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x5_FLOAT) == (99), "SDL_GPU_TEXTUREFORMAT_ASTC_10x5_FLOAT: baked value 99 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x6_FLOAT) == (100), "SDL_GPU_TEXTUREFORMAT_ASTC_10x6_FLOAT: baked value 100 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x8_FLOAT) == (101), "SDL_GPU_TEXTUREFORMAT_ASTC_10x8_FLOAT: baked value 101 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_10x10_FLOAT) == (102), "SDL_GPU_TEXTUREFORMAT_ASTC_10x10_FLOAT: baked value 102 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_12x10_FLOAT) == (103), "SDL_GPU_TEXTUREFORMAT_ASTC_12x10_FLOAT: baked value 103 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREFORMAT_ASTC_12x12_FLOAT) == (104), "SDL_GPU_TEXTUREFORMAT_ASTC_12x12_FLOAT: baked value 104 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPUTextureType) == 4, "enum SDL_GPUTextureType: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUTextureType) == 4, "enum SDL_GPUTextureType: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTURETYPE_2D) == (0), "SDL_GPU_TEXTURETYPE_2D: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTURETYPE_2D_ARRAY) == (1), "SDL_GPU_TEXTURETYPE_2D_ARRAY: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTURETYPE_3D) == (2), "SDL_GPU_TEXTURETYPE_3D: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTURETYPE_CUBE) == (3), "SDL_GPU_TEXTURETYPE_CUBE: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTURETYPE_CUBE_ARRAY) == (4), "SDL_GPU_TEXTURETYPE_CUBE_ARRAY: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPUSampleCount) == 4, "enum SDL_GPUSampleCount: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUSampleCount) == 4, "enum SDL_GPUSampleCount: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_SAMPLECOUNT_1) == (0), "SDL_GPU_SAMPLECOUNT_1: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_SAMPLECOUNT_2) == (1), "SDL_GPU_SAMPLECOUNT_2: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_SAMPLECOUNT_4) == (2), "SDL_GPU_SAMPLECOUNT_4: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_SAMPLECOUNT_8) == (3), "SDL_GPU_SAMPLECOUNT_8: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPUCubeMapFace) == 4, "enum SDL_GPUCubeMapFace: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUCubeMapFace) == 4, "enum SDL_GPUCubeMapFace: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_CUBEMAPFACE_POSITIVEX) == (0), "SDL_GPU_CUBEMAPFACE_POSITIVEX: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_CUBEMAPFACE_NEGATIVEX) == (1), "SDL_GPU_CUBEMAPFACE_NEGATIVEX: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_CUBEMAPFACE_POSITIVEY) == (2), "SDL_GPU_CUBEMAPFACE_POSITIVEY: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_CUBEMAPFACE_NEGATIVEY) == (3), "SDL_GPU_CUBEMAPFACE_NEGATIVEY: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_CUBEMAPFACE_POSITIVEZ) == (4), "SDL_GPU_CUBEMAPFACE_POSITIVEZ: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_CUBEMAPFACE_NEGATIVEZ) == (5), "SDL_GPU_CUBEMAPFACE_NEGATIVEZ: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPUTransferBufferUsage) == 4, "enum SDL_GPUTransferBufferUsage: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUTransferBufferUsage) == 4, "enum SDL_GPUTransferBufferUsage: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TRANSFERBUFFERUSAGE_UPLOAD) == (0), "SDL_GPU_TRANSFERBUFFERUSAGE_UPLOAD: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TRANSFERBUFFERUSAGE_DOWNLOAD) == (1), "SDL_GPU_TRANSFERBUFFERUSAGE_DOWNLOAD: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPUShaderStage) == 4, "enum SDL_GPUShaderStage: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUShaderStage) == 4, "enum SDL_GPUShaderStage: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_SHADERSTAGE_VERTEX) == (0), "SDL_GPU_SHADERSTAGE_VERTEX: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_SHADERSTAGE_FRAGMENT) == (1), "SDL_GPU_SHADERSTAGE_FRAGMENT: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPUVertexElementFormat) == 4, "enum SDL_GPUVertexElementFormat: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUVertexElementFormat) == 4, "enum SDL_GPUVertexElementFormat: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_INVALID) == (0), "SDL_GPU_VERTEXELEMENTFORMAT_INVALID: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_INT) == (1), "SDL_GPU_VERTEXELEMENTFORMAT_INT: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_INT2) == (2), "SDL_GPU_VERTEXELEMENTFORMAT_INT2: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_INT3) == (3), "SDL_GPU_VERTEXELEMENTFORMAT_INT3: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_INT4) == (4), "SDL_GPU_VERTEXELEMENTFORMAT_INT4: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_UINT) == (5), "SDL_GPU_VERTEXELEMENTFORMAT_UINT: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_UINT2) == (6), "SDL_GPU_VERTEXELEMENTFORMAT_UINT2: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_UINT3) == (7), "SDL_GPU_VERTEXELEMENTFORMAT_UINT3: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_UINT4) == (8), "SDL_GPU_VERTEXELEMENTFORMAT_UINT4: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_FLOAT) == (9), "SDL_GPU_VERTEXELEMENTFORMAT_FLOAT: baked value 9 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_FLOAT2) == (10), "SDL_GPU_VERTEXELEMENTFORMAT_FLOAT2: baked value 10 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_FLOAT3) == (11), "SDL_GPU_VERTEXELEMENTFORMAT_FLOAT3: baked value 11 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_FLOAT4) == (12), "SDL_GPU_VERTEXELEMENTFORMAT_FLOAT4: baked value 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_BYTE2) == (13), "SDL_GPU_VERTEXELEMENTFORMAT_BYTE2: baked value 13 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_BYTE4) == (14), "SDL_GPU_VERTEXELEMENTFORMAT_BYTE4: baked value 14 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2) == (15), "SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2: baked value 15 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4) == (16), "SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4: baked value 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_BYTE2_NORM) == (17), "SDL_GPU_VERTEXELEMENTFORMAT_BYTE2_NORM: baked value 17 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_BYTE4_NORM) == (18), "SDL_GPU_VERTEXELEMENTFORMAT_BYTE4_NORM: baked value 18 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2_NORM) == (19), "SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2_NORM: baked value 19 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4_NORM) == (20), "SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4_NORM: baked value 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_SHORT2) == (21), "SDL_GPU_VERTEXELEMENTFORMAT_SHORT2: baked value 21 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_SHORT4) == (22), "SDL_GPU_VERTEXELEMENTFORMAT_SHORT4: baked value 22 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_USHORT2) == (23), "SDL_GPU_VERTEXELEMENTFORMAT_USHORT2: baked value 23 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_USHORT4) == (24), "SDL_GPU_VERTEXELEMENTFORMAT_USHORT4: baked value 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_SHORT2_NORM) == (25), "SDL_GPU_VERTEXELEMENTFORMAT_SHORT2_NORM: baked value 25 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_SHORT4_NORM) == (26), "SDL_GPU_VERTEXELEMENTFORMAT_SHORT4_NORM: baked value 26 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_USHORT2_NORM) == (27), "SDL_GPU_VERTEXELEMENTFORMAT_USHORT2_NORM: baked value 27 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_USHORT4_NORM) == (28), "SDL_GPU_VERTEXELEMENTFORMAT_USHORT4_NORM: baked value 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_HALF2) == (29), "SDL_GPU_VERTEXELEMENTFORMAT_HALF2: baked value 29 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXELEMENTFORMAT_HALF4) == (30), "SDL_GPU_VERTEXELEMENTFORMAT_HALF4: baked value 30 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPUVertexInputRate) == 4, "enum SDL_GPUVertexInputRate: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUVertexInputRate) == 4, "enum SDL_GPUVertexInputRate: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXINPUTRATE_VERTEX) == (0), "SDL_GPU_VERTEXINPUTRATE_VERTEX: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_VERTEXINPUTRATE_INSTANCE) == (1), "SDL_GPU_VERTEXINPUTRATE_INSTANCE: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPUFillMode) == 4, "enum SDL_GPUFillMode: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUFillMode) == 4, "enum SDL_GPUFillMode: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_FILLMODE_FILL) == (0), "SDL_GPU_FILLMODE_FILL: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_FILLMODE_LINE) == (1), "SDL_GPU_FILLMODE_LINE: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPUCullMode) == 4, "enum SDL_GPUCullMode: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUCullMode) == 4, "enum SDL_GPUCullMode: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_CULLMODE_NONE) == (0), "SDL_GPU_CULLMODE_NONE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_CULLMODE_FRONT) == (1), "SDL_GPU_CULLMODE_FRONT: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_CULLMODE_BACK) == (2), "SDL_GPU_CULLMODE_BACK: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPUFrontFace) == 4, "enum SDL_GPUFrontFace: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUFrontFace) == 4, "enum SDL_GPUFrontFace: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_FRONTFACE_COUNTER_CLOCKWISE) == (0), "SDL_GPU_FRONTFACE_COUNTER_CLOCKWISE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_FRONTFACE_CLOCKWISE) == (1), "SDL_GPU_FRONTFACE_CLOCKWISE: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPUCompareOp) == 4, "enum SDL_GPUCompareOp: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUCompareOp) == 4, "enum SDL_GPUCompareOp: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_COMPAREOP_INVALID) == (0), "SDL_GPU_COMPAREOP_INVALID: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_COMPAREOP_NEVER) == (1), "SDL_GPU_COMPAREOP_NEVER: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_COMPAREOP_LESS) == (2), "SDL_GPU_COMPAREOP_LESS: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_COMPAREOP_EQUAL) == (3), "SDL_GPU_COMPAREOP_EQUAL: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_COMPAREOP_LESS_OR_EQUAL) == (4), "SDL_GPU_COMPAREOP_LESS_OR_EQUAL: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_COMPAREOP_GREATER) == (5), "SDL_GPU_COMPAREOP_GREATER: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_COMPAREOP_NOT_EQUAL) == (6), "SDL_GPU_COMPAREOP_NOT_EQUAL: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_COMPAREOP_GREATER_OR_EQUAL) == (7), "SDL_GPU_COMPAREOP_GREATER_OR_EQUAL: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_COMPAREOP_ALWAYS) == (8), "SDL_GPU_COMPAREOP_ALWAYS: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPUStencilOp) == 4, "enum SDL_GPUStencilOp: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUStencilOp) == 4, "enum SDL_GPUStencilOp: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_STENCILOP_INVALID) == (0), "SDL_GPU_STENCILOP_INVALID: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_STENCILOP_KEEP) == (1), "SDL_GPU_STENCILOP_KEEP: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_STENCILOP_ZERO) == (2), "SDL_GPU_STENCILOP_ZERO: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_STENCILOP_REPLACE) == (3), "SDL_GPU_STENCILOP_REPLACE: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_STENCILOP_INCREMENT_AND_CLAMP) == (4), "SDL_GPU_STENCILOP_INCREMENT_AND_CLAMP: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_STENCILOP_DECREMENT_AND_CLAMP) == (5), "SDL_GPU_STENCILOP_DECREMENT_AND_CLAMP: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_STENCILOP_INVERT) == (6), "SDL_GPU_STENCILOP_INVERT: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_STENCILOP_INCREMENT_AND_WRAP) == (7), "SDL_GPU_STENCILOP_INCREMENT_AND_WRAP: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_STENCILOP_DECREMENT_AND_WRAP) == (8), "SDL_GPU_STENCILOP_DECREMENT_AND_WRAP: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPUBlendOp) == 4, "enum SDL_GPUBlendOp: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUBlendOp) == 4, "enum SDL_GPUBlendOp: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BLENDOP_INVALID) == (0), "SDL_GPU_BLENDOP_INVALID: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BLENDOP_ADD) == (1), "SDL_GPU_BLENDOP_ADD: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BLENDOP_SUBTRACT) == (2), "SDL_GPU_BLENDOP_SUBTRACT: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BLENDOP_REVERSE_SUBTRACT) == (3), "SDL_GPU_BLENDOP_REVERSE_SUBTRACT: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BLENDOP_MIN) == (4), "SDL_GPU_BLENDOP_MIN: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BLENDOP_MAX) == (5), "SDL_GPU_BLENDOP_MAX: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPUBlendFactor) == 4, "enum SDL_GPUBlendFactor: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUBlendFactor) == 4, "enum SDL_GPUBlendFactor: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BLENDFACTOR_INVALID) == (0), "SDL_GPU_BLENDFACTOR_INVALID: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BLENDFACTOR_ZERO) == (1), "SDL_GPU_BLENDFACTOR_ZERO: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BLENDFACTOR_ONE) == (2), "SDL_GPU_BLENDFACTOR_ONE: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BLENDFACTOR_SRC_COLOR) == (3), "SDL_GPU_BLENDFACTOR_SRC_COLOR: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_COLOR) == (4), "SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_COLOR: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BLENDFACTOR_DST_COLOR) == (5), "SDL_GPU_BLENDFACTOR_DST_COLOR: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_COLOR) == (6), "SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_COLOR: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BLENDFACTOR_SRC_ALPHA) == (7), "SDL_GPU_BLENDFACTOR_SRC_ALPHA: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_ALPHA) == (8), "SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_ALPHA: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BLENDFACTOR_DST_ALPHA) == (9), "SDL_GPU_BLENDFACTOR_DST_ALPHA: baked value 9 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_ALPHA) == (10), "SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_ALPHA: baked value 10 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BLENDFACTOR_CONSTANT_COLOR) == (11), "SDL_GPU_BLENDFACTOR_CONSTANT_COLOR: baked value 11 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BLENDFACTOR_ONE_MINUS_CONSTANT_COLOR) == (12), "SDL_GPU_BLENDFACTOR_ONE_MINUS_CONSTANT_COLOR: baked value 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BLENDFACTOR_SRC_ALPHA_SATURATE) == (13), "SDL_GPU_BLENDFACTOR_SRC_ALPHA_SATURATE: baked value 13 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPUFilter) == 4, "enum SDL_GPUFilter: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUFilter) == 4, "enum SDL_GPUFilter: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_FILTER_NEAREST) == (0), "SDL_GPU_FILTER_NEAREST: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_FILTER_LINEAR) == (1), "SDL_GPU_FILTER_LINEAR: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPUSamplerMipmapMode) == 4, "enum SDL_GPUSamplerMipmapMode: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUSamplerMipmapMode) == 4, "enum SDL_GPUSamplerMipmapMode: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_SAMPLERMIPMAPMODE_NEAREST) == (0), "SDL_GPU_SAMPLERMIPMAPMODE_NEAREST: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_SAMPLERMIPMAPMODE_LINEAR) == (1), "SDL_GPU_SAMPLERMIPMAPMODE_LINEAR: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPUSamplerAddressMode) == 4, "enum SDL_GPUSamplerAddressMode: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUSamplerAddressMode) == 4, "enum SDL_GPUSamplerAddressMode: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_SAMPLERADDRESSMODE_REPEAT) == (0), "SDL_GPU_SAMPLERADDRESSMODE_REPEAT: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_SAMPLERADDRESSMODE_MIRRORED_REPEAT) == (1), "SDL_GPU_SAMPLERADDRESSMODE_MIRRORED_REPEAT: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_SAMPLERADDRESSMODE_CLAMP_TO_EDGE) == (2), "SDL_GPU_SAMPLERADDRESSMODE_CLAMP_TO_EDGE: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPUPresentMode) == 4, "enum SDL_GPUPresentMode: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUPresentMode) == 4, "enum SDL_GPUPresentMode: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_PRESENTMODE_VSYNC) == (0), "SDL_GPU_PRESENTMODE_VSYNC: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_PRESENTMODE_IMMEDIATE) == (1), "SDL_GPU_PRESENTMODE_IMMEDIATE: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_PRESENTMODE_MAILBOX) == (2), "SDL_GPU_PRESENTMODE_MAILBOX: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_GPUSwapchainComposition) == 4, "enum SDL_GPUSwapchainComposition: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_GPUSwapchainComposition) == 4, "enum SDL_GPUSwapchainComposition: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_SWAPCHAINCOMPOSITION_SDR) == (0), "SDL_GPU_SWAPCHAINCOMPOSITION_SDR: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_SWAPCHAINCOMPOSITION_SDR_LINEAR) == (1), "SDL_GPU_SWAPCHAINCOMPOSITION_SDR_LINEAR: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_SWAPCHAINCOMPOSITION_HDR_EXTENDED_LINEAR) == (2), "SDL_GPU_SWAPCHAINCOMPOSITION_HDR_EXTENDED_LINEAR: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2084) == (3), "SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2084: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUViewport) == 24, "struct SDL_GPUViewport: baked sizeof 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUViewport) == 4, "struct SDL_GPUViewport: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUViewport, x) == 0, "struct SDL_GPUViewport.x: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUViewport, y) == 4, "struct SDL_GPUViewport.y: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUViewport, w) == 8, "struct SDL_GPUViewport.w: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUViewport, h) == 12, "struct SDL_GPUViewport.h: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUViewport, min_depth) == 16, "struct SDL_GPUViewport.min_depth: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUViewport, max_depth) == 20, "struct SDL_GPUViewport.max_depth: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUTextureTransferInfo) == 24, "struct SDL_GPUTextureTransferInfo: baked sizeof 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUTextureTransferInfo) == 8, "struct SDL_GPUTextureTransferInfo: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureTransferInfo, transfer_buffer) == 0, "struct SDL_GPUTextureTransferInfo.transfer_buffer: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureTransferInfo, offset) == 8, "struct SDL_GPUTextureTransferInfo.offset: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureTransferInfo, pixels_per_row) == 12, "struct SDL_GPUTextureTransferInfo.pixels_per_row: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureTransferInfo, rows_per_layer) == 16, "struct SDL_GPUTextureTransferInfo.rows_per_layer: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUTransferBufferLocation) == 16, "struct SDL_GPUTransferBufferLocation: baked sizeof 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUTransferBufferLocation) == 8, "struct SDL_GPUTransferBufferLocation: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTransferBufferLocation, transfer_buffer) == 0, "struct SDL_GPUTransferBufferLocation.transfer_buffer: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTransferBufferLocation, offset) == 8, "struct SDL_GPUTransferBufferLocation.offset: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUTextureLocation) == 32, "struct SDL_GPUTextureLocation: baked sizeof 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUTextureLocation) == 8, "struct SDL_GPUTextureLocation: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureLocation, texture) == 0, "struct SDL_GPUTextureLocation.texture: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureLocation, mip_level) == 8, "struct SDL_GPUTextureLocation.mip_level: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureLocation, layer) == 12, "struct SDL_GPUTextureLocation.layer: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureLocation, x) == 16, "struct SDL_GPUTextureLocation.x: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureLocation, y) == 20, "struct SDL_GPUTextureLocation.y: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureLocation, z) == 24, "struct SDL_GPUTextureLocation.z: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUTextureRegion) == 40, "struct SDL_GPUTextureRegion: baked sizeof 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUTextureRegion) == 8, "struct SDL_GPUTextureRegion: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureRegion, texture) == 0, "struct SDL_GPUTextureRegion.texture: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureRegion, mip_level) == 8, "struct SDL_GPUTextureRegion.mip_level: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureRegion, layer) == 12, "struct SDL_GPUTextureRegion.layer: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureRegion, x) == 16, "struct SDL_GPUTextureRegion.x: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureRegion, y) == 20, "struct SDL_GPUTextureRegion.y: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureRegion, z) == 24, "struct SDL_GPUTextureRegion.z: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureRegion, w) == 28, "struct SDL_GPUTextureRegion.w: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureRegion, h) == 32, "struct SDL_GPUTextureRegion.h: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureRegion, d) == 36, "struct SDL_GPUTextureRegion.d: baked offset 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUBlitRegion) == 32, "struct SDL_GPUBlitRegion: baked sizeof 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUBlitRegion) == 8, "struct SDL_GPUBlitRegion: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBlitRegion, texture) == 0, "struct SDL_GPUBlitRegion.texture: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBlitRegion, mip_level) == 8, "struct SDL_GPUBlitRegion.mip_level: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBlitRegion, layer_or_depth_plane) == 12, "struct SDL_GPUBlitRegion.layer_or_depth_plane: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBlitRegion, x) == 16, "struct SDL_GPUBlitRegion.x: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBlitRegion, y) == 20, "struct SDL_GPUBlitRegion.y: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBlitRegion, w) == 24, "struct SDL_GPUBlitRegion.w: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBlitRegion, h) == 28, "struct SDL_GPUBlitRegion.h: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUBufferLocation) == 16, "struct SDL_GPUBufferLocation: baked sizeof 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUBufferLocation) == 8, "struct SDL_GPUBufferLocation: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBufferLocation, buffer) == 0, "struct SDL_GPUBufferLocation.buffer: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBufferLocation, offset) == 8, "struct SDL_GPUBufferLocation.offset: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUBufferRegion) == 16, "struct SDL_GPUBufferRegion: baked sizeof 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUBufferRegion) == 8, "struct SDL_GPUBufferRegion: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBufferRegion, buffer) == 0, "struct SDL_GPUBufferRegion.buffer: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBufferRegion, offset) == 8, "struct SDL_GPUBufferRegion.offset: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBufferRegion, size) == 12, "struct SDL_GPUBufferRegion.size: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUIndirectDrawCommand) == 16, "struct SDL_GPUIndirectDrawCommand: baked sizeof 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUIndirectDrawCommand) == 4, "struct SDL_GPUIndirectDrawCommand: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUIndirectDrawCommand, num_vertices) == 0, "struct SDL_GPUIndirectDrawCommand.num_vertices: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUIndirectDrawCommand, num_instances) == 4, "struct SDL_GPUIndirectDrawCommand.num_instances: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUIndirectDrawCommand, first_vertex) == 8, "struct SDL_GPUIndirectDrawCommand.first_vertex: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUIndirectDrawCommand, first_instance) == 12, "struct SDL_GPUIndirectDrawCommand.first_instance: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUIndexedIndirectDrawCommand) == 20, "struct SDL_GPUIndexedIndirectDrawCommand: baked sizeof 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUIndexedIndirectDrawCommand) == 4, "struct SDL_GPUIndexedIndirectDrawCommand: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUIndexedIndirectDrawCommand, num_indices) == 0, "struct SDL_GPUIndexedIndirectDrawCommand.num_indices: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUIndexedIndirectDrawCommand, num_instances) == 4, "struct SDL_GPUIndexedIndirectDrawCommand.num_instances: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUIndexedIndirectDrawCommand, first_index) == 8, "struct SDL_GPUIndexedIndirectDrawCommand.first_index: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUIndexedIndirectDrawCommand, vertex_offset) == 12, "struct SDL_GPUIndexedIndirectDrawCommand.vertex_offset: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUIndexedIndirectDrawCommand, first_instance) == 16, "struct SDL_GPUIndexedIndirectDrawCommand.first_instance: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUIndirectDispatchCommand) == 12, "struct SDL_GPUIndirectDispatchCommand: baked sizeof 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUIndirectDispatchCommand) == 4, "struct SDL_GPUIndirectDispatchCommand: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUIndirectDispatchCommand, groupcount_x) == 0, "struct SDL_GPUIndirectDispatchCommand.groupcount_x: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUIndirectDispatchCommand, groupcount_y) == 4, "struct SDL_GPUIndirectDispatchCommand.groupcount_y: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUIndirectDispatchCommand, groupcount_z) == 8, "struct SDL_GPUIndirectDispatchCommand.groupcount_z: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUSamplerCreateInfo) == 52, "struct SDL_GPUSamplerCreateInfo: baked sizeof 52 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUSamplerCreateInfo) == 4, "struct SDL_GPUSamplerCreateInfo: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, min_filter) == 0, "struct SDL_GPUSamplerCreateInfo.min_filter: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, mag_filter) == 4, "struct SDL_GPUSamplerCreateInfo.mag_filter: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, mipmap_mode) == 8, "struct SDL_GPUSamplerCreateInfo.mipmap_mode: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, address_mode_u) == 12, "struct SDL_GPUSamplerCreateInfo.address_mode_u: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, address_mode_v) == 16, "struct SDL_GPUSamplerCreateInfo.address_mode_v: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, address_mode_w) == 20, "struct SDL_GPUSamplerCreateInfo.address_mode_w: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, mip_lod_bias) == 24, "struct SDL_GPUSamplerCreateInfo.mip_lod_bias: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, max_anisotropy) == 28, "struct SDL_GPUSamplerCreateInfo.max_anisotropy: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, compare_op) == 32, "struct SDL_GPUSamplerCreateInfo.compare_op: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, min_lod) == 36, "struct SDL_GPUSamplerCreateInfo.min_lod: baked offset 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, max_lod) == 40, "struct SDL_GPUSamplerCreateInfo.max_lod: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, enable_anisotropy) == 44, "struct SDL_GPUSamplerCreateInfo.enable_anisotropy: baked offset 44 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, enable_compare) == 45, "struct SDL_GPUSamplerCreateInfo.enable_compare: baked offset 45 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, padding1) == 46, "struct SDL_GPUSamplerCreateInfo.padding1: baked offset 46 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, padding2) == 47, "struct SDL_GPUSamplerCreateInfo.padding2: baked offset 47 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUSamplerCreateInfo, props) == 48, "struct SDL_GPUSamplerCreateInfo.props: baked offset 48 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUVertexBufferDescription) == 16, "struct SDL_GPUVertexBufferDescription: baked sizeof 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUVertexBufferDescription) == 4, "struct SDL_GPUVertexBufferDescription: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUVertexBufferDescription, slot) == 0, "struct SDL_GPUVertexBufferDescription.slot: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUVertexBufferDescription, pitch) == 4, "struct SDL_GPUVertexBufferDescription.pitch: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUVertexBufferDescription, input_rate) == 8, "struct SDL_GPUVertexBufferDescription.input_rate: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUVertexBufferDescription, instance_step_rate) == 12, "struct SDL_GPUVertexBufferDescription.instance_step_rate: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUVertexAttribute) == 16, "struct SDL_GPUVertexAttribute: baked sizeof 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUVertexAttribute) == 4, "struct SDL_GPUVertexAttribute: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUVertexAttribute, location) == 0, "struct SDL_GPUVertexAttribute.location: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUVertexAttribute, buffer_slot) == 4, "struct SDL_GPUVertexAttribute.buffer_slot: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUVertexAttribute, format) == 8, "struct SDL_GPUVertexAttribute.format: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUVertexAttribute, offset) == 12, "struct SDL_GPUVertexAttribute.offset: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUVertexInputState) == 32, "struct SDL_GPUVertexInputState: baked sizeof 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUVertexInputState) == 8, "struct SDL_GPUVertexInputState: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUVertexInputState, vertex_buffer_descriptions) == 0, "struct SDL_GPUVertexInputState.vertex_buffer_descriptions: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUVertexInputState, num_vertex_buffers) == 8, "struct SDL_GPUVertexInputState.num_vertex_buffers: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUVertexInputState, vertex_attributes) == 16, "struct SDL_GPUVertexInputState.vertex_attributes: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUVertexInputState, num_vertex_attributes) == 24, "struct SDL_GPUVertexInputState.num_vertex_attributes: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUStencilOpState) == 16, "struct SDL_GPUStencilOpState: baked sizeof 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUStencilOpState) == 4, "struct SDL_GPUStencilOpState: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUStencilOpState, fail_op) == 0, "struct SDL_GPUStencilOpState.fail_op: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUStencilOpState, pass_op) == 4, "struct SDL_GPUStencilOpState.pass_op: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUStencilOpState, depth_fail_op) == 8, "struct SDL_GPUStencilOpState.depth_fail_op: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUStencilOpState, compare_op) == 12, "struct SDL_GPUStencilOpState.compare_op: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUColorTargetBlendState) == 32, "struct SDL_GPUColorTargetBlendState: baked sizeof 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUColorTargetBlendState) == 4, "struct SDL_GPUColorTargetBlendState: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetBlendState, src_color_blendfactor) == 0, "struct SDL_GPUColorTargetBlendState.src_color_blendfactor: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetBlendState, dst_color_blendfactor) == 4, "struct SDL_GPUColorTargetBlendState.dst_color_blendfactor: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetBlendState, color_blend_op) == 8, "struct SDL_GPUColorTargetBlendState.color_blend_op: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetBlendState, src_alpha_blendfactor) == 12, "struct SDL_GPUColorTargetBlendState.src_alpha_blendfactor: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetBlendState, dst_alpha_blendfactor) == 16, "struct SDL_GPUColorTargetBlendState.dst_alpha_blendfactor: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetBlendState, alpha_blend_op) == 20, "struct SDL_GPUColorTargetBlendState.alpha_blend_op: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetBlendState, color_write_mask) == 24, "struct SDL_GPUColorTargetBlendState.color_write_mask: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetBlendState, enable_blend) == 25, "struct SDL_GPUColorTargetBlendState.enable_blend: baked offset 25 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetBlendState, enable_color_write_mask) == 26, "struct SDL_GPUColorTargetBlendState.enable_color_write_mask: baked offset 26 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetBlendState, padding1) == 27, "struct SDL_GPUColorTargetBlendState.padding1: baked offset 27 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetBlendState, padding2) == 28, "struct SDL_GPUColorTargetBlendState.padding2: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUShaderCreateInfo) == 56, "struct SDL_GPUShaderCreateInfo: baked sizeof 56 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUShaderCreateInfo) == 8, "struct SDL_GPUShaderCreateInfo: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUShaderCreateInfo, code_size) == 0, "struct SDL_GPUShaderCreateInfo.code_size: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUShaderCreateInfo, code) == 8, "struct SDL_GPUShaderCreateInfo.code: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUShaderCreateInfo, entrypoint) == 16, "struct SDL_GPUShaderCreateInfo.entrypoint: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUShaderCreateInfo, format) == 24, "struct SDL_GPUShaderCreateInfo.format: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUShaderCreateInfo, stage) == 28, "struct SDL_GPUShaderCreateInfo.stage: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUShaderCreateInfo, num_samplers) == 32, "struct SDL_GPUShaderCreateInfo.num_samplers: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUShaderCreateInfo, num_storage_textures) == 36, "struct SDL_GPUShaderCreateInfo.num_storage_textures: baked offset 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUShaderCreateInfo, num_storage_buffers) == 40, "struct SDL_GPUShaderCreateInfo.num_storage_buffers: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUShaderCreateInfo, num_uniform_buffers) == 44, "struct SDL_GPUShaderCreateInfo.num_uniform_buffers: baked offset 44 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUShaderCreateInfo, props) == 48, "struct SDL_GPUShaderCreateInfo.props: baked offset 48 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUTextureCreateInfo) == 36, "struct SDL_GPUTextureCreateInfo: baked sizeof 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUTextureCreateInfo) == 4, "struct SDL_GPUTextureCreateInfo: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureCreateInfo, type) == 0, "struct SDL_GPUTextureCreateInfo.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureCreateInfo, format) == 4, "struct SDL_GPUTextureCreateInfo.format: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureCreateInfo, usage) == 8, "struct SDL_GPUTextureCreateInfo.usage: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureCreateInfo, width) == 12, "struct SDL_GPUTextureCreateInfo.width: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureCreateInfo, height) == 16, "struct SDL_GPUTextureCreateInfo.height: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureCreateInfo, layer_count_or_depth) == 20, "struct SDL_GPUTextureCreateInfo.layer_count_or_depth: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureCreateInfo, num_levels) == 24, "struct SDL_GPUTextureCreateInfo.num_levels: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureCreateInfo, sample_count) == 28, "struct SDL_GPUTextureCreateInfo.sample_count: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureCreateInfo, props) == 32, "struct SDL_GPUTextureCreateInfo.props: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUBufferCreateInfo) == 12, "struct SDL_GPUBufferCreateInfo: baked sizeof 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUBufferCreateInfo) == 4, "struct SDL_GPUBufferCreateInfo: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBufferCreateInfo, usage) == 0, "struct SDL_GPUBufferCreateInfo.usage: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBufferCreateInfo, size) == 4, "struct SDL_GPUBufferCreateInfo.size: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBufferCreateInfo, props) == 8, "struct SDL_GPUBufferCreateInfo.props: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUTransferBufferCreateInfo) == 12, "struct SDL_GPUTransferBufferCreateInfo: baked sizeof 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUTransferBufferCreateInfo) == 4, "struct SDL_GPUTransferBufferCreateInfo: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTransferBufferCreateInfo, usage) == 0, "struct SDL_GPUTransferBufferCreateInfo.usage: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTransferBufferCreateInfo, size) == 4, "struct SDL_GPUTransferBufferCreateInfo.size: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTransferBufferCreateInfo, props) == 8, "struct SDL_GPUTransferBufferCreateInfo.props: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPURasterizerState) == 28, "struct SDL_GPURasterizerState: baked sizeof 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPURasterizerState) == 4, "struct SDL_GPURasterizerState: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPURasterizerState, fill_mode) == 0, "struct SDL_GPURasterizerState.fill_mode: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPURasterizerState, cull_mode) == 4, "struct SDL_GPURasterizerState.cull_mode: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPURasterizerState, front_face) == 8, "struct SDL_GPURasterizerState.front_face: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPURasterizerState, depth_bias_constant_factor) == 12, "struct SDL_GPURasterizerState.depth_bias_constant_factor: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPURasterizerState, depth_bias_clamp) == 16, "struct SDL_GPURasterizerState.depth_bias_clamp: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPURasterizerState, depth_bias_slope_factor) == 20, "struct SDL_GPURasterizerState.depth_bias_slope_factor: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPURasterizerState, enable_depth_bias) == 24, "struct SDL_GPURasterizerState.enable_depth_bias: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPURasterizerState, enable_depth_clip) == 25, "struct SDL_GPURasterizerState.enable_depth_clip: baked offset 25 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPURasterizerState, padding1) == 26, "struct SDL_GPURasterizerState.padding1: baked offset 26 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPURasterizerState, padding2) == 27, "struct SDL_GPURasterizerState.padding2: baked offset 27 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUMultisampleState) == 12, "struct SDL_GPUMultisampleState: baked sizeof 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUMultisampleState) == 4, "struct SDL_GPUMultisampleState: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUMultisampleState, sample_count) == 0, "struct SDL_GPUMultisampleState.sample_count: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUMultisampleState, sample_mask) == 4, "struct SDL_GPUMultisampleState.sample_mask: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUMultisampleState, enable_mask) == 8, "struct SDL_GPUMultisampleState.enable_mask: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 4, 0)
+_Static_assert(offsetof(struct SDL_GPUMultisampleState, enable_alpha_to_coverage) == 9, "struct SDL_GPUMultisampleState.enable_alpha_to_coverage: baked offset 9 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+_Static_assert(offsetof(struct SDL_GPUMultisampleState, padding2) == 10, "struct SDL_GPUMultisampleState.padding2: baked offset 10 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUMultisampleState, padding3) == 11, "struct SDL_GPUMultisampleState.padding3: baked offset 11 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUDepthStencilState) == 44, "struct SDL_GPUDepthStencilState: baked sizeof 44 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUDepthStencilState) == 4, "struct SDL_GPUDepthStencilState: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUDepthStencilState, compare_op) == 0, "struct SDL_GPUDepthStencilState.compare_op: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUDepthStencilState, back_stencil_state) == 4, "struct SDL_GPUDepthStencilState.back_stencil_state: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUDepthStencilState, front_stencil_state) == 20, "struct SDL_GPUDepthStencilState.front_stencil_state: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUDepthStencilState, compare_mask) == 36, "struct SDL_GPUDepthStencilState.compare_mask: baked offset 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUDepthStencilState, write_mask) == 37, "struct SDL_GPUDepthStencilState.write_mask: baked offset 37 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUDepthStencilState, enable_depth_test) == 38, "struct SDL_GPUDepthStencilState.enable_depth_test: baked offset 38 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUDepthStencilState, enable_depth_write) == 39, "struct SDL_GPUDepthStencilState.enable_depth_write: baked offset 39 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUDepthStencilState, enable_stencil_test) == 40, "struct SDL_GPUDepthStencilState.enable_stencil_test: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUDepthStencilState, padding1) == 41, "struct SDL_GPUDepthStencilState.padding1: baked offset 41 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUDepthStencilState, padding2) == 42, "struct SDL_GPUDepthStencilState.padding2: baked offset 42 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUDepthStencilState, padding3) == 43, "struct SDL_GPUDepthStencilState.padding3: baked offset 43 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUColorTargetDescription) == 36, "struct SDL_GPUColorTargetDescription: baked sizeof 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUColorTargetDescription) == 4, "struct SDL_GPUColorTargetDescription: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetDescription, format) == 0, "struct SDL_GPUColorTargetDescription.format: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetDescription, blend_state) == 4, "struct SDL_GPUColorTargetDescription.blend_state: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUGraphicsPipelineTargetInfo) == 24, "struct SDL_GPUGraphicsPipelineTargetInfo: baked sizeof 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUGraphicsPipelineTargetInfo) == 8, "struct SDL_GPUGraphicsPipelineTargetInfo: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineTargetInfo, color_target_descriptions) == 0, "struct SDL_GPUGraphicsPipelineTargetInfo.color_target_descriptions: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineTargetInfo, num_color_targets) == 8, "struct SDL_GPUGraphicsPipelineTargetInfo.num_color_targets: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineTargetInfo, depth_stencil_format) == 12, "struct SDL_GPUGraphicsPipelineTargetInfo.depth_stencil_format: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineTargetInfo, has_depth_stencil_target) == 16, "struct SDL_GPUGraphicsPipelineTargetInfo.has_depth_stencil_target: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineTargetInfo, padding1) == 17, "struct SDL_GPUGraphicsPipelineTargetInfo.padding1: baked offset 17 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineTargetInfo, padding2) == 18, "struct SDL_GPUGraphicsPipelineTargetInfo.padding2: baked offset 18 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineTargetInfo, padding3) == 19, "struct SDL_GPUGraphicsPipelineTargetInfo.padding3: baked offset 19 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUGraphicsPipelineCreateInfo) == 168, "struct SDL_GPUGraphicsPipelineCreateInfo: baked sizeof 168 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUGraphicsPipelineCreateInfo) == 8, "struct SDL_GPUGraphicsPipelineCreateInfo: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineCreateInfo, vertex_shader) == 0, "struct SDL_GPUGraphicsPipelineCreateInfo.vertex_shader: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineCreateInfo, fragment_shader) == 8, "struct SDL_GPUGraphicsPipelineCreateInfo.fragment_shader: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineCreateInfo, vertex_input_state) == 16, "struct SDL_GPUGraphicsPipelineCreateInfo.vertex_input_state: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineCreateInfo, primitive_type) == 48, "struct SDL_GPUGraphicsPipelineCreateInfo.primitive_type: baked offset 48 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineCreateInfo, rasterizer_state) == 52, "struct SDL_GPUGraphicsPipelineCreateInfo.rasterizer_state: baked offset 52 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineCreateInfo, multisample_state) == 80, "struct SDL_GPUGraphicsPipelineCreateInfo.multisample_state: baked offset 80 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineCreateInfo, depth_stencil_state) == 92, "struct SDL_GPUGraphicsPipelineCreateInfo.depth_stencil_state: baked offset 92 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineCreateInfo, target_info) == 136, "struct SDL_GPUGraphicsPipelineCreateInfo.target_info: baked offset 136 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUGraphicsPipelineCreateInfo, props) == 160, "struct SDL_GPUGraphicsPipelineCreateInfo.props: baked offset 160 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUComputePipelineCreateInfo) == 72, "struct SDL_GPUComputePipelineCreateInfo: baked sizeof 72 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUComputePipelineCreateInfo) == 8, "struct SDL_GPUComputePipelineCreateInfo: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, code_size) == 0, "struct SDL_GPUComputePipelineCreateInfo.code_size: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, code) == 8, "struct SDL_GPUComputePipelineCreateInfo.code: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, entrypoint) == 16, "struct SDL_GPUComputePipelineCreateInfo.entrypoint: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, format) == 24, "struct SDL_GPUComputePipelineCreateInfo.format: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, num_samplers) == 28, "struct SDL_GPUComputePipelineCreateInfo.num_samplers: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, num_readonly_storage_textures) == 32, "struct SDL_GPUComputePipelineCreateInfo.num_readonly_storage_textures: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, num_readonly_storage_buffers) == 36, "struct SDL_GPUComputePipelineCreateInfo.num_readonly_storage_buffers: baked offset 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, num_readwrite_storage_textures) == 40, "struct SDL_GPUComputePipelineCreateInfo.num_readwrite_storage_textures: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, num_readwrite_storage_buffers) == 44, "struct SDL_GPUComputePipelineCreateInfo.num_readwrite_storage_buffers: baked offset 44 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, num_uniform_buffers) == 48, "struct SDL_GPUComputePipelineCreateInfo.num_uniform_buffers: baked offset 48 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, threadcount_x) == 52, "struct SDL_GPUComputePipelineCreateInfo.threadcount_x: baked offset 52 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, threadcount_y) == 56, "struct SDL_GPUComputePipelineCreateInfo.threadcount_y: baked offset 56 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, threadcount_z) == 60, "struct SDL_GPUComputePipelineCreateInfo.threadcount_z: baked offset 60 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUComputePipelineCreateInfo, props) == 64, "struct SDL_GPUComputePipelineCreateInfo.props: baked offset 64 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUColorTargetInfo) == 64, "struct SDL_GPUColorTargetInfo: baked sizeof 64 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUColorTargetInfo) == 8, "struct SDL_GPUColorTargetInfo: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, texture) == 0, "struct SDL_GPUColorTargetInfo.texture: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, mip_level) == 8, "struct SDL_GPUColorTargetInfo.mip_level: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, layer_or_depth_plane) == 12, "struct SDL_GPUColorTargetInfo.layer_or_depth_plane: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, clear_color) == 16, "struct SDL_GPUColorTargetInfo.clear_color: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, load_op) == 32, "struct SDL_GPUColorTargetInfo.load_op: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, store_op) == 36, "struct SDL_GPUColorTargetInfo.store_op: baked offset 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, resolve_texture) == 40, "struct SDL_GPUColorTargetInfo.resolve_texture: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, resolve_mip_level) == 48, "struct SDL_GPUColorTargetInfo.resolve_mip_level: baked offset 48 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, resolve_layer) == 52, "struct SDL_GPUColorTargetInfo.resolve_layer: baked offset 52 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, cycle) == 56, "struct SDL_GPUColorTargetInfo.cycle: baked offset 56 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, cycle_resolve_texture) == 57, "struct SDL_GPUColorTargetInfo.cycle_resolve_texture: baked offset 57 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, padding1) == 58, "struct SDL_GPUColorTargetInfo.padding1: baked offset 58 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUColorTargetInfo, padding2) == 59, "struct SDL_GPUColorTargetInfo.padding2: baked offset 59 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUDepthStencilTargetInfo) == 32, "struct SDL_GPUDepthStencilTargetInfo: baked sizeof 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUDepthStencilTargetInfo) == 8, "struct SDL_GPUDepthStencilTargetInfo: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUDepthStencilTargetInfo, texture) == 0, "struct SDL_GPUDepthStencilTargetInfo.texture: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUDepthStencilTargetInfo, clear_depth) == 8, "struct SDL_GPUDepthStencilTargetInfo.clear_depth: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUDepthStencilTargetInfo, load_op) == 12, "struct SDL_GPUDepthStencilTargetInfo.load_op: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUDepthStencilTargetInfo, store_op) == 16, "struct SDL_GPUDepthStencilTargetInfo.store_op: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUDepthStencilTargetInfo, stencil_load_op) == 20, "struct SDL_GPUDepthStencilTargetInfo.stencil_load_op: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUDepthStencilTargetInfo, stencil_store_op) == 24, "struct SDL_GPUDepthStencilTargetInfo.stencil_store_op: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUDepthStencilTargetInfo, cycle) == 28, "struct SDL_GPUDepthStencilTargetInfo.cycle: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUDepthStencilTargetInfo, clear_stencil) == 29, "struct SDL_GPUDepthStencilTargetInfo.clear_stencil: baked offset 29 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 4, 0)
+_Static_assert(offsetof(struct SDL_GPUDepthStencilTargetInfo, mip_level) == 30, "struct SDL_GPUDepthStencilTargetInfo.mip_level: baked offset 30 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUDepthStencilTargetInfo, layer) == 31, "struct SDL_GPUDepthStencilTargetInfo.layer: baked offset 31 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+_Static_assert(sizeof(struct SDL_GPUBlitInfo) == 96, "struct SDL_GPUBlitInfo: baked sizeof 96 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUBlitInfo) == 8, "struct SDL_GPUBlitInfo: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBlitInfo, source) == 0, "struct SDL_GPUBlitInfo.source: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBlitInfo, destination) == 32, "struct SDL_GPUBlitInfo.destination: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBlitInfo, load_op) == 64, "struct SDL_GPUBlitInfo.load_op: baked offset 64 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBlitInfo, clear_color) == 68, "struct SDL_GPUBlitInfo.clear_color: baked offset 68 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBlitInfo, flip_mode) == 84, "struct SDL_GPUBlitInfo.flip_mode: baked offset 84 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBlitInfo, filter) == 88, "struct SDL_GPUBlitInfo.filter: baked offset 88 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBlitInfo, cycle) == 92, "struct SDL_GPUBlitInfo.cycle: baked offset 92 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBlitInfo, padding1) == 93, "struct SDL_GPUBlitInfo.padding1: baked offset 93 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBlitInfo, padding2) == 94, "struct SDL_GPUBlitInfo.padding2: baked offset 94 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBlitInfo, padding3) == 95, "struct SDL_GPUBlitInfo.padding3: baked offset 95 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUBufferBinding) == 16, "struct SDL_GPUBufferBinding: baked sizeof 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUBufferBinding) == 8, "struct SDL_GPUBufferBinding: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBufferBinding, buffer) == 0, "struct SDL_GPUBufferBinding.buffer: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUBufferBinding, offset) == 8, "struct SDL_GPUBufferBinding.offset: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUTextureSamplerBinding) == 16, "struct SDL_GPUTextureSamplerBinding: baked sizeof 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUTextureSamplerBinding) == 8, "struct SDL_GPUTextureSamplerBinding: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureSamplerBinding, texture) == 0, "struct SDL_GPUTextureSamplerBinding.texture: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUTextureSamplerBinding, sampler) == 8, "struct SDL_GPUTextureSamplerBinding.sampler: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUStorageBufferReadWriteBinding) == 16, "struct SDL_GPUStorageBufferReadWriteBinding: baked sizeof 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUStorageBufferReadWriteBinding) == 8, "struct SDL_GPUStorageBufferReadWriteBinding: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUStorageBufferReadWriteBinding, buffer) == 0, "struct SDL_GPUStorageBufferReadWriteBinding.buffer: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUStorageBufferReadWriteBinding, cycle) == 8, "struct SDL_GPUStorageBufferReadWriteBinding.cycle: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUStorageBufferReadWriteBinding, padding1) == 9, "struct SDL_GPUStorageBufferReadWriteBinding.padding1: baked offset 9 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUStorageBufferReadWriteBinding, padding2) == 10, "struct SDL_GPUStorageBufferReadWriteBinding.padding2: baked offset 10 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUStorageBufferReadWriteBinding, padding3) == 11, "struct SDL_GPUStorageBufferReadWriteBinding.padding3: baked offset 11 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_GPUStorageTextureReadWriteBinding) == 24, "struct SDL_GPUStorageTextureReadWriteBinding: baked sizeof 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUStorageTextureReadWriteBinding) == 8, "struct SDL_GPUStorageTextureReadWriteBinding: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUStorageTextureReadWriteBinding, texture) == 0, "struct SDL_GPUStorageTextureReadWriteBinding.texture: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUStorageTextureReadWriteBinding, mip_level) == 8, "struct SDL_GPUStorageTextureReadWriteBinding.mip_level: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUStorageTextureReadWriteBinding, layer) == 12, "struct SDL_GPUStorageTextureReadWriteBinding.layer: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUStorageTextureReadWriteBinding, cycle) == 16, "struct SDL_GPUStorageTextureReadWriteBinding.cycle: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUStorageTextureReadWriteBinding, padding1) == 17, "struct SDL_GPUStorageTextureReadWriteBinding.padding1: baked offset 17 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUStorageTextureReadWriteBinding, padding2) == 18, "struct SDL_GPUStorageTextureReadWriteBinding.padding2: baked offset 18 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUStorageTextureReadWriteBinding, padding3) == 19, "struct SDL_GPUStorageTextureReadWriteBinding.padding3: baked offset 19 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 4, 0)
+_Static_assert(sizeof(struct SDL_GPUVulkanOptions) == 56, "struct SDL_GPUVulkanOptions: baked sizeof 56 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPUVulkanOptions) == 8, "struct SDL_GPUVulkanOptions: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUVulkanOptions, vulkan_api_version) == 0, "struct SDL_GPUVulkanOptions.vulkan_api_version: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUVulkanOptions, feature_list) == 8, "struct SDL_GPUVulkanOptions.feature_list: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUVulkanOptions, vulkan_10_physical_device_features) == 16, "struct SDL_GPUVulkanOptions.vulkan_10_physical_device_features: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUVulkanOptions, device_extension_count) == 24, "struct SDL_GPUVulkanOptions.device_extension_count: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUVulkanOptions, device_extension_names) == 32, "struct SDL_GPUVulkanOptions.device_extension_names: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUVulkanOptions, instance_extension_count) == 40, "struct SDL_GPUVulkanOptions.instance_extension_count: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPUVulkanOptions, instance_extension_names) == 48, "struct SDL_GPUVulkanOptions.instance_extension_names: baked offset 48 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+
+/* ---- SDL_haptic.h ---- */
+_Static_assert(sizeof(struct SDL_HapticDirection) == 16, "struct SDL_HapticDirection: baked sizeof 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_HapticDirection) == 4, "struct SDL_HapticDirection: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticDirection, type) == 0, "struct SDL_HapticDirection.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticDirection, dir) == 4, "struct SDL_HapticDirection.dir: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_HapticConstant) LITHON_ABI_PREFIX_OP 40, "struct SDL_HapticConstant: baked sizeof 40 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_HapticConstant) == 4, "struct SDL_HapticConstant: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticConstant, type) == 0, "struct SDL_HapticConstant.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticConstant, direction) == 4, "struct SDL_HapticConstant.direction: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticConstant, length) == 20, "struct SDL_HapticConstant.length: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticConstant, delay) == 24, "struct SDL_HapticConstant.delay: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticConstant, button) == 26, "struct SDL_HapticConstant.button: baked offset 26 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticConstant, interval) == 28, "struct SDL_HapticConstant.interval: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticConstant, level) == 30, "struct SDL_HapticConstant.level: baked offset 30 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticConstant, attack_length) == 32, "struct SDL_HapticConstant.attack_length: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticConstant, attack_level) == 34, "struct SDL_HapticConstant.attack_level: baked offset 34 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticConstant, fade_length) == 36, "struct SDL_HapticConstant.fade_length: baked offset 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticConstant, fade_level) == 38, "struct SDL_HapticConstant.fade_level: baked offset 38 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_HapticPeriodic) LITHON_ABI_PREFIX_OP 48, "struct SDL_HapticPeriodic: baked sizeof 48 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_HapticPeriodic) == 4, "struct SDL_HapticPeriodic: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticPeriodic, type) == 0, "struct SDL_HapticPeriodic.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticPeriodic, direction) == 4, "struct SDL_HapticPeriodic.direction: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticPeriodic, length) == 20, "struct SDL_HapticPeriodic.length: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticPeriodic, delay) == 24, "struct SDL_HapticPeriodic.delay: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticPeriodic, button) == 26, "struct SDL_HapticPeriodic.button: baked offset 26 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticPeriodic, interval) == 28, "struct SDL_HapticPeriodic.interval: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticPeriodic, period) == 30, "struct SDL_HapticPeriodic.period: baked offset 30 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticPeriodic, magnitude) == 32, "struct SDL_HapticPeriodic.magnitude: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticPeriodic, offset) == 34, "struct SDL_HapticPeriodic.offset: baked offset 34 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticPeriodic, phase) == 36, "struct SDL_HapticPeriodic.phase: baked offset 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticPeriodic, attack_length) == 38, "struct SDL_HapticPeriodic.attack_length: baked offset 38 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticPeriodic, attack_level) == 40, "struct SDL_HapticPeriodic.attack_level: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticPeriodic, fade_length) == 42, "struct SDL_HapticPeriodic.fade_length: baked offset 42 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticPeriodic, fade_level) == 44, "struct SDL_HapticPeriodic.fade_level: baked offset 44 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_HapticCondition) LITHON_ABI_PREFIX_OP 68, "struct SDL_HapticCondition: baked sizeof 68 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_HapticCondition) == 4, "struct SDL_HapticCondition: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCondition, type) == 0, "struct SDL_HapticCondition.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCondition, direction) == 4, "struct SDL_HapticCondition.direction: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCondition, length) == 20, "struct SDL_HapticCondition.length: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCondition, delay) == 24, "struct SDL_HapticCondition.delay: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCondition, button) == 26, "struct SDL_HapticCondition.button: baked offset 26 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCondition, interval) == 28, "struct SDL_HapticCondition.interval: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCondition, right_sat) == 30, "struct SDL_HapticCondition.right_sat: baked offset 30 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCondition, left_sat) == 36, "struct SDL_HapticCondition.left_sat: baked offset 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCondition, right_coeff) == 42, "struct SDL_HapticCondition.right_coeff: baked offset 42 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCondition, left_coeff) == 48, "struct SDL_HapticCondition.left_coeff: baked offset 48 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCondition, deadband) == 54, "struct SDL_HapticCondition.deadband: baked offset 54 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCondition, center) == 60, "struct SDL_HapticCondition.center: baked offset 60 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_HapticRamp) LITHON_ABI_PREFIX_OP 44, "struct SDL_HapticRamp: baked sizeof 44 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_HapticRamp) == 4, "struct SDL_HapticRamp: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticRamp, type) == 0, "struct SDL_HapticRamp.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticRamp, direction) == 4, "struct SDL_HapticRamp.direction: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticRamp, length) == 20, "struct SDL_HapticRamp.length: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticRamp, delay) == 24, "struct SDL_HapticRamp.delay: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticRamp, button) == 26, "struct SDL_HapticRamp.button: baked offset 26 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticRamp, interval) == 28, "struct SDL_HapticRamp.interval: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticRamp, start) == 30, "struct SDL_HapticRamp.start: baked offset 30 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticRamp, end) == 32, "struct SDL_HapticRamp.end: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticRamp, attack_length) == 34, "struct SDL_HapticRamp.attack_length: baked offset 34 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticRamp, attack_level) == 36, "struct SDL_HapticRamp.attack_level: baked offset 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticRamp, fade_length) == 38, "struct SDL_HapticRamp.fade_length: baked offset 38 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticRamp, fade_level) == 40, "struct SDL_HapticRamp.fade_level: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_HapticLeftRight) LITHON_ABI_PREFIX_OP 12, "struct SDL_HapticLeftRight: baked sizeof 12 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_HapticLeftRight) == 4, "struct SDL_HapticLeftRight: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticLeftRight, type) == 0, "struct SDL_HapticLeftRight.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticLeftRight, length) == 4, "struct SDL_HapticLeftRight.length: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticLeftRight, large_magnitude) == 8, "struct SDL_HapticLeftRight.large_magnitude: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticLeftRight, small_magnitude) == 10, "struct SDL_HapticLeftRight.small_magnitude: baked offset 10 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_HapticCustom) LITHON_ABI_PREFIX_OP 56, "struct SDL_HapticCustom: baked sizeof 56 " LITHON_ABI_PREFIX_MSG LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_HapticCustom) == 8, "struct SDL_HapticCustom: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCustom, type) == 0, "struct SDL_HapticCustom.type: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCustom, direction) == 4, "struct SDL_HapticCustom.direction: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCustom, length) == 20, "struct SDL_HapticCustom.length: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCustom, delay) == 24, "struct SDL_HapticCustom.delay: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCustom, button) == 26, "struct SDL_HapticCustom.button: baked offset 26 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCustom, interval) == 28, "struct SDL_HapticCustom.interval: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCustom, channels) == 30, "struct SDL_HapticCustom.channels: baked offset 30 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCustom, period) == 32, "struct SDL_HapticCustom.period: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCustom, samples) == 34, "struct SDL_HapticCustom.samples: baked offset 34 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCustom, data) == 40, "struct SDL_HapticCustom.data: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCustom, attack_length) == 48, "struct SDL_HapticCustom.attack_length: baked offset 48 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCustom, attack_level) == 50, "struct SDL_HapticCustom.attack_level: baked offset 50 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCustom, fade_length) == 52, "struct SDL_HapticCustom.fade_length: baked offset 52 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_HapticCustom, fade_level) == 54, "struct SDL_HapticCustom.fade_level: baked offset 54 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(union SDL_HapticEffect) == 72, "union SDL_HapticEffect: baked sizeof 72 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(union SDL_HapticEffect) == 8, "union SDL_HapticEffect: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_hidapi.h ---- */
+_Static_assert(sizeof(enum SDL_hid_bus_type) == 4, "enum SDL_hid_bus_type: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_hid_bus_type) == 4, "enum SDL_hid_bus_type: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HID_API_BUS_UNKNOWN) == (0), "SDL_HID_API_BUS_UNKNOWN: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HID_API_BUS_USB) == (1), "SDL_HID_API_BUS_USB: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HID_API_BUS_BLUETOOTH) == (2), "SDL_HID_API_BUS_BLUETOOTH: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HID_API_BUS_I2C) == (3), "SDL_HID_API_BUS_I2C: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HID_API_BUS_SPI) == (4), "SDL_HID_API_BUS_SPI: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_hid_device_info) == 80, "struct SDL_hid_device_info: baked sizeof 80 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_hid_device_info) == 8, "struct SDL_hid_device_info: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_hid_device_info, path) == 0, "struct SDL_hid_device_info.path: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_hid_device_info, vendor_id) == 8, "struct SDL_hid_device_info.vendor_id: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_hid_device_info, product_id) == 10, "struct SDL_hid_device_info.product_id: baked offset 10 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_hid_device_info, serial_number) == 16, "struct SDL_hid_device_info.serial_number: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_hid_device_info, release_number) == 24, "struct SDL_hid_device_info.release_number: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_hid_device_info, manufacturer_string) == 32, "struct SDL_hid_device_info.manufacturer_string: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_hid_device_info, product_string) == 40, "struct SDL_hid_device_info.product_string: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_hid_device_info, usage_page) == 48, "struct SDL_hid_device_info.usage_page: baked offset 48 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_hid_device_info, usage) == 50, "struct SDL_hid_device_info.usage: baked offset 50 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_hid_device_info, interface_number) == 52, "struct SDL_hid_device_info.interface_number: baked offset 52 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_hid_device_info, interface_class) == 56, "struct SDL_hid_device_info.interface_class: baked offset 56 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_hid_device_info, interface_subclass) == 60, "struct SDL_hid_device_info.interface_subclass: baked offset 60 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_hid_device_info, interface_protocol) == 64, "struct SDL_hid_device_info.interface_protocol: baked offset 64 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_hid_device_info, bus_type) == 68, "struct SDL_hid_device_info.bus_type: baked offset 68 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_hid_device_info, next) == 72, "struct SDL_hid_device_info.next: baked offset 72 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_hints.h ---- */
+_Static_assert(sizeof(enum SDL_HintPriority) == 4, "enum SDL_HintPriority: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_HintPriority) == 4, "enum SDL_HintPriority: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HINT_DEFAULT) == (0), "SDL_HINT_DEFAULT: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HINT_NORMAL) == (1), "SDL_HINT_NORMAL: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HINT_OVERRIDE) == (2), "SDL_HINT_OVERRIDE: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_init.h ---- */
+_Static_assert(sizeof(enum SDL_AppResult) == 4, "enum SDL_AppResult: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_AppResult) == 4, "enum SDL_AppResult: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_APP_CONTINUE) == (0), "SDL_APP_CONTINUE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_APP_SUCCESS) == (1), "SDL_APP_SUCCESS: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_APP_FAILURE) == (2), "SDL_APP_FAILURE: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_locale.h ---- */
+_Static_assert(sizeof(struct SDL_Locale) == 16, "struct SDL_Locale: baked sizeof 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_Locale) == 8, "struct SDL_Locale: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Locale, language) == 0, "struct SDL_Locale.language: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Locale, country) == 8, "struct SDL_Locale.country: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_log.h ---- */
+_Static_assert(sizeof(enum SDL_LogCategory) == 4, "enum SDL_LogCategory: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_LogCategory) == 4, "enum SDL_LogCategory: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_CATEGORY_APPLICATION) == (0), "SDL_LOG_CATEGORY_APPLICATION: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_CATEGORY_ERROR) == (1), "SDL_LOG_CATEGORY_ERROR: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_CATEGORY_ASSERT) == (2), "SDL_LOG_CATEGORY_ASSERT: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_CATEGORY_SYSTEM) == (3), "SDL_LOG_CATEGORY_SYSTEM: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_CATEGORY_AUDIO) == (4), "SDL_LOG_CATEGORY_AUDIO: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_CATEGORY_VIDEO) == (5), "SDL_LOG_CATEGORY_VIDEO: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_CATEGORY_RENDER) == (6), "SDL_LOG_CATEGORY_RENDER: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_CATEGORY_INPUT) == (7), "SDL_LOG_CATEGORY_INPUT: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_CATEGORY_TEST) == (8), "SDL_LOG_CATEGORY_TEST: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_CATEGORY_GPU) == (9), "SDL_LOG_CATEGORY_GPU: baked value 9 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_CATEGORY_RESERVED2) == (10), "SDL_LOG_CATEGORY_RESERVED2: baked value 10 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_CATEGORY_RESERVED3) == (11), "SDL_LOG_CATEGORY_RESERVED3: baked value 11 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_CATEGORY_RESERVED4) == (12), "SDL_LOG_CATEGORY_RESERVED4: baked value 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_CATEGORY_RESERVED5) == (13), "SDL_LOG_CATEGORY_RESERVED5: baked value 13 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_CATEGORY_RESERVED6) == (14), "SDL_LOG_CATEGORY_RESERVED6: baked value 14 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_CATEGORY_RESERVED7) == (15), "SDL_LOG_CATEGORY_RESERVED7: baked value 15 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_CATEGORY_RESERVED8) == (16), "SDL_LOG_CATEGORY_RESERVED8: baked value 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_CATEGORY_RESERVED9) == (17), "SDL_LOG_CATEGORY_RESERVED9: baked value 17 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_CATEGORY_RESERVED10) == (18), "SDL_LOG_CATEGORY_RESERVED10: baked value 18 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_CATEGORY_CUSTOM) == (19), "SDL_LOG_CATEGORY_CUSTOM: baked value 19 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_LogPriority) == 4, "enum SDL_LogPriority: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_LogPriority) == 4, "enum SDL_LogPriority: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_PRIORITY_INVALID) == (0), "SDL_LOG_PRIORITY_INVALID: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_PRIORITY_TRACE) == (1), "SDL_LOG_PRIORITY_TRACE: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_PRIORITY_VERBOSE) == (2), "SDL_LOG_PRIORITY_VERBOSE: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_PRIORITY_DEBUG) == (3), "SDL_LOG_PRIORITY_DEBUG: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_PRIORITY_INFO) == (4), "SDL_LOG_PRIORITY_INFO: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_PRIORITY_WARN) == (5), "SDL_LOG_PRIORITY_WARN: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_PRIORITY_ERROR) == (6), "SDL_LOG_PRIORITY_ERROR: baked value 6 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_PRIORITY_CRITICAL) == (7), "SDL_LOG_PRIORITY_CRITICAL: baked value 7 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOG_PRIORITY_COUNT) == (8), "SDL_LOG_PRIORITY_COUNT: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_messagebox.h ---- */
+_Static_assert(sizeof(struct SDL_MessageBoxButtonData) == 16, "struct SDL_MessageBoxButtonData: baked sizeof 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_MessageBoxButtonData) == 8, "struct SDL_MessageBoxButtonData: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MessageBoxButtonData, flags) == 0, "struct SDL_MessageBoxButtonData.flags: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MessageBoxButtonData, buttonID) == 4, "struct SDL_MessageBoxButtonData.buttonID: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MessageBoxButtonData, text) == 8, "struct SDL_MessageBoxButtonData.text: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_MessageBoxColor) == 3, "struct SDL_MessageBoxColor: baked sizeof 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_MessageBoxColor) == 1, "struct SDL_MessageBoxColor: baked alignment 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MessageBoxColor, r) == 0, "struct SDL_MessageBoxColor.r: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MessageBoxColor, g) == 1, "struct SDL_MessageBoxColor.g: baked offset 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MessageBoxColor, b) == 2, "struct SDL_MessageBoxColor.b: baked offset 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_MessageBoxColorType) == 4, "enum SDL_MessageBoxColorType: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_MessageBoxColorType) == 4, "enum SDL_MessageBoxColorType: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MESSAGEBOX_COLOR_BACKGROUND) == (0), "SDL_MESSAGEBOX_COLOR_BACKGROUND: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MESSAGEBOX_COLOR_TEXT) == (1), "SDL_MESSAGEBOX_COLOR_TEXT: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MESSAGEBOX_COLOR_BUTTON_BORDER) == (2), "SDL_MESSAGEBOX_COLOR_BUTTON_BORDER: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MESSAGEBOX_COLOR_BUTTON_BACKGROUND) == (3), "SDL_MESSAGEBOX_COLOR_BUTTON_BACKGROUND: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MESSAGEBOX_COLOR_BUTTON_SELECTED) == (4), "SDL_MESSAGEBOX_COLOR_BUTTON_SELECTED: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MESSAGEBOX_COLOR_COUNT) == (5), "SDL_MESSAGEBOX_COLOR_COUNT: baked value 5 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_MessageBoxColorScheme) == 15, "struct SDL_MessageBoxColorScheme: baked sizeof 15 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_MessageBoxColorScheme) == 1, "struct SDL_MessageBoxColorScheme: baked alignment 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MessageBoxColorScheme, colors) == 0, "struct SDL_MessageBoxColorScheme.colors: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_MessageBoxData) == 56, "struct SDL_MessageBoxData: baked sizeof 56 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_MessageBoxData) == 8, "struct SDL_MessageBoxData: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MessageBoxData, flags) == 0, "struct SDL_MessageBoxData.flags: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MessageBoxData, window) == 8, "struct SDL_MessageBoxData.window: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MessageBoxData, title) == 16, "struct SDL_MessageBoxData.title: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MessageBoxData, message) == 24, "struct SDL_MessageBoxData.message: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MessageBoxData, numbuttons) == 32, "struct SDL_MessageBoxData.numbuttons: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MessageBoxData, buttons) == 40, "struct SDL_MessageBoxData.buttons: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_MessageBoxData, colorScheme) == 48, "struct SDL_MessageBoxData.colorScheme: baked offset 48 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_process.h ---- */
+_Static_assert(sizeof(enum SDL_ProcessIO) == 4, "enum SDL_ProcessIO: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_ProcessIO) == 4, "enum SDL_ProcessIO: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PROCESS_STDIO_INHERITED) == (0), "SDL_PROCESS_STDIO_INHERITED: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PROCESS_STDIO_NULL) == (1), "SDL_PROCESS_STDIO_NULL: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PROCESS_STDIO_APP) == (2), "SDL_PROCESS_STDIO_APP: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PROCESS_STDIO_REDIRECT) == (3), "SDL_PROCESS_STDIO_REDIRECT: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_render.h ---- */
+_Static_assert(sizeof(struct SDL_Vertex) == 32, "struct SDL_Vertex: baked sizeof 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_Vertex) == 4, "struct SDL_Vertex: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Vertex, position) == 0, "struct SDL_Vertex.position: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Vertex, color) == 8, "struct SDL_Vertex.color: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Vertex, tex_coord) == 24, "struct SDL_Vertex.tex_coord: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_TextureAccess) == 4, "enum SDL_TextureAccess: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_TextureAccess) == 4, "enum SDL_TextureAccess: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TEXTUREACCESS_STATIC) == (0), "SDL_TEXTUREACCESS_STATIC: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TEXTUREACCESS_STREAMING) == (1), "SDL_TEXTUREACCESS_STREAMING: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TEXTUREACCESS_TARGET) == (2), "SDL_TEXTUREACCESS_TARGET: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 4, 0)
+_Static_assert(sizeof(enum SDL_TextureAddressMode) == 4, "enum SDL_TextureAddressMode: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_TextureAddressMode) == 4, "enum SDL_TextureAddressMode: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TEXTURE_ADDRESS_INVALID) == (-1), "SDL_TEXTURE_ADDRESS_INVALID: baked value -1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TEXTURE_ADDRESS_AUTO) == (0), "SDL_TEXTURE_ADDRESS_AUTO: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TEXTURE_ADDRESS_CLAMP) == (1), "SDL_TEXTURE_ADDRESS_CLAMP: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TEXTURE_ADDRESS_WRAP) == (2), "SDL_TEXTURE_ADDRESS_WRAP: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+_Static_assert(sizeof(enum SDL_RendererLogicalPresentation) == 4, "enum SDL_RendererLogicalPresentation: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_RendererLogicalPresentation) == 4, "enum SDL_RendererLogicalPresentation: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOGICAL_PRESENTATION_DISABLED) == (0), "SDL_LOGICAL_PRESENTATION_DISABLED: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOGICAL_PRESENTATION_STRETCH) == (1), "SDL_LOGICAL_PRESENTATION_STRETCH: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOGICAL_PRESENTATION_LETTERBOX) == (2), "SDL_LOGICAL_PRESENTATION_LETTERBOX: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOGICAL_PRESENTATION_OVERSCAN) == (3), "SDL_LOGICAL_PRESENTATION_OVERSCAN: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_LOGICAL_PRESENTATION_INTEGER_SCALE) == (4), "SDL_LOGICAL_PRESENTATION_INTEGER_SCALE: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(struct SDL_Texture) == 16, "struct SDL_Texture: baked sizeof 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_Texture) == 4, "struct SDL_Texture: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Texture, format) == 0, "struct SDL_Texture.format: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Texture, w) == 4, "struct SDL_Texture.w: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Texture, h) == 8, "struct SDL_Texture.h: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_Texture, refcount) == 12, "struct SDL_Texture.refcount: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 4, 0)
+_Static_assert(sizeof(struct SDL_GPURenderStateCreateInfo) == 64, "struct SDL_GPURenderStateCreateInfo: baked sizeof 64 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_GPURenderStateCreateInfo) == 8, "struct SDL_GPURenderStateCreateInfo: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPURenderStateCreateInfo, fragment_shader) == 0, "struct SDL_GPURenderStateCreateInfo.fragment_shader: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPURenderStateCreateInfo, num_sampler_bindings) == 8, "struct SDL_GPURenderStateCreateInfo.num_sampler_bindings: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPURenderStateCreateInfo, sampler_bindings) == 16, "struct SDL_GPURenderStateCreateInfo.sampler_bindings: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPURenderStateCreateInfo, num_storage_textures) == 24, "struct SDL_GPURenderStateCreateInfo.num_storage_textures: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPURenderStateCreateInfo, storage_textures) == 32, "struct SDL_GPURenderStateCreateInfo.storage_textures: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPURenderStateCreateInfo, num_storage_buffers) == 40, "struct SDL_GPURenderStateCreateInfo.num_storage_buffers: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPURenderStateCreateInfo, storage_buffers) == 48, "struct SDL_GPURenderStateCreateInfo.storage_buffers: baked offset 48 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_GPURenderStateCreateInfo, props) == 56, "struct SDL_GPURenderStateCreateInfo.props: baked offset 56 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+
+/* ---- SDL_storage.h ---- */
+_Static_assert(sizeof(struct SDL_StorageInterface) == 96, "struct SDL_StorageInterface: baked sizeof 96 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_StorageInterface) == 8, "struct SDL_StorageInterface: baked alignment 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_StorageInterface, version) == 0, "struct SDL_StorageInterface.version: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_StorageInterface, close) == 8, "struct SDL_StorageInterface.close: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_StorageInterface, ready) == 16, "struct SDL_StorageInterface.ready: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_StorageInterface, enumerate) == 24, "struct SDL_StorageInterface.enumerate: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_StorageInterface, info) == 32, "struct SDL_StorageInterface.info: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_StorageInterface, read_file) == 40, "struct SDL_StorageInterface.read_file: baked offset 40 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_StorageInterface, write_file) == 48, "struct SDL_StorageInterface.write_file: baked offset 48 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_StorageInterface, mkdir) == 56, "struct SDL_StorageInterface.mkdir: baked offset 56 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_StorageInterface, remove) == 64, "struct SDL_StorageInterface.remove: baked offset 64 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_StorageInterface, rename) == 72, "struct SDL_StorageInterface.rename: baked offset 72 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_StorageInterface, copy) == 80, "struct SDL_StorageInterface.copy: baked offset 80 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_StorageInterface, space_remaining) == 88, "struct SDL_StorageInterface.space_remaining: baked offset 88 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_system.h ---- */
+_Static_assert(sizeof(enum SDL_Sandbox) == 4, "enum SDL_Sandbox: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_Sandbox) == 4, "enum SDL_Sandbox: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SANDBOX_NONE) == (0), "SDL_SANDBOX_NONE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SANDBOX_UNKNOWN_CONTAINER) == (1), "SDL_SANDBOX_UNKNOWN_CONTAINER: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SANDBOX_FLATPAK) == (2), "SDL_SANDBOX_FLATPAK: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SANDBOX_SNAP) == (3), "SDL_SANDBOX_SNAP: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SANDBOX_MACOS) == (4), "SDL_SANDBOX_MACOS: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_time.h ---- */
+_Static_assert(sizeof(struct SDL_DateTime) == 36, "struct SDL_DateTime: baked sizeof 36 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(struct SDL_DateTime) == 4, "struct SDL_DateTime: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DateTime, year) == 0, "struct SDL_DateTime.year: baked offset 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DateTime, month) == 4, "struct SDL_DateTime.month: baked offset 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DateTime, day) == 8, "struct SDL_DateTime.day: baked offset 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DateTime, hour) == 12, "struct SDL_DateTime.hour: baked offset 12 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DateTime, minute) == 16, "struct SDL_DateTime.minute: baked offset 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DateTime, second) == 20, "struct SDL_DateTime.second: baked offset 20 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DateTime, nanosecond) == 24, "struct SDL_DateTime.nanosecond: baked offset 24 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DateTime, day_of_week) == 28, "struct SDL_DateTime.day_of_week: baked offset 28 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(offsetof(struct SDL_DateTime, utc_offset) == 32, "struct SDL_DateTime.utc_offset: baked offset 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_DateFormat) == 4, "enum SDL_DateFormat: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_DateFormat) == 4, "enum SDL_DateFormat: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_DATE_FORMAT_YYYYMMDD) == (0), "SDL_DATE_FORMAT_YYYYMMDD: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_DATE_FORMAT_DDMMYYYY) == (1), "SDL_DATE_FORMAT_DDMMYYYY: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_DATE_FORMAT_MMDDYYYY) == (2), "SDL_DATE_FORMAT_MMDDYYYY: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(sizeof(enum SDL_TimeFormat) == 4, "enum SDL_TimeFormat: baked sizeof 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert(_Alignof(enum SDL_TimeFormat) == 4, "enum SDL_TimeFormat: baked alignment 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TIME_FORMAT_24HR) == (0), "SDL_TIME_FORMAT_24HR: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TIME_FORMAT_12HR) == (1), "SDL_TIME_FORMAT_12HR: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_blendmode.h (typed constants) ---- */
+_Static_assert((SDL_BLENDMODE_NONE) == (0ull), "SDL_BLENDMODE_NONE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BLENDMODE_BLEND) == (1ull), "SDL_BLENDMODE_BLEND: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BLENDMODE_BLEND_PREMULTIPLIED) == (16ull), "SDL_BLENDMODE_BLEND_PREMULTIPLIED: baked value 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BLENDMODE_ADD) == (2ull), "SDL_BLENDMODE_ADD: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BLENDMODE_ADD_PREMULTIPLIED) == (32ull), "SDL_BLENDMODE_ADD_PREMULTIPLIED: baked value 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BLENDMODE_MOD) == (4ull), "SDL_BLENDMODE_MOD: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BLENDMODE_MUL) == (8ull), "SDL_BLENDMODE_MUL: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BLENDMODE_INVALID) == (2147483647ull), "SDL_BLENDMODE_INVALID: baked value 2147483647 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_video.h (typed constants) ---- */
+_Static_assert((SDL_GL_CONTEXT_DEBUG_FLAG) == (1ull), "SDL_GL_CONTEXT_DEBUG_FLAG: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG) == (2ull), "SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_CONTEXT_ROBUST_ACCESS_FLAG) == (4ull), "SDL_GL_CONTEXT_ROBUST_ACCESS_FLAG: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_CONTEXT_RESET_ISOLATION_FLAG) == (8ull), "SDL_GL_CONTEXT_RESET_ISOLATION_FLAG: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_CONTEXT_RELEASE_BEHAVIOR_NONE) == (0ull), "SDL_GL_CONTEXT_RELEASE_BEHAVIOR_NONE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH) == (1ull), "SDL_GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_CONTEXT_RESET_NO_NOTIFICATION) == (0ull), "SDL_GL_CONTEXT_RESET_NO_NOTIFICATION: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_CONTEXT_RESET_LOSE_CONTEXT) == (1ull), "SDL_GL_CONTEXT_RESET_LOSE_CONTEXT: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_CONTEXT_PROFILE_CORE) == (1ull), "SDL_GL_CONTEXT_PROFILE_CORE: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_CONTEXT_PROFILE_COMPATIBILITY) == (2ull), "SDL_GL_CONTEXT_PROFILE_COMPATIBILITY: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GL_CONTEXT_PROFILE_ES) == (4ull), "SDL_GL_CONTEXT_PROFILE_ES: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_gpu.h (typed constants) ---- */
+_Static_assert((SDL_GPU_BUFFERUSAGE_VERTEX) == (1ull), "SDL_GPU_BUFFERUSAGE_VERTEX: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BUFFERUSAGE_INDEX) == (2ull), "SDL_GPU_BUFFERUSAGE_INDEX: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BUFFERUSAGE_INDIRECT) == (4ull), "SDL_GPU_BUFFERUSAGE_INDIRECT: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BUFFERUSAGE_GRAPHICS_STORAGE_READ) == (8ull), "SDL_GPU_BUFFERUSAGE_GRAPHICS_STORAGE_READ: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_READ) == (16ull), "SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_READ: baked value 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE) == (32ull), "SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE: baked value 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_COLORCOMPONENT_R) == (1ull), "SDL_GPU_COLORCOMPONENT_R: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_COLORCOMPONENT_G) == (2ull), "SDL_GPU_COLORCOMPONENT_G: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_COLORCOMPONENT_B) == (4ull), "SDL_GPU_COLORCOMPONENT_B: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_COLORCOMPONENT_A) == (8ull), "SDL_GPU_COLORCOMPONENT_A: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_SHADERFORMAT_INVALID) == (0ull), "SDL_GPU_SHADERFORMAT_INVALID: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_SHADERFORMAT_PRIVATE) == (1ull), "SDL_GPU_SHADERFORMAT_PRIVATE: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_SHADERFORMAT_SPIRV) == (2ull), "SDL_GPU_SHADERFORMAT_SPIRV: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_SHADERFORMAT_DXBC) == (4ull), "SDL_GPU_SHADERFORMAT_DXBC: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_SHADERFORMAT_DXIL) == (8ull), "SDL_GPU_SHADERFORMAT_DXIL: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_SHADERFORMAT_MSL) == (16ull), "SDL_GPU_SHADERFORMAT_MSL: baked value 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_SHADERFORMAT_METALLIB) == (32ull), "SDL_GPU_SHADERFORMAT_METALLIB: baked value 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREUSAGE_SAMPLER) == (1ull), "SDL_GPU_TEXTUREUSAGE_SAMPLER: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREUSAGE_COLOR_TARGET) == (2ull), "SDL_GPU_TEXTUREUSAGE_COLOR_TARGET: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREUSAGE_DEPTH_STENCIL_TARGET) == (4ull), "SDL_GPU_TEXTUREUSAGE_DEPTH_STENCIL_TARGET: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREUSAGE_GRAPHICS_STORAGE_READ) == (8ull), "SDL_GPU_TEXTUREUSAGE_GRAPHICS_STORAGE_READ: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_READ) == (16ull), "SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_READ: baked value 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE) == (32ull), "SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE: baked value 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_SIMULTANEOUS_READ_WRITE) == (64ull), "SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_SIMULTANEOUS_READ_WRITE: baked value 64 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_filesystem.h (typed constants) ---- */
+_Static_assert((SDL_GLOB_CASEINSENSITIVE) == (1ull), "SDL_GLOB_CASEINSENSITIVE: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_haptic.h (typed constants) ---- */
+_Static_assert((SDL_HAPTIC_POLAR) == (0ull), "SDL_HAPTIC_POLAR: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HAPTIC_CARTESIAN) == (1ull), "SDL_HAPTIC_CARTESIAN: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HAPTIC_SPHERICAL) == (2ull), "SDL_HAPTIC_SPHERICAL: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HAPTIC_STEERING_AXIS) == (3ull), "SDL_HAPTIC_STEERING_AXIS: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HAPTIC_CONSTANT) == (1ull), "SDL_HAPTIC_CONSTANT: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HAPTIC_SINE) == (2ull), "SDL_HAPTIC_SINE: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HAPTIC_SQUARE) == (4ull), "SDL_HAPTIC_SQUARE: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HAPTIC_TRIANGLE) == (8ull), "SDL_HAPTIC_TRIANGLE: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HAPTIC_SAWTOOTHUP) == (16ull), "SDL_HAPTIC_SAWTOOTHUP: baked value 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HAPTIC_SAWTOOTHDOWN) == (32ull), "SDL_HAPTIC_SAWTOOTHDOWN: baked value 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HAPTIC_RAMP) == (64ull), "SDL_HAPTIC_RAMP: baked value 64 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HAPTIC_SPRING) == (128ull), "SDL_HAPTIC_SPRING: baked value 128 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HAPTIC_DAMPER) == (256ull), "SDL_HAPTIC_DAMPER: baked value 256 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HAPTIC_INERTIA) == (512ull), "SDL_HAPTIC_INERTIA: baked value 512 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HAPTIC_FRICTION) == (1024ull), "SDL_HAPTIC_FRICTION: baked value 1024 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HAPTIC_LEFTRIGHT) == (2048ull), "SDL_HAPTIC_LEFTRIGHT: baked value 2048 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HAPTIC_RESERVED1) == (4096ull), "SDL_HAPTIC_RESERVED1: baked value 4096 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HAPTIC_RESERVED2) == (8192ull), "SDL_HAPTIC_RESERVED2: baked value 8192 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HAPTIC_RESERVED3) == (16384ull), "SDL_HAPTIC_RESERVED3: baked value 16384 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_HAPTIC_CUSTOM) == (32768ull), "SDL_HAPTIC_CUSTOM: baked value 32768 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_init.h (typed constants) ---- */
+_Static_assert((SDL_INIT_AUDIO) == (16ull), "SDL_INIT_AUDIO: baked value 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_INIT_VIDEO) == (32ull), "SDL_INIT_VIDEO: baked value 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_INIT_JOYSTICK) == (512ull), "SDL_INIT_JOYSTICK: baked value 512 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_INIT_HAPTIC) == (4096ull), "SDL_INIT_HAPTIC: baked value 4096 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_INIT_GAMEPAD) == (8192ull), "SDL_INIT_GAMEPAD: baked value 8192 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_INIT_EVENTS) == (16384ull), "SDL_INIT_EVENTS: baked value 16384 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_INIT_SENSOR) == (32768ull), "SDL_INIT_SENSOR: baked value 32768 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_INIT_CAMERA) == (65536ull), "SDL_INIT_CAMERA: baked value 65536 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_keycode.h (typed constants) ---- */
+_Static_assert((SDL_KMOD_NONE) == (0ull), "SDL_KMOD_NONE: baked value 0 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_KMOD_LSHIFT) == (1ull), "SDL_KMOD_LSHIFT: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_KMOD_RSHIFT) == (2ull), "SDL_KMOD_RSHIFT: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_KMOD_LEVEL5) == (4ull), "SDL_KMOD_LEVEL5: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_KMOD_LCTRL) == (64ull), "SDL_KMOD_LCTRL: baked value 64 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_KMOD_RCTRL) == (128ull), "SDL_KMOD_RCTRL: baked value 128 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_KMOD_LALT) == (256ull), "SDL_KMOD_LALT: baked value 256 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_KMOD_RALT) == (512ull), "SDL_KMOD_RALT: baked value 512 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_KMOD_LGUI) == (1024ull), "SDL_KMOD_LGUI: baked value 1024 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_KMOD_RGUI) == (2048ull), "SDL_KMOD_RGUI: baked value 2048 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_KMOD_NUM) == (4096ull), "SDL_KMOD_NUM: baked value 4096 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_KMOD_CAPS) == (8192ull), "SDL_KMOD_CAPS: baked value 8192 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_KMOD_MODE) == (16384ull), "SDL_KMOD_MODE: baked value 16384 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_KMOD_SCROLL) == (32768ull), "SDL_KMOD_SCROLL: baked value 32768 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_KMOD_CTRL) == (192ull), "SDL_KMOD_CTRL: baked value 192 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_KMOD_SHIFT) == (3ull), "SDL_KMOD_SHIFT: baked value 3 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_KMOD_ALT) == (768ull), "SDL_KMOD_ALT: baked value 768 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_KMOD_GUI) == (3072ull), "SDL_KMOD_GUI: baked value 3072 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_messagebox.h (typed constants) ---- */
+_Static_assert((SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT) == (1ull), "SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT) == (2ull), "SDL_MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MESSAGEBOX_ERROR) == (16ull), "SDL_MESSAGEBOX_ERROR: baked value 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MESSAGEBOX_WARNING) == (32ull), "SDL_MESSAGEBOX_WARNING: baked value 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MESSAGEBOX_INFORMATION) == (64ull), "SDL_MESSAGEBOX_INFORMATION: baked value 64 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT) == (128ull), "SDL_MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT: baked value 128 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT) == (256ull), "SDL_MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT: baked value 256 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_mouse.h (typed constants) ---- */
+_Static_assert((SDL_BUTTON_LMASK) == (1ull), "SDL_BUTTON_LMASK: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BUTTON_MMASK) == (2ull), "SDL_BUTTON_MMASK: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BUTTON_RMASK) == (4ull), "SDL_BUTTON_RMASK: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BUTTON_X1MASK) == (8ull), "SDL_BUTTON_X1MASK: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_BUTTON_X2MASK) == (16ull), "SDL_BUTTON_X2MASK: baked value 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_pen.h (typed constants) ---- */
+_Static_assert((SDL_PEN_INPUT_DOWN) == (1ull), "SDL_PEN_INPUT_DOWN: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PEN_INPUT_BUTTON_1) == (2ull), "SDL_PEN_INPUT_BUTTON_1: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PEN_INPUT_BUTTON_2) == (4ull), "SDL_PEN_INPUT_BUTTON_2: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PEN_INPUT_BUTTON_3) == (8ull), "SDL_PEN_INPUT_BUTTON_3: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PEN_INPUT_BUTTON_4) == (16ull), "SDL_PEN_INPUT_BUTTON_4: baked value 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PEN_INPUT_BUTTON_5) == (32ull), "SDL_PEN_INPUT_BUTTON_5: baked value 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_PEN_INPUT_ERASER_TIP) == (1073741824ull), "SDL_PEN_INPUT_ERASER_TIP: baked value 1073741824 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 4, 0)
+_Static_assert((SDL_PEN_INPUT_IN_PROXIMITY) == (2147483648ull), "SDL_PEN_INPUT_IN_PROXIMITY: baked value 2147483648 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+
+/* ---- SDL_surface.h (typed constants) ---- */
+_Static_assert((SDL_SURFACE_PREALLOCATED) == (1ull), "SDL_SURFACE_PREALLOCATED: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SURFACE_LOCK_NEEDED) == (2ull), "SDL_SURFACE_LOCK_NEEDED: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SURFACE_LOCKED) == (4ull), "SDL_SURFACE_LOCKED: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_SURFACE_SIMD_ALIGNED) == (8ull), "SDL_SURFACE_SIMD_ALIGNED: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_tray.h (typed constants) ---- */
+_Static_assert((SDL_TRAYENTRY_BUTTON) == (1ull), "SDL_TRAYENTRY_BUTTON: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRAYENTRY_CHECKBOX) == (2ull), "SDL_TRAYENTRY_CHECKBOX: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRAYENTRY_SUBMENU) == (4ull), "SDL_TRAYENTRY_SUBMENU: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRAYENTRY_DISABLED) == (2147483648ull), "SDL_TRAYENTRY_DISABLED: baked value 2147483648 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_TRAYENTRY_CHECKED) == (1073741824ull), "SDL_TRAYENTRY_CHECKED: baked value 1073741824 differs from your SDL3 headers" LITHON_ABI_HELP);
+
+/* ---- SDL_video.h (typed constants) ---- */
+_Static_assert((SDL_WINDOW_FULLSCREEN) == (1ull), "SDL_WINDOW_FULLSCREEN: baked value 1 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_OPENGL) == (2ull), "SDL_WINDOW_OPENGL: baked value 2 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_OCCLUDED) == (4ull), "SDL_WINDOW_OCCLUDED: baked value 4 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_HIDDEN) == (8ull), "SDL_WINDOW_HIDDEN: baked value 8 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_BORDERLESS) == (16ull), "SDL_WINDOW_BORDERLESS: baked value 16 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_RESIZABLE) == (32ull), "SDL_WINDOW_RESIZABLE: baked value 32 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_MINIMIZED) == (64ull), "SDL_WINDOW_MINIMIZED: baked value 64 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_MAXIMIZED) == (128ull), "SDL_WINDOW_MAXIMIZED: baked value 128 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_MOUSE_GRABBED) == (256ull), "SDL_WINDOW_MOUSE_GRABBED: baked value 256 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_INPUT_FOCUS) == (512ull), "SDL_WINDOW_INPUT_FOCUS: baked value 512 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_MOUSE_FOCUS) == (1024ull), "SDL_WINDOW_MOUSE_FOCUS: baked value 1024 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_EXTERNAL) == (2048ull), "SDL_WINDOW_EXTERNAL: baked value 2048 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_MODAL) == (4096ull), "SDL_WINDOW_MODAL: baked value 4096 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_HIGH_PIXEL_DENSITY) == (8192ull), "SDL_WINDOW_HIGH_PIXEL_DENSITY: baked value 8192 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_MOUSE_CAPTURE) == (16384ull), "SDL_WINDOW_MOUSE_CAPTURE: baked value 16384 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_MOUSE_RELATIVE_MODE) == (32768ull), "SDL_WINDOW_MOUSE_RELATIVE_MODE: baked value 32768 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_ALWAYS_ON_TOP) == (65536ull), "SDL_WINDOW_ALWAYS_ON_TOP: baked value 65536 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_UTILITY) == (131072ull), "SDL_WINDOW_UTILITY: baked value 131072 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_TOOLTIP) == (262144ull), "SDL_WINDOW_TOOLTIP: baked value 262144 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_POPUP_MENU) == (524288ull), "SDL_WINDOW_POPUP_MENU: baked value 524288 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_KEYBOARD_GRABBED) == (1048576ull), "SDL_WINDOW_KEYBOARD_GRABBED: baked value 1048576 differs from your SDL3 headers" LITHON_ABI_HELP);
+#if SDL_VERSION_ATLEAST(3, 4, 0)
+_Static_assert((SDL_WINDOW_FILL_DOCUMENT) == (2097152ull), "SDL_WINDOW_FILL_DOCUMENT: baked value 2097152 differs from your SDL3 headers" LITHON_ABI_HELP);
+#endif
+_Static_assert((SDL_WINDOW_VULKAN) == (268435456ull), "SDL_WINDOW_VULKAN: baked value 268435456 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_METAL) == (536870912ull), "SDL_WINDOW_METAL: baked value 536870912 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_TRANSPARENT) == (1073741824ull), "SDL_WINDOW_TRANSPARENT: baked value 1073741824 differs from your SDL3 headers" LITHON_ABI_HELP);
+_Static_assert((SDL_WINDOW_NOT_FOCUSABLE) == (2147483648ull), "SDL_WINDOW_NOT_FOCUSABLE: baked value 2147483648 differs from your SDL3 headers" LITHON_ABI_HELP);
diff --git a/runtime-cexpr/C/Type/Internal/Universe.hs b/runtime-cexpr/C/Type/Internal/Universe.hs
--- a/runtime-cexpr/C/Type/Internal/Universe.hs
+++ b/runtime-cexpr/C/Type/Internal/Universe.hs
@@ -40,19 +40,19 @@
 -- This is used for generating type family and class instances.
 enumerateTypeTuples :: forall n. (Fin.SNatI n) => [Vec n (Type OpaqueTy)]
 enumerateTypeTuples =
-  fmap fst $
-    unF $
-      Fin.induction
-        (F [(VNil, Nothing)])
-        ( \((F prev) :: F m) -> F $ do
-            (tys, mbLastUsedTyVarNumber) <- prev
-            let m = case mbLastUsedTyVarNumber of
-                  Nothing -> 1
-                  Just i -> i + 1
-            (ty, mbNextUsedTyVar) <- allTypes m
-            let mbUsedTv = maxMaybe mbLastUsedTyVarNumber mbNextUsedTyVar
-            return (Vec.snoc tys ty, mbUsedTv)
-        )
+  fmap fst
+    $ unF
+    $ Fin.induction
+      (F [(VNil, Nothing)])
+      ( \((F prev) :: F m) -> F $ do
+          (tys, mbLastUsedTyVarNumber) <- prev
+          let m = case mbLastUsedTyVarNumber of
+                Nothing -> 1
+                Just i -> i + 1
+          (ty, mbNextUsedTyVar) <- allTypes m
+          let mbUsedTv = maxMaybe mbLastUsedTyVarNumber mbNextUsedTyVar
+          return (Vec.snoc tys ty, mbUsedTv)
+      )
 
 maxMaybe :: (Ord i) => Maybe i -> Maybe i -> Maybe i
 maxMaybe (Just i) (Just j) = Just $ max i j
diff --git a/runtime/HsBindgen/Runtime/CEnum.hs b/runtime/HsBindgen/Runtime/CEnum.hs
--- a/runtime/HsBindgen/Runtime/CEnum.hs
+++ b/runtime/HsBindgen/Runtime/CEnum.hs
@@ -264,11 +264,11 @@
 readPrecDeclaredValue :: forall proxy a. (CEnum a) => proxy a -> ReadPrec a
 readPrecDeclaredValue proxy = Read.parens $ ReadPrec.prec appPrec1 $ do
   declaredValue <-
-    ReadPrec.lift $
-      ReadP.choice $
-        map ReadP.string $
-          declaredValuesList $
-            declaredValues proxy
+    ReadPrec.lift
+      $ ReadP.choice
+      $ map ReadP.string
+      $ declaredValuesList
+      $ declaredValues proxy
   pure $ toCEnum $ (declaredValueToIntegral $ declaredValues proxy) Map.! declaredValue
 
 -- | Helper function for defining 'readPrecUndeclared'
diff --git a/sdl3-bindgen-sys.cabal b/sdl3-bindgen-sys.cabal
--- a/sdl3-bindgen-sys.cabal
+++ b/sdl3-bindgen-sys.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: "\r\234\246\191\143\ETBu\ENQ\229\144\219\242\163T\191\196\254s~\247\ETBP\219OP\206w\141/\136\132\248"
+-- hash: "X\240\179\139\175\224\139\FS\230\&6\158\CAN\n\183\137\239\SI\133b~\t\226\ng\228u\210\209\245\"Bw"
 
 name:           sdl3-bindgen-sys
-version:        0.0.0.2
+version:        0.0.0.3
 synopsis:       Complete SDL3 bindings, raw + curated, generated by hs-bindgen
 description:    Machine-generated low-level bindings to the whole SDL 3.4 API: the raw
                 hs-bindgen output (@SDL3.Sys.Bindgen.*@) plus a curated @SDL3.Sys@ layer
@@ -51,6 +51,13 @@
   manual: True
   default: True
 
+flag abi-assertions-exact
+  description: Assert every sizeof exactly, including the union-member structs the default
+               lets SDL append to. For maintainers checking a newer SDL; consumers should
+               leave it off. Only has an effect together with abi-assertions.
+  manual: True
+  default: False
+
 flag optimize
   description: Build with -O2. Package ghc-options win over cabal's optimization setting, so use
                -f -optimize for faster iterative builds of this large package.
@@ -391,6 +398,8 @@
   if flag(abi-assertions)
     c-sources:
         cbits/abi_assertions.c
+  if flag(abi-assertions-exact)
+    cc-options: -DLITHON_ABI_EXACT
   if flag(strict-data)
     default-extensions:
         StrictData
diff --git a/src/SDL3/Sys/Assert.hs b/src/SDL3/Sys/Assert.hs
--- a/src/SDL3/Sys/Assert.hs
+++ b/src/SDL3/Sys/Assert.hs
@@ -80,7 +80,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ReportAssertion@, defined at @SDL3\/SDL_assert.h 350:45@
+--     [C declaration]: @SDL_ReportAssertion@, defined at @SDL3\/SDL_assert.h 358:45@
 reportAssertion
   :: BG.Ptr SDL_AssertData
   -- ^
@@ -125,7 +125,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ReportAssertion@, defined at @SDL3\/SDL_assert.h 350:45@
+--     [C declaration]: @SDL_ReportAssertion@, defined at @SDL3\/SDL_assert.h 358:45@
 reportAssertionSafe
   :: BG.Ptr SDL_AssertData
   -- ^
@@ -171,7 +171,7 @@
 --                   The safe flavor is 'setAssertionHandlerSafe'
 --                   : registration; the handler fires from failed SDL assertions.
 --
---     [C declaration]: @SDL_SetAssertionHandler@, defined at @SDL3\/SDL_assert.h 591:34@
+--     [C declaration]: @SDL_SetAssertionHandler@, defined at @SDL3\/SDL_assert.h 599:34@
 setAssertionHandler
   :: SDL_AssertionHandler
   -- ^
@@ -204,7 +204,7 @@
 --                   The unsafe flavor is 'setAssertionHandler'
 --                   : registration; the handler fires from failed SDL assertions.
 --
---     [C declaration]: @SDL_SetAssertionHandler@, defined at @SDL3\/SDL_assert.h 591:34@
+--     [C declaration]: @SDL_SetAssertionHandler@, defined at @SDL3\/SDL_assert.h 599:34@
 setAssertionHandlerSafe
   :: SDL_AssertionHandler
   -- ^
@@ -236,7 +236,7 @@
 --                   The safe flavor is 'getDefaultAssertionHandlerSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetDefaultAssertionHandler@, defined at @SDL3\/SDL_assert.h 612:50@
+--     [C declaration]: @SDL_GetDefaultAssertionHandler@, defined at @SDL3\/SDL_assert.h 620:50@
 getDefaultAssertionHandler :: IO SDL_AssertionHandler
 getDefaultAssertionHandler =
   Unsafe.sDL_GetDefaultAssertionHandler
@@ -259,7 +259,7 @@
 --                   The unsafe flavor is 'getDefaultAssertionHandler'
 --                   .
 --
---     [C declaration]: @SDL_GetDefaultAssertionHandler@, defined at @SDL3\/SDL_assert.h 612:50@
+--     [C declaration]: @SDL_GetDefaultAssertionHandler@, defined at @SDL3\/SDL_assert.h 620:50@
 getDefaultAssertionHandlerSafe :: IO SDL_AssertionHandler
 getDefaultAssertionHandlerSafe =
   Safe.sDL_GetDefaultAssertionHandler
@@ -284,7 +284,7 @@
 --                   The safe flavor is 'getAssertionHandlerSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetAssertionHandler@, defined at @SDL3\/SDL_assert.h 637:50@
+--     [C declaration]: @SDL_GetAssertionHandler@, defined at @SDL3\/SDL_assert.h 645:50@
 getAssertionHandler
   :: BG.Ptr (BG.Ptr BG.Void)
   -- ^
@@ -313,7 +313,7 @@
 --                   The unsafe flavor is 'getAssertionHandler'
 --                   .
 --
---     [C declaration]: @SDL_GetAssertionHandler@, defined at @SDL3\/SDL_assert.h 637:50@
+--     [C declaration]: @SDL_GetAssertionHandler@, defined at @SDL3\/SDL_assert.h 645:50@
 getAssertionHandlerSafe
   :: BG.Ptr (BG.Ptr BG.Void)
   -- ^
@@ -354,7 +354,7 @@
 --                   The safe flavor is 'getAssertionReportSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetAssertionReport@, defined at @SDL3\/SDL_assert.h 671:52@
+--     [C declaration]: @SDL_GetAssertionReport@, defined at @SDL3\/SDL_assert.h 679:52@
 getAssertionReport :: IO (PtrConst.PtrConst SDL_AssertData)
 getAssertionReport = Unsafe.sDL_GetAssertionReport
 
@@ -389,7 +389,7 @@
 --                   The unsafe flavor is 'getAssertionReport'
 --                   .
 --
---     [C declaration]: @SDL_GetAssertionReport@, defined at @SDL3\/SDL_assert.h 671:52@
+--     [C declaration]: @SDL_GetAssertionReport@, defined at @SDL3\/SDL_assert.h 679:52@
 getAssertionReportSafe :: IO (PtrConst.PtrConst SDL_AssertData)
 getAssertionReportSafe = Safe.sDL_GetAssertionReport
 
@@ -409,7 +409,7 @@
 --                   The safe flavor is 'resetAssertionReportSafe'
 --                   .
 --
---     [C declaration]: @SDL_ResetAssertionReport@, defined at @SDL3\/SDL_assert.h 689:34@
+--     [C declaration]: @SDL_ResetAssertionReport@, defined at @SDL3\/SDL_assert.h 697:34@
 resetAssertionReport :: IO ()
 resetAssertionReport =
   Unsafe.sDL_ResetAssertionReport
@@ -430,7 +430,7 @@
 --                   The unsafe flavor is 'resetAssertionReport'
 --                   .
 --
---     [C declaration]: @SDL_ResetAssertionReport@, defined at @SDL3\/SDL_assert.h 689:34@
+--     [C declaration]: @SDL_ResetAssertionReport@, defined at @SDL3\/SDL_assert.h 697:34@
 resetAssertionReportSafe :: IO ()
 resetAssertionReportSafe =
   Safe.sDL_ResetAssertionReport
diff --git a/src/SDL3/Sys/Atomic.hs b/src/SDL3/Sys/Atomic.hs
--- a/src/SDL3/Sys/Atomic.hs
+++ b/src/SDL3/Sys/Atomic.hs
@@ -262,7 +262,7 @@
 --                   The safe flavor is 'memoryBarrierReleaseFunctionSafe'
 --                   .
 --
---     [C declaration]: @SDL_MemoryBarrierReleaseFunction@, defined at @SDL3\/SDL_atomic.h 192:34@
+--     [C declaration]: @SDL_MemoryBarrierReleaseFunction@, defined at @SDL3\/SDL_atomic.h 195:34@
 memoryBarrierReleaseFunction :: IO ()
 memoryBarrierReleaseFunction =
   Unsafe.sDL_MemoryBarrierReleaseFunction
@@ -283,7 +283,7 @@
 --                   The unsafe flavor is 'memoryBarrierReleaseFunction'
 --                   .
 --
---     [C declaration]: @SDL_MemoryBarrierReleaseFunction@, defined at @SDL3\/SDL_atomic.h 192:34@
+--     [C declaration]: @SDL_MemoryBarrierReleaseFunction@, defined at @SDL3\/SDL_atomic.h 195:34@
 memoryBarrierReleaseFunctionSafe :: IO ()
 memoryBarrierReleaseFunctionSafe =
   Safe.sDL_MemoryBarrierReleaseFunction
@@ -304,7 +304,7 @@
 --                   The safe flavor is 'memoryBarrierAcquireFunctionSafe'
 --                   .
 --
---     [C declaration]: @SDL_MemoryBarrierAcquireFunction@, defined at @SDL3\/SDL_atomic.h 212:34@
+--     [C declaration]: @SDL_MemoryBarrierAcquireFunction@, defined at @SDL3\/SDL_atomic.h 215:34@
 memoryBarrierAcquireFunction :: IO ()
 memoryBarrierAcquireFunction =
   Unsafe.sDL_MemoryBarrierAcquireFunction
@@ -325,7 +325,7 @@
 --                   The unsafe flavor is 'memoryBarrierAcquireFunction'
 --                   .
 --
---     [C declaration]: @SDL_MemoryBarrierAcquireFunction@, defined at @SDL3\/SDL_atomic.h 212:34@
+--     [C declaration]: @SDL_MemoryBarrierAcquireFunction@, defined at @SDL3\/SDL_atomic.h 215:34@
 memoryBarrierAcquireFunctionSafe :: IO ()
 memoryBarrierAcquireFunctionSafe =
   Safe.sDL_MemoryBarrierAcquireFunction
@@ -351,7 +351,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_CompareAndSwapAtomicInt@, defined at @SDL3\/SDL_atomic.h 415:34@
+--     [C declaration]: @SDL_CompareAndSwapAtomicInt@, defined at @SDL3\/SDL_atomic.h 425:34@
 compareAndSwapAtomicInt
   :: BG.Ptr SDL_AtomicInt
   -- ^
@@ -393,7 +393,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_CompareAndSwapAtomicInt@, defined at @SDL3\/SDL_atomic.h 415:34@
+--     [C declaration]: @SDL_CompareAndSwapAtomicInt@, defined at @SDL3\/SDL_atomic.h 425:34@
 compareAndSwapAtomicIntSafe
   :: BG.Ptr SDL_AtomicInt
   -- ^
@@ -437,7 +437,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetAtomicInt@, defined at @SDL3\/SDL_atomic.h 435:33@
+--     [C declaration]: @SDL_SetAtomicInt@, defined at @SDL3\/SDL_atomic.h 445:33@
 setAtomicInt
   :: BG.Ptr SDL_AtomicInt
   -- ^
@@ -476,7 +476,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetAtomicInt@, defined at @SDL3\/SDL_atomic.h 435:33@
+--     [C declaration]: @SDL_SetAtomicInt@, defined at @SDL3\/SDL_atomic.h 445:33@
 setAtomicIntSafe
   :: BG.Ptr SDL_AtomicInt
   -- ^
@@ -513,7 +513,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetAtomicInt@, defined at @SDL3\/SDL_atomic.h 452:33@
+--     [C declaration]: @SDL_GetAtomicInt@, defined at @SDL3\/SDL_atomic.h 462:33@
 getAtomicInt
   :: BG.Ptr SDL_AtomicInt
   -- ^
@@ -545,7 +545,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetAtomicInt@, defined at @SDL3\/SDL_atomic.h 452:33@
+--     [C declaration]: @SDL_GetAtomicInt@, defined at @SDL3\/SDL_atomic.h 462:33@
 getAtomicIntSafe
   :: BG.Ptr SDL_AtomicInt
   -- ^
@@ -579,7 +579,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_AddAtomicInt@, defined at @SDL3\/SDL_atomic.h 473:33@
+--     [C declaration]: @SDL_AddAtomicInt@, defined at @SDL3\/SDL_atomic.h 483:33@
 addAtomicInt
   :: BG.Ptr SDL_AtomicInt
   -- ^
@@ -618,7 +618,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_AddAtomicInt@, defined at @SDL3\/SDL_atomic.h 473:33@
+--     [C declaration]: @SDL_AddAtomicInt@, defined at @SDL3\/SDL_atomic.h 483:33@
 addAtomicIntSafe
   :: BG.Ptr SDL_AtomicInt
   -- ^
@@ -655,7 +655,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_CompareAndSwapAtomicU32@, defined at @SDL3\/SDL_atomic.h 560:34@
+--     [C declaration]: @SDL_CompareAndSwapAtomicU32@, defined at @SDL3\/SDL_atomic.h 570:34@
 compareAndSwapAtomicU32
   :: BG.Ptr SDL_AtomicU32
   -- ^
@@ -697,7 +697,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_CompareAndSwapAtomicU32@, defined at @SDL3\/SDL_atomic.h 560:34@
+--     [C declaration]: @SDL_CompareAndSwapAtomicU32@, defined at @SDL3\/SDL_atomic.h 570:34@
 compareAndSwapAtomicU32Safe
   :: BG.Ptr SDL_AtomicU32
   -- ^
@@ -741,7 +741,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetAtomicU32@, defined at @SDL3\/SDL_atomic.h 580:36@
+--     [C declaration]: @SDL_SetAtomicU32@, defined at @SDL3\/SDL_atomic.h 590:36@
 setAtomicU32
   :: BG.Ptr SDL_AtomicU32
   -- ^
@@ -780,7 +780,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetAtomicU32@, defined at @SDL3\/SDL_atomic.h 580:36@
+--     [C declaration]: @SDL_SetAtomicU32@, defined at @SDL3\/SDL_atomic.h 590:36@
 setAtomicU32Safe
   :: BG.Ptr SDL_AtomicU32
   -- ^
@@ -817,7 +817,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetAtomicU32@, defined at @SDL3\/SDL_atomic.h 597:36@
+--     [C declaration]: @SDL_GetAtomicU32@, defined at @SDL3\/SDL_atomic.h 607:36@
 getAtomicU32
   :: BG.Ptr SDL_AtomicU32
   -- ^
@@ -849,7 +849,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetAtomicU32@, defined at @SDL3\/SDL_atomic.h 597:36@
+--     [C declaration]: @SDL_GetAtomicU32@, defined at @SDL3\/SDL_atomic.h 607:36@
 getAtomicU32Safe
   :: BG.Ptr SDL_AtomicU32
   -- ^
@@ -881,7 +881,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_AddAtomicU32@, defined at @SDL3\/SDL_atomic.h 615:36@
+--     [C declaration]: @SDL_AddAtomicU32@, defined at @SDL3\/SDL_atomic.h 625:36@
 addAtomicU32
   :: BG.Ptr SDL_AtomicU32
   -- ^
@@ -918,7 +918,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_AddAtomicU32@, defined at @SDL3\/SDL_atomic.h 615:36@
+--     [C declaration]: @SDL_AddAtomicU32@, defined at @SDL3\/SDL_atomic.h 625:36@
 addAtomicU32Safe
   :: BG.Ptr SDL_AtomicU32
   -- ^
@@ -955,7 +955,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_CompareAndSwapAtomicPointer@, defined at @SDL3\/SDL_atomic.h 636:34@
+--     [C declaration]: @SDL_CompareAndSwapAtomicPointer@, defined at @SDL3\/SDL_atomic.h 646:34@
 compareAndSwapAtomicPointer
   :: BG.Ptr (BG.Ptr BG.Void)
   -- ^
@@ -997,7 +997,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_CompareAndSwapAtomicPointer@, defined at @SDL3\/SDL_atomic.h 636:34@
+--     [C declaration]: @SDL_CompareAndSwapAtomicPointer@, defined at @SDL3\/SDL_atomic.h 646:34@
 compareAndSwapAtomicPointerSafe
   :: BG.Ptr (BG.Ptr BG.Void)
   -- ^
@@ -1036,7 +1036,7 @@
 --                   The safe flavor is 'setAtomicPointerSafe'
 --                   .
 --
---     [C declaration]: @SDL_SetAtomicPointer@, defined at @SDL3\/SDL_atomic.h 655:36@
+--     [C declaration]: @SDL_SetAtomicPointer@, defined at @SDL3\/SDL_atomic.h 665:36@
 setAtomicPointer
   :: BG.Ptr (BG.Ptr BG.Void)
   -- ^
@@ -1067,7 +1067,7 @@
 --                   The unsafe flavor is 'setAtomicPointer'
 --                   .
 --
---     [C declaration]: @SDL_SetAtomicPointer@, defined at @SDL3\/SDL_atomic.h 655:36@
+--     [C declaration]: @SDL_SetAtomicPointer@, defined at @SDL3\/SDL_atomic.h 665:36@
 setAtomicPointerSafe
   :: BG.Ptr (BG.Ptr BG.Void)
   -- ^
@@ -1098,7 +1098,7 @@
 --                   The safe flavor is 'getAtomicPointerSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetAtomicPointer@, defined at @SDL3\/SDL_atomic.h 673:36@
+--     [C declaration]: @SDL_GetAtomicPointer@, defined at @SDL3\/SDL_atomic.h 683:36@
 getAtomicPointer
   :: BG.Ptr (BG.Ptr BG.Void)
   -- ^
@@ -1125,7 +1125,7 @@
 --                   The unsafe flavor is 'getAtomicPointer'
 --                   .
 --
---     [C declaration]: @SDL_GetAtomicPointer@, defined at @SDL3\/SDL_atomic.h 673:36@
+--     [C declaration]: @SDL_GetAtomicPointer@, defined at @SDL3\/SDL_atomic.h 683:36@
 getAtomicPointerSafe
   :: BG.Ptr (BG.Ptr BG.Void)
   -- ^
diff --git a/src/SDL3/Sys/Audio.hs b/src/SDL3/Sys/Audio.hs
--- a/src/SDL3/Sys/Audio.hs
+++ b/src/SDL3/Sys/Audio.hs
@@ -236,7 +236,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetNumAudioDrivers@, defined at @SDL3\/SDL_audio.h 477:33@
+--     [C declaration]: @SDL_GetNumAudioDrivers@, defined at @SDL3\/SDL_audio.h 478:33@
 getNumAudioDrivers :: IO BG.Int32
 getNumAudioDrivers =
   fmap Coerce.coerce Unsafe.sDL_GetNumAudioDrivers
@@ -264,7 +264,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetNumAudioDrivers@, defined at @SDL3\/SDL_audio.h 477:33@
+--     [C declaration]: @SDL_GetNumAudioDrivers@, defined at @SDL3\/SDL_audio.h 478:33@
 getNumAudioDriversSafe :: IO BG.Int32
 getNumAudioDriversSafe =
   fmap Coerce.coerce Safe.sDL_GetNumAudioDrivers
@@ -292,7 +292,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetAudioDriver@, defined at @SDL3\/SDL_audio.h 501:42@
+--     [C declaration]: @SDL_GetAudioDriver@, defined at @SDL3\/SDL_audio.h 502:42@
 getAudioDriver
   :: BG.Int32
   -- ^
@@ -325,7 +325,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetAudioDriver@, defined at @SDL3\/SDL_audio.h 501:42@
+--     [C declaration]: @SDL_GetAudioDriver@, defined at @SDL3\/SDL_audio.h 502:42@
 getAudioDriverSafe
   :: BG.Int32
   -- ^
@@ -351,7 +351,7 @@
 --                   The safe flavor is 'getCurrentAudioDriverSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetCurrentAudioDriver@, defined at @SDL3\/SDL_audio.h 517:42@
+--     [C declaration]: @SDL_GetCurrentAudioDriver@, defined at @SDL3\/SDL_audio.h 518:42@
 getCurrentAudioDriver :: IO (PtrConst.PtrConst BG.CChar)
 getCurrentAudioDriver =
   Unsafe.sDL_GetCurrentAudioDriver
@@ -372,7 +372,7 @@
 --                   The unsafe flavor is 'getCurrentAudioDriver'
 --                   .
 --
---     [C declaration]: @SDL_GetCurrentAudioDriver@, defined at @SDL3\/SDL_audio.h 517:42@
+--     [C declaration]: @SDL_GetCurrentAudioDriver@, defined at @SDL3\/SDL_audio.h 518:42@
 getCurrentAudioDriverSafe :: IO (PtrConst.PtrConst BG.CChar)
 getCurrentAudioDriverSafe =
   Safe.sDL_GetCurrentAudioDriver
@@ -399,7 +399,7 @@
 --                   The safe flavor is 'getAudioPlaybackDevicesSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetAudioPlaybackDevices@, defined at @SDL3\/SDL_audio.h 546:49@
+--     [C declaration]: @SDL_GetAudioPlaybackDevices@, defined at @SDL3\/SDL_audio.h 547:49@
 getAudioPlaybackDevices
   :: BG.Ptr BG.CInt
   -- ^
@@ -431,7 +431,7 @@
 --                   The unsafe flavor is 'getAudioPlaybackDevices'
 --                   .
 --
---     [C declaration]: @SDL_GetAudioPlaybackDevices@, defined at @SDL3\/SDL_audio.h 546:49@
+--     [C declaration]: @SDL_GetAudioPlaybackDevices@, defined at @SDL3\/SDL_audio.h 547:49@
 getAudioPlaybackDevicesSafe
   :: BG.Ptr BG.CInt
   -- ^
@@ -463,7 +463,7 @@
 --                   The safe flavor is 'getAudioRecordingDevicesSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetAudioRecordingDevices@, defined at @SDL3\/SDL_audio.h 575:49@
+--     [C declaration]: @SDL_GetAudioRecordingDevices@, defined at @SDL3\/SDL_audio.h 576:49@
 getAudioRecordingDevices
   :: BG.Ptr BG.CInt
   -- ^
@@ -495,7 +495,7 @@
 --                   The unsafe flavor is 'getAudioRecordingDevices'
 --                   .
 --
---     [C declaration]: @SDL_GetAudioRecordingDevices@, defined at @SDL3\/SDL_audio.h 575:49@
+--     [C declaration]: @SDL_GetAudioRecordingDevices@, defined at @SDL3\/SDL_audio.h 576:49@
 getAudioRecordingDevicesSafe
   :: BG.Ptr BG.CInt
   -- ^
@@ -523,7 +523,7 @@
 --                   The safe flavor is 'getAudioDeviceNameSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetAudioDeviceName@, defined at @SDL3\/SDL_audio.h 600:42@
+--     [C declaration]: @SDL_GetAudioDeviceName@, defined at @SDL3\/SDL_audio.h 601:42@
 getAudioDeviceName
   :: SDL_AudioDeviceID
   -- ^
@@ -550,7 +550,7 @@
 --                   The unsafe flavor is 'getAudioDeviceName'
 --                   .
 --
---     [C declaration]: @SDL_GetAudioDeviceName@, defined at @SDL3\/SDL_audio.h 600:42@
+--     [C declaration]: @SDL_GetAudioDeviceName@, defined at @SDL3\/SDL_audio.h 601:42@
 getAudioDeviceNameSafe
   :: SDL_AudioDeviceID
   -- ^
@@ -586,7 +586,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetAudioDeviceFormat@, defined at @SDL3\/SDL_audio.h 635:34@
+--     [C declaration]: @SDL_GetAudioDeviceFormat@, defined at @SDL3\/SDL_audio.h 636:34@
 getAudioDeviceFormat
   :: SDL_AudioDeviceID
   -- ^
@@ -634,7 +634,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetAudioDeviceFormat@, defined at @SDL3\/SDL_audio.h 635:34@
+--     [C declaration]: @SDL_GetAudioDeviceFormat@, defined at @SDL3\/SDL_audio.h 636:34@
 getAudioDeviceFormatSafe
   :: SDL_AudioDeviceID
   -- ^
@@ -675,7 +675,7 @@
 --                   The safe flavor is 'getAudioDeviceChannelMapSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetAudioDeviceChannelMap@, defined at @SDL3\/SDL_audio.h 658:35@
+--     [C declaration]: @SDL_GetAudioDeviceChannelMap@, defined at @SDL3\/SDL_audio.h 659:35@
 getAudioDeviceChannelMap
   :: SDL_AudioDeviceID
   -- ^
@@ -709,7 +709,7 @@
 --                   The unsafe flavor is 'getAudioDeviceChannelMap'
 --                   .
 --
---     [C declaration]: @SDL_GetAudioDeviceChannelMap@, defined at @SDL3\/SDL_audio.h 658:35@
+--     [C declaration]: @SDL_GetAudioDeviceChannelMap@, defined at @SDL3\/SDL_audio.h 659:35@
 getAudioDeviceChannelMapSafe
   :: SDL_AudioDeviceID
   -- ^
@@ -757,7 +757,7 @@
 --                   The safe flavor is 'openAudioDeviceSafe'
 --                   .
 --
---     [C declaration]: @SDL_OpenAudioDevice@, defined at @SDL3\/SDL_audio.h 734:47@
+--     [C declaration]: @SDL_OpenAudioDevice@, defined at @SDL3\/SDL_audio.h 735:47@
 openAudioDevice
   :: SDL_AudioDeviceID
   -- ^
@@ -804,7 +804,7 @@
 --                   The unsafe flavor is 'openAudioDevice'
 --                   .
 --
---     [C declaration]: @SDL_OpenAudioDevice@, defined at @SDL3\/SDL_audio.h 734:47@
+--     [C declaration]: @SDL_OpenAudioDevice@, defined at @SDL3\/SDL_audio.h 735:47@
 openAudioDeviceSafe
   :: SDL_AudioDeviceID
   -- ^
@@ -840,7 +840,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_IsAudioDevicePhysical@, defined at @SDL3\/SDL_audio.h 759:34@
+--     [C declaration]: @SDL_IsAudioDevicePhysical@, defined at @SDL3\/SDL_audio.h 760:34@
 isAudioDevicePhysical
   :: SDL_AudioDeviceID
   -- ^
@@ -874,7 +874,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_IsAudioDevicePhysical@, defined at @SDL3\/SDL_audio.h 759:34@
+--     [C declaration]: @SDL_IsAudioDevicePhysical@, defined at @SDL3\/SDL_audio.h 760:34@
 isAudioDevicePhysicalSafe
   :: SDL_AudioDeviceID
   -- ^
@@ -904,7 +904,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_IsAudioDevicePlayback@, defined at @SDL3\/SDL_audio.h 773:34@
+--     [C declaration]: @SDL_IsAudioDevicePlayback@, defined at @SDL3\/SDL_audio.h 774:34@
 isAudioDevicePlayback
   :: SDL_AudioDeviceID
   -- ^
@@ -934,7 +934,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_IsAudioDevicePlayback@, defined at @SDL3\/SDL_audio.h 773:34@
+--     [C declaration]: @SDL_IsAudioDevicePlayback@, defined at @SDL3\/SDL_audio.h 774:34@
 isAudioDevicePlaybackSafe
   :: SDL_AudioDeviceID
   -- ^
@@ -972,7 +972,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_PauseAudioDevice@, defined at @SDL3\/SDL_audio.h 804:34@
+--     [C declaration]: @SDL_PauseAudioDevice@, defined at @SDL3\/SDL_audio.h 805:34@
 pauseAudioDevice
   :: SDL_AudioDeviceID
   -- ^
@@ -1010,7 +1010,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_PauseAudioDevice@, defined at @SDL3\/SDL_audio.h 804:34@
+--     [C declaration]: @SDL_PauseAudioDevice@, defined at @SDL3\/SDL_audio.h 805:34@
 pauseAudioDeviceSafe
   :: SDL_AudioDeviceID
   -- ^
@@ -1046,7 +1046,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ResumeAudioDevice@, defined at @SDL3\/SDL_audio.h 832:34@
+--     [C declaration]: @SDL_ResumeAudioDevice@, defined at @SDL3\/SDL_audio.h 833:34@
 resumeAudioDevice
   :: SDL_AudioDeviceID
   -- ^
@@ -1082,7 +1082,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ResumeAudioDevice@, defined at @SDL3\/SDL_audio.h 832:34@
+--     [C declaration]: @SDL_ResumeAudioDevice@, defined at @SDL3\/SDL_audio.h 833:34@
 resumeAudioDeviceSafe
   :: SDL_AudioDeviceID
   -- ^
@@ -1116,7 +1116,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_AudioDevicePaused@, defined at @SDL3\/SDL_audio.h 854:34@
+--     [C declaration]: @SDL_AudioDevicePaused@, defined at @SDL3\/SDL_audio.h 855:34@
 audioDevicePaused
   :: SDL_AudioDeviceID
   -- ^
@@ -1150,7 +1150,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_AudioDevicePaused@, defined at @SDL3\/SDL_audio.h 854:34@
+--     [C declaration]: @SDL_AudioDevicePaused@, defined at @SDL3\/SDL_audio.h 855:34@
 audioDevicePausedSafe
   :: SDL_AudioDeviceID
   -- ^
@@ -1186,7 +1186,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetAudioDeviceGain@, defined at @SDL3\/SDL_audio.h 877:35@
+--     [C declaration]: @SDL_GetAudioDeviceGain@, defined at @SDL3\/SDL_audio.h 878:35@
 getAudioDeviceGain
   :: SDL_AudioDeviceID
   -- ^
@@ -1222,7 +1222,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetAudioDeviceGain@, defined at @SDL3\/SDL_audio.h 877:35@
+--     [C declaration]: @SDL_GetAudioDeviceGain@, defined at @SDL3\/SDL_audio.h 878:35@
 getAudioDeviceGainSafe
   :: SDL_AudioDeviceID
   -- ^
@@ -1260,7 +1260,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetAudioDeviceGain@, defined at @SDL3\/SDL_audio.h 912:34@
+--     [C declaration]: @SDL_SetAudioDeviceGain@, defined at @SDL3\/SDL_audio.h 913:34@
 setAudioDeviceGain
   :: SDL_AudioDeviceID
   -- ^
@@ -1303,7 +1303,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetAudioDeviceGain@, defined at @SDL3\/SDL_audio.h 912:34@
+--     [C declaration]: @SDL_SetAudioDeviceGain@, defined at @SDL3\/SDL_audio.h 913:34@
 setAudioDeviceGainSafe
   :: SDL_AudioDeviceID
   -- ^
@@ -1337,7 +1337,7 @@
 --                   The safe flavor is 'closeAudioDeviceSafe'
 --                   .
 --
---     [C declaration]: @SDL_CloseAudioDevice@, defined at @SDL3\/SDL_audio.h 933:34@
+--     [C declaration]: @SDL_CloseAudioDevice@, defined at @SDL3\/SDL_audio.h 934:34@
 closeAudioDevice
   :: SDL_AudioDeviceID
   -- ^
@@ -1364,7 +1364,7 @@
 --                   The unsafe flavor is 'closeAudioDevice'
 --                   .
 --
---     [C declaration]: @SDL_CloseAudioDevice@, defined at @SDL3\/SDL_audio.h 933:34@
+--     [C declaration]: @SDL_CloseAudioDevice@, defined at @SDL3\/SDL_audio.h 934:34@
 closeAudioDeviceSafe
   :: SDL_AudioDeviceID
   -- ^
@@ -1400,7 +1400,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindAudioStreams@, defined at @SDL3\/SDL_audio.h 973:34@
+--     [C declaration]: @SDL_BindAudioStreams@, defined at @SDL3\/SDL_audio.h 974:34@
 bindAudioStreams
   :: SDL_AudioDeviceID
   -- ^
@@ -1448,7 +1448,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindAudioStreams@, defined at @SDL3\/SDL_audio.h 973:34@
+--     [C declaration]: @SDL_BindAudioStreams@, defined at @SDL3\/SDL_audio.h 974:34@
 bindAudioStreamsSafe
   :: SDL_AudioDeviceID
   -- ^
@@ -1490,7 +1490,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindAudioStream@, defined at @SDL3\/SDL_audio.h 994:34@
+--     [C declaration]: @SDL_BindAudioStream@, defined at @SDL3\/SDL_audio.h 995:34@
 bindAudioStream
   :: SDL_AudioDeviceID
   -- ^
@@ -1527,7 +1527,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindAudioStream@, defined at @SDL3\/SDL_audio.h 994:34@
+--     [C declaration]: @SDL_BindAudioStream@, defined at @SDL3\/SDL_audio.h 995:34@
 bindAudioStreamSafe
   :: SDL_AudioDeviceID
   -- ^
@@ -1564,7 +1564,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_UnbindAudioStreams@, defined at @SDL3\/SDL_audio.h 1015:34@
+--     [C declaration]: @SDL_UnbindAudioStreams@, defined at @SDL3\/SDL_audio.h 1016:34@
 unbindAudioStreams
   :: PtrConst.PtrConst (BG.Ptr SDL_AudioStream)
   -- ^
@@ -1601,7 +1601,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_UnbindAudioStreams@, defined at @SDL3\/SDL_audio.h 1015:34@
+--     [C declaration]: @SDL_UnbindAudioStreams@, defined at @SDL3\/SDL_audio.h 1016:34@
 unbindAudioStreamsSafe
   :: PtrConst.PtrConst (BG.Ptr SDL_AudioStream)
   -- ^
@@ -1633,7 +1633,7 @@
 --                   The safe flavor is 'unbindAudioStreamSafe'
 --                   .
 --
---     [C declaration]: @SDL_UnbindAudioStream@, defined at @SDL3\/SDL_audio.h 1031:34@
+--     [C declaration]: @SDL_UnbindAudioStream@, defined at @SDL3\/SDL_audio.h 1032:34@
 unbindAudioStream
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1658,7 +1658,7 @@
 --                   The unsafe flavor is 'unbindAudioStream'
 --                   .
 --
---     [C declaration]: @SDL_UnbindAudioStream@, defined at @SDL3\/SDL_audio.h 1031:34@
+--     [C declaration]: @SDL_UnbindAudioStream@, defined at @SDL3\/SDL_audio.h 1032:34@
 unbindAudioStreamSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1687,7 +1687,7 @@
 --                   The safe flavor is 'getAudioStreamDeviceSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1052:47@
+--     [C declaration]: @SDL_GetAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1053:47@
 getAudioStreamDevice
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1717,7 +1717,7 @@
 --                   The unsafe flavor is 'getAudioStreamDevice'
 --                   .
 --
---     [C declaration]: @SDL_GetAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1052:47@
+--     [C declaration]: @SDL_GetAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1053:47@
 getAudioStreamDeviceSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1729,6 +1729,8 @@
 
 -- | Create a new audio stream.
 --
+--     Note that @src_spec@ or @dst_spec@ may be NULL, but any attempts to put or get data from an audio stream will fail until it has valid specs assigned to both ends of the stream. Specs can be assigned later through @'setAudioStreamFormat'@, or binding the stream to an audio device (which will set the format of only the input or output, depending on what kind of device the stream was bound to).
+--
 --     [Returns]: a new audio stream on success or NULL on failure; call 'SDL3.Sys.Error.getError' for more information.
 --
 --     [Thread safety]: It is safe to call this function from any thread.
@@ -1743,21 +1745,23 @@
 --                   The safe flavor is 'createAudioStreamSafe'
 --                   .
 --
---     [C declaration]: @SDL_CreateAudioStream@, defined at @SDL3\/SDL_audio.h 1074:47@
+--     [C declaration]: @SDL_CreateAudioStream@, defined at @SDL3\/SDL_audio.h 1082:47@
 createAudioStream
   :: PtrConst.PtrConst SDL_AudioSpec
   -- ^
   --
-  --           [@src_spec@]: the format details of the input audio.
+  --           [@src_spec@]: the format details of the input audio. May be NULL.
   -> PtrConst.PtrConst SDL_AudioSpec
   -- ^
   --
-  --           [@dst_spec@]: the format details of the output audio.
+  --           [@dst_spec@]: the format details of the output audio. May be NULL.
   -> IO (BG.Ptr SDL_AudioStream)
 createAudioStream = Unsafe.sDL_CreateAudioStream
 
 -- | Create a new audio stream.
 --
+--     Note that @src_spec@ or @dst_spec@ may be NULL, but any attempts to put or get data from an audio stream will fail until it has valid specs assigned to both ends of the stream. Specs can be assigned later through @'setAudioStreamFormat'@, or binding the stream to an audio device (which will set the format of only the input or output, depending on what kind of device the stream was bound to).
+--
 --     [Returns]: a new audio stream on success or NULL on failure; call 'SDL3.Sys.Error.getError' for more information.
 --
 --     [Thread safety]: It is safe to call this function from any thread.
@@ -1772,16 +1776,16 @@
 --                   The unsafe flavor is 'createAudioStream'
 --                   .
 --
---     [C declaration]: @SDL_CreateAudioStream@, defined at @SDL3\/SDL_audio.h 1074:47@
+--     [C declaration]: @SDL_CreateAudioStream@, defined at @SDL3\/SDL_audio.h 1082:47@
 createAudioStreamSafe
   :: PtrConst.PtrConst SDL_AudioSpec
   -- ^
   --
-  --           [@src_spec@]: the format details of the input audio.
+  --           [@src_spec@]: the format details of the input audio. May be NULL.
   -> PtrConst.PtrConst SDL_AudioSpec
   -- ^
   --
-  --           [@dst_spec@]: the format details of the output audio.
+  --           [@dst_spec@]: the format details of the output audio. May be NULL.
   -> IO (BG.Ptr SDL_AudioStream)
 createAudioStreamSafe = Safe.sDL_CreateAudioStream
 
@@ -1803,7 +1807,7 @@
 --                   The safe flavor is 'getAudioStreamPropertiesSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetAudioStreamProperties@, defined at @SDL3\/SDL_audio.h 1098:46@
+--     [C declaration]: @SDL_GetAudioStreamProperties@, defined at @SDL3\/SDL_audio.h 1106:46@
 getAudioStreamProperties
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1831,7 +1835,7 @@
 --                   The unsafe flavor is 'getAudioStreamProperties'
 --                   .
 --
---     [C declaration]: @SDL_GetAudioStreamProperties@, defined at @SDL3\/SDL_audio.h 1098:46@
+--     [C declaration]: @SDL_GetAudioStreamProperties@, defined at @SDL3\/SDL_audio.h 1106:46@
 getAudioStreamPropertiesSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1860,7 +1864,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetAudioStreamFormat@, defined at @SDL3\/SDL_audio.h 1119:34@
+--     [C declaration]: @SDL_GetAudioStreamFormat@, defined at @SDL3\/SDL_audio.h 1127:34@
 getAudioStreamFormat
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1900,7 +1904,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetAudioStreamFormat@, defined at @SDL3\/SDL_audio.h 1119:34@
+--     [C declaration]: @SDL_GetAudioStreamFormat@, defined at @SDL3\/SDL_audio.h 1127:34@
 getAudioStreamFormatSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1929,6 +1933,8 @@
 --
 --     If a stream is bound to a device, then the format of the side of the stream bound to a device cannot be changed (src_spec for recording devices, dst_spec for playback devices). Attempts to make a change to this side will be ignored, but this will not report an error. The other side\'s format can be changed.
 --
+--     @src_spec@ and @dst_spec@ may each be NULL; a NULL spec signals not to change the current format for that side of the stream.
+--
 --     [Returns]: true on success or false on failure; call 'SDL3.Sys.Error.getError' for more information.
 --
 --     [Thread safety]: It is safe to call this function from any thread, as it holds a stream-specific mutex while running.
@@ -1946,7 +1952,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetAudioStreamFormat@, defined at @SDL3\/SDL_audio.h 1156:34@
+--     [C declaration]: @SDL_SetAudioStreamFormat@, defined at @SDL3\/SDL_audio.h 1167:34@
 setAudioStreamFormat
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1975,6 +1981,8 @@
 --
 --     If a stream is bound to a device, then the format of the side of the stream bound to a device cannot be changed (src_spec for recording devices, dst_spec for playback devices). Attempts to make a change to this side will be ignored, but this will not report an error. The other side\'s format can be changed.
 --
+--     @src_spec@ and @dst_spec@ may each be NULL; a NULL spec signals not to change the current format for that side of the stream.
+--
 --     [Returns]: true on success or false on failure; call 'SDL3.Sys.Error.getError' for more information.
 --
 --     [Thread safety]: It is safe to call this function from any thread, as it holds a stream-specific mutex while running.
@@ -1992,7 +2000,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetAudioStreamFormat@, defined at @SDL3\/SDL_audio.h 1156:34@
+--     [C declaration]: @SDL_SetAudioStreamFormat@, defined at @SDL3\/SDL_audio.h 1167:34@
 setAudioStreamFormatSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2032,7 +2040,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetAudioStreamFrequencyRatio@, defined at @SDL3\/SDL_audio.h 1172:35@
+--     [C declaration]: @SDL_GetAudioStreamFrequencyRatio@, defined at @SDL3\/SDL_audio.h 1183:35@
 getAudioStreamFrequencyRatio
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2062,7 +2070,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetAudioStreamFrequencyRatio@, defined at @SDL3\/SDL_audio.h 1172:35@
+--     [C declaration]: @SDL_GetAudioStreamFrequencyRatio@, defined at @SDL3\/SDL_audio.h 1183:35@
 getAudioStreamFrequencyRatioSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2096,7 +2104,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetAudioStreamFrequencyRatio@, defined at @SDL3\/SDL_audio.h 1200:34@
+--     [C declaration]: @SDL_SetAudioStreamFrequencyRatio@, defined at @SDL3\/SDL_audio.h 1211:34@
 setAudioStreamFrequencyRatio
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2135,7 +2143,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetAudioStreamFrequencyRatio@, defined at @SDL3\/SDL_audio.h 1200:34@
+--     [C declaration]: @SDL_SetAudioStreamFrequencyRatio@, defined at @SDL3\/SDL_audio.h 1211:34@
 setAudioStreamFrequencyRatioSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2174,7 +2182,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetAudioStreamGain@, defined at @SDL3\/SDL_audio.h 1221:35@
+--     [C declaration]: @SDL_GetAudioStreamGain@, defined at @SDL3\/SDL_audio.h 1232:35@
 getAudioStreamGain
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2208,7 +2216,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetAudioStreamGain@, defined at @SDL3\/SDL_audio.h 1221:35@
+--     [C declaration]: @SDL_GetAudioStreamGain@, defined at @SDL3\/SDL_audio.h 1232:35@
 getAudioStreamGainSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2244,7 +2252,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetAudioStreamGain@, defined at @SDL3\/SDL_audio.h 1246:34@
+--     [C declaration]: @SDL_SetAudioStreamGain@, defined at @SDL3\/SDL_audio.h 1257:34@
 setAudioStreamGain
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2285,7 +2293,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetAudioStreamGain@, defined at @SDL3\/SDL_audio.h 1246:34@
+--     [C declaration]: @SDL_SetAudioStreamGain@, defined at @SDL3\/SDL_audio.h 1257:34@
 setAudioStreamGainSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2321,7 +2329,7 @@
 --                   The safe flavor is 'getAudioStreamInputChannelMapSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetAudioStreamInputChannelMap@, defined at @SDL3\/SDL_audio.h 1270:35@
+--     [C declaration]: @SDL_GetAudioStreamInputChannelMap@, defined at @SDL3\/SDL_audio.h 1281:35@
 getAudioStreamInputChannelMap
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2355,7 +2363,7 @@
 --                   The unsafe flavor is 'getAudioStreamInputChannelMap'
 --                   .
 --
---     [C declaration]: @SDL_GetAudioStreamInputChannelMap@, defined at @SDL3\/SDL_audio.h 1270:35@
+--     [C declaration]: @SDL_GetAudioStreamInputChannelMap@, defined at @SDL3\/SDL_audio.h 1281:35@
 getAudioStreamInputChannelMapSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2389,7 +2397,7 @@
 --                   The safe flavor is 'getAudioStreamOutputChannelMapSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetAudioStreamOutputChannelMap@, defined at @SDL3\/SDL_audio.h 1294:35@
+--     [C declaration]: @SDL_GetAudioStreamOutputChannelMap@, defined at @SDL3\/SDL_audio.h 1305:35@
 getAudioStreamOutputChannelMap
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2423,7 +2431,7 @@
 --                   The unsafe flavor is 'getAudioStreamOutputChannelMap'
 --                   .
 --
---     [C declaration]: @SDL_GetAudioStreamOutputChannelMap@, defined at @SDL3\/SDL_audio.h 1294:35@
+--     [C declaration]: @SDL_GetAudioStreamOutputChannelMap@, defined at @SDL3\/SDL_audio.h 1305:35@
 getAudioStreamOutputChannelMapSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2463,7 +2471,7 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'setAudioStreamInputChannelMap'
+--     [See also]: 'setAudioStreamOutputChannelMap'
 --
 --     === __@sdl3-bindgen-sys@ notes__
 --
@@ -2474,7 +2482,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetAudioStreamInputChannelMap@, defined at @SDL3\/SDL_audio.h 1354:34@
+--     [C declaration]: @SDL_SetAudioStreamInputChannelMap@, defined at @SDL3\/SDL_audio.h 1365:34@
 setAudioStreamInputChannelMap
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2521,7 +2529,7 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'setAudioStreamInputChannelMap'
+--     [See also]: 'setAudioStreamOutputChannelMap'
 --
 --     === __@sdl3-bindgen-sys@ notes__
 --
@@ -2532,7 +2540,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetAudioStreamInputChannelMap@, defined at @SDL3\/SDL_audio.h 1354:34@
+--     [C declaration]: @SDL_SetAudioStreamInputChannelMap@, defined at @SDL3\/SDL_audio.h 1365:34@
 setAudioStreamInputChannelMapSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2590,7 +2598,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetAudioStreamOutputChannelMap@, defined at @SDL3\/SDL_audio.h 1412:34@
+--     [C declaration]: @SDL_SetAudioStreamOutputChannelMap@, defined at @SDL3\/SDL_audio.h 1423:34@
 setAudioStreamOutputChannelMap
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2648,7 +2656,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetAudioStreamOutputChannelMap@, defined at @SDL3\/SDL_audio.h 1412:34@
+--     [C declaration]: @SDL_SetAudioStreamOutputChannelMap@, defined at @SDL3\/SDL_audio.h 1423:34@
 setAudioStreamOutputChannelMapSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2692,7 +2700,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_PutAudioStreamData@, defined at @SDL3\/SDL_audio.h 1442:34@
+--     [C declaration]: @SDL_PutAudioStreamData@, defined at @SDL3\/SDL_audio.h 1453:34@
 putAudioStreamData
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2736,7 +2744,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_PutAudioStreamData@, defined at @SDL3\/SDL_audio.h 1442:34@
+--     [C declaration]: @SDL_PutAudioStreamData@, defined at @SDL3\/SDL_audio.h 1453:34@
 putAudioStreamDataSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2784,7 +2792,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_PutAudioStreamDataNoCopy@, defined at @SDL3\/SDL_audio.h 1519:34@
+--     [C declaration]: @SDL_PutAudioStreamDataNoCopy@, defined at @SDL3\/SDL_audio.h 1530:34@
 putAudioStreamDataNoCopy
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2842,7 +2850,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_PutAudioStreamDataNoCopy@, defined at @SDL3\/SDL_audio.h 1519:34@
+--     [C declaration]: @SDL_PutAudioStreamDataNoCopy@, defined at @SDL3\/SDL_audio.h 1530:34@
 putAudioStreamDataNoCopySafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2902,7 +2910,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_PutAudioStreamPlanarData@, defined at @SDL3\/SDL_audio.h 1572:34@
+--     [C declaration]: @SDL_PutAudioStreamPlanarData@, defined at @SDL3\/SDL_audio.h 1583:34@
 putAudioStreamPlanarData
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2959,7 +2967,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_PutAudioStreamPlanarData@, defined at @SDL3\/SDL_audio.h 1572:34@
+--     [C declaration]: @SDL_PutAudioStreamPlanarData@, defined at @SDL3\/SDL_audio.h 1583:34@
 putAudioStreamPlanarDataSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3010,7 +3018,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetAudioStreamData@, defined at @SDL3\/SDL_audio.h 1602:33@
+--     [C declaration]: @SDL_GetAudioStreamData@, defined at @SDL3\/SDL_audio.h 1613:33@
 getAudioStreamData
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3054,7 +3062,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetAudioStreamData@, defined at @SDL3\/SDL_audio.h 1602:33@
+--     [C declaration]: @SDL_GetAudioStreamData@, defined at @SDL3\/SDL_audio.h 1613:33@
 getAudioStreamDataSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3098,7 +3106,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetAudioStreamAvailable@, defined at @SDL3\/SDL_audio.h 1628:33@
+--     [C declaration]: @SDL_GetAudioStreamAvailable@, defined at @SDL3\/SDL_audio.h 1639:33@
 getAudioStreamAvailable
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3132,7 +3140,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetAudioStreamAvailable@, defined at @SDL3\/SDL_audio.h 1628:33@
+--     [C declaration]: @SDL_GetAudioStreamAvailable@, defined at @SDL3\/SDL_audio.h 1639:33@
 getAudioStreamAvailableSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3170,7 +3178,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetAudioStreamQueued@, defined at @SDL3\/SDL_audio.h 1667:33@
+--     [C declaration]: @SDL_GetAudioStreamQueued@, defined at @SDL3\/SDL_audio.h 1678:33@
 getAudioStreamQueued
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3208,7 +3216,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetAudioStreamQueued@, defined at @SDL3\/SDL_audio.h 1667:33@
+--     [C declaration]: @SDL_GetAudioStreamQueued@, defined at @SDL3\/SDL_audio.h 1678:33@
 getAudioStreamQueuedSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3240,7 +3248,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_FlushAudioStream@, defined at @SDL3\/SDL_audio.h 1688:34@
+--     [C declaration]: @SDL_FlushAudioStream@, defined at @SDL3\/SDL_audio.h 1699:34@
 flushAudioStream
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3272,7 +3280,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_FlushAudioStream@, defined at @SDL3\/SDL_audio.h 1688:34@
+--     [C declaration]: @SDL_FlushAudioStream@, defined at @SDL3\/SDL_audio.h 1699:34@
 flushAudioStreamSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3304,7 +3312,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ClearAudioStream@, defined at @SDL3\/SDL_audio.h 1709:34@
+--     [C declaration]: @SDL_ClearAudioStream@, defined at @SDL3\/SDL_audio.h 1720:34@
 clearAudioStream
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3336,7 +3344,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ClearAudioStream@, defined at @SDL3\/SDL_audio.h 1709:34@
+--     [C declaration]: @SDL_ClearAudioStream@, defined at @SDL3\/SDL_audio.h 1720:34@
 clearAudioStreamSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3370,7 +3378,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_PauseAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1733:34@
+--     [C declaration]: @SDL_PauseAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1744:34@
 pauseAudioStreamDevice
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3404,7 +3412,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_PauseAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1733:34@
+--     [C declaration]: @SDL_PauseAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1744:34@
 pauseAudioStreamDeviceSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3438,7 +3446,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ResumeAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1756:34@
+--     [C declaration]: @SDL_ResumeAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1767:34@
 resumeAudioStreamDevice
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3472,7 +3480,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ResumeAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1756:34@
+--     [C declaration]: @SDL_ResumeAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1767:34@
 resumeAudioStreamDeviceSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3504,7 +3512,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_AudioStreamDevicePaused@, defined at @SDL3\/SDL_audio.h 1775:34@
+--     [C declaration]: @SDL_AudioStreamDevicePaused@, defined at @SDL3\/SDL_audio.h 1786:34@
 audioStreamDevicePaused
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3536,7 +3544,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_AudioStreamDevicePaused@, defined at @SDL3\/SDL_audio.h 1775:34@
+--     [C declaration]: @SDL_AudioStreamDevicePaused@, defined at @SDL3\/SDL_audio.h 1786:34@
 audioStreamDevicePausedSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3572,7 +3580,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_LockAudioStream@, defined at @SDL3\/SDL_audio.h 1804:34@
+--     [C declaration]: @SDL_LockAudioStream@, defined at @SDL3\/SDL_audio.h 1815:34@
 lockAudioStream
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3608,7 +3616,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_LockAudioStream@, defined at @SDL3\/SDL_audio.h 1804:34@
+--     [C declaration]: @SDL_LockAudioStream@, defined at @SDL3\/SDL_audio.h 1815:34@
 lockAudioStreamSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3640,7 +3648,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_UnlockAudioStream@, defined at @SDL3\/SDL_audio.h 1823:34@
+--     [C declaration]: @SDL_UnlockAudioStream@, defined at @SDL3\/SDL_audio.h 1834:34@
 unlockAudioStream
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3672,7 +3680,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_UnlockAudioStream@, defined at @SDL3\/SDL_audio.h 1823:34@
+--     [C declaration]: @SDL_UnlockAudioStream@, defined at @SDL3\/SDL_audio.h 1834:34@
 unlockAudioStreamSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3716,7 +3724,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetAudioStreamGetCallback@, defined at @SDL3\/SDL_audio.h 1911:34@
+--     [C declaration]: @SDL_SetAudioStreamGetCallback@, defined at @SDL3\/SDL_audio.h 1924:34@
 setAudioStreamGetCallback
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3770,7 +3778,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetAudioStreamGetCallback@, defined at @SDL3\/SDL_audio.h 1911:34@
+--     [C declaration]: @SDL_SetAudioStreamGetCallback@, defined at @SDL3\/SDL_audio.h 1924:34@
 setAudioStreamGetCallbackSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3826,7 +3834,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetAudioStreamPutCallback@, defined at @SDL3\/SDL_audio.h 1960:34@
+--     [C declaration]: @SDL_SetAudioStreamPutCallback@, defined at @SDL3\/SDL_audio.h 1973:34@
 setAudioStreamPutCallback
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3882,7 +3890,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetAudioStreamPutCallback@, defined at @SDL3\/SDL_audio.h 1960:34@
+--     [C declaration]: @SDL_SetAudioStreamPutCallback@, defined at @SDL3\/SDL_audio.h 1973:34@
 setAudioStreamPutCallbackSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3921,7 +3929,7 @@
 --                   The safe flavor is 'destroyAudioStreamSafe'
 --                   : may invoke a pending data-complete callback synchronously.
 --
---     [C declaration]: @SDL_DestroyAudioStream@, defined at @SDL3\/SDL_audio.h 1982:34@
+--     [C declaration]: @SDL_DestroyAudioStream@, defined at @SDL3\/SDL_audio.h 1995:34@
 destroyAudioStream
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3948,7 +3956,7 @@
 --                   The unsafe flavor is 'destroyAudioStream'
 --                   : may invoke a pending data-complete callback synchronously.
 --
---     [C declaration]: @SDL_DestroyAudioStream@, defined at @SDL3\/SDL_audio.h 1982:34@
+--     [C declaration]: @SDL_DestroyAudioStream@, defined at @SDL3\/SDL_audio.h 1995:34@
 destroyAudioStreamSafe
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -3991,7 +3999,7 @@
 --                   The safe flavor is 'openAudioDeviceStreamSafe'
 --                   : callback is optional (NULL bypass) and fires on the audio thread.
 --
---     [C declaration]: @SDL_OpenAudioDeviceStream@, defined at @SDL3\/SDL_audio.h 2045:47@
+--     [C declaration]: @SDL_OpenAudioDeviceStream@, defined at @SDL3\/SDL_audio.h 2058:47@
 openAudioDeviceStream
   :: SDL_AudioDeviceID
   -- ^
@@ -4047,7 +4055,7 @@
 --                   The unsafe flavor is 'openAudioDeviceStream'
 --                   : callback is optional (NULL bypass) and fires on the audio thread.
 --
---     [C declaration]: @SDL_OpenAudioDeviceStream@, defined at @SDL3\/SDL_audio.h 2045:47@
+--     [C declaration]: @SDL_OpenAudioDeviceStream@, defined at @SDL3\/SDL_audio.h 2058:47@
 openAudioDeviceStreamSafe
   :: SDL_AudioDeviceID
   -- ^
@@ -4104,7 +4112,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetAudioPostmixCallback@, defined at @SDL3\/SDL_audio.h 2136:34@
+--     [C declaration]: @SDL_SetAudioPostmixCallback@, defined at @SDL3\/SDL_audio.h 2149:34@
 setAudioPostmixCallback
   :: SDL_AudioDeviceID
   -- ^
@@ -4160,7 +4168,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetAudioPostmixCallback@, defined at @SDL3\/SDL_audio.h 2136:34@
+--     [C declaration]: @SDL_SetAudioPostmixCallback@, defined at @SDL3\/SDL_audio.h 2149:34@
 setAudioPostmixCallbackSafe
   :: SDL_AudioDeviceID
   -- ^
@@ -4230,7 +4238,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_LoadWAV_IO@, defined at @SDL3\/SDL_audio.h 2217:34@
+--     [C declaration]: @SDL_LoadWAV_IO@, defined at @SDL3\/SDL_audio.h 2230:34@
 loadWAVIO
   :: BG.Ptr SDL3.Sys.Bindgen.Iostream.SDL_IOStream
   -- ^
@@ -4310,7 +4318,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_LoadWAV_IO@, defined at @SDL3\/SDL_audio.h 2217:34@
+--     [C declaration]: @SDL_LoadWAV_IO@, defined at @SDL3\/SDL_audio.h 2230:34@
 loadWAVIOSafe
   :: BG.Ptr SDL3.Sys.Bindgen.Iostream.SDL_IOStream
   -- ^
@@ -4370,7 +4378,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_LoadWAV@, defined at @SDL3\/SDL_audio.h 2253:34@
+--     [C declaration]: @SDL_LoadWAV@, defined at @SDL3\/SDL_audio.h 2266:34@
 loadWAV
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4425,7 +4433,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_LoadWAV@, defined at @SDL3\/SDL_audio.h 2253:34@
+--     [C declaration]: @SDL_LoadWAV@, defined at @SDL3\/SDL_audio.h 2266:34@
 loadWAVSafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4476,7 +4484,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_MixAudio@, defined at @SDL3\/SDL_audio.h 2289:34@
+--     [C declaration]: @SDL_MixAudio@, defined at @SDL3\/SDL_audio.h 2302:34@
 mixAudio
   :: BG.Ptr SDL3.Sys.Bindgen.Stdinc.Uint8
   -- ^
@@ -4532,7 +4540,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_MixAudio@, defined at @SDL3\/SDL_audio.h 2289:34@
+--     [C declaration]: @SDL_MixAudio@, defined at @SDL3\/SDL_audio.h 2302:34@
 mixAudioSafe
   :: BG.Ptr SDL3.Sys.Bindgen.Stdinc.Uint8
   -- ^
@@ -4584,7 +4592,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ConvertAudioSamples@, defined at @SDL3\/SDL_audio.h 2319:34@
+--     [C declaration]: @SDL_ConvertAudioSamples@, defined at @SDL3\/SDL_audio.h 2332:34@
 convertAudioSamples
   :: PtrConst.PtrConst SDL_AudioSpec
   -- ^
@@ -4641,7 +4649,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ConvertAudioSamples@, defined at @SDL3\/SDL_audio.h 2319:34@
+--     [C declaration]: @SDL_ConvertAudioSamples@, defined at @SDL3\/SDL_audio.h 2332:34@
 convertAudioSamplesSafe
   :: PtrConst.PtrConst SDL_AudioSpec
   -- ^
@@ -4691,7 +4699,7 @@
 --                   The safe flavor is 'getAudioFormatNameSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetAudioFormatName@, defined at @SDL3\/SDL_audio.h 2332:42@
+--     [C declaration]: @SDL_GetAudioFormatName@, defined at @SDL3\/SDL_audio.h 2345:42@
 getAudioFormatName
   :: SDL_AudioFormat
   -- ^
@@ -4714,7 +4722,7 @@
 --                   The unsafe flavor is 'getAudioFormatName'
 --                   .
 --
---     [C declaration]: @SDL_GetAudioFormatName@, defined at @SDL3\/SDL_audio.h 2332:42@
+--     [C declaration]: @SDL_GetAudioFormatName@, defined at @SDL3\/SDL_audio.h 2345:42@
 getAudioFormatNameSafe
   :: SDL_AudioFormat
   -- ^
@@ -4742,7 +4750,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetSilenceValueForFormat@, defined at @SDL3\/SDL_audio.h 2348:33@
+--     [C declaration]: @SDL_GetSilenceValueForFormat@, defined at @SDL3\/SDL_audio.h 2361:33@
 getSilenceValueForFormat
   :: SDL_AudioFormat
   -- ^
@@ -4772,7 +4780,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetSilenceValueForFormat@, defined at @SDL3\/SDL_audio.h 2348:33@
+--     [C declaration]: @SDL_GetSilenceValueForFormat@, defined at @SDL3\/SDL_audio.h 2361:33@
 getSilenceValueForFormatSafe
   :: SDL_AudioFormat
   -- ^
diff --git a/src/SDL3/Sys/Bindgen/Assert.hs b/src/SDL3/Sys/Bindgen/Assert.hs
--- a/src/SDL3/Sys/Bindgen/Assert.hs
+++ b/src/SDL3/Sys/Bindgen/Assert.hs
@@ -73,7 +73,7 @@
 sDL_ASSERT_LEVEL :: BG.CInt
 sDL_ASSERT_LEVEL = (2 :: BG.CInt)
 
--- | [C declaration]: @macro SDL_NULL_WHILE_LOOP_CONDITION@, defined at @SDL3\/SDL_assert.h 273:9@
+-- | [C declaration]: @macro SDL_NULL_WHILE_LOOP_CONDITION@, defined at @SDL3\/SDL_assert.h 281:9@
 sDL_NULL_WHILE_LOOP_CONDITION :: BG.CInt
 sDL_NULL_WHILE_LOOP_CONDITION = (0 :: BG.CInt)
 
@@ -85,7 +85,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @enum SDL_AssertState@, defined at @SDL3\/SDL_assert.h 306:14@
+--     [C declaration]: @enum SDL_AssertState@, defined at @SDL3\/SDL_assert.h 314:14@
 newtype SDL_AssertState = SDL_AssertState
   { unwrap :: BG.CUInt
   }
@@ -181,31 +181,31 @@
 
 -- | Retry the assert immediately.
 --
---     [C declaration]: @SDL_ASSERTION_RETRY@, defined at @SDL3\/SDL_assert.h 308:5@
+--     [C declaration]: @SDL_ASSERTION_RETRY@, defined at @SDL3\/SDL_assert.h 316:5@
 pattern SDL_ASSERTION_RETRY :: SDL_AssertState
 pattern SDL_ASSERTION_RETRY = SDL_AssertState 0
 
 -- | Make the debugger trigger a breakpoint.
 --
---     [C declaration]: @SDL_ASSERTION_BREAK@, defined at @SDL3\/SDL_assert.h 309:5@
+--     [C declaration]: @SDL_ASSERTION_BREAK@, defined at @SDL3\/SDL_assert.h 317:5@
 pattern SDL_ASSERTION_BREAK :: SDL_AssertState
 pattern SDL_ASSERTION_BREAK = SDL_AssertState 1
 
 -- | Terminate the program.
 --
---     [C declaration]: @SDL_ASSERTION_ABORT@, defined at @SDL3\/SDL_assert.h 310:5@
+--     [C declaration]: @SDL_ASSERTION_ABORT@, defined at @SDL3\/SDL_assert.h 318:5@
 pattern SDL_ASSERTION_ABORT :: SDL_AssertState
 pattern SDL_ASSERTION_ABORT = SDL_AssertState 2
 
 -- | Ignore the assert.
 --
---     [C declaration]: @SDL_ASSERTION_IGNORE@, defined at @SDL3\/SDL_assert.h 311:5@
+--     [C declaration]: @SDL_ASSERTION_IGNORE@, defined at @SDL3\/SDL_assert.h 319:5@
 pattern SDL_ASSERTION_IGNORE :: SDL_AssertState
 pattern SDL_ASSERTION_IGNORE = SDL_AssertState 3
 
 -- | Ignore the assert from now on.
 --
---     [C declaration]: @SDL_ASSERTION_ALWAYS_IGNORE@, defined at @SDL3\/SDL_assert.h 312:5@
+--     [C declaration]: @SDL_ASSERTION_ALWAYS_IGNORE@, defined at @SDL3\/SDL_assert.h 320:5@
 pattern SDL_ASSERTION_ALWAYS_IGNORE :: SDL_AssertState
 pattern SDL_ASSERTION_ALWAYS_IGNORE = SDL_AssertState 4
 
@@ -215,36 +215,36 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @struct SDL_AssertData@, defined at @SDL3\/SDL_assert.h 324:16@
+--     [C declaration]: @struct SDL_AssertData@, defined at @SDL3\/SDL_assert.h 332:16@
 data SDL_AssertData = SDL_AssertData
   { always_ignore :: BG.CBool
   -- ^ true if app should always continue when assertion is triggered.
   --
-  --          [C declaration]: @always_ignore@, defined at @SDL3\/SDL_assert.h 326:10@
+  --          [C declaration]: @always_ignore@, defined at @SDL3\/SDL_assert.h 334:10@
   , trigger_count :: BG.CUInt
   -- ^ Number of times this assertion has been triggered.
   --
-  --          [C declaration]: @trigger_count@, defined at @SDL3\/SDL_assert.h 327:18@
+  --          [C declaration]: @trigger_count@, defined at @SDL3\/SDL_assert.h 335:18@
   , condition :: PtrConst.PtrConst BG.CChar
   -- ^ A string of this assert\'s test code.
   --
-  --          [C declaration]: @condition@, defined at @SDL3\/SDL_assert.h 328:17@
+  --          [C declaration]: @condition@, defined at @SDL3\/SDL_assert.h 336:17@
   , filename :: PtrConst.PtrConst BG.CChar
   -- ^ The source file where this assert lives.
   --
-  --          [C declaration]: @filename@, defined at @SDL3\/SDL_assert.h 329:17@
+  --          [C declaration]: @filename@, defined at @SDL3\/SDL_assert.h 337:17@
   , linenum :: BG.CInt
   -- ^ The line in @filename@ where this assert lives.
   --
-  --          [C declaration]: @linenum@, defined at @SDL3\/SDL_assert.h 330:9@
+  --          [C declaration]: @linenum@, defined at @SDL3\/SDL_assert.h 338:9@
   , function :: PtrConst.PtrConst BG.CChar
   -- ^ The name of the function where this assert lives.
   --
-  --          [C declaration]: @function@, defined at @SDL3\/SDL_assert.h 331:17@
+  --          [C declaration]: @function@, defined at @SDL3\/SDL_assert.h 339:17@
   , next :: PtrConst.PtrConst SDL_AssertData
   -- ^ next item in the linked list.
   --
-  --          [C declaration]: @next@, defined at @SDL3\/SDL_assert.h 332:34@
+  --          [C declaration]: @next@, defined at @SDL3\/SDL_assert.h 340:34@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -514,7 +514,7 @@
 
 -- | Auxiliary type used by 'SDL_AssertionHandler'
 --
---     [C declaration]: @SDL_AssertionHandler@, defined at @SDL3\/SDL_assert.h 565:35@
+--     [C declaration]: @SDL_AssertionHandler@, defined at @SDL3\/SDL_assert.h 573:35@
 newtype SDL_AssertionHandler_Aux = SDL_AssertionHandler_Aux
   { unwrap :: PtrConst.PtrConst SDL_AssertData -> BG.Ptr BG.Void -> IO SDL_AssertState
   }
@@ -593,7 +593,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_AssertionHandler@, defined at @SDL3\/SDL_assert.h 565:35@
+--     [C declaration]: @SDL_AssertionHandler@, defined at @SDL3\/SDL_assert.h 573:35@
 newtype SDL_AssertionHandler = SDL_AssertionHandler
   { unwrap :: BG.FunPtr SDL_AssertionHandler_Aux
   }
diff --git a/src/SDL3/Sys/Bindgen/Assert/FunPtr.hs b/src/SDL3/Sys/Bindgen/Assert/FunPtr.hs
--- a/src/SDL3/Sys/Bindgen/Assert/FunPtr.hs
+++ b/src/SDL3/Sys/Bindgen/Assert/FunPtr.hs
@@ -109,7 +109,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReportAssertion@, defined at @SDL3\/SDL_assert.h 350:45@
+--     [C declaration]: @SDL_ReportAssertion@, defined at @SDL3\/SDL_assert.h 358:45@
 sDL_ReportAssertion
   :: BG.FunPtr
        ( BG.Ptr SDL_AssertData
@@ -151,7 +151,7 @@
 --
 --     [See also]: 'sDL_GetAssertionHandler'
 --
---     [C declaration]: @SDL_SetAssertionHandler@, defined at @SDL3\/SDL_assert.h 591:34@
+--     [C declaration]: @SDL_SetAssertionHandler@, defined at @SDL3\/SDL_assert.h 599:34@
 sDL_SetAssertionHandler :: BG.FunPtr (SDL_AssertionHandler -> BG.Ptr BG.Void -> IO ())
 sDL_SetAssertionHandler =
   BG.unsafePerformIO hs_bindgen_d3c978a8cd9d0fb4
@@ -180,7 +180,7 @@
 --
 --     [See also]: 'sDL_GetAssertionHandler'
 --
---     [C declaration]: @SDL_GetDefaultAssertionHandler@, defined at @SDL3\/SDL_assert.h 612:50@
+--     [C declaration]: @SDL_GetDefaultAssertionHandler@, defined at @SDL3\/SDL_assert.h 620:50@
 sDL_GetDefaultAssertionHandler :: BG.FunPtr (IO SDL_AssertionHandler)
 sDL_GetDefaultAssertionHandler =
   BG.unsafePerformIO hs_bindgen_9ee5171cfc759fff
@@ -213,7 +213,7 @@
 --
 --     [See also]: 'sDL_SetAssertionHandler'
 --
---     [C declaration]: @SDL_GetAssertionHandler@, defined at @SDL3\/SDL_assert.h 637:50@
+--     [C declaration]: @SDL_GetAssertionHandler@, defined at @SDL3\/SDL_assert.h 645:50@
 sDL_GetAssertionHandler :: BG.FunPtr (BG.Ptr (BG.Ptr BG.Void) -> IO SDL_AssertionHandler)
 sDL_GetAssertionHandler =
   BG.unsafePerformIO hs_bindgen_d86a645db34b2ab2
@@ -255,7 +255,7 @@
 --
 --     [See also]: 'sDL_ResetAssertionReport'
 --
---     [C declaration]: @SDL_GetAssertionReport@, defined at @SDL3\/SDL_assert.h 671:52@
+--     [C declaration]: @SDL_GetAssertionReport@, defined at @SDL3\/SDL_assert.h 679:52@
 sDL_GetAssertionReport :: BG.FunPtr (IO (PtrConst.PtrConst SDL_AssertData))
 sDL_GetAssertionReport =
   BG.unsafePerformIO hs_bindgen_81f7661412c040b9
@@ -282,7 +282,7 @@
 --
 --     [See also]: 'sDL_GetAssertionReport'
 --
---     [C declaration]: @SDL_ResetAssertionReport@, defined at @SDL3\/SDL_assert.h 689:34@
+--     [C declaration]: @SDL_ResetAssertionReport@, defined at @SDL3\/SDL_assert.h 697:34@
 sDL_ResetAssertionReport :: BG.FunPtr (IO ())
 sDL_ResetAssertionReport =
   BG.unsafePerformIO hs_bindgen_d418f82b830fadaf
diff --git a/src/SDL3/Sys/Bindgen/Assert/Safe.hs b/src/SDL3/Sys/Bindgen/Assert/Safe.hs
--- a/src/SDL3/Sys/Bindgen/Assert/Safe.hs
+++ b/src/SDL3/Sys/Bindgen/Assert/Safe.hs
@@ -87,7 +87,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReportAssertion@, defined at @SDL3\/SDL_assert.h 350:45@
+--     [C declaration]: @SDL_ReportAssertion@, defined at @SDL3\/SDL_assert.h 358:45@
 sDL_ReportAssertion
   :: BG.Ptr SDL_AssertData
   -- ^
@@ -137,7 +137,7 @@
 --
 --     [See also]: 'sDL_GetAssertionHandler'
 --
---     [C declaration]: @SDL_SetAssertionHandler@, defined at @SDL3\/SDL_assert.h 591:34@
+--     [C declaration]: @SDL_SetAssertionHandler@, defined at @SDL3\/SDL_assert.h 599:34@
 sDL_SetAssertionHandler
   :: SDL_AssertionHandler
   -- ^
@@ -172,7 +172,7 @@
 --
 --     [See also]: 'sDL_GetAssertionHandler'
 --
---     [C declaration]: @SDL_GetDefaultAssertionHandler@, defined at @SDL3\/SDL_assert.h 612:50@
+--     [C declaration]: @SDL_GetDefaultAssertionHandler@, defined at @SDL3\/SDL_assert.h 620:50@
 sDL_GetDefaultAssertionHandler :: IO SDL_AssertionHandler
 sDL_GetDefaultAssertionHandler =
   hs_bindgen_95e7fb7c037fc4ae
@@ -204,7 +204,7 @@
 --
 --     [See also]: 'sDL_SetAssertionHandler'
 --
---     [C declaration]: @SDL_GetAssertionHandler@, defined at @SDL3\/SDL_assert.h 637:50@
+--     [C declaration]: @SDL_GetAssertionHandler@, defined at @SDL3\/SDL_assert.h 645:50@
 sDL_GetAssertionHandler
   :: BG.Ptr (BG.Ptr BG.Void)
   -- ^
@@ -248,7 +248,7 @@
 --
 --     [See also]: 'sDL_ResetAssertionReport'
 --
---     [C declaration]: @SDL_GetAssertionReport@, defined at @SDL3\/SDL_assert.h 671:52@
+--     [C declaration]: @SDL_GetAssertionReport@, defined at @SDL3\/SDL_assert.h 679:52@
 sDL_GetAssertionReport :: IO (PtrConst.PtrConst SDL_AssertData)
 sDL_GetAssertionReport = hs_bindgen_3b5bb811b27af0d4
 
@@ -272,7 +272,7 @@
 --
 --     [See also]: 'sDL_GetAssertionReport'
 --
---     [C declaration]: @SDL_ResetAssertionReport@, defined at @SDL3\/SDL_assert.h 689:34@
+--     [C declaration]: @SDL_ResetAssertionReport@, defined at @SDL3\/SDL_assert.h 697:34@
 sDL_ResetAssertionReport :: IO ()
 sDL_ResetAssertionReport =
   hs_bindgen_b5d43ee02d99641a
diff --git a/src/SDL3/Sys/Bindgen/Assert/Unsafe.hs b/src/SDL3/Sys/Bindgen/Assert/Unsafe.hs
--- a/src/SDL3/Sys/Bindgen/Assert/Unsafe.hs
+++ b/src/SDL3/Sys/Bindgen/Assert/Unsafe.hs
@@ -87,7 +87,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReportAssertion@, defined at @SDL3\/SDL_assert.h 350:45@
+--     [C declaration]: @SDL_ReportAssertion@, defined at @SDL3\/SDL_assert.h 358:45@
 sDL_ReportAssertion
   :: BG.Ptr SDL_AssertData
   -- ^
@@ -137,7 +137,7 @@
 --
 --     [See also]: 'sDL_GetAssertionHandler'
 --
---     [C declaration]: @SDL_SetAssertionHandler@, defined at @SDL3\/SDL_assert.h 591:34@
+--     [C declaration]: @SDL_SetAssertionHandler@, defined at @SDL3\/SDL_assert.h 599:34@
 sDL_SetAssertionHandler
   :: SDL_AssertionHandler
   -- ^
@@ -172,7 +172,7 @@
 --
 --     [See also]: 'sDL_GetAssertionHandler'
 --
---     [C declaration]: @SDL_GetDefaultAssertionHandler@, defined at @SDL3\/SDL_assert.h 612:50@
+--     [C declaration]: @SDL_GetDefaultAssertionHandler@, defined at @SDL3\/SDL_assert.h 620:50@
 sDL_GetDefaultAssertionHandler :: IO SDL_AssertionHandler
 sDL_GetDefaultAssertionHandler =
   hs_bindgen_dff5ecac8d034d8d
@@ -204,7 +204,7 @@
 --
 --     [See also]: 'sDL_SetAssertionHandler'
 --
---     [C declaration]: @SDL_GetAssertionHandler@, defined at @SDL3\/SDL_assert.h 637:50@
+--     [C declaration]: @SDL_GetAssertionHandler@, defined at @SDL3\/SDL_assert.h 645:50@
 sDL_GetAssertionHandler
   :: BG.Ptr (BG.Ptr BG.Void)
   -- ^
@@ -248,7 +248,7 @@
 --
 --     [See also]: 'sDL_ResetAssertionReport'
 --
---     [C declaration]: @SDL_GetAssertionReport@, defined at @SDL3\/SDL_assert.h 671:52@
+--     [C declaration]: @SDL_GetAssertionReport@, defined at @SDL3\/SDL_assert.h 679:52@
 sDL_GetAssertionReport :: IO (PtrConst.PtrConst SDL_AssertData)
 sDL_GetAssertionReport = hs_bindgen_53829b7497744243
 
@@ -272,7 +272,7 @@
 --
 --     [See also]: 'sDL_GetAssertionReport'
 --
---     [C declaration]: @SDL_ResetAssertionReport@, defined at @SDL3\/SDL_assert.h 689:34@
+--     [C declaration]: @SDL_ResetAssertionReport@, defined at @SDL3\/SDL_assert.h 697:34@
 sDL_ResetAssertionReport :: IO ()
 sDL_ResetAssertionReport =
   hs_bindgen_bb1d739857931f60
diff --git a/src/SDL3/Sys/Bindgen/Atomic.hs b/src/SDL3/Sys/Bindgen/Atomic.hs
--- a/src/SDL3/Sys/Bindgen/Atomic.hs
+++ b/src/SDL3/Sys/Bindgen/Atomic.hs
@@ -111,10 +111,10 @@
 --
 --     [See also]: 'sDL_CompareAndSwapAtomicInt', 'sDL_GetAtomicInt', 'sDL_SetAtomicInt', 'sDL_AddAtomicInt'
 --
---     [C declaration]: @struct SDL_AtomicInt@, defined at @SDL3\/SDL_atomic.h 395:16@
+--     [C declaration]: @struct SDL_AtomicInt@, defined at @SDL3\/SDL_atomic.h 405:16@
 data SDL_AtomicInt = SDL_AtomicInt
   { value :: BG.CInt
-  -- ^ [C declaration]: @value@, defined at @SDL3\/SDL_atomic.h 395:36@
+  -- ^ [C declaration]: @value@, defined at @SDL3\/SDL_atomic.h 405:36@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -173,10 +173,10 @@
 --
 --     [See also]: 'sDL_CompareAndSwapAtomicU32', 'sDL_GetAtomicU32', 'sDL_SetAtomicU32'
 --
---     [C declaration]: @struct SDL_AtomicU32@, defined at @SDL3\/SDL_atomic.h 540:16@
+--     [C declaration]: @struct SDL_AtomicU32@, defined at @SDL3\/SDL_atomic.h 550:16@
 data SDL_AtomicU32 = SDL_AtomicU32
   { value :: SDL3.Sys.Bindgen.Stdinc.Uint32
-  -- ^ [C declaration]: @value@, defined at @SDL3\/SDL_atomic.h 540:39@
+  -- ^ [C declaration]: @value@, defined at @SDL3\/SDL_atomic.h 550:39@
   }
   deriving stock (BG.Generic, Eq, Show)
 
diff --git a/src/SDL3/Sys/Bindgen/Atomic/FunPtr.hs b/src/SDL3/Sys/Bindgen/Atomic/FunPtr.hs
--- a/src/SDL3/Sys/Bindgen/Atomic/FunPtr.hs
+++ b/src/SDL3/Sys/Bindgen/Atomic/FunPtr.hs
@@ -288,7 +288,7 @@
 --
 --     [See also]: @SDL_MemoryBarrierRelease@
 --
---     [C declaration]: @SDL_MemoryBarrierReleaseFunction@, defined at @SDL3\/SDL_atomic.h 192:34@
+--     [C declaration]: @SDL_MemoryBarrierReleaseFunction@, defined at @SDL3\/SDL_atomic.h 195:34@
 sDL_MemoryBarrierReleaseFunction :: BG.FunPtr (IO ())
 sDL_MemoryBarrierReleaseFunction =
   BG.unsafePerformIO hs_bindgen_4979d73c1ba41e39
@@ -315,7 +315,7 @@
 --
 --     [See also]: @SDL_MemoryBarrierAcquire@
 --
---     [C declaration]: @SDL_MemoryBarrierAcquireFunction@, defined at @SDL3\/SDL_atomic.h 212:34@
+--     [C declaration]: @SDL_MemoryBarrierAcquireFunction@, defined at @SDL3\/SDL_atomic.h 215:34@
 sDL_MemoryBarrierAcquireFunction :: BG.FunPtr (IO ())
 sDL_MemoryBarrierAcquireFunction =
   BG.unsafePerformIO hs_bindgen_e6cbd7564a024d99
@@ -351,7 +351,7 @@
 --
 --     [See also]: 'sDL_GetAtomicInt', 'sDL_SetAtomicInt'
 --
---     [C declaration]: @SDL_CompareAndSwapAtomicInt@, defined at @SDL3\/SDL_atomic.h 415:34@
+--     [C declaration]: @SDL_CompareAndSwapAtomicInt@, defined at @SDL3\/SDL_atomic.h 425:34@
 sDL_CompareAndSwapAtomicInt :: BG.FunPtr (BG.Ptr SDL_AtomicInt -> BG.CInt -> BG.CInt -> IO BG.CBool)
 sDL_CompareAndSwapAtomicInt =
   BG.unsafePerformIO hs_bindgen_c535bda19feaf153
@@ -386,7 +386,7 @@
 --
 --     [See also]: 'sDL_GetAtomicInt'
 --
---     [C declaration]: @SDL_SetAtomicInt@, defined at @SDL3\/SDL_atomic.h 435:33@
+--     [C declaration]: @SDL_SetAtomicInt@, defined at @SDL3\/SDL_atomic.h 445:33@
 sDL_SetAtomicInt :: BG.FunPtr (BG.Ptr SDL_AtomicInt -> BG.CInt -> IO BG.CInt)
 sDL_SetAtomicInt =
   BG.unsafePerformIO hs_bindgen_281a397e642c4489
@@ -417,7 +417,7 @@
 --
 --     [See also]: 'sDL_SetAtomicInt'
 --
---     [C declaration]: @SDL_GetAtomicInt@, defined at @SDL3\/SDL_atomic.h 452:33@
+--     [C declaration]: @SDL_GetAtomicInt@, defined at @SDL3\/SDL_atomic.h 462:33@
 sDL_GetAtomicInt :: BG.FunPtr (BG.Ptr SDL_AtomicInt -> IO BG.CInt)
 sDL_GetAtomicInt =
   BG.unsafePerformIO hs_bindgen_db9688135888e49b
@@ -452,7 +452,7 @@
 --
 --     [See also]: @SDL_AtomicDecRef@, @SDL_AtomicIncRef@
 --
---     [C declaration]: @SDL_AddAtomicInt@, defined at @SDL3\/SDL_atomic.h 473:33@
+--     [C declaration]: @SDL_AddAtomicInt@, defined at @SDL3\/SDL_atomic.h 483:33@
 sDL_AddAtomicInt :: BG.FunPtr (BG.Ptr SDL_AtomicInt -> BG.CInt -> IO BG.CInt)
 sDL_AddAtomicInt =
   BG.unsafePerformIO hs_bindgen_3e37f598766ca408
@@ -495,7 +495,7 @@
 --
 --     [See also]: 'sDL_GetAtomicU32', 'sDL_SetAtomicU32'
 --
---     [C declaration]: @SDL_CompareAndSwapAtomicU32@, defined at @SDL3\/SDL_atomic.h 560:34@
+--     [C declaration]: @SDL_CompareAndSwapAtomicU32@, defined at @SDL3\/SDL_atomic.h 570:34@
 sDL_CompareAndSwapAtomicU32
   :: BG.FunPtr
        ( BG.Ptr SDL_AtomicU32
@@ -540,7 +540,7 @@
 --
 --     [See also]: 'sDL_GetAtomicU32'
 --
---     [C declaration]: @SDL_SetAtomicU32@, defined at @SDL3\/SDL_atomic.h 580:36@
+--     [C declaration]: @SDL_SetAtomicU32@, defined at @SDL3\/SDL_atomic.h 590:36@
 sDL_SetAtomicU32
   :: BG.FunPtr
        (BG.Ptr SDL_AtomicU32 -> SDL3.Sys.Bindgen.Stdinc.Uint32 -> IO SDL3.Sys.Bindgen.Stdinc.Uint32)
@@ -574,7 +574,7 @@
 --
 --     [See also]: 'sDL_SetAtomicU32'
 --
---     [C declaration]: @SDL_GetAtomicU32@, defined at @SDL3\/SDL_atomic.h 597:36@
+--     [C declaration]: @SDL_GetAtomicU32@, defined at @SDL3\/SDL_atomic.h 607:36@
 sDL_GetAtomicU32 :: BG.FunPtr (BG.Ptr SDL_AtomicU32 -> IO SDL3.Sys.Bindgen.Stdinc.Uint32)
 sDL_GetAtomicU32 =
   BG.unsafePerformIO hs_bindgen_89429d58246e8835
@@ -608,7 +608,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @SDL_AddAtomicU32@, defined at @SDL3\/SDL_atomic.h 615:36@
+--     [C declaration]: @SDL_AddAtomicU32@, defined at @SDL3\/SDL_atomic.h 625:36@
 sDL_AddAtomicU32 :: BG.FunPtr (BG.Ptr SDL_AtomicU32 -> BG.CInt -> IO SDL3.Sys.Bindgen.Stdinc.Uint32)
 sDL_AddAtomicU32 =
   BG.unsafePerformIO hs_bindgen_74ebd3ff8c83f38e
@@ -644,7 +644,7 @@
 --
 --     [See also]: 'sDL_CompareAndSwapAtomicInt', 'sDL_GetAtomicPointer', 'sDL_SetAtomicPointer'
 --
---     [C declaration]: @SDL_CompareAndSwapAtomicPointer@, defined at @SDL3\/SDL_atomic.h 636:34@
+--     [C declaration]: @SDL_CompareAndSwapAtomicPointer@, defined at @SDL3\/SDL_atomic.h 646:34@
 sDL_CompareAndSwapAtomicPointer
   :: BG.FunPtr (BG.Ptr (BG.Ptr BG.Void) -> BG.Ptr BG.Void -> BG.Ptr BG.Void -> IO BG.CBool)
 sDL_CompareAndSwapAtomicPointer =
@@ -679,7 +679,7 @@
 --
 --     [See also]: 'sDL_CompareAndSwapAtomicPointer', 'sDL_GetAtomicPointer'
 --
---     [C declaration]: @SDL_SetAtomicPointer@, defined at @SDL3\/SDL_atomic.h 655:36@
+--     [C declaration]: @SDL_SetAtomicPointer@, defined at @SDL3\/SDL_atomic.h 665:36@
 sDL_SetAtomicPointer :: BG.FunPtr (BG.Ptr (BG.Ptr BG.Void) -> BG.Ptr BG.Void -> IO (BG.Ptr BG.Void))
 sDL_SetAtomicPointer =
   BG.unsafePerformIO hs_bindgen_f4bd3696da14dba9
@@ -710,7 +710,7 @@
 --
 --     [See also]: 'sDL_CompareAndSwapAtomicPointer', 'sDL_SetAtomicPointer'
 --
---     [C declaration]: @SDL_GetAtomicPointer@, defined at @SDL3\/SDL_atomic.h 673:36@
+--     [C declaration]: @SDL_GetAtomicPointer@, defined at @SDL3\/SDL_atomic.h 683:36@
 sDL_GetAtomicPointer :: BG.FunPtr (BG.Ptr (BG.Ptr BG.Void) -> IO (BG.Ptr BG.Void))
 sDL_GetAtomicPointer =
   BG.unsafePerformIO hs_bindgen_dc36e65ef974254e
diff --git a/src/SDL3/Sys/Bindgen/Atomic/Safe.hs b/src/SDL3/Sys/Bindgen/Atomic/Safe.hs
--- a/src/SDL3/Sys/Bindgen/Atomic/Safe.hs
+++ b/src/SDL3/Sys/Bindgen/Atomic/Safe.hs
@@ -263,7 +263,7 @@
 --
 --     [See also]: @SDL_MemoryBarrierRelease@
 --
---     [C declaration]: @SDL_MemoryBarrierReleaseFunction@, defined at @SDL3\/SDL_atomic.h 192:34@
+--     [C declaration]: @SDL_MemoryBarrierReleaseFunction@, defined at @SDL3\/SDL_atomic.h 195:34@
 sDL_MemoryBarrierReleaseFunction :: IO ()
 sDL_MemoryBarrierReleaseFunction =
   hs_bindgen_242899706a6f2e17
@@ -288,7 +288,7 @@
 --
 --     [See also]: @SDL_MemoryBarrierAcquire@
 --
---     [C declaration]: @SDL_MemoryBarrierAcquireFunction@, defined at @SDL3\/SDL_atomic.h 212:34@
+--     [C declaration]: @SDL_MemoryBarrierAcquireFunction@, defined at @SDL3\/SDL_atomic.h 215:34@
 sDL_MemoryBarrierAcquireFunction :: IO ()
 sDL_MemoryBarrierAcquireFunction =
   hs_bindgen_4e0cd51f93ed2a72
@@ -322,7 +322,7 @@
 --
 --     [See also]: 'sDL_GetAtomicInt', 'sDL_SetAtomicInt'
 --
---     [C declaration]: @SDL_CompareAndSwapAtomicInt@, defined at @SDL3\/SDL_atomic.h 415:34@
+--     [C declaration]: @SDL_CompareAndSwapAtomicInt@, defined at @SDL3\/SDL_atomic.h 425:34@
 sDL_CompareAndSwapAtomicInt
   :: BG.Ptr SDL_AtomicInt
   -- ^
@@ -369,7 +369,7 @@
 --
 --     [See also]: 'sDL_GetAtomicInt'
 --
---     [C declaration]: @SDL_SetAtomicInt@, defined at @SDL3\/SDL_atomic.h 435:33@
+--     [C declaration]: @SDL_SetAtomicInt@, defined at @SDL3\/SDL_atomic.h 445:33@
 sDL_SetAtomicInt
   :: BG.Ptr SDL_AtomicInt
   -- ^
@@ -407,7 +407,7 @@
 --
 --     [See also]: 'sDL_SetAtomicInt'
 --
---     [C declaration]: @SDL_GetAtomicInt@, defined at @SDL3\/SDL_atomic.h 452:33@
+--     [C declaration]: @SDL_GetAtomicInt@, defined at @SDL3\/SDL_atomic.h 462:33@
 sDL_GetAtomicInt
   :: BG.Ptr SDL_AtomicInt
   -- ^
@@ -445,7 +445,7 @@
 --
 --     [See also]: @SDL_AtomicDecRef@, @SDL_AtomicIncRef@
 --
---     [C declaration]: @SDL_AddAtomicInt@, defined at @SDL3\/SDL_atomic.h 473:33@
+--     [C declaration]: @SDL_AddAtomicInt@, defined at @SDL3\/SDL_atomic.h 483:33@
 sDL_AddAtomicInt
   :: BG.Ptr SDL_AtomicInt
   -- ^
@@ -487,7 +487,7 @@
 --
 --     [See also]: 'sDL_GetAtomicU32', 'sDL_SetAtomicU32'
 --
---     [C declaration]: @SDL_CompareAndSwapAtomicU32@, defined at @SDL3\/SDL_atomic.h 560:34@
+--     [C declaration]: @SDL_CompareAndSwapAtomicU32@, defined at @SDL3\/SDL_atomic.h 570:34@
 sDL_CompareAndSwapAtomicU32
   :: BG.Ptr SDL_AtomicU32
   -- ^
@@ -534,7 +534,7 @@
 --
 --     [See also]: 'sDL_GetAtomicU32'
 --
---     [C declaration]: @SDL_SetAtomicU32@, defined at @SDL3\/SDL_atomic.h 580:36@
+--     [C declaration]: @SDL_SetAtomicU32@, defined at @SDL3\/SDL_atomic.h 590:36@
 sDL_SetAtomicU32
   :: BG.Ptr SDL_AtomicU32
   -- ^
@@ -572,7 +572,7 @@
 --
 --     [See also]: 'sDL_SetAtomicU32'
 --
---     [C declaration]: @SDL_GetAtomicU32@, defined at @SDL3\/SDL_atomic.h 597:36@
+--     [C declaration]: @SDL_GetAtomicU32@, defined at @SDL3\/SDL_atomic.h 607:36@
 sDL_GetAtomicU32
   :: BG.Ptr SDL_AtomicU32
   -- ^
@@ -608,7 +608,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @SDL_AddAtomicU32@, defined at @SDL3\/SDL_atomic.h 615:36@
+--     [C declaration]: @SDL_AddAtomicU32@, defined at @SDL3\/SDL_atomic.h 625:36@
 sDL_AddAtomicU32
   :: BG.Ptr SDL_AtomicU32
   -- ^
@@ -650,7 +650,7 @@
 --
 --     [See also]: 'sDL_CompareAndSwapAtomicInt', 'sDL_GetAtomicPointer', 'sDL_SetAtomicPointer'
 --
---     [C declaration]: @SDL_CompareAndSwapAtomicPointer@, defined at @SDL3\/SDL_atomic.h 636:34@
+--     [C declaration]: @SDL_CompareAndSwapAtomicPointer@, defined at @SDL3\/SDL_atomic.h 646:34@
 sDL_CompareAndSwapAtomicPointer
   :: BG.Ptr (BG.Ptr BG.Void)
   -- ^
@@ -695,7 +695,7 @@
 --
 --     [See also]: 'sDL_CompareAndSwapAtomicPointer', 'sDL_GetAtomicPointer'
 --
---     [C declaration]: @SDL_SetAtomicPointer@, defined at @SDL3\/SDL_atomic.h 655:36@
+--     [C declaration]: @SDL_SetAtomicPointer@, defined at @SDL3\/SDL_atomic.h 665:36@
 sDL_SetAtomicPointer
   :: BG.Ptr (BG.Ptr BG.Void)
   -- ^
@@ -733,7 +733,7 @@
 --
 --     [See also]: 'sDL_CompareAndSwapAtomicPointer', 'sDL_SetAtomicPointer'
 --
---     [C declaration]: @SDL_GetAtomicPointer@, defined at @SDL3\/SDL_atomic.h 673:36@
+--     [C declaration]: @SDL_GetAtomicPointer@, defined at @SDL3\/SDL_atomic.h 683:36@
 sDL_GetAtomicPointer
   :: BG.Ptr (BG.Ptr BG.Void)
   -- ^
diff --git a/src/SDL3/Sys/Bindgen/Atomic/Unsafe.hs b/src/SDL3/Sys/Bindgen/Atomic/Unsafe.hs
--- a/src/SDL3/Sys/Bindgen/Atomic/Unsafe.hs
+++ b/src/SDL3/Sys/Bindgen/Atomic/Unsafe.hs
@@ -263,7 +263,7 @@
 --
 --     [See also]: @SDL_MemoryBarrierRelease@
 --
---     [C declaration]: @SDL_MemoryBarrierReleaseFunction@, defined at @SDL3\/SDL_atomic.h 192:34@
+--     [C declaration]: @SDL_MemoryBarrierReleaseFunction@, defined at @SDL3\/SDL_atomic.h 195:34@
 sDL_MemoryBarrierReleaseFunction :: IO ()
 sDL_MemoryBarrierReleaseFunction =
   hs_bindgen_0e27a69a6cca6aac
@@ -288,7 +288,7 @@
 --
 --     [See also]: @SDL_MemoryBarrierAcquire@
 --
---     [C declaration]: @SDL_MemoryBarrierAcquireFunction@, defined at @SDL3\/SDL_atomic.h 212:34@
+--     [C declaration]: @SDL_MemoryBarrierAcquireFunction@, defined at @SDL3\/SDL_atomic.h 215:34@
 sDL_MemoryBarrierAcquireFunction :: IO ()
 sDL_MemoryBarrierAcquireFunction =
   hs_bindgen_0eaa15705859b209
@@ -322,7 +322,7 @@
 --
 --     [See also]: 'sDL_GetAtomicInt', 'sDL_SetAtomicInt'
 --
---     [C declaration]: @SDL_CompareAndSwapAtomicInt@, defined at @SDL3\/SDL_atomic.h 415:34@
+--     [C declaration]: @SDL_CompareAndSwapAtomicInt@, defined at @SDL3\/SDL_atomic.h 425:34@
 sDL_CompareAndSwapAtomicInt
   :: BG.Ptr SDL_AtomicInt
   -- ^
@@ -369,7 +369,7 @@
 --
 --     [See also]: 'sDL_GetAtomicInt'
 --
---     [C declaration]: @SDL_SetAtomicInt@, defined at @SDL3\/SDL_atomic.h 435:33@
+--     [C declaration]: @SDL_SetAtomicInt@, defined at @SDL3\/SDL_atomic.h 445:33@
 sDL_SetAtomicInt
   :: BG.Ptr SDL_AtomicInt
   -- ^
@@ -407,7 +407,7 @@
 --
 --     [See also]: 'sDL_SetAtomicInt'
 --
---     [C declaration]: @SDL_GetAtomicInt@, defined at @SDL3\/SDL_atomic.h 452:33@
+--     [C declaration]: @SDL_GetAtomicInt@, defined at @SDL3\/SDL_atomic.h 462:33@
 sDL_GetAtomicInt
   :: BG.Ptr SDL_AtomicInt
   -- ^
@@ -445,7 +445,7 @@
 --
 --     [See also]: @SDL_AtomicDecRef@, @SDL_AtomicIncRef@
 --
---     [C declaration]: @SDL_AddAtomicInt@, defined at @SDL3\/SDL_atomic.h 473:33@
+--     [C declaration]: @SDL_AddAtomicInt@, defined at @SDL3\/SDL_atomic.h 483:33@
 sDL_AddAtomicInt
   :: BG.Ptr SDL_AtomicInt
   -- ^
@@ -487,7 +487,7 @@
 --
 --     [See also]: 'sDL_GetAtomicU32', 'sDL_SetAtomicU32'
 --
---     [C declaration]: @SDL_CompareAndSwapAtomicU32@, defined at @SDL3\/SDL_atomic.h 560:34@
+--     [C declaration]: @SDL_CompareAndSwapAtomicU32@, defined at @SDL3\/SDL_atomic.h 570:34@
 sDL_CompareAndSwapAtomicU32
   :: BG.Ptr SDL_AtomicU32
   -- ^
@@ -534,7 +534,7 @@
 --
 --     [See also]: 'sDL_GetAtomicU32'
 --
---     [C declaration]: @SDL_SetAtomicU32@, defined at @SDL3\/SDL_atomic.h 580:36@
+--     [C declaration]: @SDL_SetAtomicU32@, defined at @SDL3\/SDL_atomic.h 590:36@
 sDL_SetAtomicU32
   :: BG.Ptr SDL_AtomicU32
   -- ^
@@ -572,7 +572,7 @@
 --
 --     [See also]: 'sDL_SetAtomicU32'
 --
---     [C declaration]: @SDL_GetAtomicU32@, defined at @SDL3\/SDL_atomic.h 597:36@
+--     [C declaration]: @SDL_GetAtomicU32@, defined at @SDL3\/SDL_atomic.h 607:36@
 sDL_GetAtomicU32
   :: BG.Ptr SDL_AtomicU32
   -- ^
@@ -608,7 +608,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @SDL_AddAtomicU32@, defined at @SDL3\/SDL_atomic.h 615:36@
+--     [C declaration]: @SDL_AddAtomicU32@, defined at @SDL3\/SDL_atomic.h 625:36@
 sDL_AddAtomicU32
   :: BG.Ptr SDL_AtomicU32
   -- ^
@@ -650,7 +650,7 @@
 --
 --     [See also]: 'sDL_CompareAndSwapAtomicInt', 'sDL_GetAtomicPointer', 'sDL_SetAtomicPointer'
 --
---     [C declaration]: @SDL_CompareAndSwapAtomicPointer@, defined at @SDL3\/SDL_atomic.h 636:34@
+--     [C declaration]: @SDL_CompareAndSwapAtomicPointer@, defined at @SDL3\/SDL_atomic.h 646:34@
 sDL_CompareAndSwapAtomicPointer
   :: BG.Ptr (BG.Ptr BG.Void)
   -- ^
@@ -695,7 +695,7 @@
 --
 --     [See also]: 'sDL_CompareAndSwapAtomicPointer', 'sDL_GetAtomicPointer'
 --
---     [C declaration]: @SDL_SetAtomicPointer@, defined at @SDL3\/SDL_atomic.h 655:36@
+--     [C declaration]: @SDL_SetAtomicPointer@, defined at @SDL3\/SDL_atomic.h 665:36@
 sDL_SetAtomicPointer
   :: BG.Ptr (BG.Ptr BG.Void)
   -- ^
@@ -733,7 +733,7 @@
 --
 --     [See also]: 'sDL_CompareAndSwapAtomicPointer', 'sDL_SetAtomicPointer'
 --
---     [C declaration]: @SDL_GetAtomicPointer@, defined at @SDL3\/SDL_atomic.h 673:36@
+--     [C declaration]: @SDL_GetAtomicPointer@, defined at @SDL3\/SDL_atomic.h 683:36@
 sDL_GetAtomicPointer
   :: BG.Ptr (BG.Ptr BG.Void)
   -- ^
diff --git a/src/SDL3/Sys/Bindgen/Audio.hs b/src/SDL3/Sys/Bindgen/Audio.hs
--- a/src/SDL3/Sys/Bindgen/Audio.hs
+++ b/src/SDL3/Sys/Bindgen/Audio.hs
@@ -694,7 +694,7 @@
 --
 --     * It can remap audio channels between inputs and outputs.
 --
---     * You push data as you have it, and pull it when you need it
+--     * You push data as you have it, and pull it when you need it; the stream will buffer data as needed.
 --
 --     * It can also function as a basic audio data queue even if you just have sound that needs to pass from one place to another.
 --
@@ -706,10 +706,10 @@
 --
 --     [See also]: 'sDL_CreateAudioStream'
 --
---     [C declaration]: @struct SDL_AudioStream@, defined at @SDL3\/SDL_audio.h 451:16@
+--     [C declaration]: @struct SDL_AudioStream@, defined at @SDL3\/SDL_audio.h 452:16@
 data SDL_AudioStream
 
--- | [C declaration]: @macro SDL_PROP_AUDIOSTREAM_AUTO_CLEANUP_BOOLEAN@, literal @\"SDL.audiostream.auto_cleanup\"@, defined at @SDL3\/SDL_audio.h 1100:9@
+-- | [C declaration]: @macro SDL_PROP_AUDIOSTREAM_AUTO_CLEANUP_BOOLEAN@, literal @\"SDL.audiostream.auto_cleanup\"@, defined at @SDL3\/SDL_audio.h 1108:9@
 sDL_PROP_AUDIOSTREAM_AUTO_CLEANUP_BOOLEAN :: BG.ByteString
 sDL_PROP_AUDIOSTREAM_AUTO_CLEANUP_BOOLEAN =
   BG.pack
@@ -745,7 +745,7 @@
 
 -- | Auxiliary type used by 'SDL_AudioStreamDataCompleteCallback'
 --
---     [C declaration]: @SDL_AudioStreamDataCompleteCallback@, defined at @SDL3\/SDL_audio.h 1472:24@
+--     [C declaration]: @SDL_AudioStreamDataCompleteCallback@, defined at @SDL3\/SDL_audio.h 1483:24@
 newtype SDL_AudioStreamDataCompleteCallback_Aux = SDL_AudioStreamDataCompleteCallback_Aux
   { unwrap :: BG.Ptr BG.Void -> PtrConst.PtrConst BG.Void -> BG.CInt -> IO ()
   }
@@ -831,7 +831,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamGetCallback', 'sDL_SetAudioStreamPutCallback'
 --
---     [C declaration]: @SDL_AudioStreamDataCompleteCallback@, defined at @SDL3\/SDL_audio.h 1472:24@
+--     [C declaration]: @SDL_AudioStreamDataCompleteCallback@, defined at @SDL3\/SDL_audio.h 1483:24@
 newtype SDL_AudioStreamDataCompleteCallback = SDL_AudioStreamDataCompleteCallback
   { unwrap :: BG.FunPtr SDL_AudioStreamDataCompleteCallback_Aux
   }
@@ -870,7 +870,7 @@
 
 -- | Auxiliary type used by 'SDL_AudioStreamCallback'
 --
---     [C declaration]: @SDL_AudioStreamCallback@, defined at @SDL3\/SDL_audio.h 1865:24@
+--     [C declaration]: @SDL_AudioStreamCallback@, defined at @SDL3\/SDL_audio.h 1878:24@
 newtype SDL_AudioStreamCallback_Aux = SDL_AudioStreamCallback_Aux
   { unwrap :: BG.Ptr BG.Void -> BG.Ptr SDL_AudioStream -> BG.CInt -> BG.CInt -> IO ()
   }
@@ -949,6 +949,8 @@
 --
 --     This callback is not required to do anything. Generally this is useful for adding\/reading data on demand, and the app will often put\/get data as appropriate, but the system goes on with the data currently available to it if this callback does nothing.
 --
+--     Do not call @SDL_DestroyAudioStream()@ on @stream@ during this callback.
+--
 --     [@stream@]: the SDL audio stream associated with this callback.
 --
 --     [@additional_amount@]: the amount of data, in bytes, that is needed right now.
@@ -963,7 +965,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamGetCallback', 'sDL_SetAudioStreamPutCallback'
 --
---     [C declaration]: @SDL_AudioStreamCallback@, defined at @SDL3\/SDL_audio.h 1865:24@
+--     [C declaration]: @SDL_AudioStreamCallback@, defined at @SDL3\/SDL_audio.h 1878:24@
 newtype SDL_AudioStreamCallback = SDL_AudioStreamCallback
   { unwrap :: BG.FunPtr SDL_AudioStreamCallback_Aux
   }
@@ -1002,7 +1004,7 @@
 
 -- | Auxiliary type used by 'SDL_AudioPostmixCallback'
 --
---     [C declaration]: @SDL_AudioPostmixCallback@, defined at @SDL3\/SDL_audio.h 2082:24@
+--     [C declaration]: @SDL_AudioPostmixCallback@, defined at @SDL3\/SDL_audio.h 2095:24@
 newtype SDL_AudioPostmixCallback_Aux = SDL_AudioPostmixCallback_Aux
   { unwrap :: BG.Ptr BG.Void -> PtrConst.PtrConst SDL_AudioSpec -> BG.Ptr BG.CFloat -> BG.CInt -> IO ()
   }
@@ -1095,7 +1097,7 @@
 --
 --     [See also]: 'sDL_SetAudioPostmixCallback'
 --
---     [C declaration]: @SDL_AudioPostmixCallback@, defined at @SDL3\/SDL_audio.h 2082:24@
+--     [C declaration]: @SDL_AudioPostmixCallback@, defined at @SDL3\/SDL_audio.h 2095:24@
 newtype SDL_AudioPostmixCallback = SDL_AudioPostmixCallback
   { unwrap :: BG.FunPtr SDL_AudioPostmixCallback_Aux
   }
diff --git a/src/SDL3/Sys/Bindgen/Audio/FunPtr.hs b/src/SDL3/Sys/Bindgen/Audio/FunPtr.hs
--- a/src/SDL3/Sys/Bindgen/Audio/FunPtr.hs
+++ b/src/SDL3/Sys/Bindgen/Audio/FunPtr.hs
@@ -639,7 +639,7 @@
 --
 --     [See also]: 'sDL_GetAudioDriver'
 --
---     [C declaration]: @SDL_GetNumAudioDrivers@, defined at @SDL3\/SDL_audio.h 477:33@
+--     [C declaration]: @SDL_GetNumAudioDrivers@, defined at @SDL3\/SDL_audio.h 478:33@
 sDL_GetNumAudioDrivers :: BG.FunPtr (IO BG.CInt)
 sDL_GetNumAudioDrivers =
   BG.unsafePerformIO hs_bindgen_70df3deb87a6a291
@@ -672,7 +672,7 @@
 --
 --     [See also]: 'sDL_GetNumAudioDrivers'
 --
---     [C declaration]: @SDL_GetAudioDriver@, defined at @SDL3\/SDL_audio.h 501:42@
+--     [C declaration]: @SDL_GetAudioDriver@, defined at @SDL3\/SDL_audio.h 502:42@
 sDL_GetAudioDriver :: BG.FunPtr (BG.CInt -> IO (PtrConst.PtrConst BG.CChar))
 sDL_GetAudioDriver =
   BG.unsafePerformIO hs_bindgen_96a59296db34206f
@@ -699,7 +699,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetCurrentAudioDriver@, defined at @SDL3\/SDL_audio.h 517:42@
+--     [C declaration]: @SDL_GetCurrentAudioDriver@, defined at @SDL3\/SDL_audio.h 518:42@
 sDL_GetCurrentAudioDriver :: BG.FunPtr (IO (PtrConst.PtrConst BG.CChar))
 sDL_GetCurrentAudioDriver =
   BG.unsafePerformIO hs_bindgen_3b5e65309af7eb52
@@ -734,7 +734,7 @@
 --
 --     [See also]: 'sDL_OpenAudioDevice', 'sDL_GetAudioRecordingDevices'
 --
---     [C declaration]: @SDL_GetAudioPlaybackDevices@, defined at @SDL3\/SDL_audio.h 546:49@
+--     [C declaration]: @SDL_GetAudioPlaybackDevices@, defined at @SDL3\/SDL_audio.h 547:49@
 sDL_GetAudioPlaybackDevices :: BG.FunPtr (BG.Ptr BG.CInt -> IO (BG.Ptr SDL_AudioDeviceID))
 sDL_GetAudioPlaybackDevices =
   BG.unsafePerformIO hs_bindgen_0154df1db50254cb
@@ -769,7 +769,7 @@
 --
 --     [See also]: 'sDL_OpenAudioDevice', 'sDL_GetAudioPlaybackDevices'
 --
---     [C declaration]: @SDL_GetAudioRecordingDevices@, defined at @SDL3\/SDL_audio.h 575:49@
+--     [C declaration]: @SDL_GetAudioRecordingDevices@, defined at @SDL3\/SDL_audio.h 576:49@
 sDL_GetAudioRecordingDevices :: BG.FunPtr (BG.Ptr BG.CInt -> IO (BG.Ptr SDL_AudioDeviceID))
 sDL_GetAudioRecordingDevices =
   BG.unsafePerformIO hs_bindgen_b1e17652d75669ba
@@ -800,7 +800,7 @@
 --
 --     [See also]: 'sDL_GetAudioPlaybackDevices', 'sDL_GetAudioRecordingDevices'
 --
---     [C declaration]: @SDL_GetAudioDeviceName@, defined at @SDL3\/SDL_audio.h 600:42@
+--     [C declaration]: @SDL_GetAudioDeviceName@, defined at @SDL3\/SDL_audio.h 601:42@
 sDL_GetAudioDeviceName :: BG.FunPtr (SDL_AudioDeviceID -> IO (PtrConst.PtrConst BG.CChar))
 sDL_GetAudioDeviceName =
   BG.unsafePerformIO hs_bindgen_dcc642abb8604857
@@ -842,7 +842,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetAudioDeviceFormat@, defined at @SDL3\/SDL_audio.h 635:34@
+--     [C declaration]: @SDL_GetAudioDeviceFormat@, defined at @SDL3\/SDL_audio.h 636:34@
 sDL_GetAudioDeviceFormat
   :: BG.FunPtr (SDL_AudioDeviceID -> BG.Ptr SDL_AudioSpec -> BG.Ptr BG.CInt -> IO BG.CBool)
 sDL_GetAudioDeviceFormat =
@@ -879,7 +879,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamInputChannelMap'
 --
---     [C declaration]: @SDL_GetAudioDeviceChannelMap@, defined at @SDL3\/SDL_audio.h 658:35@
+--     [C declaration]: @SDL_GetAudioDeviceChannelMap@, defined at @SDL3\/SDL_audio.h 659:35@
 sDL_GetAudioDeviceChannelMap
   :: BG.FunPtr (SDL_AudioDeviceID -> BG.Ptr BG.CInt -> IO (BG.Ptr BG.CInt))
 sDL_GetAudioDeviceChannelMap =
@@ -930,7 +930,7 @@
 --
 --     [See also]: 'sDL_CloseAudioDevice', 'sDL_GetAudioDeviceFormat'
 --
---     [C declaration]: @SDL_OpenAudioDevice@, defined at @SDL3\/SDL_audio.h 734:47@
+--     [C declaration]: @SDL_OpenAudioDevice@, defined at @SDL3\/SDL_audio.h 735:47@
 sDL_OpenAudioDevice
   :: BG.FunPtr (SDL_AudioDeviceID -> PtrConst.PtrConst SDL_AudioSpec -> IO SDL_AudioDeviceID)
 sDL_OpenAudioDevice =
@@ -964,7 +964,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_IsAudioDevicePhysical@, defined at @SDL3\/SDL_audio.h 759:34@
+--     [C declaration]: @SDL_IsAudioDevicePhysical@, defined at @SDL3\/SDL_audio.h 760:34@
 sDL_IsAudioDevicePhysical :: BG.FunPtr (SDL_AudioDeviceID -> IO BG.CBool)
 sDL_IsAudioDevicePhysical =
   BG.unsafePerformIO hs_bindgen_6499cfa703c6758f
@@ -993,7 +993,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_IsAudioDevicePlayback@, defined at @SDL3\/SDL_audio.h 773:34@
+--     [C declaration]: @SDL_IsAudioDevicePlayback@, defined at @SDL3\/SDL_audio.h 774:34@
 sDL_IsAudioDevicePlayback :: BG.FunPtr (SDL_AudioDeviceID -> IO BG.CBool)
 sDL_IsAudioDevicePlayback =
   BG.unsafePerformIO hs_bindgen_a0086d8f92145768
@@ -1030,7 +1030,7 @@
 --
 --     [See also]: 'sDL_ResumeAudioDevice', 'sDL_AudioDevicePaused'
 --
---     [C declaration]: @SDL_PauseAudioDevice@, defined at @SDL3\/SDL_audio.h 804:34@
+--     [C declaration]: @SDL_PauseAudioDevice@, defined at @SDL3\/SDL_audio.h 805:34@
 sDL_PauseAudioDevice :: BG.FunPtr (SDL_AudioDeviceID -> IO BG.CBool)
 sDL_PauseAudioDevice =
   BG.unsafePerformIO hs_bindgen_1003717acae7ce8b
@@ -1065,7 +1065,7 @@
 --
 --     [See also]: 'sDL_AudioDevicePaused', 'sDL_PauseAudioDevice'
 --
---     [C declaration]: @SDL_ResumeAudioDevice@, defined at @SDL3\/SDL_audio.h 832:34@
+--     [C declaration]: @SDL_ResumeAudioDevice@, defined at @SDL3\/SDL_audio.h 833:34@
 sDL_ResumeAudioDevice :: BG.FunPtr (SDL_AudioDeviceID -> IO BG.CBool)
 sDL_ResumeAudioDevice =
   BG.unsafePerformIO hs_bindgen_df9a550a09c18c65
@@ -1098,7 +1098,7 @@
 --
 --     [See also]: 'sDL_PauseAudioDevice', 'sDL_ResumeAudioDevice'
 --
---     [C declaration]: @SDL_AudioDevicePaused@, defined at @SDL3\/SDL_audio.h 854:34@
+--     [C declaration]: @SDL_AudioDevicePaused@, defined at @SDL3\/SDL_audio.h 855:34@
 sDL_AudioDevicePaused :: BG.FunPtr (SDL_AudioDeviceID -> IO BG.CBool)
 sDL_AudioDevicePaused =
   BG.unsafePerformIO hs_bindgen_4580e249e63ded2b
@@ -1133,7 +1133,7 @@
 --
 --     [See also]: 'sDL_SetAudioDeviceGain'
 --
---     [C declaration]: @SDL_GetAudioDeviceGain@, defined at @SDL3\/SDL_audio.h 877:35@
+--     [C declaration]: @SDL_GetAudioDeviceGain@, defined at @SDL3\/SDL_audio.h 878:35@
 sDL_GetAudioDeviceGain :: BG.FunPtr (SDL_AudioDeviceID -> IO BG.CFloat)
 sDL_GetAudioDeviceGain =
   BG.unsafePerformIO hs_bindgen_6f1b270afdab6bb6
@@ -1172,7 +1172,7 @@
 --
 --     [See also]: 'sDL_GetAudioDeviceGain'
 --
---     [C declaration]: @SDL_SetAudioDeviceGain@, defined at @SDL3\/SDL_audio.h 912:34@
+--     [C declaration]: @SDL_SetAudioDeviceGain@, defined at @SDL3\/SDL_audio.h 913:34@
 sDL_SetAudioDeviceGain :: BG.FunPtr (SDL_AudioDeviceID -> BG.CFloat -> IO BG.CBool)
 sDL_SetAudioDeviceGain =
   BG.unsafePerformIO hs_bindgen_aa933d15c7bb8ed3
@@ -1203,7 +1203,7 @@
 --
 --     [See also]: 'sDL_OpenAudioDevice'
 --
---     [C declaration]: @SDL_CloseAudioDevice@, defined at @SDL3\/SDL_audio.h 933:34@
+--     [C declaration]: @SDL_CloseAudioDevice@, defined at @SDL3\/SDL_audio.h 934:34@
 sDL_CloseAudioDevice :: BG.FunPtr (SDL_AudioDeviceID -> IO ())
 sDL_CloseAudioDevice =
   BG.unsafePerformIO hs_bindgen_b303dd6fccc99188
@@ -1248,7 +1248,7 @@
 --
 --     [See also]: 'sDL_BindAudioStreams', 'sDL_UnbindAudioStream', 'sDL_GetAudioStreamDevice'
 --
---     [C declaration]: @SDL_BindAudioStreams@, defined at @SDL3\/SDL_audio.h 973:34@
+--     [C declaration]: @SDL_BindAudioStreams@, defined at @SDL3\/SDL_audio.h 974:34@
 sDL_BindAudioStreams
   :: BG.FunPtr
        (SDL_AudioDeviceID -> PtrConst.PtrConst (BG.Ptr SDL_AudioStream) -> BG.CInt -> IO BG.CBool)
@@ -1284,7 +1284,7 @@
 --
 --     [See also]: 'sDL_BindAudioStreams', 'sDL_UnbindAudioStream', 'sDL_GetAudioStreamDevice'
 --
---     [C declaration]: @SDL_BindAudioStream@, defined at @SDL3\/SDL_audio.h 994:34@
+--     [C declaration]: @SDL_BindAudioStream@, defined at @SDL3\/SDL_audio.h 995:34@
 sDL_BindAudioStream :: BG.FunPtr (SDL_AudioDeviceID -> BG.Ptr SDL_AudioStream -> IO BG.CBool)
 sDL_BindAudioStream =
   BG.unsafePerformIO hs_bindgen_d6749d59b79ec0ff
@@ -1318,7 +1318,7 @@
 --
 --     [See also]: 'sDL_BindAudioStreams'
 --
---     [C declaration]: @SDL_UnbindAudioStreams@, defined at @SDL3\/SDL_audio.h 1015:34@
+--     [C declaration]: @SDL_UnbindAudioStreams@, defined at @SDL3\/SDL_audio.h 1016:34@
 sDL_UnbindAudioStreams :: BG.FunPtr (PtrConst.PtrConst (BG.Ptr SDL_AudioStream) -> BG.CInt -> IO ())
 sDL_UnbindAudioStreams =
   BG.unsafePerformIO hs_bindgen_d96a4f36c25b0021
@@ -1347,7 +1347,7 @@
 --
 --     [See also]: 'sDL_BindAudioStream'
 --
---     [C declaration]: @SDL_UnbindAudioStream@, defined at @SDL3\/SDL_audio.h 1031:34@
+--     [C declaration]: @SDL_UnbindAudioStream@, defined at @SDL3\/SDL_audio.h 1032:34@
 sDL_UnbindAudioStream :: BG.FunPtr (BG.Ptr SDL_AudioStream -> IO ())
 sDL_UnbindAudioStream =
   BG.unsafePerformIO hs_bindgen_8afc843a61a3bdb8
@@ -1380,7 +1380,7 @@
 --
 --     [See also]: 'sDL_BindAudioStream', 'sDL_BindAudioStreams'
 --
---     [C declaration]: @SDL_GetAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1052:47@
+--     [C declaration]: @SDL_GetAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1053:47@
 sDL_GetAudioStreamDevice :: BG.FunPtr (BG.Ptr SDL_AudioStream -> IO SDL_AudioDeviceID)
 sDL_GetAudioStreamDevice =
   BG.unsafePerformIO hs_bindgen_218bd50ed6f98e9c
@@ -1403,10 +1403,12 @@
 
 -- | Create a new audio stream.
 --
---     [@src_spec@]: the format details of the input audio.
+--     Note that @src_spec@ or @dst_spec@ may be NULL, but any attempts to put or get data from an audio stream will fail until it has valid specs assigned to both ends of the stream. Specs can be assigned later through @SDL_SetAudioStreamFormat()@, or binding the stream to an audio device (which will set the format of only the input or output, depending on what kind of device the stream was bound to).
 --
---     [@dst_spec@]: the format details of the output audio.
+--     [@src_spec@]: the format details of the input audio. May be NULL.
 --
+--     [@dst_spec@]: the format details of the output audio. May be NULL.
+--
 --     [Returns]: a new audio stream on success or NULL on failure; call SDL_GetError() for more information.
 --
 --     [Thread safety]: It is safe to call this function from any thread.
@@ -1415,7 +1417,7 @@
 --
 --     [See also]: 'sDL_PutAudioStreamData', 'sDL_GetAudioStreamData', 'sDL_GetAudioStreamAvailable', 'sDL_FlushAudioStream', 'sDL_ClearAudioStream', 'sDL_SetAudioStreamFormat', 'sDL_DestroyAudioStream'
 --
---     [C declaration]: @SDL_CreateAudioStream@, defined at @SDL3\/SDL_audio.h 1074:47@
+--     [C declaration]: @SDL_CreateAudioStream@, defined at @SDL3\/SDL_audio.h 1082:47@
 sDL_CreateAudioStream
   :: BG.FunPtr
        (PtrConst.PtrConst SDL_AudioSpec -> PtrConst.PtrConst SDL_AudioSpec -> IO (BG.Ptr SDL_AudioStream))
@@ -1449,7 +1451,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetAudioStreamProperties@, defined at @SDL3\/SDL_audio.h 1098:46@
+--     [C declaration]: @SDL_GetAudioStreamProperties@, defined at @SDL3\/SDL_audio.h 1106:46@
 sDL_GetAudioStreamProperties
   :: BG.FunPtr (BG.Ptr SDL_AudioStream -> IO SDL3.Sys.Bindgen.Properties.SDL_PropertiesID)
 sDL_GetAudioStreamProperties =
@@ -1485,7 +1487,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamFormat'
 --
---     [C declaration]: @SDL_GetAudioStreamFormat@, defined at @SDL3\/SDL_audio.h 1119:34@
+--     [C declaration]: @SDL_GetAudioStreamFormat@, defined at @SDL3\/SDL_audio.h 1127:34@
 sDL_GetAudioStreamFormat
   :: BG.FunPtr (BG.Ptr SDL_AudioStream -> BG.Ptr SDL_AudioSpec -> BG.Ptr SDL_AudioSpec -> IO BG.CBool)
 sDL_GetAudioStreamFormat =
@@ -1519,6 +1521,8 @@
 --
 --     If a stream is bound to a device, then the format of the side of the stream bound to a device cannot be changed (src_spec for recording devices, dst_spec for playback devices). Attempts to make a change to this side will be ignored, but this will not report an error. The other side\'s format can be changed.
 --
+--     @src_spec@ and @dst_spec@ may each be NULL; a NULL spec signals not to change the current format for that side of the stream.
+--
 --     [@stream@]: the stream the format is being changed.
 --
 --     [@src_spec@]: the new format of the audio input; if NULL, it is not changed.
@@ -1533,7 +1537,7 @@
 --
 --     [See also]: 'sDL_GetAudioStreamFormat', 'sDL_SetAudioStreamFrequencyRatio'
 --
---     [C declaration]: @SDL_SetAudioStreamFormat@, defined at @SDL3\/SDL_audio.h 1156:34@
+--     [C declaration]: @SDL_SetAudioStreamFormat@, defined at @SDL3\/SDL_audio.h 1167:34@
 sDL_SetAudioStreamFormat
   :: BG.FunPtr
        ( BG.Ptr SDL_AudioStream
@@ -1568,7 +1572,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamFrequencyRatio'
 --
---     [C declaration]: @SDL_GetAudioStreamFrequencyRatio@, defined at @SDL3\/SDL_audio.h 1172:35@
+--     [C declaration]: @SDL_GetAudioStreamFrequencyRatio@, defined at @SDL3\/SDL_audio.h 1183:35@
 sDL_GetAudioStreamFrequencyRatio :: BG.FunPtr (BG.Ptr SDL_AudioStream -> IO BG.CFloat)
 sDL_GetAudioStreamFrequencyRatio =
   BG.unsafePerformIO hs_bindgen_b61bdb5d542753f6
@@ -1603,7 +1607,7 @@
 --
 --     [See also]: 'sDL_GetAudioStreamFrequencyRatio', 'sDL_SetAudioStreamFormat'
 --
---     [C declaration]: @SDL_SetAudioStreamFrequencyRatio@, defined at @SDL3\/SDL_audio.h 1200:34@
+--     [C declaration]: @SDL_SetAudioStreamFrequencyRatio@, defined at @SDL3\/SDL_audio.h 1211:34@
 sDL_SetAudioStreamFrequencyRatio :: BG.FunPtr (BG.Ptr SDL_AudioStream -> BG.CFloat -> IO BG.CBool)
 sDL_SetAudioStreamFrequencyRatio =
   BG.unsafePerformIO hs_bindgen_ce1524607d0065a9
@@ -1636,7 +1640,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamGain'
 --
---     [C declaration]: @SDL_GetAudioStreamGain@, defined at @SDL3\/SDL_audio.h 1221:35@
+--     [C declaration]: @SDL_GetAudioStreamGain@, defined at @SDL3\/SDL_audio.h 1232:35@
 sDL_GetAudioStreamGain :: BG.FunPtr (BG.Ptr SDL_AudioStream -> IO BG.CFloat)
 sDL_GetAudioStreamGain =
   BG.unsafePerformIO hs_bindgen_a83ce7d2a5163b17
@@ -1673,7 +1677,7 @@
 --
 --     [See also]: 'sDL_GetAudioStreamGain'
 --
---     [C declaration]: @SDL_SetAudioStreamGain@, defined at @SDL3\/SDL_audio.h 1246:34@
+--     [C declaration]: @SDL_SetAudioStreamGain@, defined at @SDL3\/SDL_audio.h 1257:34@
 sDL_SetAudioStreamGain :: BG.FunPtr (BG.Ptr SDL_AudioStream -> BG.CFloat -> IO BG.CBool)
 sDL_SetAudioStreamGain =
   BG.unsafePerformIO hs_bindgen_79a25e2eef272c3b
@@ -1709,7 +1713,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamInputChannelMap'
 --
---     [C declaration]: @SDL_GetAudioStreamInputChannelMap@, defined at @SDL3\/SDL_audio.h 1270:35@
+--     [C declaration]: @SDL_GetAudioStreamInputChannelMap@, defined at @SDL3\/SDL_audio.h 1281:35@
 sDL_GetAudioStreamInputChannelMap
   :: BG.FunPtr (BG.Ptr SDL_AudioStream -> BG.Ptr BG.CInt -> IO (BG.Ptr BG.CInt))
 sDL_GetAudioStreamInputChannelMap =
@@ -1746,7 +1750,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamInputChannelMap'
 --
---     [C declaration]: @SDL_GetAudioStreamOutputChannelMap@, defined at @SDL3\/SDL_audio.h 1294:35@
+--     [C declaration]: @SDL_GetAudioStreamOutputChannelMap@, defined at @SDL3\/SDL_audio.h 1305:35@
 sDL_GetAudioStreamOutputChannelMap
   :: BG.FunPtr (BG.Ptr SDL_AudioStream -> BG.Ptr BG.CInt -> IO (BG.Ptr BG.CInt))
 sDL_GetAudioStreamOutputChannelMap =
@@ -1797,9 +1801,9 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'sDL_SetAudioStreamInputChannelMap'
+--     [See also]: 'sDL_SetAudioStreamOutputChannelMap'
 --
---     [C declaration]: @SDL_SetAudioStreamInputChannelMap@, defined at @SDL3\/SDL_audio.h 1354:34@
+--     [C declaration]: @SDL_SetAudioStreamInputChannelMap@, defined at @SDL3\/SDL_audio.h 1365:34@
 sDL_SetAudioStreamInputChannelMap
   :: BG.FunPtr (BG.Ptr SDL_AudioStream -> PtrConst.PtrConst BG.CInt -> BG.CInt -> IO BG.CBool)
 sDL_SetAudioStreamInputChannelMap =
@@ -1852,7 +1856,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamInputChannelMap'
 --
---     [C declaration]: @SDL_SetAudioStreamOutputChannelMap@, defined at @SDL3\/SDL_audio.h 1412:34@
+--     [C declaration]: @SDL_SetAudioStreamOutputChannelMap@, defined at @SDL3\/SDL_audio.h 1423:34@
 sDL_SetAudioStreamOutputChannelMap
   :: BG.FunPtr (BG.Ptr SDL_AudioStream -> PtrConst.PtrConst BG.CInt -> BG.CInt -> IO BG.CBool)
 sDL_SetAudioStreamOutputChannelMap =
@@ -1891,7 +1895,7 @@
 --
 --     [See also]: 'sDL_ClearAudioStream', 'sDL_FlushAudioStream', 'sDL_GetAudioStreamData', 'sDL_GetAudioStreamQueued'
 --
---     [C declaration]: @SDL_PutAudioStreamData@, defined at @SDL3\/SDL_audio.h 1442:34@
+--     [C declaration]: @SDL_PutAudioStreamData@, defined at @SDL3\/SDL_audio.h 1453:34@
 sDL_PutAudioStreamData
   :: BG.FunPtr (BG.Ptr SDL_AudioStream -> PtrConst.PtrConst BG.Void -> BG.CInt -> IO BG.CBool)
 sDL_PutAudioStreamData =
@@ -1947,7 +1951,7 @@
 --
 --     [See also]: 'sDL_ClearAudioStream', 'sDL_FlushAudioStream', 'sDL_GetAudioStreamData', 'sDL_GetAudioStreamQueued'
 --
---     [C declaration]: @SDL_PutAudioStreamDataNoCopy@, defined at @SDL3\/SDL_audio.h 1519:34@
+--     [C declaration]: @SDL_PutAudioStreamDataNoCopy@, defined at @SDL3\/SDL_audio.h 1530:34@
 sDL_PutAudioStreamDataNoCopy
   :: BG.FunPtr
        ( BG.Ptr SDL_AudioStream
@@ -2009,7 +2013,7 @@
 --
 --     [See also]: 'sDL_ClearAudioStream', 'sDL_FlushAudioStream', 'sDL_GetAudioStreamData', 'sDL_GetAudioStreamQueued'
 --
---     [C declaration]: @SDL_PutAudioStreamPlanarData@, defined at @SDL3\/SDL_audio.h 1572:34@
+--     [C declaration]: @SDL_PutAudioStreamPlanarData@, defined at @SDL3\/SDL_audio.h 1583:34@
 sDL_PutAudioStreamPlanarData
   :: BG.FunPtr
        ( BG.Ptr SDL_AudioStream
@@ -2054,7 +2058,7 @@
 --
 --     [See also]: 'sDL_ClearAudioStream', 'sDL_GetAudioStreamAvailable', 'sDL_PutAudioStreamData'
 --
---     [C declaration]: @SDL_GetAudioStreamData@, defined at @SDL3\/SDL_audio.h 1602:33@
+--     [C declaration]: @SDL_GetAudioStreamData@, defined at @SDL3\/SDL_audio.h 1613:33@
 sDL_GetAudioStreamData
   :: BG.FunPtr (BG.Ptr SDL_AudioStream -> BG.Ptr BG.Void -> BG.CInt -> IO BG.CInt)
 sDL_GetAudioStreamData =
@@ -2088,7 +2092,7 @@
 --
 --     [See also]: 'sDL_GetAudioStreamData', 'sDL_PutAudioStreamData'
 --
---     [C declaration]: @SDL_GetAudioStreamAvailable@, defined at @SDL3\/SDL_audio.h 1628:33@
+--     [C declaration]: @SDL_GetAudioStreamAvailable@, defined at @SDL3\/SDL_audio.h 1639:33@
 sDL_GetAudioStreamAvailable :: BG.FunPtr (BG.Ptr SDL_AudioStream -> IO BG.CInt)
 sDL_GetAudioStreamAvailable =
   BG.unsafePerformIO hs_bindgen_887ee267fde7c9f0
@@ -2125,7 +2129,7 @@
 --
 --     [See also]: 'sDL_PutAudioStreamData', 'sDL_ClearAudioStream'
 --
---     [C declaration]: @SDL_GetAudioStreamQueued@, defined at @SDL3\/SDL_audio.h 1667:33@
+--     [C declaration]: @SDL_GetAudioStreamQueued@, defined at @SDL3\/SDL_audio.h 1678:33@
 sDL_GetAudioStreamQueued :: BG.FunPtr (BG.Ptr SDL_AudioStream -> IO BG.CInt)
 sDL_GetAudioStreamQueued =
   BG.unsafePerformIO hs_bindgen_30f43c9a9503bb9c
@@ -2156,7 +2160,7 @@
 --
 --     [See also]: 'sDL_PutAudioStreamData'
 --
---     [C declaration]: @SDL_FlushAudioStream@, defined at @SDL3\/SDL_audio.h 1688:34@
+--     [C declaration]: @SDL_FlushAudioStream@, defined at @SDL3\/SDL_audio.h 1699:34@
 sDL_FlushAudioStream :: BG.FunPtr (BG.Ptr SDL_AudioStream -> IO BG.CBool)
 sDL_FlushAudioStream =
   BG.unsafePerformIO hs_bindgen_b5a765a41b34efed
@@ -2187,7 +2191,7 @@
 --
 --     [See also]: 'sDL_GetAudioStreamAvailable', 'sDL_GetAudioStreamData', 'sDL_GetAudioStreamQueued', 'sDL_PutAudioStreamData'
 --
---     [C declaration]: @SDL_ClearAudioStream@, defined at @SDL3\/SDL_audio.h 1709:34@
+--     [C declaration]: @SDL_ClearAudioStream@, defined at @SDL3\/SDL_audio.h 1720:34@
 sDL_ClearAudioStream :: BG.FunPtr (BG.Ptr SDL_AudioStream -> IO BG.CBool)
 sDL_ClearAudioStream =
   BG.unsafePerformIO hs_bindgen_66aa75f68cad1a60
@@ -2220,7 +2224,7 @@
 --
 --     [See also]: 'sDL_ResumeAudioStreamDevice'
 --
---     [C declaration]: @SDL_PauseAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1733:34@
+--     [C declaration]: @SDL_PauseAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1744:34@
 sDL_PauseAudioStreamDevice :: BG.FunPtr (BG.Ptr SDL_AudioStream -> IO BG.CBool)
 sDL_PauseAudioStreamDevice =
   BG.unsafePerformIO hs_bindgen_65bad5f751085af2
@@ -2253,7 +2257,7 @@
 --
 --     [See also]: 'sDL_PauseAudioStreamDevice'
 --
---     [C declaration]: @SDL_ResumeAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1756:34@
+--     [C declaration]: @SDL_ResumeAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1767:34@
 sDL_ResumeAudioStreamDevice :: BG.FunPtr (BG.Ptr SDL_AudioStream -> IO BG.CBool)
 sDL_ResumeAudioStreamDevice =
   BG.unsafePerformIO hs_bindgen_3422451103f73d83
@@ -2284,7 +2288,7 @@
 --
 --     [See also]: 'sDL_PauseAudioStreamDevice', 'sDL_ResumeAudioStreamDevice'
 --
---     [C declaration]: @SDL_AudioStreamDevicePaused@, defined at @SDL3\/SDL_audio.h 1775:34@
+--     [C declaration]: @SDL_AudioStreamDevicePaused@, defined at @SDL3\/SDL_audio.h 1786:34@
 sDL_AudioStreamDevicePaused :: BG.FunPtr (BG.Ptr SDL_AudioStream -> IO BG.CBool)
 sDL_AudioStreamDevicePaused =
   BG.unsafePerformIO hs_bindgen_3e6ce96a7f944949
@@ -2319,7 +2323,7 @@
 --
 --     [See also]: 'sDL_UnlockAudioStream'
 --
---     [C declaration]: @SDL_LockAudioStream@, defined at @SDL3\/SDL_audio.h 1804:34@
+--     [C declaration]: @SDL_LockAudioStream@, defined at @SDL3\/SDL_audio.h 1815:34@
 sDL_LockAudioStream :: BG.FunPtr (BG.Ptr SDL_AudioStream -> IO BG.CBool)
 sDL_LockAudioStream =
   BG.unsafePerformIO hs_bindgen_0d7bbaa2282f61af
@@ -2350,7 +2354,7 @@
 --
 --     [See also]: 'sDL_LockAudioStream'
 --
---     [C declaration]: @SDL_UnlockAudioStream@, defined at @SDL3\/SDL_audio.h 1823:34@
+--     [C declaration]: @SDL_UnlockAudioStream@, defined at @SDL3\/SDL_audio.h 1834:34@
 sDL_UnlockAudioStream :: BG.FunPtr (BG.Ptr SDL_AudioStream -> IO BG.CBool)
 sDL_UnlockAudioStream =
   BG.unsafePerformIO hs_bindgen_01197b6703408060
@@ -2398,7 +2402,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamPutCallback'
 --
---     [C declaration]: @SDL_SetAudioStreamGetCallback@, defined at @SDL3\/SDL_audio.h 1911:34@
+--     [C declaration]: @SDL_SetAudioStreamGetCallback@, defined at @SDL3\/SDL_audio.h 1924:34@
 sDL_SetAudioStreamGetCallback
   :: BG.FunPtr (BG.Ptr SDL_AudioStream -> SDL_AudioStreamCallback -> BG.Ptr BG.Void -> IO BG.CBool)
 sDL_SetAudioStreamGetCallback =
@@ -2449,7 +2453,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamGetCallback'
 --
---     [C declaration]: @SDL_SetAudioStreamPutCallback@, defined at @SDL3\/SDL_audio.h 1960:34@
+--     [C declaration]: @SDL_SetAudioStreamPutCallback@, defined at @SDL3\/SDL_audio.h 1973:34@
 sDL_SetAudioStreamPutCallback
   :: BG.FunPtr (BG.Ptr SDL_AudioStream -> SDL_AudioStreamCallback -> BG.Ptr BG.Void -> IO BG.CBool)
 sDL_SetAudioStreamPutCallback =
@@ -2481,7 +2485,7 @@
 --
 --     [See also]: 'sDL_CreateAudioStream'
 --
---     [C declaration]: @SDL_DestroyAudioStream@, defined at @SDL3\/SDL_audio.h 1982:34@
+--     [C declaration]: @SDL_DestroyAudioStream@, defined at @SDL3\/SDL_audio.h 1995:34@
 sDL_DestroyAudioStream :: BG.FunPtr (BG.Ptr SDL_AudioStream -> IO ())
 sDL_DestroyAudioStream =
   BG.unsafePerformIO hs_bindgen_8414956b9aa941e0
@@ -2543,7 +2547,7 @@
 --
 --     [See also]: 'sDL_GetAudioStreamDevice', 'sDL_ResumeAudioStreamDevice'
 --
---     [C declaration]: @SDL_OpenAudioDeviceStream@, defined at @SDL3\/SDL_audio.h 2045:47@
+--     [C declaration]: @SDL_OpenAudioDeviceStream@, defined at @SDL3\/SDL_audio.h 2058:47@
 sDL_OpenAudioDeviceStream
   :: BG.FunPtr
        ( SDL_AudioDeviceID
@@ -2600,7 +2604,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_SetAudioPostmixCallback@, defined at @SDL3\/SDL_audio.h 2136:34@
+--     [C declaration]: @SDL_SetAudioPostmixCallback@, defined at @SDL3\/SDL_audio.h 2149:34@
 sDL_SetAudioPostmixCallback
   :: BG.FunPtr (SDL_AudioDeviceID -> SDL_AudioPostmixCallback -> BG.Ptr BG.Void -> IO BG.CBool)
 sDL_SetAudioPostmixCallback =
@@ -2678,7 +2682,7 @@
 --
 --     [See also]: SDL_free, 'sDL_LoadWAV'
 --
---     [C declaration]: @SDL_LoadWAV_IO@, defined at @SDL3\/SDL_audio.h 2217:34@
+--     [C declaration]: @SDL_LoadWAV_IO@, defined at @SDL3\/SDL_audio.h 2230:34@
 sDL_LoadWAV_IO
   :: BG.FunPtr
        ( BG.Ptr SDL3.Sys.Bindgen.Iostream.SDL_IOStream
@@ -2740,7 +2744,7 @@
 --
 --     [See also]: SDL_free, 'sDL_LoadWAV_IO'
 --
---     [C declaration]: @SDL_LoadWAV@, defined at @SDL3\/SDL_audio.h 2253:34@
+--     [C declaration]: @SDL_LoadWAV@, defined at @SDL3\/SDL_audio.h 2266:34@
 sDL_LoadWAV
   :: BG.FunPtr
        ( PtrConst.PtrConst BG.CChar
@@ -2800,7 +2804,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_MixAudio@, defined at @SDL3\/SDL_audio.h 2289:34@
+--     [C declaration]: @SDL_MixAudio@, defined at @SDL3\/SDL_audio.h 2302:34@
 sDL_MixAudio
   :: BG.FunPtr
        ( BG.Ptr SDL3.Sys.Bindgen.Stdinc.Uint8
@@ -2860,7 +2864,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ConvertAudioSamples@, defined at @SDL3\/SDL_audio.h 2319:34@
+--     [C declaration]: @SDL_ConvertAudioSamples@, defined at @SDL3\/SDL_audio.h 2332:34@
 sDL_ConvertAudioSamples
   :: BG.FunPtr
        ( PtrConst.PtrConst SDL_AudioSpec
@@ -2896,7 +2900,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetAudioFormatName@, defined at @SDL3\/SDL_audio.h 2332:42@
+--     [C declaration]: @SDL_GetAudioFormatName@, defined at @SDL3\/SDL_audio.h 2345:42@
 sDL_GetAudioFormatName :: BG.FunPtr (SDL_AudioFormat -> IO (PtrConst.PtrConst BG.CChar))
 sDL_GetAudioFormatName =
   BG.unsafePerformIO hs_bindgen_8a62dc82ce668b2b
@@ -2925,7 +2929,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetSilenceValueForFormat@, defined at @SDL3\/SDL_audio.h 2348:33@
+--     [C declaration]: @SDL_GetSilenceValueForFormat@, defined at @SDL3\/SDL_audio.h 2361:33@
 sDL_GetSilenceValueForFormat :: BG.FunPtr (SDL_AudioFormat -> IO BG.CInt)
 sDL_GetSilenceValueForFormat =
   BG.unsafePerformIO hs_bindgen_733e8e75537d52fb
diff --git a/src/SDL3/Sys/Bindgen/Audio/Safe.hs b/src/SDL3/Sys/Bindgen/Audio/Safe.hs
--- a/src/SDL3/Sys/Bindgen/Audio/Safe.hs
+++ b/src/SDL3/Sys/Bindgen/Audio/Safe.hs
@@ -521,7 +521,7 @@
 --
 --     [See also]: 'sDL_GetAudioDriver'
 --
---     [C declaration]: @SDL_GetNumAudioDrivers@, defined at @SDL3\/SDL_audio.h 477:33@
+--     [C declaration]: @SDL_GetNumAudioDrivers@, defined at @SDL3\/SDL_audio.h 478:33@
 sDL_GetNumAudioDrivers :: IO BG.CInt
 sDL_GetNumAudioDrivers = hs_bindgen_aec6557cf376f51a
 
@@ -552,7 +552,7 @@
 --
 --     [See also]: 'sDL_GetNumAudioDrivers'
 --
---     [C declaration]: @SDL_GetAudioDriver@, defined at @SDL3\/SDL_audio.h 501:42@
+--     [C declaration]: @SDL_GetAudioDriver@, defined at @SDL3\/SDL_audio.h 502:42@
 sDL_GetAudioDriver
   :: BG.CInt
   -- ^
@@ -581,7 +581,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetCurrentAudioDriver@, defined at @SDL3\/SDL_audio.h 517:42@
+--     [C declaration]: @SDL_GetCurrentAudioDriver@, defined at @SDL3\/SDL_audio.h 518:42@
 sDL_GetCurrentAudioDriver :: IO (PtrConst.PtrConst BG.CChar)
 sDL_GetCurrentAudioDriver =
   hs_bindgen_eb8c87e3006e6e3e
@@ -615,7 +615,7 @@
 --
 --     [See also]: 'sDL_OpenAudioDevice', 'sDL_GetAudioRecordingDevices'
 --
---     [C declaration]: @SDL_GetAudioPlaybackDevices@, defined at @SDL3\/SDL_audio.h 546:49@
+--     [C declaration]: @SDL_GetAudioPlaybackDevices@, defined at @SDL3\/SDL_audio.h 547:49@
 sDL_GetAudioPlaybackDevices
   :: BG.Ptr BG.CInt
   -- ^
@@ -654,7 +654,7 @@
 --
 --     [See also]: 'sDL_OpenAudioDevice', 'sDL_GetAudioPlaybackDevices'
 --
---     [C declaration]: @SDL_GetAudioRecordingDevices@, defined at @SDL3\/SDL_audio.h 575:49@
+--     [C declaration]: @SDL_GetAudioRecordingDevices@, defined at @SDL3\/SDL_audio.h 576:49@
 sDL_GetAudioRecordingDevices
   :: BG.Ptr BG.CInt
   -- ^
@@ -689,7 +689,7 @@
 --
 --     [See also]: 'sDL_GetAudioPlaybackDevices', 'sDL_GetAudioRecordingDevices'
 --
---     [C declaration]: @SDL_GetAudioDeviceName@, defined at @SDL3\/SDL_audio.h 600:42@
+--     [C declaration]: @SDL_GetAudioDeviceName@, defined at @SDL3\/SDL_audio.h 601:42@
 sDL_GetAudioDeviceName
   :: SDL_AudioDeviceID
   -- ^
@@ -733,7 +733,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetAudioDeviceFormat@, defined at @SDL3\/SDL_audio.h 635:34@
+--     [C declaration]: @SDL_GetAudioDeviceFormat@, defined at @SDL3\/SDL_audio.h 636:34@
 sDL_GetAudioDeviceFormat
   :: SDL_AudioDeviceID
   -- ^
@@ -780,7 +780,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamInputChannelMap'
 --
---     [C declaration]: @SDL_GetAudioDeviceChannelMap@, defined at @SDL3\/SDL_audio.h 658:35@
+--     [C declaration]: @SDL_GetAudioDeviceChannelMap@, defined at @SDL3\/SDL_audio.h 659:35@
 sDL_GetAudioDeviceChannelMap
   :: SDL_AudioDeviceID
   -- ^
@@ -837,7 +837,7 @@
 --
 --     [See also]: 'sDL_CloseAudioDevice', 'sDL_GetAudioDeviceFormat'
 --
---     [C declaration]: @SDL_OpenAudioDevice@, defined at @SDL3\/SDL_audio.h 734:47@
+--     [C declaration]: @SDL_OpenAudioDevice@, defined at @SDL3\/SDL_audio.h 735:47@
 sDL_OpenAudioDevice
   :: SDL_AudioDeviceID
   -- ^
@@ -877,7 +877,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_IsAudioDevicePhysical@, defined at @SDL3\/SDL_audio.h 759:34@
+--     [C declaration]: @SDL_IsAudioDevicePhysical@, defined at @SDL3\/SDL_audio.h 760:34@
 sDL_IsAudioDevicePhysical
   :: SDL_AudioDeviceID
   -- ^
@@ -910,7 +910,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_IsAudioDevicePlayback@, defined at @SDL3\/SDL_audio.h 773:34@
+--     [C declaration]: @SDL_IsAudioDevicePlayback@, defined at @SDL3\/SDL_audio.h 774:34@
 sDL_IsAudioDevicePlayback
   :: SDL_AudioDeviceID
   -- ^
@@ -951,7 +951,7 @@
 --
 --     [See also]: 'sDL_ResumeAudioDevice', 'sDL_AudioDevicePaused'
 --
---     [C declaration]: @SDL_PauseAudioDevice@, defined at @SDL3\/SDL_audio.h 804:34@
+--     [C declaration]: @SDL_PauseAudioDevice@, defined at @SDL3\/SDL_audio.h 805:34@
 sDL_PauseAudioDevice
   :: SDL_AudioDeviceID
   -- ^
@@ -989,7 +989,7 @@
 --
 --     [See also]: 'sDL_AudioDevicePaused', 'sDL_PauseAudioDevice'
 --
---     [C declaration]: @SDL_ResumeAudioDevice@, defined at @SDL3\/SDL_audio.h 832:34@
+--     [C declaration]: @SDL_ResumeAudioDevice@, defined at @SDL3\/SDL_audio.h 833:34@
 sDL_ResumeAudioDevice
   :: SDL_AudioDeviceID
   -- ^
@@ -1025,7 +1025,7 @@
 --
 --     [See also]: 'sDL_PauseAudioDevice', 'sDL_ResumeAudioDevice'
 --
---     [C declaration]: @SDL_AudioDevicePaused@, defined at @SDL3\/SDL_audio.h 854:34@
+--     [C declaration]: @SDL_AudioDevicePaused@, defined at @SDL3\/SDL_audio.h 855:34@
 sDL_AudioDevicePaused
   :: SDL_AudioDeviceID
   -- ^
@@ -1063,7 +1063,7 @@
 --
 --     [See also]: 'sDL_SetAudioDeviceGain'
 --
---     [C declaration]: @SDL_GetAudioDeviceGain@, defined at @SDL3\/SDL_audio.h 877:35@
+--     [C declaration]: @SDL_GetAudioDeviceGain@, defined at @SDL3\/SDL_audio.h 878:35@
 sDL_GetAudioDeviceGain
   :: SDL_AudioDeviceID
   -- ^
@@ -1105,7 +1105,7 @@
 --
 --     [See also]: 'sDL_GetAudioDeviceGain'
 --
---     [C declaration]: @SDL_SetAudioDeviceGain@, defined at @SDL3\/SDL_audio.h 912:34@
+--     [C declaration]: @SDL_SetAudioDeviceGain@, defined at @SDL3\/SDL_audio.h 913:34@
 sDL_SetAudioDeviceGain
   :: SDL_AudioDeviceID
   -- ^
@@ -1143,7 +1143,7 @@
 --
 --     [See also]: 'sDL_OpenAudioDevice'
 --
---     [C declaration]: @SDL_CloseAudioDevice@, defined at @SDL3\/SDL_audio.h 933:34@
+--     [C declaration]: @SDL_CloseAudioDevice@, defined at @SDL3\/SDL_audio.h 934:34@
 sDL_CloseAudioDevice
   :: SDL_AudioDeviceID
   -- ^
@@ -1187,7 +1187,7 @@
 --
 --     [See also]: 'sDL_BindAudioStreams', 'sDL_UnbindAudioStream', 'sDL_GetAudioStreamDevice'
 --
---     [C declaration]: @SDL_BindAudioStreams@, defined at @SDL3\/SDL_audio.h 973:34@
+--     [C declaration]: @SDL_BindAudioStreams@, defined at @SDL3\/SDL_audio.h 974:34@
 sDL_BindAudioStreams
   :: SDL_AudioDeviceID
   -- ^
@@ -1231,7 +1231,7 @@
 --
 --     [See also]: 'sDL_BindAudioStreams', 'sDL_UnbindAudioStream', 'sDL_GetAudioStreamDevice'
 --
---     [C declaration]: @SDL_BindAudioStream@, defined at @SDL3\/SDL_audio.h 994:34@
+--     [C declaration]: @SDL_BindAudioStream@, defined at @SDL3\/SDL_audio.h 995:34@
 sDL_BindAudioStream
   :: SDL_AudioDeviceID
   -- ^
@@ -1271,7 +1271,7 @@
 --
 --     [See also]: 'sDL_BindAudioStreams'
 --
---     [C declaration]: @SDL_UnbindAudioStreams@, defined at @SDL3\/SDL_audio.h 1015:34@
+--     [C declaration]: @SDL_UnbindAudioStreams@, defined at @SDL3\/SDL_audio.h 1016:34@
 sDL_UnbindAudioStreams
   :: PtrConst.PtrConst (BG.Ptr SDL_AudioStream)
   -- ^
@@ -1307,7 +1307,7 @@
 --
 --     [See also]: 'sDL_BindAudioStream'
 --
---     [C declaration]: @SDL_UnbindAudioStream@, defined at @SDL3\/SDL_audio.h 1031:34@
+--     [C declaration]: @SDL_UnbindAudioStream@, defined at @SDL3\/SDL_audio.h 1032:34@
 sDL_UnbindAudioStream
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1343,7 +1343,7 @@
 --
 --     [See also]: 'sDL_BindAudioStream', 'sDL_BindAudioStreams'
 --
---     [C declaration]: @SDL_GetAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1052:47@
+--     [C declaration]: @SDL_GetAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1053:47@
 sDL_GetAudioStreamDevice
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1370,6 +1370,8 @@
 
 -- | Create a new audio stream.
 --
+--     Note that @src_spec@ or @dst_spec@ may be NULL, but any attempts to put or get data from an audio stream will fail until it has valid specs assigned to both ends of the stream. Specs can be assigned later through @SDL_SetAudioStreamFormat()@, or binding the stream to an audio device (which will set the format of only the input or output, depending on what kind of device the stream was bound to).
+--
 --     [Returns]: a new audio stream on success or NULL on failure; call SDL_GetError() for more information.
 --
 --     [Thread safety]: It is safe to call this function from any thread.
@@ -1378,16 +1380,16 @@
 --
 --     [See also]: 'sDL_PutAudioStreamData', 'sDL_GetAudioStreamData', 'sDL_GetAudioStreamAvailable', 'sDL_FlushAudioStream', 'sDL_ClearAudioStream', 'sDL_SetAudioStreamFormat', 'sDL_DestroyAudioStream'
 --
---     [C declaration]: @SDL_CreateAudioStream@, defined at @SDL3\/SDL_audio.h 1074:47@
+--     [C declaration]: @SDL_CreateAudioStream@, defined at @SDL3\/SDL_audio.h 1082:47@
 sDL_CreateAudioStream
   :: PtrConst.PtrConst SDL_AudioSpec
   -- ^
   --
-  --           [@src_spec@]: the format details of the input audio.
+  --           [@src_spec@]: the format details of the input audio. May be NULL.
   -> PtrConst.PtrConst SDL_AudioSpec
   -- ^
   --
-  --           [@dst_spec@]: the format details of the output audio.
+  --           [@dst_spec@]: the format details of the output audio. May be NULL.
   -> IO (BG.Ptr SDL_AudioStream)
 sDL_CreateAudioStream = hs_bindgen_aca7047ab74c15f6
 
@@ -1416,7 +1418,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetAudioStreamProperties@, defined at @SDL3\/SDL_audio.h 1098:46@
+--     [C declaration]: @SDL_GetAudioStreamProperties@, defined at @SDL3\/SDL_audio.h 1106:46@
 sDL_GetAudioStreamProperties
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1453,7 +1455,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamFormat'
 --
---     [C declaration]: @SDL_GetAudioStreamFormat@, defined at @SDL3\/SDL_audio.h 1119:34@
+--     [C declaration]: @SDL_GetAudioStreamFormat@, defined at @SDL3\/SDL_audio.h 1127:34@
 sDL_GetAudioStreamFormat
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1496,6 +1498,8 @@
 --
 --     If a stream is bound to a device, then the format of the side of the stream bound to a device cannot be changed (src_spec for recording devices, dst_spec for playback devices). Attempts to make a change to this side will be ignored, but this will not report an error. The other side\'s format can be changed.
 --
+--     @src_spec@ and @dst_spec@ may each be NULL; a NULL spec signals not to change the current format for that side of the stream.
+--
 --     [Returns]: true on success or false on failure; call SDL_GetError() for more information.
 --
 --     [Thread safety]: It is safe to call this function from any thread, as it holds a stream-specific mutex while running.
@@ -1504,7 +1508,7 @@
 --
 --     [See also]: 'sDL_GetAudioStreamFormat', 'sDL_SetAudioStreamFrequencyRatio'
 --
---     [C declaration]: @SDL_SetAudioStreamFormat@, defined at @SDL3\/SDL_audio.h 1156:34@
+--     [C declaration]: @SDL_SetAudioStreamFormat@, defined at @SDL3\/SDL_audio.h 1167:34@
 sDL_SetAudioStreamFormat
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1545,7 +1549,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamFrequencyRatio'
 --
---     [C declaration]: @SDL_GetAudioStreamFrequencyRatio@, defined at @SDL3\/SDL_audio.h 1172:35@
+--     [C declaration]: @SDL_GetAudioStreamFrequencyRatio@, defined at @SDL3\/SDL_audio.h 1183:35@
 sDL_GetAudioStreamFrequencyRatio
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1584,7 +1588,7 @@
 --
 --     [See also]: 'sDL_GetAudioStreamFrequencyRatio', 'sDL_SetAudioStreamFormat'
 --
---     [C declaration]: @SDL_SetAudioStreamFrequencyRatio@, defined at @SDL3\/SDL_audio.h 1200:34@
+--     [C declaration]: @SDL_SetAudioStreamFrequencyRatio@, defined at @SDL3\/SDL_audio.h 1211:34@
 sDL_SetAudioStreamFrequencyRatio
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1625,7 +1629,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamGain'
 --
---     [C declaration]: @SDL_GetAudioStreamGain@, defined at @SDL3\/SDL_audio.h 1221:35@
+--     [C declaration]: @SDL_GetAudioStreamGain@, defined at @SDL3\/SDL_audio.h 1232:35@
 sDL_GetAudioStreamGain
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1665,7 +1669,7 @@
 --
 --     [See also]: 'sDL_GetAudioStreamGain'
 --
---     [C declaration]: @SDL_SetAudioStreamGain@, defined at @SDL3\/SDL_audio.h 1246:34@
+--     [C declaration]: @SDL_SetAudioStreamGain@, defined at @SDL3\/SDL_audio.h 1257:34@
 sDL_SetAudioStreamGain
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1707,7 +1711,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamInputChannelMap'
 --
---     [C declaration]: @SDL_GetAudioStreamInputChannelMap@, defined at @SDL3\/SDL_audio.h 1270:35@
+--     [C declaration]: @SDL_GetAudioStreamInputChannelMap@, defined at @SDL3\/SDL_audio.h 1281:35@
 sDL_GetAudioStreamInputChannelMap
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1750,7 +1754,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamInputChannelMap'
 --
---     [C declaration]: @SDL_GetAudioStreamOutputChannelMap@, defined at @SDL3\/SDL_audio.h 1294:35@
+--     [C declaration]: @SDL_GetAudioStreamOutputChannelMap@, defined at @SDL3\/SDL_audio.h 1305:35@
 sDL_GetAudioStreamOutputChannelMap
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1807,9 +1811,9 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'sDL_SetAudioStreamInputChannelMap'
+--     [See also]: 'sDL_SetAudioStreamOutputChannelMap'
 --
---     [C declaration]: @SDL_SetAudioStreamInputChannelMap@, defined at @SDL3\/SDL_audio.h 1354:34@
+--     [C declaration]: @SDL_SetAudioStreamInputChannelMap@, defined at @SDL3\/SDL_audio.h 1365:34@
 sDL_SetAudioStreamInputChannelMap
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1872,7 +1876,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamInputChannelMap'
 --
---     [C declaration]: @SDL_SetAudioStreamOutputChannelMap@, defined at @SDL3\/SDL_audio.h 1412:34@
+--     [C declaration]: @SDL_SetAudioStreamOutputChannelMap@, defined at @SDL3\/SDL_audio.h 1423:34@
 sDL_SetAudioStreamOutputChannelMap
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1921,7 +1925,7 @@
 --
 --     [See also]: 'sDL_ClearAudioStream', 'sDL_FlushAudioStream', 'sDL_GetAudioStreamData', 'sDL_GetAudioStreamQueued'
 --
---     [C declaration]: @SDL_PutAudioStreamData@, defined at @SDL3\/SDL_audio.h 1442:34@
+--     [C declaration]: @SDL_PutAudioStreamData@, defined at @SDL3\/SDL_audio.h 1453:34@
 sDL_PutAudioStreamData
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1977,7 +1981,7 @@
 --
 --     [See also]: 'sDL_ClearAudioStream', 'sDL_FlushAudioStream', 'sDL_GetAudioStreamData', 'sDL_GetAudioStreamQueued'
 --
---     [C declaration]: @SDL_PutAudioStreamDataNoCopy@, defined at @SDL3\/SDL_audio.h 1519:34@
+--     [C declaration]: @SDL_PutAudioStreamDataNoCopy@, defined at @SDL3\/SDL_audio.h 1530:34@
 sDL_PutAudioStreamDataNoCopy
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2042,7 +2046,7 @@
 --
 --     [See also]: 'sDL_ClearAudioStream', 'sDL_FlushAudioStream', 'sDL_GetAudioStreamData', 'sDL_GetAudioStreamQueued'
 --
---     [C declaration]: @SDL_PutAudioStreamPlanarData@, defined at @SDL3\/SDL_audio.h 1572:34@
+--     [C declaration]: @SDL_PutAudioStreamPlanarData@, defined at @SDL3\/SDL_audio.h 1583:34@
 sDL_PutAudioStreamPlanarData
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2095,7 +2099,7 @@
 --
 --     [See also]: 'sDL_ClearAudioStream', 'sDL_GetAudioStreamAvailable', 'sDL_PutAudioStreamData'
 --
---     [C declaration]: @SDL_GetAudioStreamData@, defined at @SDL3\/SDL_audio.h 1602:33@
+--     [C declaration]: @SDL_GetAudioStreamData@, defined at @SDL3\/SDL_audio.h 1613:33@
 sDL_GetAudioStreamData
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2139,7 +2143,7 @@
 --
 --     [See also]: 'sDL_GetAudioStreamData', 'sDL_PutAudioStreamData'
 --
---     [C declaration]: @SDL_GetAudioStreamAvailable@, defined at @SDL3\/SDL_audio.h 1628:33@
+--     [C declaration]: @SDL_GetAudioStreamAvailable@, defined at @SDL3\/SDL_audio.h 1639:33@
 sDL_GetAudioStreamAvailable
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2180,7 +2184,7 @@
 --
 --     [See also]: 'sDL_PutAudioStreamData', 'sDL_ClearAudioStream'
 --
---     [C declaration]: @SDL_GetAudioStreamQueued@, defined at @SDL3\/SDL_audio.h 1667:33@
+--     [C declaration]: @SDL_GetAudioStreamQueued@, defined at @SDL3\/SDL_audio.h 1678:33@
 sDL_GetAudioStreamQueued
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2215,7 +2219,7 @@
 --
 --     [See also]: 'sDL_PutAudioStreamData'
 --
---     [C declaration]: @SDL_FlushAudioStream@, defined at @SDL3\/SDL_audio.h 1688:34@
+--     [C declaration]: @SDL_FlushAudioStream@, defined at @SDL3\/SDL_audio.h 1699:34@
 sDL_FlushAudioStream
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2249,7 +2253,7 @@
 --
 --     [See also]: 'sDL_GetAudioStreamAvailable', 'sDL_GetAudioStreamData', 'sDL_GetAudioStreamQueued', 'sDL_PutAudioStreamData'
 --
---     [C declaration]: @SDL_ClearAudioStream@, defined at @SDL3\/SDL_audio.h 1709:34@
+--     [C declaration]: @SDL_ClearAudioStream@, defined at @SDL3\/SDL_audio.h 1720:34@
 sDL_ClearAudioStream
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2285,7 +2289,7 @@
 --
 --     [See also]: 'sDL_ResumeAudioStreamDevice'
 --
---     [C declaration]: @SDL_PauseAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1733:34@
+--     [C declaration]: @SDL_PauseAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1744:34@
 sDL_PauseAudioStreamDevice
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2322,7 +2326,7 @@
 --
 --     [See also]: 'sDL_PauseAudioStreamDevice'
 --
---     [C declaration]: @SDL_ResumeAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1756:34@
+--     [C declaration]: @SDL_ResumeAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1767:34@
 sDL_ResumeAudioStreamDevice
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2357,7 +2361,7 @@
 --
 --     [See also]: 'sDL_PauseAudioStreamDevice', 'sDL_ResumeAudioStreamDevice'
 --
---     [C declaration]: @SDL_AudioStreamDevicePaused@, defined at @SDL3\/SDL_audio.h 1775:34@
+--     [C declaration]: @SDL_AudioStreamDevicePaused@, defined at @SDL3\/SDL_audio.h 1786:34@
 sDL_AudioStreamDevicePaused
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2396,7 +2400,7 @@
 --
 --     [See also]: 'sDL_UnlockAudioStream'
 --
---     [C declaration]: @SDL_LockAudioStream@, defined at @SDL3\/SDL_audio.h 1804:34@
+--     [C declaration]: @SDL_LockAudioStream@, defined at @SDL3\/SDL_audio.h 1815:34@
 sDL_LockAudioStream
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2430,7 +2434,7 @@
 --
 --     [See also]: 'sDL_LockAudioStream'
 --
---     [C declaration]: @SDL_UnlockAudioStream@, defined at @SDL3\/SDL_audio.h 1823:34@
+--     [C declaration]: @SDL_UnlockAudioStream@, defined at @SDL3\/SDL_audio.h 1834:34@
 sDL_UnlockAudioStream
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2480,7 +2484,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamPutCallback'
 --
---     [C declaration]: @SDL_SetAudioStreamGetCallback@, defined at @SDL3\/SDL_audio.h 1911:34@
+--     [C declaration]: @SDL_SetAudioStreamGetCallback@, defined at @SDL3\/SDL_audio.h 1924:34@
 sDL_SetAudioStreamGetCallback
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2541,7 +2545,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamGetCallback'
 --
---     [C declaration]: @SDL_SetAudioStreamPutCallback@, defined at @SDL3\/SDL_audio.h 1960:34@
+--     [C declaration]: @SDL_SetAudioStreamPutCallback@, defined at @SDL3\/SDL_audio.h 1973:34@
 sDL_SetAudioStreamPutCallback
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2584,7 +2588,7 @@
 --
 --     [See also]: 'sDL_CreateAudioStream'
 --
---     [C declaration]: @SDL_DestroyAudioStream@, defined at @SDL3\/SDL_audio.h 1982:34@
+--     [C declaration]: @SDL_DestroyAudioStream@, defined at @SDL3\/SDL_audio.h 1995:34@
 sDL_DestroyAudioStream
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2640,7 +2644,7 @@
 --
 --     [See also]: 'sDL_GetAudioStreamDevice', 'sDL_ResumeAudioStreamDevice'
 --
---     [C declaration]: @SDL_OpenAudioDeviceStream@, defined at @SDL3\/SDL_audio.h 2045:47@
+--     [C declaration]: @SDL_OpenAudioDeviceStream@, defined at @SDL3\/SDL_audio.h 2058:47@
 sDL_OpenAudioDeviceStream
   :: SDL_AudioDeviceID
   -- ^
@@ -2705,7 +2709,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_SetAudioPostmixCallback@, defined at @SDL3\/SDL_audio.h 2136:34@
+--     [C declaration]: @SDL_SetAudioPostmixCallback@, defined at @SDL3\/SDL_audio.h 2149:34@
 sDL_SetAudioPostmixCallback
   :: SDL_AudioDeviceID
   -- ^
@@ -2784,7 +2788,7 @@
 --
 --     [See also]: SDL_free, 'sDL_LoadWAV'
 --
---     [C declaration]: @SDL_LoadWAV_IO@, defined at @SDL3\/SDL_audio.h 2217:34@
+--     [C declaration]: @SDL_LoadWAV_IO@, defined at @SDL3\/SDL_audio.h 2230:34@
 sDL_LoadWAV_IO
   :: BG.Ptr SDL3.Sys.Bindgen.Iostream.SDL_IOStream
   -- ^
@@ -2848,7 +2852,7 @@
 --
 --     [See also]: SDL_free, 'sDL_LoadWAV_IO'
 --
---     [C declaration]: @SDL_LoadWAV@, defined at @SDL3\/SDL_audio.h 2253:34@
+--     [C declaration]: @SDL_LoadWAV@, defined at @SDL3\/SDL_audio.h 2266:34@
 sDL_LoadWAV
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -2906,7 +2910,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_MixAudio@, defined at @SDL3\/SDL_audio.h 2289:34@
+--     [C declaration]: @SDL_MixAudio@, defined at @SDL3\/SDL_audio.h 2302:34@
 sDL_MixAudio
   :: BG.Ptr SDL3.Sys.Bindgen.Stdinc.Uint8
   -- ^
@@ -2966,7 +2970,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ConvertAudioSamples@, defined at @SDL3\/SDL_audio.h 2319:34@
+--     [C declaration]: @SDL_ConvertAudioSamples@, defined at @SDL3\/SDL_audio.h 2332:34@
 sDL_ConvertAudioSamples
   :: PtrConst.PtrConst SDL_AudioSpec
   -- ^
@@ -3016,7 +3020,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetAudioFormatName@, defined at @SDL3\/SDL_audio.h 2332:42@
+--     [C declaration]: @SDL_GetAudioFormatName@, defined at @SDL3\/SDL_audio.h 2345:42@
 sDL_GetAudioFormatName
   :: SDL_AudioFormat
   -- ^
@@ -3048,7 +3052,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetSilenceValueForFormat@, defined at @SDL3\/SDL_audio.h 2348:33@
+--     [C declaration]: @SDL_GetSilenceValueForFormat@, defined at @SDL3\/SDL_audio.h 2361:33@
 sDL_GetSilenceValueForFormat
   :: SDL_AudioFormat
   -- ^
diff --git a/src/SDL3/Sys/Bindgen/Audio/Unsafe.hs b/src/SDL3/Sys/Bindgen/Audio/Unsafe.hs
--- a/src/SDL3/Sys/Bindgen/Audio/Unsafe.hs
+++ b/src/SDL3/Sys/Bindgen/Audio/Unsafe.hs
@@ -521,7 +521,7 @@
 --
 --     [See also]: 'sDL_GetAudioDriver'
 --
---     [C declaration]: @SDL_GetNumAudioDrivers@, defined at @SDL3\/SDL_audio.h 477:33@
+--     [C declaration]: @SDL_GetNumAudioDrivers@, defined at @SDL3\/SDL_audio.h 478:33@
 sDL_GetNumAudioDrivers :: IO BG.CInt
 sDL_GetNumAudioDrivers = hs_bindgen_3fadb766434bf32a
 
@@ -552,7 +552,7 @@
 --
 --     [See also]: 'sDL_GetNumAudioDrivers'
 --
---     [C declaration]: @SDL_GetAudioDriver@, defined at @SDL3\/SDL_audio.h 501:42@
+--     [C declaration]: @SDL_GetAudioDriver@, defined at @SDL3\/SDL_audio.h 502:42@
 sDL_GetAudioDriver
   :: BG.CInt
   -- ^
@@ -581,7 +581,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetCurrentAudioDriver@, defined at @SDL3\/SDL_audio.h 517:42@
+--     [C declaration]: @SDL_GetCurrentAudioDriver@, defined at @SDL3\/SDL_audio.h 518:42@
 sDL_GetCurrentAudioDriver :: IO (PtrConst.PtrConst BG.CChar)
 sDL_GetCurrentAudioDriver =
   hs_bindgen_8d83991bf7c57ced
@@ -615,7 +615,7 @@
 --
 --     [See also]: 'sDL_OpenAudioDevice', 'sDL_GetAudioRecordingDevices'
 --
---     [C declaration]: @SDL_GetAudioPlaybackDevices@, defined at @SDL3\/SDL_audio.h 546:49@
+--     [C declaration]: @SDL_GetAudioPlaybackDevices@, defined at @SDL3\/SDL_audio.h 547:49@
 sDL_GetAudioPlaybackDevices
   :: BG.Ptr BG.CInt
   -- ^
@@ -654,7 +654,7 @@
 --
 --     [See also]: 'sDL_OpenAudioDevice', 'sDL_GetAudioPlaybackDevices'
 --
---     [C declaration]: @SDL_GetAudioRecordingDevices@, defined at @SDL3\/SDL_audio.h 575:49@
+--     [C declaration]: @SDL_GetAudioRecordingDevices@, defined at @SDL3\/SDL_audio.h 576:49@
 sDL_GetAudioRecordingDevices
   :: BG.Ptr BG.CInt
   -- ^
@@ -689,7 +689,7 @@
 --
 --     [See also]: 'sDL_GetAudioPlaybackDevices', 'sDL_GetAudioRecordingDevices'
 --
---     [C declaration]: @SDL_GetAudioDeviceName@, defined at @SDL3\/SDL_audio.h 600:42@
+--     [C declaration]: @SDL_GetAudioDeviceName@, defined at @SDL3\/SDL_audio.h 601:42@
 sDL_GetAudioDeviceName
   :: SDL_AudioDeviceID
   -- ^
@@ -733,7 +733,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetAudioDeviceFormat@, defined at @SDL3\/SDL_audio.h 635:34@
+--     [C declaration]: @SDL_GetAudioDeviceFormat@, defined at @SDL3\/SDL_audio.h 636:34@
 sDL_GetAudioDeviceFormat
   :: SDL_AudioDeviceID
   -- ^
@@ -780,7 +780,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamInputChannelMap'
 --
---     [C declaration]: @SDL_GetAudioDeviceChannelMap@, defined at @SDL3\/SDL_audio.h 658:35@
+--     [C declaration]: @SDL_GetAudioDeviceChannelMap@, defined at @SDL3\/SDL_audio.h 659:35@
 sDL_GetAudioDeviceChannelMap
   :: SDL_AudioDeviceID
   -- ^
@@ -837,7 +837,7 @@
 --
 --     [See also]: 'sDL_CloseAudioDevice', 'sDL_GetAudioDeviceFormat'
 --
---     [C declaration]: @SDL_OpenAudioDevice@, defined at @SDL3\/SDL_audio.h 734:47@
+--     [C declaration]: @SDL_OpenAudioDevice@, defined at @SDL3\/SDL_audio.h 735:47@
 sDL_OpenAudioDevice
   :: SDL_AudioDeviceID
   -- ^
@@ -877,7 +877,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_IsAudioDevicePhysical@, defined at @SDL3\/SDL_audio.h 759:34@
+--     [C declaration]: @SDL_IsAudioDevicePhysical@, defined at @SDL3\/SDL_audio.h 760:34@
 sDL_IsAudioDevicePhysical
   :: SDL_AudioDeviceID
   -- ^
@@ -910,7 +910,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_IsAudioDevicePlayback@, defined at @SDL3\/SDL_audio.h 773:34@
+--     [C declaration]: @SDL_IsAudioDevicePlayback@, defined at @SDL3\/SDL_audio.h 774:34@
 sDL_IsAudioDevicePlayback
   :: SDL_AudioDeviceID
   -- ^
@@ -951,7 +951,7 @@
 --
 --     [See also]: 'sDL_ResumeAudioDevice', 'sDL_AudioDevicePaused'
 --
---     [C declaration]: @SDL_PauseAudioDevice@, defined at @SDL3\/SDL_audio.h 804:34@
+--     [C declaration]: @SDL_PauseAudioDevice@, defined at @SDL3\/SDL_audio.h 805:34@
 sDL_PauseAudioDevice
   :: SDL_AudioDeviceID
   -- ^
@@ -989,7 +989,7 @@
 --
 --     [See also]: 'sDL_AudioDevicePaused', 'sDL_PauseAudioDevice'
 --
---     [C declaration]: @SDL_ResumeAudioDevice@, defined at @SDL3\/SDL_audio.h 832:34@
+--     [C declaration]: @SDL_ResumeAudioDevice@, defined at @SDL3\/SDL_audio.h 833:34@
 sDL_ResumeAudioDevice
   :: SDL_AudioDeviceID
   -- ^
@@ -1025,7 +1025,7 @@
 --
 --     [See also]: 'sDL_PauseAudioDevice', 'sDL_ResumeAudioDevice'
 --
---     [C declaration]: @SDL_AudioDevicePaused@, defined at @SDL3\/SDL_audio.h 854:34@
+--     [C declaration]: @SDL_AudioDevicePaused@, defined at @SDL3\/SDL_audio.h 855:34@
 sDL_AudioDevicePaused
   :: SDL_AudioDeviceID
   -- ^
@@ -1063,7 +1063,7 @@
 --
 --     [See also]: 'sDL_SetAudioDeviceGain'
 --
---     [C declaration]: @SDL_GetAudioDeviceGain@, defined at @SDL3\/SDL_audio.h 877:35@
+--     [C declaration]: @SDL_GetAudioDeviceGain@, defined at @SDL3\/SDL_audio.h 878:35@
 sDL_GetAudioDeviceGain
   :: SDL_AudioDeviceID
   -- ^
@@ -1105,7 +1105,7 @@
 --
 --     [See also]: 'sDL_GetAudioDeviceGain'
 --
---     [C declaration]: @SDL_SetAudioDeviceGain@, defined at @SDL3\/SDL_audio.h 912:34@
+--     [C declaration]: @SDL_SetAudioDeviceGain@, defined at @SDL3\/SDL_audio.h 913:34@
 sDL_SetAudioDeviceGain
   :: SDL_AudioDeviceID
   -- ^
@@ -1143,7 +1143,7 @@
 --
 --     [See also]: 'sDL_OpenAudioDevice'
 --
---     [C declaration]: @SDL_CloseAudioDevice@, defined at @SDL3\/SDL_audio.h 933:34@
+--     [C declaration]: @SDL_CloseAudioDevice@, defined at @SDL3\/SDL_audio.h 934:34@
 sDL_CloseAudioDevice
   :: SDL_AudioDeviceID
   -- ^
@@ -1187,7 +1187,7 @@
 --
 --     [See also]: 'sDL_BindAudioStreams', 'sDL_UnbindAudioStream', 'sDL_GetAudioStreamDevice'
 --
---     [C declaration]: @SDL_BindAudioStreams@, defined at @SDL3\/SDL_audio.h 973:34@
+--     [C declaration]: @SDL_BindAudioStreams@, defined at @SDL3\/SDL_audio.h 974:34@
 sDL_BindAudioStreams
   :: SDL_AudioDeviceID
   -- ^
@@ -1231,7 +1231,7 @@
 --
 --     [See also]: 'sDL_BindAudioStreams', 'sDL_UnbindAudioStream', 'sDL_GetAudioStreamDevice'
 --
---     [C declaration]: @SDL_BindAudioStream@, defined at @SDL3\/SDL_audio.h 994:34@
+--     [C declaration]: @SDL_BindAudioStream@, defined at @SDL3\/SDL_audio.h 995:34@
 sDL_BindAudioStream
   :: SDL_AudioDeviceID
   -- ^
@@ -1271,7 +1271,7 @@
 --
 --     [See also]: 'sDL_BindAudioStreams'
 --
---     [C declaration]: @SDL_UnbindAudioStreams@, defined at @SDL3\/SDL_audio.h 1015:34@
+--     [C declaration]: @SDL_UnbindAudioStreams@, defined at @SDL3\/SDL_audio.h 1016:34@
 sDL_UnbindAudioStreams
   :: PtrConst.PtrConst (BG.Ptr SDL_AudioStream)
   -- ^
@@ -1307,7 +1307,7 @@
 --
 --     [See also]: 'sDL_BindAudioStream'
 --
---     [C declaration]: @SDL_UnbindAudioStream@, defined at @SDL3\/SDL_audio.h 1031:34@
+--     [C declaration]: @SDL_UnbindAudioStream@, defined at @SDL3\/SDL_audio.h 1032:34@
 sDL_UnbindAudioStream
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1343,7 +1343,7 @@
 --
 --     [See also]: 'sDL_BindAudioStream', 'sDL_BindAudioStreams'
 --
---     [C declaration]: @SDL_GetAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1052:47@
+--     [C declaration]: @SDL_GetAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1053:47@
 sDL_GetAudioStreamDevice
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1370,6 +1370,8 @@
 
 -- | Create a new audio stream.
 --
+--     Note that @src_spec@ or @dst_spec@ may be NULL, but any attempts to put or get data from an audio stream will fail until it has valid specs assigned to both ends of the stream. Specs can be assigned later through @SDL_SetAudioStreamFormat()@, or binding the stream to an audio device (which will set the format of only the input or output, depending on what kind of device the stream was bound to).
+--
 --     [Returns]: a new audio stream on success or NULL on failure; call SDL_GetError() for more information.
 --
 --     [Thread safety]: It is safe to call this function from any thread.
@@ -1378,16 +1380,16 @@
 --
 --     [See also]: 'sDL_PutAudioStreamData', 'sDL_GetAudioStreamData', 'sDL_GetAudioStreamAvailable', 'sDL_FlushAudioStream', 'sDL_ClearAudioStream', 'sDL_SetAudioStreamFormat', 'sDL_DestroyAudioStream'
 --
---     [C declaration]: @SDL_CreateAudioStream@, defined at @SDL3\/SDL_audio.h 1074:47@
+--     [C declaration]: @SDL_CreateAudioStream@, defined at @SDL3\/SDL_audio.h 1082:47@
 sDL_CreateAudioStream
   :: PtrConst.PtrConst SDL_AudioSpec
   -- ^
   --
-  --           [@src_spec@]: the format details of the input audio.
+  --           [@src_spec@]: the format details of the input audio. May be NULL.
   -> PtrConst.PtrConst SDL_AudioSpec
   -- ^
   --
-  --           [@dst_spec@]: the format details of the output audio.
+  --           [@dst_spec@]: the format details of the output audio. May be NULL.
   -> IO (BG.Ptr SDL_AudioStream)
 sDL_CreateAudioStream = hs_bindgen_bcc8d812c83afb38
 
@@ -1416,7 +1418,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetAudioStreamProperties@, defined at @SDL3\/SDL_audio.h 1098:46@
+--     [C declaration]: @SDL_GetAudioStreamProperties@, defined at @SDL3\/SDL_audio.h 1106:46@
 sDL_GetAudioStreamProperties
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1453,7 +1455,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamFormat'
 --
---     [C declaration]: @SDL_GetAudioStreamFormat@, defined at @SDL3\/SDL_audio.h 1119:34@
+--     [C declaration]: @SDL_GetAudioStreamFormat@, defined at @SDL3\/SDL_audio.h 1127:34@
 sDL_GetAudioStreamFormat
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1496,6 +1498,8 @@
 --
 --     If a stream is bound to a device, then the format of the side of the stream bound to a device cannot be changed (src_spec for recording devices, dst_spec for playback devices). Attempts to make a change to this side will be ignored, but this will not report an error. The other side\'s format can be changed.
 --
+--     @src_spec@ and @dst_spec@ may each be NULL; a NULL spec signals not to change the current format for that side of the stream.
+--
 --     [Returns]: true on success or false on failure; call SDL_GetError() for more information.
 --
 --     [Thread safety]: It is safe to call this function from any thread, as it holds a stream-specific mutex while running.
@@ -1504,7 +1508,7 @@
 --
 --     [See also]: 'sDL_GetAudioStreamFormat', 'sDL_SetAudioStreamFrequencyRatio'
 --
---     [C declaration]: @SDL_SetAudioStreamFormat@, defined at @SDL3\/SDL_audio.h 1156:34@
+--     [C declaration]: @SDL_SetAudioStreamFormat@, defined at @SDL3\/SDL_audio.h 1167:34@
 sDL_SetAudioStreamFormat
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1545,7 +1549,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamFrequencyRatio'
 --
---     [C declaration]: @SDL_GetAudioStreamFrequencyRatio@, defined at @SDL3\/SDL_audio.h 1172:35@
+--     [C declaration]: @SDL_GetAudioStreamFrequencyRatio@, defined at @SDL3\/SDL_audio.h 1183:35@
 sDL_GetAudioStreamFrequencyRatio
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1584,7 +1588,7 @@
 --
 --     [See also]: 'sDL_GetAudioStreamFrequencyRatio', 'sDL_SetAudioStreamFormat'
 --
---     [C declaration]: @SDL_SetAudioStreamFrequencyRatio@, defined at @SDL3\/SDL_audio.h 1200:34@
+--     [C declaration]: @SDL_SetAudioStreamFrequencyRatio@, defined at @SDL3\/SDL_audio.h 1211:34@
 sDL_SetAudioStreamFrequencyRatio
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1625,7 +1629,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamGain'
 --
---     [C declaration]: @SDL_GetAudioStreamGain@, defined at @SDL3\/SDL_audio.h 1221:35@
+--     [C declaration]: @SDL_GetAudioStreamGain@, defined at @SDL3\/SDL_audio.h 1232:35@
 sDL_GetAudioStreamGain
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1665,7 +1669,7 @@
 --
 --     [See also]: 'sDL_GetAudioStreamGain'
 --
---     [C declaration]: @SDL_SetAudioStreamGain@, defined at @SDL3\/SDL_audio.h 1246:34@
+--     [C declaration]: @SDL_SetAudioStreamGain@, defined at @SDL3\/SDL_audio.h 1257:34@
 sDL_SetAudioStreamGain
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1707,7 +1711,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamInputChannelMap'
 --
---     [C declaration]: @SDL_GetAudioStreamInputChannelMap@, defined at @SDL3\/SDL_audio.h 1270:35@
+--     [C declaration]: @SDL_GetAudioStreamInputChannelMap@, defined at @SDL3\/SDL_audio.h 1281:35@
 sDL_GetAudioStreamInputChannelMap
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1750,7 +1754,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamInputChannelMap'
 --
---     [C declaration]: @SDL_GetAudioStreamOutputChannelMap@, defined at @SDL3\/SDL_audio.h 1294:35@
+--     [C declaration]: @SDL_GetAudioStreamOutputChannelMap@, defined at @SDL3\/SDL_audio.h 1305:35@
 sDL_GetAudioStreamOutputChannelMap
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1807,9 +1811,9 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'sDL_SetAudioStreamInputChannelMap'
+--     [See also]: 'sDL_SetAudioStreamOutputChannelMap'
 --
---     [C declaration]: @SDL_SetAudioStreamInputChannelMap@, defined at @SDL3\/SDL_audio.h 1354:34@
+--     [C declaration]: @SDL_SetAudioStreamInputChannelMap@, defined at @SDL3\/SDL_audio.h 1365:34@
 sDL_SetAudioStreamInputChannelMap
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1872,7 +1876,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamInputChannelMap'
 --
---     [C declaration]: @SDL_SetAudioStreamOutputChannelMap@, defined at @SDL3\/SDL_audio.h 1412:34@
+--     [C declaration]: @SDL_SetAudioStreamOutputChannelMap@, defined at @SDL3\/SDL_audio.h 1423:34@
 sDL_SetAudioStreamOutputChannelMap
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1921,7 +1925,7 @@
 --
 --     [See also]: 'sDL_ClearAudioStream', 'sDL_FlushAudioStream', 'sDL_GetAudioStreamData', 'sDL_GetAudioStreamQueued'
 --
---     [C declaration]: @SDL_PutAudioStreamData@, defined at @SDL3\/SDL_audio.h 1442:34@
+--     [C declaration]: @SDL_PutAudioStreamData@, defined at @SDL3\/SDL_audio.h 1453:34@
 sDL_PutAudioStreamData
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -1977,7 +1981,7 @@
 --
 --     [See also]: 'sDL_ClearAudioStream', 'sDL_FlushAudioStream', 'sDL_GetAudioStreamData', 'sDL_GetAudioStreamQueued'
 --
---     [C declaration]: @SDL_PutAudioStreamDataNoCopy@, defined at @SDL3\/SDL_audio.h 1519:34@
+--     [C declaration]: @SDL_PutAudioStreamDataNoCopy@, defined at @SDL3\/SDL_audio.h 1530:34@
 sDL_PutAudioStreamDataNoCopy
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2042,7 +2046,7 @@
 --
 --     [See also]: 'sDL_ClearAudioStream', 'sDL_FlushAudioStream', 'sDL_GetAudioStreamData', 'sDL_GetAudioStreamQueued'
 --
---     [C declaration]: @SDL_PutAudioStreamPlanarData@, defined at @SDL3\/SDL_audio.h 1572:34@
+--     [C declaration]: @SDL_PutAudioStreamPlanarData@, defined at @SDL3\/SDL_audio.h 1583:34@
 sDL_PutAudioStreamPlanarData
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2095,7 +2099,7 @@
 --
 --     [See also]: 'sDL_ClearAudioStream', 'sDL_GetAudioStreamAvailable', 'sDL_PutAudioStreamData'
 --
---     [C declaration]: @SDL_GetAudioStreamData@, defined at @SDL3\/SDL_audio.h 1602:33@
+--     [C declaration]: @SDL_GetAudioStreamData@, defined at @SDL3\/SDL_audio.h 1613:33@
 sDL_GetAudioStreamData
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2139,7 +2143,7 @@
 --
 --     [See also]: 'sDL_GetAudioStreamData', 'sDL_PutAudioStreamData'
 --
---     [C declaration]: @SDL_GetAudioStreamAvailable@, defined at @SDL3\/SDL_audio.h 1628:33@
+--     [C declaration]: @SDL_GetAudioStreamAvailable@, defined at @SDL3\/SDL_audio.h 1639:33@
 sDL_GetAudioStreamAvailable
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2180,7 +2184,7 @@
 --
 --     [See also]: 'sDL_PutAudioStreamData', 'sDL_ClearAudioStream'
 --
---     [C declaration]: @SDL_GetAudioStreamQueued@, defined at @SDL3\/SDL_audio.h 1667:33@
+--     [C declaration]: @SDL_GetAudioStreamQueued@, defined at @SDL3\/SDL_audio.h 1678:33@
 sDL_GetAudioStreamQueued
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2215,7 +2219,7 @@
 --
 --     [See also]: 'sDL_PutAudioStreamData'
 --
---     [C declaration]: @SDL_FlushAudioStream@, defined at @SDL3\/SDL_audio.h 1688:34@
+--     [C declaration]: @SDL_FlushAudioStream@, defined at @SDL3\/SDL_audio.h 1699:34@
 sDL_FlushAudioStream
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2249,7 +2253,7 @@
 --
 --     [See also]: 'sDL_GetAudioStreamAvailable', 'sDL_GetAudioStreamData', 'sDL_GetAudioStreamQueued', 'sDL_PutAudioStreamData'
 --
---     [C declaration]: @SDL_ClearAudioStream@, defined at @SDL3\/SDL_audio.h 1709:34@
+--     [C declaration]: @SDL_ClearAudioStream@, defined at @SDL3\/SDL_audio.h 1720:34@
 sDL_ClearAudioStream
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2285,7 +2289,7 @@
 --
 --     [See also]: 'sDL_ResumeAudioStreamDevice'
 --
---     [C declaration]: @SDL_PauseAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1733:34@
+--     [C declaration]: @SDL_PauseAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1744:34@
 sDL_PauseAudioStreamDevice
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2322,7 +2326,7 @@
 --
 --     [See also]: 'sDL_PauseAudioStreamDevice'
 --
---     [C declaration]: @SDL_ResumeAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1756:34@
+--     [C declaration]: @SDL_ResumeAudioStreamDevice@, defined at @SDL3\/SDL_audio.h 1767:34@
 sDL_ResumeAudioStreamDevice
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2357,7 +2361,7 @@
 --
 --     [See also]: 'sDL_PauseAudioStreamDevice', 'sDL_ResumeAudioStreamDevice'
 --
---     [C declaration]: @SDL_AudioStreamDevicePaused@, defined at @SDL3\/SDL_audio.h 1775:34@
+--     [C declaration]: @SDL_AudioStreamDevicePaused@, defined at @SDL3\/SDL_audio.h 1786:34@
 sDL_AudioStreamDevicePaused
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2396,7 +2400,7 @@
 --
 --     [See also]: 'sDL_UnlockAudioStream'
 --
---     [C declaration]: @SDL_LockAudioStream@, defined at @SDL3\/SDL_audio.h 1804:34@
+--     [C declaration]: @SDL_LockAudioStream@, defined at @SDL3\/SDL_audio.h 1815:34@
 sDL_LockAudioStream
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2430,7 +2434,7 @@
 --
 --     [See also]: 'sDL_LockAudioStream'
 --
---     [C declaration]: @SDL_UnlockAudioStream@, defined at @SDL3\/SDL_audio.h 1823:34@
+--     [C declaration]: @SDL_UnlockAudioStream@, defined at @SDL3\/SDL_audio.h 1834:34@
 sDL_UnlockAudioStream
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2480,7 +2484,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamPutCallback'
 --
---     [C declaration]: @SDL_SetAudioStreamGetCallback@, defined at @SDL3\/SDL_audio.h 1911:34@
+--     [C declaration]: @SDL_SetAudioStreamGetCallback@, defined at @SDL3\/SDL_audio.h 1924:34@
 sDL_SetAudioStreamGetCallback
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2541,7 +2545,7 @@
 --
 --     [See also]: 'sDL_SetAudioStreamGetCallback'
 --
---     [C declaration]: @SDL_SetAudioStreamPutCallback@, defined at @SDL3\/SDL_audio.h 1960:34@
+--     [C declaration]: @SDL_SetAudioStreamPutCallback@, defined at @SDL3\/SDL_audio.h 1973:34@
 sDL_SetAudioStreamPutCallback
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2584,7 +2588,7 @@
 --
 --     [See also]: 'sDL_CreateAudioStream'
 --
---     [C declaration]: @SDL_DestroyAudioStream@, defined at @SDL3\/SDL_audio.h 1982:34@
+--     [C declaration]: @SDL_DestroyAudioStream@, defined at @SDL3\/SDL_audio.h 1995:34@
 sDL_DestroyAudioStream
   :: BG.Ptr SDL_AudioStream
   -- ^
@@ -2640,7 +2644,7 @@
 --
 --     [See also]: 'sDL_GetAudioStreamDevice', 'sDL_ResumeAudioStreamDevice'
 --
---     [C declaration]: @SDL_OpenAudioDeviceStream@, defined at @SDL3\/SDL_audio.h 2045:47@
+--     [C declaration]: @SDL_OpenAudioDeviceStream@, defined at @SDL3\/SDL_audio.h 2058:47@
 sDL_OpenAudioDeviceStream
   :: SDL_AudioDeviceID
   -- ^
@@ -2705,7 +2709,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_SetAudioPostmixCallback@, defined at @SDL3\/SDL_audio.h 2136:34@
+--     [C declaration]: @SDL_SetAudioPostmixCallback@, defined at @SDL3\/SDL_audio.h 2149:34@
 sDL_SetAudioPostmixCallback
   :: SDL_AudioDeviceID
   -- ^
@@ -2784,7 +2788,7 @@
 --
 --     [See also]: SDL_free, 'sDL_LoadWAV'
 --
---     [C declaration]: @SDL_LoadWAV_IO@, defined at @SDL3\/SDL_audio.h 2217:34@
+--     [C declaration]: @SDL_LoadWAV_IO@, defined at @SDL3\/SDL_audio.h 2230:34@
 sDL_LoadWAV_IO
   :: BG.Ptr SDL3.Sys.Bindgen.Iostream.SDL_IOStream
   -- ^
@@ -2848,7 +2852,7 @@
 --
 --     [See also]: SDL_free, 'sDL_LoadWAV_IO'
 --
---     [C declaration]: @SDL_LoadWAV@, defined at @SDL3\/SDL_audio.h 2253:34@
+--     [C declaration]: @SDL_LoadWAV@, defined at @SDL3\/SDL_audio.h 2266:34@
 sDL_LoadWAV
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -2906,7 +2910,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_MixAudio@, defined at @SDL3\/SDL_audio.h 2289:34@
+--     [C declaration]: @SDL_MixAudio@, defined at @SDL3\/SDL_audio.h 2302:34@
 sDL_MixAudio
   :: BG.Ptr SDL3.Sys.Bindgen.Stdinc.Uint8
   -- ^
@@ -2966,7 +2970,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ConvertAudioSamples@, defined at @SDL3\/SDL_audio.h 2319:34@
+--     [C declaration]: @SDL_ConvertAudioSamples@, defined at @SDL3\/SDL_audio.h 2332:34@
 sDL_ConvertAudioSamples
   :: PtrConst.PtrConst SDL_AudioSpec
   -- ^
@@ -3016,7 +3020,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetAudioFormatName@, defined at @SDL3\/SDL_audio.h 2332:42@
+--     [C declaration]: @SDL_GetAudioFormatName@, defined at @SDL3\/SDL_audio.h 2345:42@
 sDL_GetAudioFormatName
   :: SDL_AudioFormat
   -- ^
@@ -3048,7 +3052,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetSilenceValueForFormat@, defined at @SDL3\/SDL_audio.h 2348:33@
+--     [C declaration]: @SDL_GetSilenceValueForFormat@, defined at @SDL3\/SDL_audio.h 2361:33@
 sDL_GetSilenceValueForFormat
   :: SDL_AudioFormat
   -- ^
diff --git a/src/SDL3/Sys/Bindgen/Bits/FunPtr.hs b/src/SDL3/Sys/Bindgen/Bits/FunPtr.hs
--- a/src/SDL3/Sys/Bindgen/Bits/FunPtr.hs
+++ b/src/SDL3/Sys/Bindgen/Bits/FunPtr.hs
@@ -47,7 +47,7 @@
 
 {-# NOINLINE sDL_MostSignificantBitIndex32 #-}
 
--- | [C declaration]: @SDL_MostSignificantBitIndex32@, defined at @SDL3\/SDL_bits.h 66:22@
+-- | [C declaration]: @SDL_MostSignificantBitIndex32@, defined at @SDL3\/SDL_bits.h 65:22@
 sDL_MostSignificantBitIndex32 :: BG.FunPtr (SDL3.Sys.Bindgen.Stdinc.Uint32 -> IO BG.CInt)
 sDL_MostSignificantBitIndex32 =
   BG.unsafePerformIO hs_bindgen_ef0d609239e2f97c
@@ -78,7 +78,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_HasExactlyOneBitSet32@, defined at @SDL3\/SDL_bits.h 133:23@
+--     [C declaration]: @SDL_HasExactlyOneBitSet32@, defined at @SDL3\/SDL_bits.h 132:23@
 sDL_HasExactlyOneBitSet32 :: BG.FunPtr (SDL3.Sys.Bindgen.Stdinc.Uint32 -> IO BG.CBool)
 sDL_HasExactlyOneBitSet32 =
   BG.unsafePerformIO hs_bindgen_424cf674227955df
diff --git a/src/SDL3/Sys/Bindgen/Bits/Safe.hs b/src/SDL3/Sys/Bindgen/Bits/Safe.hs
--- a/src/SDL3/Sys/Bindgen/Bits/Safe.hs
+++ b/src/SDL3/Sys/Bindgen/Bits/Safe.hs
@@ -44,7 +44,7 @@
 hs_bindgen_456d262a9d645a2c =
   BG.fromFFIType hs_bindgen_456d262a9d645a2c_base
 
--- | [C declaration]: @SDL_MostSignificantBitIndex32@, defined at @SDL3\/SDL_bits.h 66:22@
+-- | [C declaration]: @SDL_MostSignificantBitIndex32@, defined at @SDL3\/SDL_bits.h 65:22@
 sDL_MostSignificantBitIndex32
   :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ [C declaration]: @x@
@@ -77,7 +77,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_HasExactlyOneBitSet32@, defined at @SDL3\/SDL_bits.h 133:23@
+--     [C declaration]: @SDL_HasExactlyOneBitSet32@, defined at @SDL3\/SDL_bits.h 132:23@
 sDL_HasExactlyOneBitSet32
   :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^
diff --git a/src/SDL3/Sys/Bindgen/Bits/Unsafe.hs b/src/SDL3/Sys/Bindgen/Bits/Unsafe.hs
--- a/src/SDL3/Sys/Bindgen/Bits/Unsafe.hs
+++ b/src/SDL3/Sys/Bindgen/Bits/Unsafe.hs
@@ -44,7 +44,7 @@
 hs_bindgen_f46c1724b0f07dbc =
   BG.fromFFIType hs_bindgen_f46c1724b0f07dbc_base
 
--- | [C declaration]: @SDL_MostSignificantBitIndex32@, defined at @SDL3\/SDL_bits.h 66:22@
+-- | [C declaration]: @SDL_MostSignificantBitIndex32@, defined at @SDL3\/SDL_bits.h 65:22@
 sDL_MostSignificantBitIndex32
   :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ [C declaration]: @x@
@@ -77,7 +77,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_HasExactlyOneBitSet32@, defined at @SDL3\/SDL_bits.h 133:23@
+--     [C declaration]: @SDL_HasExactlyOneBitSet32@, defined at @SDL3\/SDL_bits.h 132:23@
 sDL_HasExactlyOneBitSet32
   :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^
diff --git a/src/SDL3/Sys/Bindgen/Clipboard/FunPtr.hs b/src/SDL3/Sys/Bindgen/Clipboard/FunPtr.hs
--- a/src/SDL3/Sys/Bindgen/Clipboard/FunPtr.hs
+++ b/src/SDL3/Sys/Bindgen/Clipboard/FunPtr.hs
@@ -72,7 +72,7 @@
          , "  SDL_ClipboardDataCallback arg1,"
          , "  SDL_ClipboardCleanupCallback arg2,"
          , "  void *arg3,"
-         , "  char const **arg4,"
+         , "  char const *const *arg4,"
          , "  size_t arg5"
          , ")"
          , "{"
@@ -283,7 +283,7 @@
            ( SDL_ClipboardDataCallback
              -> SDL_ClipboardCleanupCallback
              -> BG.Ptr BG.Void
-             -> BG.Ptr (PtrConst.PtrConst BG.CChar)
+             -> PtrConst.PtrConst (PtrConst.PtrConst BG.CChar)
              -> HsBindgen.Runtime.LibC.CSize
              -> IO BG.CBool
            )
@@ -323,7 +323,7 @@
        ( SDL_ClipboardDataCallback
          -> SDL_ClipboardCleanupCallback
          -> BG.Ptr BG.Void
-         -> BG.Ptr (PtrConst.PtrConst BG.CChar)
+         -> PtrConst.PtrConst (PtrConst.PtrConst BG.CChar)
          -> HsBindgen.Runtime.LibC.CSize
          -> IO BG.CBool
        )
diff --git a/src/SDL3/Sys/Bindgen/Clipboard/Safe.hs b/src/SDL3/Sys/Bindgen/Clipboard/Safe.hs
--- a/src/SDL3/Sys/Bindgen/Clipboard/Safe.hs
+++ b/src/SDL3/Sys/Bindgen/Clipboard/Safe.hs
@@ -58,7 +58,7 @@
          , "  SDL_ClipboardDataCallback arg1,"
          , "  SDL_ClipboardCleanupCallback arg2,"
          , "  void *arg3,"
-         , "  char const **arg4,"
+         , "  char const *const *arg4,"
          , "  size_t arg5"
          , ")"
          , "{"
@@ -261,7 +261,7 @@
   :: SDL_ClipboardDataCallback
   -> SDL_ClipboardCleanupCallback
   -> BG.Ptr BG.Void
-  -> BG.Ptr (PtrConst.PtrConst BG.CChar)
+  -> PtrConst.PtrConst (PtrConst.PtrConst BG.CChar)
   -> HsBindgen.Runtime.LibC.CSize
   -> IO BG.CBool
 hs_bindgen_36bebff7824b1300 =
@@ -295,7 +295,7 @@
   -- ^
   --
   --           [@userdata@]: an opaque pointer that will be forwarded to the callbacks.
-  -> BG.Ptr (PtrConst.PtrConst BG.CChar)
+  -> PtrConst.PtrConst (PtrConst.PtrConst BG.CChar)
   -- ^
   --
   --           [@mime_types@]: a list of mime-types that are being offered. SDL copies the given list.
diff --git a/src/SDL3/Sys/Bindgen/Clipboard/Unsafe.hs b/src/SDL3/Sys/Bindgen/Clipboard/Unsafe.hs
--- a/src/SDL3/Sys/Bindgen/Clipboard/Unsafe.hs
+++ b/src/SDL3/Sys/Bindgen/Clipboard/Unsafe.hs
@@ -58,7 +58,7 @@
          , "  SDL_ClipboardDataCallback arg1,"
          , "  SDL_ClipboardCleanupCallback arg2,"
          , "  void *arg3,"
-         , "  char const **arg4,"
+         , "  char const *const *arg4,"
          , "  size_t arg5"
          , ")"
          , "{"
@@ -261,7 +261,7 @@
   :: SDL_ClipboardDataCallback
   -> SDL_ClipboardCleanupCallback
   -> BG.Ptr BG.Void
-  -> BG.Ptr (PtrConst.PtrConst BG.CChar)
+  -> PtrConst.PtrConst (PtrConst.PtrConst BG.CChar)
   -> HsBindgen.Runtime.LibC.CSize
   -> IO BG.CBool
 hs_bindgen_d48cb2fd87e5c697 =
@@ -295,7 +295,7 @@
   -- ^
   --
   --           [@userdata@]: an opaque pointer that will be forwarded to the callbacks.
-  -> BG.Ptr (PtrConst.PtrConst BG.CChar)
+  -> PtrConst.PtrConst (PtrConst.PtrConst BG.CChar)
   -- ^
   --
   --           [@mime_types@]: a list of mime-types that are being offered. SDL copies the given list.
diff --git a/src/SDL3/Sys/Bindgen/Events.hs b/src/SDL3/Sys/Bindgen/Events.hs
--- a/src/SDL3/Sys/Bindgen/Events.hs
+++ b/src/SDL3/Sys/Bindgen/Events.hs
@@ -3633,7 +3633,7 @@
   --
   --          [C declaration]: @windowID@, defined at @SDL3\/SDL_events.h 458:18@
   , which :: SDL3.Sys.Bindgen.Mouse.SDL_MouseID
-  -- ^ The mouse instance id in relative mode, SDL_TOUCH_MOUSEID for touch events, or 0
+  -- ^ The mouse instance id in relative mode, SDL_TOUCH_MOUSEID for touch events, SDL_PEN_MOUSEID for pen events, or 0
   --
   --          [C declaration]: @which@, defined at @SDL3\/SDL_events.h 459:17@
   , state :: SDL3.Sys.Bindgen.Mouse.SDL_MouseButtonFlags
@@ -10137,11 +10137,15 @@
   -- ^ The pen instance id
   --
   --          [C declaration]: @which@, defined at @SDL3\/SDL_events.h 832:15@
+  , pen_state :: SDL3.Sys.Bindgen.Pen.SDL_PenInputFlags
+  -- ^ Complete pen input state at time of event (added in 3.4.16).
+  --
+  --          [C declaration]: @pen_state@, defined at @SDL3\/SDL_events.h 833:23@
   }
   deriving stock (BG.Generic, Eq, Show)
 
 instance Marshal.StaticSize SDL_PenProximityEvent where
-  staticSizeOf = \_ -> (24 :: Int)
+  staticSizeOf = \_ -> (32 :: Int)
 
   staticAlignment = \_ -> (8 :: Int)
 
@@ -10154,18 +10158,20 @@
         <*> HasCField.readRaw (BG.Proxy @"timestamp") ptr0
         <*> HasCField.readRaw (BG.Proxy @"windowID") ptr0
         <*> HasCField.readRaw (BG.Proxy @"which") ptr0
+        <*> HasCField.readRaw (BG.Proxy @"pen_state") ptr0
 
 instance Marshal.WriteRaw SDL_PenProximityEvent where
   writeRaw =
     \ptr0 ->
       \s1 ->
         case s1 of
-          SDL_PenProximityEvent type'2 reserved3 timestamp4 windowID5 which6 ->
+          SDL_PenProximityEvent type'2 reserved3 timestamp4 windowID5 which6 pen_state7 ->
             HasCField.writeRaw (BG.Proxy @"type'") ptr0 type'2
               >> HasCField.writeRaw (BG.Proxy @"reserved") ptr0 reserved3
               >> HasCField.writeRaw (BG.Proxy @"timestamp") ptr0 timestamp4
               >> HasCField.writeRaw (BG.Proxy @"windowID") ptr0 windowID5
               >> HasCField.writeRaw (BG.Proxy @"which") ptr0 which6
+              >> HasCField.writeRaw (BG.Proxy @"pen_state") ptr0 pen_state7
 
 deriving via Marshal.EquivStorable SDL_PenProximityEvent instance BG.Storable SDL_PenProximityEvent
 
@@ -10182,6 +10188,7 @@
             , timestamp = BG.getField @"timestamp" x0
             , windowID = BG.getField @"windowID" x0
             , which = BG.getField @"which" x0
+            , pen_state = BG.getField @"pen_state" x0
             }
       , BG.getField @"type'" x0
       )
@@ -10212,6 +10219,7 @@
             , timestamp = BG.getField @"timestamp" x0
             , windowID = BG.getField @"windowID" x0
             , which = BG.getField @"which" x0
+            , pen_state = BG.getField @"pen_state" x0
             }
       , BG.getField @"reserved" x0
       )
@@ -10242,6 +10250,7 @@
             , reserved = BG.getField @"reserved" x0
             , windowID = BG.getField @"windowID" x0
             , which = BG.getField @"which" x0
+            , pen_state = BG.getField @"pen_state" x0
             }
       , BG.getField @"timestamp" x0
       )
@@ -10272,6 +10281,7 @@
             , reserved = BG.getField @"reserved" x0
             , timestamp = BG.getField @"timestamp" x0
             , which = BG.getField @"which" x0
+            , pen_state = BG.getField @"pen_state" x0
             }
       , BG.getField @"windowID" x0
       )
@@ -10302,6 +10312,7 @@
             , reserved = BG.getField @"reserved" x0
             , timestamp = BG.getField @"timestamp" x0
             , windowID = BG.getField @"windowID" x0
+            , pen_state = BG.getField @"pen_state" x0
             }
       , BG.getField @"which" x0
       )
@@ -10319,44 +10330,75 @@
 
   offset# = \_ -> \_ -> 20
 
+instance
+  (ty ~ SDL3.Sys.Bindgen.Pen.SDL_PenInputFlags)
+  => BG.CompatHasField.HasField "pen_state" SDL_PenProximityEvent ty
+  where
+  hasField =
+    \x0 ->
+      ( \y1 ->
+          SDL_PenProximityEvent
+            { pen_state = y1
+            , type' = BG.getField @"type'" x0
+            , reserved = BG.getField @"reserved" x0
+            , timestamp = BG.getField @"timestamp" x0
+            , windowID = BG.getField @"windowID" x0
+            , which = BG.getField @"which" x0
+            }
+      , BG.getField @"pen_state" x0
+      )
+
+instance
+  (ty ~ SDL3.Sys.Bindgen.Pen.SDL_PenInputFlags)
+  => BG.HasField "pen_state" (BG.Ptr SDL_PenProximityEvent) (BG.Ptr ty)
+  where
+  getField = HasCField.fromPtr (BG.Proxy @"pen_state")
+
+instance HasCField.HasCField SDL_PenProximityEvent "pen_state" where
+  type
+    CFieldType SDL_PenProximityEvent "pen_state" =
+      SDL3.Sys.Bindgen.Pen.SDL_PenInputFlags
+
+  offset# = \_ -> \_ -> 24
+
 -- | Pressure-sensitive pen motion event structure (event.pmotion.*)
 --
 --     Depending on the hardware, you may get motion events when the pen is not touching a tablet, for tracking a pen even when it isn\'t drawing. You should listen for SDL_EVENT_PEN_DOWN and SDL_EVENT_PEN_UP events, or check @pen_state & SDL_PEN_INPUT_DOWN@ to decide if a pen is \"drawing\" when dealing with pen motion.
 --
 --     @since 3.2.0
 --
---     [C declaration]: @struct SDL_PenMotionEvent@, defined at @SDL3\/SDL_events.h 846:16@
+--     [C declaration]: @struct SDL_PenMotionEvent@, defined at @SDL3\/SDL_events.h 847:16@
 data SDL_PenMotionEvent = SDL_PenMotionEvent
   { type' :: SDL_EventType
   -- ^ SDL_EVENT_PEN_MOTION
   --
-  --          [C declaration]: @type@, defined at @SDL3\/SDL_events.h 848:19@
+  --          [C declaration]: @type@, defined at @SDL3\/SDL_events.h 849:19@
   , reserved :: SDL3.Sys.Bindgen.Stdinc.Uint32
-  -- ^ [C declaration]: @reserved@, defined at @SDL3\/SDL_events.h 849:12@
+  -- ^ [C declaration]: @reserved@, defined at @SDL3\/SDL_events.h 850:12@
   , timestamp :: SDL3.Sys.Bindgen.Stdinc.Uint64
   -- ^ In nanoseconds, populated using SDL_GetTicksNS()
   --
-  --          [C declaration]: @timestamp@, defined at @SDL3\/SDL_events.h 850:12@
+  --          [C declaration]: @timestamp@, defined at @SDL3\/SDL_events.h 851:12@
   , windowID :: SDL3.Sys.Bindgen.Video.SDL_WindowID
   -- ^ The window with pen focus, if any
   --
-  --          [C declaration]: @windowID@, defined at @SDL3\/SDL_events.h 851:18@
+  --          [C declaration]: @windowID@, defined at @SDL3\/SDL_events.h 852:18@
   , which :: SDL3.Sys.Bindgen.Pen.SDL_PenID
   -- ^ The pen instance id
   --
-  --          [C declaration]: @which@, defined at @SDL3\/SDL_events.h 852:15@
+  --          [C declaration]: @which@, defined at @SDL3\/SDL_events.h 853:15@
   , pen_state :: SDL3.Sys.Bindgen.Pen.SDL_PenInputFlags
   -- ^ Complete pen input state at time of event
   --
-  --          [C declaration]: @pen_state@, defined at @SDL3\/SDL_events.h 853:23@
+  --          [C declaration]: @pen_state@, defined at @SDL3\/SDL_events.h 854:23@
   , x :: BG.CFloat
   -- ^ X coordinate, relative to window
   --
-  --          [C declaration]: @x@, defined at @SDL3\/SDL_events.h 854:11@
+  --          [C declaration]: @x@, defined at @SDL3\/SDL_events.h 855:11@
   , y :: BG.CFloat
   -- ^ Y coordinate, relative to window
   --
-  --          [C declaration]: @y@, defined at @SDL3\/SDL_events.h 855:11@
+  --          [C declaration]: @y@, defined at @SDL3\/SDL_events.h 856:11@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -10669,46 +10711,46 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @struct SDL_PenTouchEvent@, defined at @SDL3\/SDL_events.h 866:16@
+--     [C declaration]: @struct SDL_PenTouchEvent@, defined at @SDL3\/SDL_events.h 867:16@
 data SDL_PenTouchEvent = SDL_PenTouchEvent
   { type' :: SDL_EventType
   -- ^ SDL_EVENT_PEN_DOWN or SDL_EVENT_PEN_UP
   --
-  --          [C declaration]: @type@, defined at @SDL3\/SDL_events.h 868:19@
+  --          [C declaration]: @type@, defined at @SDL3\/SDL_events.h 869:19@
   , reserved :: SDL3.Sys.Bindgen.Stdinc.Uint32
-  -- ^ [C declaration]: @reserved@, defined at @SDL3\/SDL_events.h 869:12@
+  -- ^ [C declaration]: @reserved@, defined at @SDL3\/SDL_events.h 870:12@
   , timestamp :: SDL3.Sys.Bindgen.Stdinc.Uint64
   -- ^ In nanoseconds, populated using SDL_GetTicksNS()
   --
-  --          [C declaration]: @timestamp@, defined at @SDL3\/SDL_events.h 870:12@
+  --          [C declaration]: @timestamp@, defined at @SDL3\/SDL_events.h 871:12@
   , windowID :: SDL3.Sys.Bindgen.Video.SDL_WindowID
   -- ^ The window with pen focus, if any
   --
-  --          [C declaration]: @windowID@, defined at @SDL3\/SDL_events.h 871:18@
+  --          [C declaration]: @windowID@, defined at @SDL3\/SDL_events.h 872:18@
   , which :: SDL3.Sys.Bindgen.Pen.SDL_PenID
   -- ^ The pen instance id
   --
-  --          [C declaration]: @which@, defined at @SDL3\/SDL_events.h 872:15@
+  --          [C declaration]: @which@, defined at @SDL3\/SDL_events.h 873:15@
   , pen_state :: SDL3.Sys.Bindgen.Pen.SDL_PenInputFlags
   -- ^ Complete pen input state at time of event
   --
-  --          [C declaration]: @pen_state@, defined at @SDL3\/SDL_events.h 873:23@
+  --          [C declaration]: @pen_state@, defined at @SDL3\/SDL_events.h 874:23@
   , x :: BG.CFloat
   -- ^ X coordinate, relative to window
   --
-  --          [C declaration]: @x@, defined at @SDL3\/SDL_events.h 874:11@
+  --          [C declaration]: @x@, defined at @SDL3\/SDL_events.h 875:11@
   , y :: BG.CFloat
   -- ^ Y coordinate, relative to window
   --
-  --          [C declaration]: @y@, defined at @SDL3\/SDL_events.h 875:11@
+  --          [C declaration]: @y@, defined at @SDL3\/SDL_events.h 876:11@
   , eraser :: BG.CBool
   -- ^ true if eraser end is used (not all pens support this).
   --
-  --          [C declaration]: @eraser@, defined at @SDL3\/SDL_events.h 876:10@
+  --          [C declaration]: @eraser@, defined at @SDL3\/SDL_events.h 877:10@
   , down :: BG.CBool
   -- ^ true if the pen is touching or false if the pen is lifted off
   --
-  --          [C declaration]: @down@, defined at @SDL3\/SDL_events.h 877:10@
+  --          [C declaration]: @down@, defined at @SDL3\/SDL_events.h 878:10@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -11109,46 +11151,46 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @struct SDL_PenButtonEvent@, defined at @SDL3\/SDL_events.h 888:16@
+--     [C declaration]: @struct SDL_PenButtonEvent@, defined at @SDL3\/SDL_events.h 889:16@
 data SDL_PenButtonEvent = SDL_PenButtonEvent
   { type' :: SDL_EventType
   -- ^ SDL_EVENT_PEN_BUTTON_DOWN or SDL_EVENT_PEN_BUTTON_UP
   --
-  --          [C declaration]: @type@, defined at @SDL3\/SDL_events.h 890:19@
+  --          [C declaration]: @type@, defined at @SDL3\/SDL_events.h 891:19@
   , reserved :: SDL3.Sys.Bindgen.Stdinc.Uint32
-  -- ^ [C declaration]: @reserved@, defined at @SDL3\/SDL_events.h 891:12@
+  -- ^ [C declaration]: @reserved@, defined at @SDL3\/SDL_events.h 892:12@
   , timestamp :: SDL3.Sys.Bindgen.Stdinc.Uint64
   -- ^ In nanoseconds, populated using SDL_GetTicksNS()
   --
-  --          [C declaration]: @timestamp@, defined at @SDL3\/SDL_events.h 892:12@
+  --          [C declaration]: @timestamp@, defined at @SDL3\/SDL_events.h 893:12@
   , windowID :: SDL3.Sys.Bindgen.Video.SDL_WindowID
   -- ^ The window with mouse focus, if any
   --
-  --          [C declaration]: @windowID@, defined at @SDL3\/SDL_events.h 893:18@
+  --          [C declaration]: @windowID@, defined at @SDL3\/SDL_events.h 894:18@
   , which :: SDL3.Sys.Bindgen.Pen.SDL_PenID
   -- ^ The pen instance id
   --
-  --          [C declaration]: @which@, defined at @SDL3\/SDL_events.h 894:15@
+  --          [C declaration]: @which@, defined at @SDL3\/SDL_events.h 895:15@
   , pen_state :: SDL3.Sys.Bindgen.Pen.SDL_PenInputFlags
   -- ^ Complete pen input state at time of event
   --
-  --          [C declaration]: @pen_state@, defined at @SDL3\/SDL_events.h 895:23@
+  --          [C declaration]: @pen_state@, defined at @SDL3\/SDL_events.h 896:23@
   , x :: BG.CFloat
   -- ^ X coordinate, relative to window
   --
-  --          [C declaration]: @x@, defined at @SDL3\/SDL_events.h 896:11@
+  --          [C declaration]: @x@, defined at @SDL3\/SDL_events.h 897:11@
   , y :: BG.CFloat
   -- ^ Y coordinate, relative to window
   --
-  --          [C declaration]: @y@, defined at @SDL3\/SDL_events.h 897:11@
+  --          [C declaration]: @y@, defined at @SDL3\/SDL_events.h 898:11@
   , button :: SDL3.Sys.Bindgen.Stdinc.Uint8
   -- ^ The pen button index (first button is 1).
   --
-  --          [C declaration]: @button@, defined at @SDL3\/SDL_events.h 898:11@
+  --          [C declaration]: @button@, defined at @SDL3\/SDL_events.h 899:11@
   , down :: BG.CBool
   -- ^ true if the button is pressed
   --
-  --          [C declaration]: @down@, defined at @SDL3\/SDL_events.h 899:10@
+  --          [C declaration]: @down@, defined at @SDL3\/SDL_events.h 900:10@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -11551,46 +11593,46 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @struct SDL_PenAxisEvent@, defined at @SDL3\/SDL_events.h 910:16@
+--     [C declaration]: @struct SDL_PenAxisEvent@, defined at @SDL3\/SDL_events.h 911:16@
 data SDL_PenAxisEvent = SDL_PenAxisEvent
   { type' :: SDL_EventType
   -- ^ SDL_EVENT_PEN_AXIS
   --
-  --          [C declaration]: @type@, defined at @SDL3\/SDL_events.h 912:19@
+  --          [C declaration]: @type@, defined at @SDL3\/SDL_events.h 913:19@
   , reserved :: SDL3.Sys.Bindgen.Stdinc.Uint32
-  -- ^ [C declaration]: @reserved@, defined at @SDL3\/SDL_events.h 913:12@
+  -- ^ [C declaration]: @reserved@, defined at @SDL3\/SDL_events.h 914:12@
   , timestamp :: SDL3.Sys.Bindgen.Stdinc.Uint64
   -- ^ In nanoseconds, populated using SDL_GetTicksNS()
   --
-  --          [C declaration]: @timestamp@, defined at @SDL3\/SDL_events.h 914:12@
+  --          [C declaration]: @timestamp@, defined at @SDL3\/SDL_events.h 915:12@
   , windowID :: SDL3.Sys.Bindgen.Video.SDL_WindowID
   -- ^ The window with pen focus, if any
   --
-  --          [C declaration]: @windowID@, defined at @SDL3\/SDL_events.h 915:18@
+  --          [C declaration]: @windowID@, defined at @SDL3\/SDL_events.h 916:18@
   , which :: SDL3.Sys.Bindgen.Pen.SDL_PenID
   -- ^ The pen instance id
   --
-  --          [C declaration]: @which@, defined at @SDL3\/SDL_events.h 916:15@
+  --          [C declaration]: @which@, defined at @SDL3\/SDL_events.h 917:15@
   , pen_state :: SDL3.Sys.Bindgen.Pen.SDL_PenInputFlags
   -- ^ Complete pen input state at time of event
   --
-  --          [C declaration]: @pen_state@, defined at @SDL3\/SDL_events.h 917:23@
+  --          [C declaration]: @pen_state@, defined at @SDL3\/SDL_events.h 918:23@
   , x :: BG.CFloat
   -- ^ X coordinate, relative to window
   --
-  --          [C declaration]: @x@, defined at @SDL3\/SDL_events.h 918:11@
+  --          [C declaration]: @x@, defined at @SDL3\/SDL_events.h 919:11@
   , y :: BG.CFloat
   -- ^ Y coordinate, relative to window
   --
-  --          [C declaration]: @y@, defined at @SDL3\/SDL_events.h 919:11@
+  --          [C declaration]: @y@, defined at @SDL3\/SDL_events.h 920:11@
   , axis :: SDL3.Sys.Bindgen.Pen.SDL_PenAxis
   -- ^ Axis that has changed
   --
-  --          [C declaration]: @axis@, defined at @SDL3\/SDL_events.h 920:17@
+  --          [C declaration]: @axis@, defined at @SDL3\/SDL_events.h 921:17@
   , value :: BG.CFloat
   -- ^ New value of axis
   --
-  --          [C declaration]: @value@, defined at @SDL3\/SDL_events.h 921:11@
+  --          [C declaration]: @value@, defined at @SDL3\/SDL_events.h 922:11@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -11991,38 +12033,38 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @struct SDL_DropEvent@, defined at @SDL3\/SDL_events.h 930:16@
+--     [C declaration]: @struct SDL_DropEvent@, defined at @SDL3\/SDL_events.h 931:16@
 data SDL_DropEvent = SDL_DropEvent
   { type' :: SDL_EventType
   -- ^ SDL_EVENT_DROP_BEGIN or SDL_EVENT_DROP_FILE or SDL_EVENT_DROP_TEXT or SDL_EVENT_DROP_COMPLETE or SDL_EVENT_DROP_POSITION
   --
-  --          [C declaration]: @type@, defined at @SDL3\/SDL_events.h 932:19@
+  --          [C declaration]: @type@, defined at @SDL3\/SDL_events.h 933:19@
   , reserved :: SDL3.Sys.Bindgen.Stdinc.Uint32
-  -- ^ [C declaration]: @reserved@, defined at @SDL3\/SDL_events.h 933:12@
+  -- ^ [C declaration]: @reserved@, defined at @SDL3\/SDL_events.h 934:12@
   , timestamp :: SDL3.Sys.Bindgen.Stdinc.Uint64
   -- ^ In nanoseconds, populated using SDL_GetTicksNS()
   --
-  --          [C declaration]: @timestamp@, defined at @SDL3\/SDL_events.h 934:12@
+  --          [C declaration]: @timestamp@, defined at @SDL3\/SDL_events.h 935:12@
   , windowID :: SDL3.Sys.Bindgen.Video.SDL_WindowID
   -- ^ The window that was dropped on, if any
   --
-  --          [C declaration]: @windowID@, defined at @SDL3\/SDL_events.h 935:18@
+  --          [C declaration]: @windowID@, defined at @SDL3\/SDL_events.h 936:18@
   , x :: BG.CFloat
   -- ^ X coordinate, relative to window (not on begin)
   --
-  --          [C declaration]: @x@, defined at @SDL3\/SDL_events.h 936:11@
+  --          [C declaration]: @x@, defined at @SDL3\/SDL_events.h 937:11@
   , y :: BG.CFloat
   -- ^ Y coordinate, relative to window (not on begin)
   --
-  --          [C declaration]: @y@, defined at @SDL3\/SDL_events.h 937:11@
+  --          [C declaration]: @y@, defined at @SDL3\/SDL_events.h 938:11@
   , source :: PtrConst.PtrConst BG.CChar
   -- ^ The source app that sent this drop event, or NULL if that isn\'t available
   --
-  --          [C declaration]: @source@, defined at @SDL3\/SDL_events.h 938:17@
+  --          [C declaration]: @source@, defined at @SDL3\/SDL_events.h 939:17@
   , data' :: PtrConst.PtrConst BG.CChar
   -- ^ The text for SDL_EVENT_DROP_TEXT and the file name for SDL_EVENT_DROP_FILE, NULL for other events
   --
-  --          [C declaration]: @data@, defined at @SDL3\/SDL_events.h 939:17@
+  --          [C declaration]: @data@, defined at @SDL3\/SDL_events.h 940:17@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -12323,30 +12365,30 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @struct SDL_ClipboardEvent@, defined at @SDL3\/SDL_events.h 948:16@
+--     [C declaration]: @struct SDL_ClipboardEvent@, defined at @SDL3\/SDL_events.h 949:16@
 data SDL_ClipboardEvent = SDL_ClipboardEvent
   { type' :: SDL_EventType
   -- ^ SDL_EVENT_CLIPBOARD_UPDATE
   --
-  --          [C declaration]: @type@, defined at @SDL3\/SDL_events.h 950:19@
+  --          [C declaration]: @type@, defined at @SDL3\/SDL_events.h 951:19@
   , reserved :: SDL3.Sys.Bindgen.Stdinc.Uint32
-  -- ^ [C declaration]: @reserved@, defined at @SDL3\/SDL_events.h 951:12@
+  -- ^ [C declaration]: @reserved@, defined at @SDL3\/SDL_events.h 952:12@
   , timestamp :: SDL3.Sys.Bindgen.Stdinc.Uint64
   -- ^ In nanoseconds, populated using SDL_GetTicksNS()
   --
-  --          [C declaration]: @timestamp@, defined at @SDL3\/SDL_events.h 952:12@
+  --          [C declaration]: @timestamp@, defined at @SDL3\/SDL_events.h 953:12@
   , owner :: BG.CBool
   -- ^ are we owning the clipboard (internal update)
   --
-  --          [C declaration]: @owner@, defined at @SDL3\/SDL_events.h 953:10@
+  --          [C declaration]: @owner@, defined at @SDL3\/SDL_events.h 954:10@
   , num_mime_types :: SDL3.Sys.Bindgen.Stdinc.Sint32
   -- ^ number of mime types
   --
-  --          [C declaration]: @num_mime_types@, defined at @SDL3\/SDL_events.h 954:12@
+  --          [C declaration]: @num_mime_types@, defined at @SDL3\/SDL_events.h 955:12@
   , mime_types :: BG.Ptr (PtrConst.PtrConst BG.CChar)
   -- ^ current mime types
   --
-  --          [C declaration]: @mime_types@, defined at @SDL3\/SDL_events.h 955:18@
+  --          [C declaration]: @mime_types@, defined at @SDL3\/SDL_events.h 956:18@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -12576,30 +12618,30 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @struct SDL_SensorEvent@, defined at @SDL3\/SDL_events.h 963:16@
+--     [C declaration]: @struct SDL_SensorEvent@, defined at @SDL3\/SDL_events.h 964:16@
 data SDL_SensorEvent = SDL_SensorEvent
   { type' :: SDL_EventType
   -- ^ SDL_EVENT_SENSOR_UPDATE
   --
-  --          [C declaration]: @type@, defined at @SDL3\/SDL_events.h 965:19@
+  --          [C declaration]: @type@, defined at @SDL3\/SDL_events.h 966:19@
   , reserved :: SDL3.Sys.Bindgen.Stdinc.Uint32
-  -- ^ [C declaration]: @reserved@, defined at @SDL3\/SDL_events.h 966:12@
+  -- ^ [C declaration]: @reserved@, defined at @SDL3\/SDL_events.h 967:12@
   , timestamp :: SDL3.Sys.Bindgen.Stdinc.Uint64
   -- ^ In nanoseconds, populated using SDL_GetTicksNS()
   --
-  --          [C declaration]: @timestamp@, defined at @SDL3\/SDL_events.h 967:12@
+  --          [C declaration]: @timestamp@, defined at @SDL3\/SDL_events.h 968:12@
   , which :: SDL3.Sys.Bindgen.Sensor.SDL_SensorID
   -- ^ The instance ID of the sensor
   --
-  --          [C declaration]: @which@, defined at @SDL3\/SDL_events.h 968:18@
+  --          [C declaration]: @which@, defined at @SDL3\/SDL_events.h 969:18@
   , data' :: CA.ConstantArray 6 BG.CFloat
   -- ^ Up to 6 values from the sensor - additional values can be queried using SDL_GetSensorData()
   --
-  --          [C declaration]: @data@, defined at @SDL3\/SDL_events.h 969:11@
+  --          [C declaration]: @data@, defined at @SDL3\/SDL_events.h 970:11@
   , sensor_timestamp :: SDL3.Sys.Bindgen.Stdinc.Uint64
   -- ^ The timestamp of the sensor reading in nanoseconds, not necessarily synchronized with the system clock
   --
-  --          [C declaration]: @sensor_timestamp@, defined at @SDL3\/SDL_events.h 970:12@
+  --          [C declaration]: @sensor_timestamp@, defined at @SDL3\/SDL_events.h 971:12@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -12825,18 +12867,18 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @struct SDL_QuitEvent@, defined at @SDL3\/SDL_events.h 978:16@
+--     [C declaration]: @struct SDL_QuitEvent@, defined at @SDL3\/SDL_events.h 979:16@
 data SDL_QuitEvent = SDL_QuitEvent
   { type' :: SDL_EventType
   -- ^ SDL_EVENT_QUIT
   --
-  --          [C declaration]: @type@, defined at @SDL3\/SDL_events.h 980:19@
+  --          [C declaration]: @type@, defined at @SDL3\/SDL_events.h 981:19@
   , reserved :: SDL3.Sys.Bindgen.Stdinc.Uint32
-  -- ^ [C declaration]: @reserved@, defined at @SDL3\/SDL_events.h 981:12@
+  -- ^ [C declaration]: @reserved@, defined at @SDL3\/SDL_events.h 982:12@
   , timestamp :: SDL3.Sys.Bindgen.Stdinc.Uint64
   -- ^ In nanoseconds, populated using SDL_GetTicksNS()
   --
-  --          [C declaration]: @timestamp@, defined at @SDL3\/SDL_events.h 982:12@
+  --          [C declaration]: @timestamp@, defined at @SDL3\/SDL_events.h 983:12@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -12953,34 +12995,34 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @struct SDL_UserEvent@, defined at @SDL3\/SDL_events.h 996:16@
+--     [C declaration]: @struct SDL_UserEvent@, defined at @SDL3\/SDL_events.h 997:16@
 data SDL_UserEvent = SDL_UserEvent
   { type' :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ SDL_EVENT_USER through SDL_EVENT_LAST, Uint32 because these are not in the 'SDL_EventType' enumeration
   --
-  --          [C declaration]: @type@, defined at @SDL3\/SDL_events.h 998:12@
+  --          [C declaration]: @type@, defined at @SDL3\/SDL_events.h 999:12@
   , reserved :: SDL3.Sys.Bindgen.Stdinc.Uint32
-  -- ^ [C declaration]: @reserved@, defined at @SDL3\/SDL_events.h 999:12@
+  -- ^ [C declaration]: @reserved@, defined at @SDL3\/SDL_events.h 1000:12@
   , timestamp :: SDL3.Sys.Bindgen.Stdinc.Uint64
   -- ^ In nanoseconds, populated using SDL_GetTicksNS()
   --
-  --          [C declaration]: @timestamp@, defined at @SDL3\/SDL_events.h 1000:12@
+  --          [C declaration]: @timestamp@, defined at @SDL3\/SDL_events.h 1001:12@
   , windowID :: SDL3.Sys.Bindgen.Video.SDL_WindowID
   -- ^ The associated window if any
   --
-  --          [C declaration]: @windowID@, defined at @SDL3\/SDL_events.h 1001:18@
+  --          [C declaration]: @windowID@, defined at @SDL3\/SDL_events.h 1002:18@
   , code :: SDL3.Sys.Bindgen.Stdinc.Sint32
   -- ^ User defined event code
   --
-  --          [C declaration]: @code@, defined at @SDL3\/SDL_events.h 1002:12@
+  --          [C declaration]: @code@, defined at @SDL3\/SDL_events.h 1003:12@
   , data1 :: BG.Ptr BG.Void
   -- ^ User defined data pointer
   --
-  --          [C declaration]: @data1@, defined at @SDL3\/SDL_events.h 1003:11@
+  --          [C declaration]: @data1@, defined at @SDL3\/SDL_events.h 1004:11@
   , data2 :: BG.Ptr BG.Void
   -- ^ User defined data pointer
   --
-  --          [C declaration]: @data2@, defined at @SDL3\/SDL_events.h 1004:11@
+  --          [C declaration]: @data2@, defined at @SDL3\/SDL_events.h 1005:11@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -13247,7 +13289,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @union SDL_Event@, defined at @SDL3\/SDL_events.h 1016:15@
+--     [C declaration]: @union SDL_Event@, defined at @SDL3\/SDL_events.h 1017:15@
 newtype SDL_Event = SDL_Event
   { unwrap :: BG.ByteArray
   }
@@ -13265,7 +13307,7 @@
 
 -- | Event type, shared with all events, Uint32 to cover user events which are not in the 'SDL_EventType' enumeration
 --
---     [C declaration]: @type@, defined at @SDL3\/SDL_events.h 1018:12@
+--     [C declaration]: @type@, defined at @SDL3\/SDL_events.h 1019:12@
 instance
   (ty ~ SDL3.Sys.Bindgen.Stdinc.Uint32)
   => BG.HasField "type'" SDL_Event ty
@@ -13274,7 +13316,7 @@
 
 -- | Event type, shared with all events, Uint32 to cover user events which are not in the 'SDL_EventType' enumeration
 --
---     [C declaration]: @type@, defined at @SDL3\/SDL_events.h 1018:12@
+--     [C declaration]: @type@, defined at @SDL3\/SDL_events.h 1019:12@
 instance
   (ty ~ SDL3.Sys.Bindgen.Stdinc.Uint32)
   => BG.CompatHasField.HasField "type'" SDL_Event ty
@@ -13297,13 +13339,13 @@
 
 -- | Common event data
 --
---     [C declaration]: @common@, defined at @SDL3\/SDL_events.h 1019:21@
+--     [C declaration]: @common@, defined at @SDL3\/SDL_events.h 1020:21@
 instance (ty ~ SDL_CommonEvent) => BG.HasField "common" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Common event data
 --
---     [C declaration]: @common@, defined at @SDL3\/SDL_events.h 1019:21@
+--     [C declaration]: @common@, defined at @SDL3\/SDL_events.h 1020:21@
 instance
   (ty ~ SDL_CommonEvent)
   => BG.CompatHasField.HasField "common" SDL_Event ty
@@ -13324,13 +13366,13 @@
 
 -- | Display event data
 --
---     [C declaration]: @display@, defined at @SDL3\/SDL_events.h 1020:22@
+--     [C declaration]: @display@, defined at @SDL3\/SDL_events.h 1021:22@
 instance (ty ~ SDL_DisplayEvent) => BG.HasField "display" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Display event data
 --
---     [C declaration]: @display@, defined at @SDL3\/SDL_events.h 1020:22@
+--     [C declaration]: @display@, defined at @SDL3\/SDL_events.h 1021:22@
 instance
   (ty ~ SDL_DisplayEvent)
   => BG.CompatHasField.HasField "display" SDL_Event ty
@@ -13354,13 +13396,13 @@
 
 -- | Window event data
 --
---     [C declaration]: @window@, defined at @SDL3\/SDL_events.h 1021:21@
+--     [C declaration]: @window@, defined at @SDL3\/SDL_events.h 1022:21@
 instance (ty ~ SDL_WindowEvent) => BG.HasField "window" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Window event data
 --
---     [C declaration]: @window@, defined at @SDL3\/SDL_events.h 1021:21@
+--     [C declaration]: @window@, defined at @SDL3\/SDL_events.h 1022:21@
 instance
   (ty ~ SDL_WindowEvent)
   => BG.CompatHasField.HasField "window" SDL_Event ty
@@ -13381,7 +13423,7 @@
 
 -- | Keyboard device change event data
 --
---     [C declaration]: @kdevice@, defined at @SDL3\/SDL_events.h 1022:29@
+--     [C declaration]: @kdevice@, defined at @SDL3\/SDL_events.h 1023:29@
 instance
   (ty ~ SDL_KeyboardDeviceEvent)
   => BG.HasField "kdevice" SDL_Event ty
@@ -13390,7 +13432,7 @@
 
 -- | Keyboard device change event data
 --
---     [C declaration]: @kdevice@, defined at @SDL3\/SDL_events.h 1022:29@
+--     [C declaration]: @kdevice@, defined at @SDL3\/SDL_events.h 1023:29@
 instance
   (ty ~ SDL_KeyboardDeviceEvent)
   => BG.CompatHasField.HasField "kdevice" SDL_Event ty
@@ -13414,13 +13456,13 @@
 
 -- | Keyboard event data
 --
---     [C declaration]: @key@, defined at @SDL3\/SDL_events.h 1023:23@
+--     [C declaration]: @key@, defined at @SDL3\/SDL_events.h 1024:23@
 instance (ty ~ SDL_KeyboardEvent) => BG.HasField "key" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Keyboard event data
 --
---     [C declaration]: @key@, defined at @SDL3\/SDL_events.h 1023:23@
+--     [C declaration]: @key@, defined at @SDL3\/SDL_events.h 1024:23@
 instance
   (ty ~ SDL_KeyboardEvent)
   => BG.CompatHasField.HasField "key" SDL_Event ty
@@ -13441,13 +13483,13 @@
 
 -- | Text editing event data
 --
---     [C declaration]: @edit@, defined at @SDL3\/SDL_events.h 1024:26@
+--     [C declaration]: @edit@, defined at @SDL3\/SDL_events.h 1025:26@
 instance (ty ~ SDL_TextEditingEvent) => BG.HasField "edit" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Text editing event data
 --
---     [C declaration]: @edit@, defined at @SDL3\/SDL_events.h 1024:26@
+--     [C declaration]: @edit@, defined at @SDL3\/SDL_events.h 1025:26@
 instance
   (ty ~ SDL_TextEditingEvent)
   => BG.CompatHasField.HasField "edit" SDL_Event ty
@@ -13470,7 +13512,7 @@
 
 -- | Text editing candidates event data
 --
---     [C declaration]: @edit_candidates@, defined at @SDL3\/SDL_events.h 1025:36@
+--     [C declaration]: @edit_candidates@, defined at @SDL3\/SDL_events.h 1026:36@
 instance
   (ty ~ SDL_TextEditingCandidatesEvent)
   => BG.HasField "edit_candidates" SDL_Event ty
@@ -13479,7 +13521,7 @@
 
 -- | Text editing candidates event data
 --
---     [C declaration]: @edit_candidates@, defined at @SDL3\/SDL_events.h 1025:36@
+--     [C declaration]: @edit_candidates@, defined at @SDL3\/SDL_events.h 1026:36@
 instance
   (ty ~ SDL_TextEditingCandidatesEvent)
   => BG.CompatHasField.HasField "edit_candidates" SDL_Event ty
@@ -13504,13 +13546,13 @@
 
 -- | Text input event data
 --
---     [C declaration]: @text@, defined at @SDL3\/SDL_events.h 1026:24@
+--     [C declaration]: @text@, defined at @SDL3\/SDL_events.h 1027:24@
 instance (ty ~ SDL_TextInputEvent) => BG.HasField "text" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Text input event data
 --
---     [C declaration]: @text@, defined at @SDL3\/SDL_events.h 1026:24@
+--     [C declaration]: @text@, defined at @SDL3\/SDL_events.h 1027:24@
 instance
   (ty ~ SDL_TextInputEvent)
   => BG.CompatHasField.HasField "text" SDL_Event ty
@@ -13531,13 +13573,13 @@
 
 -- | Mouse device change event data
 --
---     [C declaration]: @mdevice@, defined at @SDL3\/SDL_events.h 1027:26@
+--     [C declaration]: @mdevice@, defined at @SDL3\/SDL_events.h 1028:26@
 instance (ty ~ SDL_MouseDeviceEvent) => BG.HasField "mdevice" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Mouse device change event data
 --
---     [C declaration]: @mdevice@, defined at @SDL3\/SDL_events.h 1027:26@
+--     [C declaration]: @mdevice@, defined at @SDL3\/SDL_events.h 1028:26@
 instance
   (ty ~ SDL_MouseDeviceEvent)
   => BG.CompatHasField.HasField "mdevice" SDL_Event ty
@@ -13561,13 +13603,13 @@
 
 -- | Mouse motion event data
 --
---     [C declaration]: @motion@, defined at @SDL3\/SDL_events.h 1028:26@
+--     [C declaration]: @motion@, defined at @SDL3\/SDL_events.h 1029:26@
 instance (ty ~ SDL_MouseMotionEvent) => BG.HasField "motion" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Mouse motion event data
 --
---     [C declaration]: @motion@, defined at @SDL3\/SDL_events.h 1028:26@
+--     [C declaration]: @motion@, defined at @SDL3\/SDL_events.h 1029:26@
 instance
   (ty ~ SDL_MouseMotionEvent)
   => BG.CompatHasField.HasField "motion" SDL_Event ty
@@ -13590,13 +13632,13 @@
 
 -- | Mouse button event data
 --
---     [C declaration]: @button@, defined at @SDL3\/SDL_events.h 1029:26@
+--     [C declaration]: @button@, defined at @SDL3\/SDL_events.h 1030:26@
 instance (ty ~ SDL_MouseButtonEvent) => BG.HasField "button" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Mouse button event data
 --
---     [C declaration]: @button@, defined at @SDL3\/SDL_events.h 1029:26@
+--     [C declaration]: @button@, defined at @SDL3\/SDL_events.h 1030:26@
 instance
   (ty ~ SDL_MouseButtonEvent)
   => BG.CompatHasField.HasField "button" SDL_Event ty
@@ -13619,13 +13661,13 @@
 
 -- | Mouse wheel event data
 --
---     [C declaration]: @wheel@, defined at @SDL3\/SDL_events.h 1030:25@
+--     [C declaration]: @wheel@, defined at @SDL3\/SDL_events.h 1031:25@
 instance (ty ~ SDL_MouseWheelEvent) => BG.HasField "wheel" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Mouse wheel event data
 --
---     [C declaration]: @wheel@, defined at @SDL3\/SDL_events.h 1030:25@
+--     [C declaration]: @wheel@, defined at @SDL3\/SDL_events.h 1031:25@
 instance
   (ty ~ SDL_MouseWheelEvent)
   => BG.CompatHasField.HasField "wheel" SDL_Event ty
@@ -13648,13 +13690,13 @@
 
 -- | Joystick device change event data
 --
---     [C declaration]: @jdevice@, defined at @SDL3\/SDL_events.h 1031:24@
+--     [C declaration]: @jdevice@, defined at @SDL3\/SDL_events.h 1032:24@
 instance (ty ~ SDL_JoyDeviceEvent) => BG.HasField "jdevice" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Joystick device change event data
 --
---     [C declaration]: @jdevice@, defined at @SDL3\/SDL_events.h 1031:24@
+--     [C declaration]: @jdevice@, defined at @SDL3\/SDL_events.h 1032:24@
 instance
   (ty ~ SDL_JoyDeviceEvent)
   => BG.CompatHasField.HasField "jdevice" SDL_Event ty
@@ -13678,13 +13720,13 @@
 
 -- | Joystick axis event data
 --
---     [C declaration]: @jaxis@, defined at @SDL3\/SDL_events.h 1032:22@
+--     [C declaration]: @jaxis@, defined at @SDL3\/SDL_events.h 1033:22@
 instance (ty ~ SDL_JoyAxisEvent) => BG.HasField "jaxis" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Joystick axis event data
 --
---     [C declaration]: @jaxis@, defined at @SDL3\/SDL_events.h 1032:22@
+--     [C declaration]: @jaxis@, defined at @SDL3\/SDL_events.h 1033:22@
 instance
   (ty ~ SDL_JoyAxisEvent)
   => BG.CompatHasField.HasField "jaxis" SDL_Event ty
@@ -13705,13 +13747,13 @@
 
 -- | Joystick ball event data
 --
---     [C declaration]: @jball@, defined at @SDL3\/SDL_events.h 1033:22@
+--     [C declaration]: @jball@, defined at @SDL3\/SDL_events.h 1034:22@
 instance (ty ~ SDL_JoyBallEvent) => BG.HasField "jball" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Joystick ball event data
 --
---     [C declaration]: @jball@, defined at @SDL3\/SDL_events.h 1033:22@
+--     [C declaration]: @jball@, defined at @SDL3\/SDL_events.h 1034:22@
 instance
   (ty ~ SDL_JoyBallEvent)
   => BG.CompatHasField.HasField "jball" SDL_Event ty
@@ -13732,13 +13774,13 @@
 
 -- | Joystick hat event data
 --
---     [C declaration]: @jhat@, defined at @SDL3\/SDL_events.h 1034:21@
+--     [C declaration]: @jhat@, defined at @SDL3\/SDL_events.h 1035:21@
 instance (ty ~ SDL_JoyHatEvent) => BG.HasField "jhat" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Joystick hat event data
 --
---     [C declaration]: @jhat@, defined at @SDL3\/SDL_events.h 1034:21@
+--     [C declaration]: @jhat@, defined at @SDL3\/SDL_events.h 1035:21@
 instance
   (ty ~ SDL_JoyHatEvent)
   => BG.CompatHasField.HasField "jhat" SDL_Event ty
@@ -13759,13 +13801,13 @@
 
 -- | Joystick button event data
 --
---     [C declaration]: @jbutton@, defined at @SDL3\/SDL_events.h 1035:24@
+--     [C declaration]: @jbutton@, defined at @SDL3\/SDL_events.h 1036:24@
 instance (ty ~ SDL_JoyButtonEvent) => BG.HasField "jbutton" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Joystick button event data
 --
---     [C declaration]: @jbutton@, defined at @SDL3\/SDL_events.h 1035:24@
+--     [C declaration]: @jbutton@, defined at @SDL3\/SDL_events.h 1036:24@
 instance
   (ty ~ SDL_JoyButtonEvent)
   => BG.CompatHasField.HasField "jbutton" SDL_Event ty
@@ -13789,13 +13831,13 @@
 
 -- | Joystick battery event data
 --
---     [C declaration]: @jbattery@, defined at @SDL3\/SDL_events.h 1036:25@
+--     [C declaration]: @jbattery@, defined at @SDL3\/SDL_events.h 1037:25@
 instance (ty ~ SDL_JoyBatteryEvent) => BG.HasField "jbattery" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Joystick battery event data
 --
---     [C declaration]: @jbattery@, defined at @SDL3\/SDL_events.h 1036:25@
+--     [C declaration]: @jbattery@, defined at @SDL3\/SDL_events.h 1037:25@
 instance
   (ty ~ SDL_JoyBatteryEvent)
   => BG.CompatHasField.HasField "jbattery" SDL_Event ty
@@ -13819,7 +13861,7 @@
 
 -- | Gamepad device event data
 --
---     [C declaration]: @gdevice@, defined at @SDL3\/SDL_events.h 1037:28@
+--     [C declaration]: @gdevice@, defined at @SDL3\/SDL_events.h 1038:28@
 instance
   (ty ~ SDL_GamepadDeviceEvent)
   => BG.HasField "gdevice" SDL_Event ty
@@ -13828,7 +13870,7 @@
 
 -- | Gamepad device event data
 --
---     [C declaration]: @gdevice@, defined at @SDL3\/SDL_events.h 1037:28@
+--     [C declaration]: @gdevice@, defined at @SDL3\/SDL_events.h 1038:28@
 instance
   (ty ~ SDL_GamepadDeviceEvent)
   => BG.CompatHasField.HasField "gdevice" SDL_Event ty
@@ -13852,13 +13894,13 @@
 
 -- | Gamepad axis event data
 --
---     [C declaration]: @gaxis@, defined at @SDL3\/SDL_events.h 1038:26@
+--     [C declaration]: @gaxis@, defined at @SDL3\/SDL_events.h 1039:26@
 instance (ty ~ SDL_GamepadAxisEvent) => BG.HasField "gaxis" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Gamepad axis event data
 --
---     [C declaration]: @gaxis@, defined at @SDL3\/SDL_events.h 1038:26@
+--     [C declaration]: @gaxis@, defined at @SDL3\/SDL_events.h 1039:26@
 instance
   (ty ~ SDL_GamepadAxisEvent)
   => BG.CompatHasField.HasField "gaxis" SDL_Event ty
@@ -13881,7 +13923,7 @@
 
 -- | Gamepad button event data
 --
---     [C declaration]: @gbutton@, defined at @SDL3\/SDL_events.h 1039:28@
+--     [C declaration]: @gbutton@, defined at @SDL3\/SDL_events.h 1040:28@
 instance
   (ty ~ SDL_GamepadButtonEvent)
   => BG.HasField "gbutton" SDL_Event ty
@@ -13890,7 +13932,7 @@
 
 -- | Gamepad button event data
 --
---     [C declaration]: @gbutton@, defined at @SDL3\/SDL_events.h 1039:28@
+--     [C declaration]: @gbutton@, defined at @SDL3\/SDL_events.h 1040:28@
 instance
   (ty ~ SDL_GamepadButtonEvent)
   => BG.CompatHasField.HasField "gbutton" SDL_Event ty
@@ -13914,7 +13956,7 @@
 
 -- | Gamepad touchpad event data
 --
---     [C declaration]: @gtouchpad@, defined at @SDL3\/SDL_events.h 1040:30@
+--     [C declaration]: @gtouchpad@, defined at @SDL3\/SDL_events.h 1041:30@
 instance
   (ty ~ SDL_GamepadTouchpadEvent)
   => BG.HasField "gtouchpad" SDL_Event ty
@@ -13923,7 +13965,7 @@
 
 -- | Gamepad touchpad event data
 --
---     [C declaration]: @gtouchpad@, defined at @SDL3\/SDL_events.h 1040:30@
+--     [C declaration]: @gtouchpad@, defined at @SDL3\/SDL_events.h 1041:30@
 instance
   (ty ~ SDL_GamepadTouchpadEvent)
   => BG.CompatHasField.HasField "gtouchpad" SDL_Event ty
@@ -13947,7 +13989,7 @@
 
 -- | Gamepad sensor event data
 --
---     [C declaration]: @gsensor@, defined at @SDL3\/SDL_events.h 1041:28@
+--     [C declaration]: @gsensor@, defined at @SDL3\/SDL_events.h 1042:28@
 instance
   (ty ~ SDL_GamepadSensorEvent)
   => BG.HasField "gsensor" SDL_Event ty
@@ -13956,7 +13998,7 @@
 
 -- | Gamepad sensor event data
 --
---     [C declaration]: @gsensor@, defined at @SDL3\/SDL_events.h 1041:28@
+--     [C declaration]: @gsensor@, defined at @SDL3\/SDL_events.h 1042:28@
 instance
   (ty ~ SDL_GamepadSensorEvent)
   => BG.CompatHasField.HasField "gsensor" SDL_Event ty
@@ -13980,13 +14022,13 @@
 
 -- | Audio device event data
 --
---     [C declaration]: @adevice@, defined at @SDL3\/SDL_events.h 1042:26@
+--     [C declaration]: @adevice@, defined at @SDL3\/SDL_events.h 1043:26@
 instance (ty ~ SDL_AudioDeviceEvent) => BG.HasField "adevice" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Audio device event data
 --
---     [C declaration]: @adevice@, defined at @SDL3\/SDL_events.h 1042:26@
+--     [C declaration]: @adevice@, defined at @SDL3\/SDL_events.h 1043:26@
 instance
   (ty ~ SDL_AudioDeviceEvent)
   => BG.CompatHasField.HasField "adevice" SDL_Event ty
@@ -14010,7 +14052,7 @@
 
 -- | Camera device event data
 --
---     [C declaration]: @cdevice@, defined at @SDL3\/SDL_events.h 1043:27@
+--     [C declaration]: @cdevice@, defined at @SDL3\/SDL_events.h 1044:27@
 instance
   (ty ~ SDL_CameraDeviceEvent)
   => BG.HasField "cdevice" SDL_Event ty
@@ -14019,7 +14061,7 @@
 
 -- | Camera device event data
 --
---     [C declaration]: @cdevice@, defined at @SDL3\/SDL_events.h 1043:27@
+--     [C declaration]: @cdevice@, defined at @SDL3\/SDL_events.h 1044:27@
 instance
   (ty ~ SDL_CameraDeviceEvent)
   => BG.CompatHasField.HasField "cdevice" SDL_Event ty
@@ -14043,13 +14085,13 @@
 
 -- | Sensor event data
 --
---     [C declaration]: @sensor@, defined at @SDL3\/SDL_events.h 1044:21@
+--     [C declaration]: @sensor@, defined at @SDL3\/SDL_events.h 1045:21@
 instance (ty ~ SDL_SensorEvent) => BG.HasField "sensor" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Sensor event data
 --
---     [C declaration]: @sensor@, defined at @SDL3\/SDL_events.h 1044:21@
+--     [C declaration]: @sensor@, defined at @SDL3\/SDL_events.h 1045:21@
 instance
   (ty ~ SDL_SensorEvent)
   => BG.CompatHasField.HasField "sensor" SDL_Event ty
@@ -14070,13 +14112,13 @@
 
 -- | Quit request event data
 --
---     [C declaration]: @quit@, defined at @SDL3\/SDL_events.h 1045:19@
+--     [C declaration]: @quit@, defined at @SDL3\/SDL_events.h 1046:19@
 instance (ty ~ SDL_QuitEvent) => BG.HasField "quit" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Quit request event data
 --
---     [C declaration]: @quit@, defined at @SDL3\/SDL_events.h 1045:19@
+--     [C declaration]: @quit@, defined at @SDL3\/SDL_events.h 1046:19@
 instance
   (ty ~ SDL_QuitEvent)
   => BG.CompatHasField.HasField "quit" SDL_Event ty
@@ -14097,13 +14139,13 @@
 
 -- | Custom event data
 --
---     [C declaration]: @user@, defined at @SDL3\/SDL_events.h 1046:19@
+--     [C declaration]: @user@, defined at @SDL3\/SDL_events.h 1047:19@
 instance (ty ~ SDL_UserEvent) => BG.HasField "user" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Custom event data
 --
---     [C declaration]: @user@, defined at @SDL3\/SDL_events.h 1046:19@
+--     [C declaration]: @user@, defined at @SDL3\/SDL_events.h 1047:19@
 instance
   (ty ~ SDL_UserEvent)
   => BG.CompatHasField.HasField "user" SDL_Event ty
@@ -14124,13 +14166,13 @@
 
 -- | Touch finger event data
 --
---     [C declaration]: @tfinger@, defined at @SDL3\/SDL_events.h 1047:26@
+--     [C declaration]: @tfinger@, defined at @SDL3\/SDL_events.h 1048:26@
 instance (ty ~ SDL_TouchFingerEvent) => BG.HasField "tfinger" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Touch finger event data
 --
---     [C declaration]: @tfinger@, defined at @SDL3\/SDL_events.h 1047:26@
+--     [C declaration]: @tfinger@, defined at @SDL3\/SDL_events.h 1048:26@
 instance
   (ty ~ SDL_TouchFingerEvent)
   => BG.CompatHasField.HasField "tfinger" SDL_Event ty
@@ -14154,13 +14196,13 @@
 
 -- | Pinch event data
 --
---     [C declaration]: @pinch@, defined at @SDL3\/SDL_events.h 1048:26@
+--     [C declaration]: @pinch@, defined at @SDL3\/SDL_events.h 1049:26@
 instance (ty ~ SDL_PinchFingerEvent) => BG.HasField "pinch" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Pinch event data
 --
---     [C declaration]: @pinch@, defined at @SDL3\/SDL_events.h 1048:26@
+--     [C declaration]: @pinch@, defined at @SDL3\/SDL_events.h 1049:26@
 instance
   (ty ~ SDL_PinchFingerEvent)
   => BG.CompatHasField.HasField "pinch" SDL_Event ty
@@ -14183,7 +14225,7 @@
 
 -- | Pen proximity event data
 --
---     [C declaration]: @pproximity@, defined at @SDL3\/SDL_events.h 1049:27@
+--     [C declaration]: @pproximity@, defined at @SDL3\/SDL_events.h 1050:27@
 instance
   (ty ~ SDL_PenProximityEvent)
   => BG.HasField "pproximity" SDL_Event ty
@@ -14192,7 +14234,7 @@
 
 -- | Pen proximity event data
 --
---     [C declaration]: @pproximity@, defined at @SDL3\/SDL_events.h 1049:27@
+--     [C declaration]: @pproximity@, defined at @SDL3\/SDL_events.h 1050:27@
 instance
   (ty ~ SDL_PenProximityEvent)
   => BG.CompatHasField.HasField "pproximity" SDL_Event ty
@@ -14216,13 +14258,13 @@
 
 -- | Pen tip touching event data
 --
---     [C declaration]: @ptouch@, defined at @SDL3\/SDL_events.h 1050:23@
+--     [C declaration]: @ptouch@, defined at @SDL3\/SDL_events.h 1051:23@
 instance (ty ~ SDL_PenTouchEvent) => BG.HasField "ptouch" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Pen tip touching event data
 --
---     [C declaration]: @ptouch@, defined at @SDL3\/SDL_events.h 1050:23@
+--     [C declaration]: @ptouch@, defined at @SDL3\/SDL_events.h 1051:23@
 instance
   (ty ~ SDL_PenTouchEvent)
   => BG.CompatHasField.HasField "ptouch" SDL_Event ty
@@ -14245,13 +14287,13 @@
 
 -- | Pen motion event data
 --
---     [C declaration]: @pmotion@, defined at @SDL3\/SDL_events.h 1051:24@
+--     [C declaration]: @pmotion@, defined at @SDL3\/SDL_events.h 1052:24@
 instance (ty ~ SDL_PenMotionEvent) => BG.HasField "pmotion" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Pen motion event data
 --
---     [C declaration]: @pmotion@, defined at @SDL3\/SDL_events.h 1051:24@
+--     [C declaration]: @pmotion@, defined at @SDL3\/SDL_events.h 1052:24@
 instance
   (ty ~ SDL_PenMotionEvent)
   => BG.CompatHasField.HasField "pmotion" SDL_Event ty
@@ -14275,13 +14317,13 @@
 
 -- | Pen button event data
 --
---     [C declaration]: @pbutton@, defined at @SDL3\/SDL_events.h 1052:24@
+--     [C declaration]: @pbutton@, defined at @SDL3\/SDL_events.h 1053:24@
 instance (ty ~ SDL_PenButtonEvent) => BG.HasField "pbutton" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Pen button event data
 --
---     [C declaration]: @pbutton@, defined at @SDL3\/SDL_events.h 1052:24@
+--     [C declaration]: @pbutton@, defined at @SDL3\/SDL_events.h 1053:24@
 instance
   (ty ~ SDL_PenButtonEvent)
   => BG.CompatHasField.HasField "pbutton" SDL_Event ty
@@ -14305,13 +14347,13 @@
 
 -- | Pen axis event data
 --
---     [C declaration]: @paxis@, defined at @SDL3\/SDL_events.h 1053:22@
+--     [C declaration]: @paxis@, defined at @SDL3\/SDL_events.h 1054:22@
 instance (ty ~ SDL_PenAxisEvent) => BG.HasField "paxis" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Pen axis event data
 --
---     [C declaration]: @paxis@, defined at @SDL3\/SDL_events.h 1053:22@
+--     [C declaration]: @paxis@, defined at @SDL3\/SDL_events.h 1054:22@
 instance
   (ty ~ SDL_PenAxisEvent)
   => BG.CompatHasField.HasField "paxis" SDL_Event ty
@@ -14332,13 +14374,13 @@
 
 -- | Render event data
 --
---     [C declaration]: @render@, defined at @SDL3\/SDL_events.h 1054:21@
+--     [C declaration]: @render@, defined at @SDL3\/SDL_events.h 1055:21@
 instance (ty ~ SDL_RenderEvent) => BG.HasField "render" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Render event data
 --
---     [C declaration]: @render@, defined at @SDL3\/SDL_events.h 1054:21@
+--     [C declaration]: @render@, defined at @SDL3\/SDL_events.h 1055:21@
 instance
   (ty ~ SDL_RenderEvent)
   => BG.CompatHasField.HasField "render" SDL_Event ty
@@ -14359,13 +14401,13 @@
 
 -- | Drag and drop event data
 --
---     [C declaration]: @drop@, defined at @SDL3\/SDL_events.h 1055:19@
+--     [C declaration]: @drop@, defined at @SDL3\/SDL_events.h 1056:19@
 instance (ty ~ SDL_DropEvent) => BG.HasField "drop" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Drag and drop event data
 --
---     [C declaration]: @drop@, defined at @SDL3\/SDL_events.h 1055:19@
+--     [C declaration]: @drop@, defined at @SDL3\/SDL_events.h 1056:19@
 instance
   (ty ~ SDL_DropEvent)
   => BG.CompatHasField.HasField "drop" SDL_Event ty
@@ -14386,13 +14428,13 @@
 
 -- | Clipboard event data
 --
---     [C declaration]: @clipboard@, defined at @SDL3\/SDL_events.h 1056:24@
+--     [C declaration]: @clipboard@, defined at @SDL3\/SDL_events.h 1057:24@
 instance (ty ~ SDL_ClipboardEvent) => BG.HasField "clipboard" SDL_Event ty where
   getField = BG.getUnionPayload
 
 -- | Clipboard event data
 --
---     [C declaration]: @clipboard@, defined at @SDL3\/SDL_events.h 1056:24@
+--     [C declaration]: @clipboard@, defined at @SDL3\/SDL_events.h 1057:24@
 instance
   (ty ~ SDL_ClipboardEvent)
   => BG.CompatHasField.HasField "clipboard" SDL_Event ty
@@ -14414,14 +14456,14 @@
 
   offset# = \_ -> \_ -> 0
 
--- | [C declaration]: @padding@, defined at @SDL3\/SDL_events.h 1071:11@
+-- | [C declaration]: @padding@, defined at @SDL3\/SDL_events.h 1072:11@
 instance
   (ty ~ CA.ConstantArray 128 SDL3.Sys.Bindgen.Stdinc.Uint8)
   => BG.HasField "padding" SDL_Event ty
   where
   getField = BG.getUnionPayload
 
--- | [C declaration]: @padding@, defined at @SDL3\/SDL_events.h 1071:11@
+-- | [C declaration]: @padding@, defined at @SDL3\/SDL_events.h 1072:11@
 instance
   (ty ~ CA.ConstantArray 128 SDL3.Sys.Bindgen.Stdinc.Uint8)
   => BG.CompatHasField.HasField "padding" SDL_Event ty
@@ -14447,7 +14489,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @enum SDL_EventAction@, defined at @SDL3\/SDL_events.h 1109:14@
+--     [C declaration]: @enum SDL_EventAction@, defined at @SDL3\/SDL_events.h 1110:14@
 newtype SDL_EventAction = SDL_EventAction
   { unwrap :: BG.CUInt
   }
@@ -14541,25 +14583,25 @@
 
 -- | Add events to the back of the queue.
 --
---     [C declaration]: @SDL_ADDEVENT@, defined at @SDL3\/SDL_events.h 1111:5@
+--     [C declaration]: @SDL_ADDEVENT@, defined at @SDL3\/SDL_events.h 1112:5@
 pattern SDL_ADDEVENT :: SDL_EventAction
 pattern SDL_ADDEVENT = SDL_EventAction 0
 
 -- | Check but don\'t remove events from the queue front.
 --
---     [C declaration]: @SDL_PEEKEVENT@, defined at @SDL3\/SDL_events.h 1112:5@
+--     [C declaration]: @SDL_PEEKEVENT@, defined at @SDL3\/SDL_events.h 1113:5@
 pattern SDL_PEEKEVENT :: SDL_EventAction
 pattern SDL_PEEKEVENT = SDL_EventAction 1
 
 -- | Retrieve\/remove events from the front of the queue.
 --
---     [C declaration]: @SDL_GETEVENT@, defined at @SDL3\/SDL_events.h 1113:5@
+--     [C declaration]: @SDL_GETEVENT@, defined at @SDL3\/SDL_events.h 1114:5@
 pattern SDL_GETEVENT :: SDL_EventAction
 pattern SDL_GETEVENT = SDL_EventAction 2
 
 -- | Auxiliary type used by 'SDL_EventFilter'
 --
---     [C declaration]: @SDL_EventFilter@, defined at @SDL3\/SDL_events.h 1413:24@
+--     [C declaration]: @SDL_EventFilter@, defined at @SDL3\/SDL_events.h 1414:24@
 newtype SDL_EventFilter_Aux = SDL_EventFilter_Aux
   { unwrap :: BG.Ptr BG.Void -> BG.Ptr SDL_Event -> IO BG.CBool
   }
@@ -14640,7 +14682,7 @@
 --
 --     [See also]: 'sDL_SetEventFilter', 'sDL_AddEventWatch'
 --
---     [C declaration]: @SDL_EventFilter@, defined at @SDL3\/SDL_events.h 1413:24@
+--     [C declaration]: @SDL_EventFilter@, defined at @SDL3\/SDL_events.h 1414:24@
 newtype SDL_EventFilter = SDL_EventFilter
   { unwrap :: BG.FunPtr SDL_EventFilter_Aux
   }
diff --git a/src/SDL3/Sys/Bindgen/Events/FunPtr.hs b/src/SDL3/Sys/Bindgen/Events/FunPtr.hs
--- a/src/SDL3/Sys/Bindgen/Events/FunPtr.hs
+++ b/src/SDL3/Sys/Bindgen/Events/FunPtr.hs
@@ -243,7 +243,7 @@
 --
 --     [See also]: 'sDL_PollEvent', 'sDL_WaitEvent'
 --
---     [C declaration]: @SDL_PumpEvents@, defined at @SDL3\/SDL_events.h 1100:34@
+--     [C declaration]: @SDL_PumpEvents@, defined at @SDL3\/SDL_events.h 1101:34@
 sDL_PumpEvents :: BG.FunPtr (IO ())
 sDL_PumpEvents =
   BG.unsafePerformIO hs_bindgen_9917baac4ce08ba8
@@ -286,7 +286,7 @@
 --
 --     [@numevents@]: if action is SDL_ADDEVENT, the number of events to add back to the event queue; if action is SDL_PEEKEVENT or SDL_GETEVENT, the maximum number of events to retrieve.
 --
---     [@action@]: action to take; see Remarks for details.
+--     [@action@]: action to take; see RemarksRemarks for details.
 --
 --     [@minType@]: minimum value of the event type to be considered; SDL_EVENT_FIRST is a safe choice.
 --
@@ -300,7 +300,7 @@
 --
 --     [See also]: 'sDL_PollEvent', 'sDL_PumpEvents', 'sDL_PushEvent'
 --
---     [C declaration]: @SDL_PeepEvents@, defined at @SDL3\/SDL_events.h 1158:33@
+--     [C declaration]: @SDL_PeepEvents@, defined at @SDL3\/SDL_events.h 1159:33@
 sDL_PeepEvents
   :: BG.FunPtr
        ( BG.Ptr SDL_Event
@@ -339,7 +339,7 @@
 --
 --     [See also]: 'sDL_HasEvents'
 --
---     [C declaration]: @SDL_HasEvent@, defined at @SDL3\/SDL_events.h 1177:34@
+--     [C declaration]: @SDL_HasEvent@, defined at @SDL3\/SDL_events.h 1178:34@
 sDL_HasEvent :: BG.FunPtr (SDL3.Sys.Bindgen.Stdinc.Uint32 -> IO BG.CBool)
 sDL_HasEvent =
   BG.unsafePerformIO hs_bindgen_7e16852183b91d19
@@ -373,7 +373,7 @@
 --
 --     [See also]: 'sDL_HasEvents'
 --
---     [C declaration]: @SDL_HasEvents@, defined at @SDL3\/SDL_events.h 1198:34@
+--     [C declaration]: @SDL_HasEvents@, defined at @SDL3\/SDL_events.h 1199:34@
 sDL_HasEvents
   :: BG.FunPtr (SDL3.Sys.Bindgen.Stdinc.Uint32 -> SDL3.Sys.Bindgen.Stdinc.Uint32 -> IO BG.CBool)
 sDL_HasEvents =
@@ -409,7 +409,7 @@
 --
 --     [See also]: 'sDL_FlushEvents'
 --
---     [C declaration]: @SDL_FlushEvent@, defined at @SDL3\/SDL_events.h 1226:34@
+--     [C declaration]: @SDL_FlushEvent@, defined at @SDL3\/SDL_events.h 1227:34@
 sDL_FlushEvent :: BG.FunPtr (SDL3.Sys.Bindgen.Stdinc.Uint32 -> IO ())
 sDL_FlushEvent =
   BG.unsafePerformIO hs_bindgen_3d397e2de8f614cb
@@ -445,7 +445,7 @@
 --
 --     [See also]: 'sDL_FlushEvent'
 --
---     [C declaration]: @SDL_FlushEvents@, defined at @SDL3\/SDL_events.h 1253:34@
+--     [C declaration]: @SDL_FlushEvents@, defined at @SDL3\/SDL_events.h 1254:34@
 sDL_FlushEvents
   :: BG.FunPtr (SDL3.Sys.Bindgen.Stdinc.Uint32 -> SDL3.Sys.Bindgen.Stdinc.Uint32 -> IO ())
 sDL_FlushEvents =
@@ -500,7 +500,7 @@
 --
 --     [See also]: 'sDL_PushEvent', 'sDL_WaitEvent', 'sDL_WaitEventTimeout'
 --
---     [C declaration]: @SDL_PollEvent@, defined at @SDL3\/SDL_events.h 1304:34@
+--     [C declaration]: @SDL_PollEvent@, defined at @SDL3\/SDL_events.h 1305:34@
 sDL_PollEvent :: BG.FunPtr (BG.Ptr SDL_Event -> IO BG.CBool)
 sDL_PollEvent =
   BG.unsafePerformIO hs_bindgen_e695618acb9426fb
@@ -533,7 +533,7 @@
 --
 --     [See also]: 'sDL_PollEvent', 'sDL_PushEvent', 'sDL_WaitEventTimeout'
 --
---     [C declaration]: @SDL_WaitEvent@, defined at @SDL3\/SDL_events.h 1328:34@
+--     [C declaration]: @SDL_WaitEvent@, defined at @SDL3\/SDL_events.h 1329:34@
 sDL_WaitEvent :: BG.FunPtr (BG.Ptr SDL_Event -> IO BG.CBool)
 sDL_WaitEvent =
   BG.unsafePerformIO hs_bindgen_94029194304d5c31
@@ -571,7 +571,7 @@
 --
 --     [See also]: 'sDL_PollEvent', 'sDL_PushEvent', 'sDL_WaitEvent'
 --
---     [C declaration]: @SDL_WaitEventTimeout@, defined at @SDL3\/SDL_events.h 1358:34@
+--     [C declaration]: @SDL_WaitEventTimeout@, defined at @SDL3\/SDL_events.h 1359:34@
 sDL_WaitEventTimeout
   :: BG.FunPtr (BG.Ptr SDL_Event -> SDL3.Sys.Bindgen.Stdinc.Sint32 -> IO BG.CBool)
 sDL_WaitEventTimeout =
@@ -609,7 +609,7 @@
 --
 --     [See also]: 'sDL_PeepEvents', 'sDL_PollEvent', 'sDL_RegisterEvents'
 --
---     [C declaration]: @SDL_PushEvent@, defined at @SDL3\/SDL_events.h 1392:34@
+--     [C declaration]: @SDL_PushEvent@, defined at @SDL3\/SDL_events.h 1393:34@
 sDL_PushEvent :: BG.FunPtr (BG.Ptr SDL_Event -> IO BG.CBool)
 sDL_PushEvent =
   BG.unsafePerformIO hs_bindgen_949def362b6a6d49
@@ -650,7 +650,7 @@
 --
 --     [See also]: 'sDL_AddEventWatch', 'sDL_SetEventEnabled', 'sDL_GetEventFilter', 'sDL_PeepEvents', 'sDL_PushEvent'
 --
---     [C declaration]: @SDL_SetEventFilter@, defined at @SDL3\/SDL_events.h 1457:34@
+--     [C declaration]: @SDL_SetEventFilter@, defined at @SDL3\/SDL_events.h 1458:34@
 sDL_SetEventFilter :: BG.FunPtr (SDL_EventFilter -> BG.Ptr BG.Void -> IO ())
 sDL_SetEventFilter =
   BG.unsafePerformIO hs_bindgen_b512227bb5014eea
@@ -684,7 +684,7 @@
 --
 --     [See also]: 'sDL_SetEventFilter'
 --
---     [C declaration]: @SDL_GetEventFilter@, defined at @SDL3\/SDL_events.h 1476:34@
+--     [C declaration]: @SDL_GetEventFilter@, defined at @SDL3\/SDL_events.h 1477:34@
 sDL_GetEventFilter :: BG.FunPtr (BG.Ptr SDL_EventFilter -> BG.Ptr (BG.Ptr BG.Void) -> IO BG.CBool)
 sDL_GetEventFilter =
   BG.unsafePerformIO hs_bindgen_55ed84f0612cc8ac
@@ -723,7 +723,7 @@
 --
 --     [See also]: 'sDL_RemoveEventWatch', 'sDL_SetEventFilter'
 --
---     [C declaration]: @SDL_AddEventWatch@, defined at @SDL3\/SDL_events.h 1508:34@
+--     [C declaration]: @SDL_AddEventWatch@, defined at @SDL3\/SDL_events.h 1509:34@
 sDL_AddEventWatch :: BG.FunPtr (SDL_EventFilter -> BG.Ptr BG.Void -> IO BG.CBool)
 sDL_AddEventWatch =
   BG.unsafePerformIO hs_bindgen_a03e121760f6b6d3
@@ -754,7 +754,7 @@
 --
 --     [See also]: 'sDL_AddEventWatch'
 --
---     [C declaration]: @SDL_RemoveEventWatch@, defined at @SDL3\/SDL_events.h 1525:34@
+--     [C declaration]: @SDL_RemoveEventWatch@, defined at @SDL3\/SDL_events.h 1526:34@
 sDL_RemoveEventWatch :: BG.FunPtr (SDL_EventFilter -> BG.Ptr BG.Void -> IO ())
 sDL_RemoveEventWatch =
   BG.unsafePerformIO hs_bindgen_25dfb37d4e519ab9
@@ -785,7 +785,7 @@
 --
 --     [See also]: 'sDL_GetEventFilter', 'sDL_SetEventFilter'
 --
---     [C declaration]: @SDL_FilterEvents@, defined at @SDL3\/SDL_events.h 1545:34@
+--     [C declaration]: @SDL_FilterEvents@, defined at @SDL3\/SDL_events.h 1546:34@
 sDL_FilterEvents :: BG.FunPtr (SDL_EventFilter -> BG.Ptr BG.Void -> IO ())
 sDL_FilterEvents =
   BG.unsafePerformIO hs_bindgen_53f4b12fdab2103a
@@ -814,7 +814,7 @@
 --
 --     [See also]: 'sDL_EventEnabled'
 --
---     [C declaration]: @SDL_SetEventEnabled@, defined at @SDL3\/SDL_events.h 1559:34@
+--     [C declaration]: @SDL_SetEventEnabled@, defined at @SDL3\/SDL_events.h 1560:34@
 sDL_SetEventEnabled :: BG.FunPtr (SDL3.Sys.Bindgen.Stdinc.Uint32 -> BG.CBool -> IO ())
 sDL_SetEventEnabled =
   BG.unsafePerformIO hs_bindgen_aa066d1126b2d52a
@@ -843,7 +843,7 @@
 --
 --     [See also]: 'sDL_SetEventEnabled'
 --
---     [C declaration]: @SDL_EventEnabled@, defined at @SDL3\/SDL_events.h 1573:34@
+--     [C declaration]: @SDL_EventEnabled@, defined at @SDL3\/SDL_events.h 1574:34@
 sDL_EventEnabled :: BG.FunPtr (SDL3.Sys.Bindgen.Stdinc.Uint32 -> IO BG.CBool)
 sDL_EventEnabled =
   BG.unsafePerformIO hs_bindgen_22ccd2bcfeb8819e
@@ -872,7 +872,7 @@
 --
 --     [See also]: 'sDL_PushEvent'
 --
---     [C declaration]: @SDL_RegisterEvents@, defined at @SDL3\/SDL_events.h 1589:36@
+--     [C declaration]: @SDL_RegisterEvents@, defined at @SDL3\/SDL_events.h 1590:36@
 sDL_RegisterEvents :: BG.FunPtr (BG.CInt -> IO SDL3.Sys.Bindgen.Stdinc.Uint32)
 sDL_RegisterEvents =
   BG.unsafePerformIO hs_bindgen_1bc1c2cf7c7f16d2
@@ -902,7 +902,7 @@
 --
 --     [See also]: 'sDL_PollEvent', 'sDL_WaitEvent', 'sDL_WaitEventTimeout'
 --
---     [C declaration]: @SDL_GetWindowFromEvent@, defined at @SDL3\/SDL_events.h 1605:42@
+--     [C declaration]: @SDL_GetWindowFromEvent@, defined at @SDL3\/SDL_events.h 1606:42@
 sDL_GetWindowFromEvent
   :: BG.FunPtr (PtrConst.PtrConst SDL_Event -> IO (BG.Ptr SDL3.Sys.Bindgen.Video.SDL_Window))
 sDL_GetWindowFromEvent =
@@ -945,7 +945,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @SDL_GetEventDescription@, defined at @SDL3\/SDL_events.h 1637:33@
+--     [C declaration]: @SDL_GetEventDescription@, defined at @SDL3\/SDL_events.h 1638:33@
 sDL_GetEventDescription
   :: BG.FunPtr (PtrConst.PtrConst SDL_Event -> BG.Ptr BG.CChar -> BG.CInt -> IO BG.CInt)
 sDL_GetEventDescription =
diff --git a/src/SDL3/Sys/Bindgen/Events/Safe.hs b/src/SDL3/Sys/Bindgen/Events/Safe.hs
--- a/src/SDL3/Sys/Bindgen/Events/Safe.hs
+++ b/src/SDL3/Sys/Bindgen/Events/Safe.hs
@@ -201,7 +201,7 @@
 --
 --     [See also]: 'sDL_PollEvent', 'sDL_WaitEvent'
 --
---     [C declaration]: @SDL_PumpEvents@, defined at @SDL3\/SDL_events.h 1100:34@
+--     [C declaration]: @SDL_PumpEvents@, defined at @SDL3\/SDL_events.h 1101:34@
 sDL_PumpEvents :: IO ()
 sDL_PumpEvents = hs_bindgen_1f67d12e30b7c737
 
@@ -246,7 +246,7 @@
 --
 --     [See also]: 'sDL_PollEvent', 'sDL_PumpEvents', 'sDL_PushEvent'
 --
---     [C declaration]: @SDL_PeepEvents@, defined at @SDL3\/SDL_events.h 1158:33@
+--     [C declaration]: @SDL_PeepEvents@, defined at @SDL3\/SDL_events.h 1159:33@
 sDL_PeepEvents
   :: BG.Ptr SDL_Event
   -- ^
@@ -259,7 +259,7 @@
   -> SDL_EventAction
   -- ^
   --
-  --           [@action@]: action to take; see Remarks for details.
+  --           [@action@]: action to take; see RemarksRemarks for details.
   -> SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^
   --
@@ -296,7 +296,7 @@
 --
 --     [See also]: 'sDL_HasEvents'
 --
---     [C declaration]: @SDL_HasEvent@, defined at @SDL3\/SDL_events.h 1177:34@
+--     [C declaration]: @SDL_HasEvent@, defined at @SDL3\/SDL_events.h 1178:34@
 sDL_HasEvent
   :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^
@@ -332,7 +332,7 @@
 --
 --     [See also]: 'sDL_HasEvents'
 --
---     [C declaration]: @SDL_HasEvents@, defined at @SDL3\/SDL_events.h 1198:34@
+--     [C declaration]: @SDL_HasEvents@, defined at @SDL3\/SDL_events.h 1199:34@
 sDL_HasEvents
   :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^
@@ -374,7 +374,7 @@
 --
 --     [See also]: 'sDL_FlushEvents'
 --
---     [C declaration]: @SDL_FlushEvent@, defined at @SDL3\/SDL_events.h 1226:34@
+--     [C declaration]: @SDL_FlushEvent@, defined at @SDL3\/SDL_events.h 1227:34@
 sDL_FlushEvent
   :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^
@@ -412,7 +412,7 @@
 --
 --     [See also]: 'sDL_FlushEvent'
 --
---     [C declaration]: @SDL_FlushEvents@, defined at @SDL3\/SDL_events.h 1253:34@
+--     [C declaration]: @SDL_FlushEvents@, defined at @SDL3\/SDL_events.h 1254:34@
 sDL_FlushEvents
   :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^
@@ -473,7 +473,7 @@
 --
 --     [See also]: 'sDL_PushEvent', 'sDL_WaitEvent', 'sDL_WaitEventTimeout'
 --
---     [C declaration]: @SDL_PollEvent@, defined at @SDL3\/SDL_events.h 1304:34@
+--     [C declaration]: @SDL_PollEvent@, defined at @SDL3\/SDL_events.h 1305:34@
 sDL_PollEvent
   :: BG.Ptr SDL_Event
   -- ^
@@ -509,7 +509,7 @@
 --
 --     [See also]: 'sDL_PollEvent', 'sDL_PushEvent', 'sDL_WaitEventTimeout'
 --
---     [C declaration]: @SDL_WaitEvent@, defined at @SDL3\/SDL_events.h 1328:34@
+--     [C declaration]: @SDL_WaitEvent@, defined at @SDL3\/SDL_events.h 1329:34@
 sDL_WaitEvent
   :: BG.Ptr SDL_Event
   -- ^
@@ -549,7 +549,7 @@
 --
 --     [See also]: 'sDL_PollEvent', 'sDL_PushEvent', 'sDL_WaitEvent'
 --
---     [C declaration]: @SDL_WaitEventTimeout@, defined at @SDL3\/SDL_events.h 1358:34@
+--     [C declaration]: @SDL_WaitEventTimeout@, defined at @SDL3\/SDL_events.h 1359:34@
 sDL_WaitEventTimeout
   :: BG.Ptr SDL_Event
   -- ^
@@ -593,7 +593,7 @@
 --
 --     [See also]: 'sDL_PeepEvents', 'sDL_PollEvent', 'sDL_RegisterEvents'
 --
---     [C declaration]: @SDL_PushEvent@, defined at @SDL3\/SDL_events.h 1392:34@
+--     [C declaration]: @SDL_PushEvent@, defined at @SDL3\/SDL_events.h 1393:34@
 sDL_PushEvent
   :: BG.Ptr SDL_Event
   -- ^
@@ -637,7 +637,7 @@
 --
 --     [See also]: 'sDL_AddEventWatch', 'sDL_SetEventEnabled', 'sDL_GetEventFilter', 'sDL_PeepEvents', 'sDL_PushEvent'
 --
---     [C declaration]: @SDL_SetEventFilter@, defined at @SDL3\/SDL_events.h 1457:34@
+--     [C declaration]: @SDL_SetEventFilter@, defined at @SDL3\/SDL_events.h 1458:34@
 sDL_SetEventFilter
   :: SDL_EventFilter
   -- ^
@@ -677,7 +677,7 @@
 --
 --     [See also]: 'sDL_SetEventFilter'
 --
---     [C declaration]: @SDL_GetEventFilter@, defined at @SDL3\/SDL_events.h 1476:34@
+--     [C declaration]: @SDL_GetEventFilter@, defined at @SDL3\/SDL_events.h 1477:34@
 sDL_GetEventFilter
   :: BG.Ptr SDL_EventFilter
   -- ^
@@ -723,7 +723,7 @@
 --
 --     [See also]: 'sDL_RemoveEventWatch', 'sDL_SetEventFilter'
 --
---     [C declaration]: @SDL_AddEventWatch@, defined at @SDL3\/SDL_events.h 1508:34@
+--     [C declaration]: @SDL_AddEventWatch@, defined at @SDL3\/SDL_events.h 1509:34@
 sDL_AddEventWatch
   :: SDL_EventFilter
   -- ^
@@ -761,7 +761,7 @@
 --
 --     [See also]: 'sDL_AddEventWatch'
 --
---     [C declaration]: @SDL_RemoveEventWatch@, defined at @SDL3\/SDL_events.h 1525:34@
+--     [C declaration]: @SDL_RemoveEventWatch@, defined at @SDL3\/SDL_events.h 1526:34@
 sDL_RemoveEventWatch
   :: SDL_EventFilter
   -- ^
@@ -799,7 +799,7 @@
 --
 --     [See also]: 'sDL_GetEventFilter', 'sDL_SetEventFilter'
 --
---     [C declaration]: @SDL_FilterEvents@, defined at @SDL3\/SDL_events.h 1545:34@
+--     [C declaration]: @SDL_FilterEvents@, defined at @SDL3\/SDL_events.h 1546:34@
 sDL_FilterEvents
   :: SDL_EventFilter
   -- ^
@@ -835,7 +835,7 @@
 --
 --     [See also]: 'sDL_EventEnabled'
 --
---     [C declaration]: @SDL_SetEventEnabled@, defined at @SDL3\/SDL_events.h 1559:34@
+--     [C declaration]: @SDL_SetEventEnabled@, defined at @SDL3\/SDL_events.h 1560:34@
 sDL_SetEventEnabled
   :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^
@@ -871,7 +871,7 @@
 --
 --     [See also]: 'sDL_SetEventEnabled'
 --
---     [C declaration]: @SDL_EventEnabled@, defined at @SDL3\/SDL_events.h 1573:34@
+--     [C declaration]: @SDL_EventEnabled@, defined at @SDL3\/SDL_events.h 1574:34@
 sDL_EventEnabled
   :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^
@@ -903,7 +903,7 @@
 --
 --     [See also]: 'sDL_PushEvent'
 --
---     [C declaration]: @SDL_RegisterEvents@, defined at @SDL3\/SDL_events.h 1589:36@
+--     [C declaration]: @SDL_RegisterEvents@, defined at @SDL3\/SDL_events.h 1590:36@
 sDL_RegisterEvents
   :: BG.CInt
   -- ^
@@ -935,7 +935,7 @@
 --
 --     [See also]: 'sDL_PollEvent', 'sDL_WaitEvent', 'sDL_WaitEventTimeout'
 --
---     [C declaration]: @SDL_GetWindowFromEvent@, defined at @SDL3\/SDL_events.h 1605:42@
+--     [C declaration]: @SDL_GetWindowFromEvent@, defined at @SDL3\/SDL_events.h 1606:42@
 sDL_GetWindowFromEvent
   :: PtrConst.PtrConst SDL_Event
   -- ^
@@ -979,7 +979,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @SDL_GetEventDescription@, defined at @SDL3\/SDL_events.h 1637:33@
+--     [C declaration]: @SDL_GetEventDescription@, defined at @SDL3\/SDL_events.h 1638:33@
 sDL_GetEventDescription
   :: PtrConst.PtrConst SDL_Event
   -- ^
diff --git a/src/SDL3/Sys/Bindgen/Events/Unsafe.hs b/src/SDL3/Sys/Bindgen/Events/Unsafe.hs
--- a/src/SDL3/Sys/Bindgen/Events/Unsafe.hs
+++ b/src/SDL3/Sys/Bindgen/Events/Unsafe.hs
@@ -201,7 +201,7 @@
 --
 --     [See also]: 'sDL_PollEvent', 'sDL_WaitEvent'
 --
---     [C declaration]: @SDL_PumpEvents@, defined at @SDL3\/SDL_events.h 1100:34@
+--     [C declaration]: @SDL_PumpEvents@, defined at @SDL3\/SDL_events.h 1101:34@
 sDL_PumpEvents :: IO ()
 sDL_PumpEvents = hs_bindgen_f4dc61bd10a4e23c
 
@@ -246,7 +246,7 @@
 --
 --     [See also]: 'sDL_PollEvent', 'sDL_PumpEvents', 'sDL_PushEvent'
 --
---     [C declaration]: @SDL_PeepEvents@, defined at @SDL3\/SDL_events.h 1158:33@
+--     [C declaration]: @SDL_PeepEvents@, defined at @SDL3\/SDL_events.h 1159:33@
 sDL_PeepEvents
   :: BG.Ptr SDL_Event
   -- ^
@@ -259,7 +259,7 @@
   -> SDL_EventAction
   -- ^
   --
-  --           [@action@]: action to take; see Remarks for details.
+  --           [@action@]: action to take; see RemarksRemarks for details.
   -> SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^
   --
@@ -296,7 +296,7 @@
 --
 --     [See also]: 'sDL_HasEvents'
 --
---     [C declaration]: @SDL_HasEvent@, defined at @SDL3\/SDL_events.h 1177:34@
+--     [C declaration]: @SDL_HasEvent@, defined at @SDL3\/SDL_events.h 1178:34@
 sDL_HasEvent
   :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^
@@ -332,7 +332,7 @@
 --
 --     [See also]: 'sDL_HasEvents'
 --
---     [C declaration]: @SDL_HasEvents@, defined at @SDL3\/SDL_events.h 1198:34@
+--     [C declaration]: @SDL_HasEvents@, defined at @SDL3\/SDL_events.h 1199:34@
 sDL_HasEvents
   :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^
@@ -374,7 +374,7 @@
 --
 --     [See also]: 'sDL_FlushEvents'
 --
---     [C declaration]: @SDL_FlushEvent@, defined at @SDL3\/SDL_events.h 1226:34@
+--     [C declaration]: @SDL_FlushEvent@, defined at @SDL3\/SDL_events.h 1227:34@
 sDL_FlushEvent
   :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^
@@ -412,7 +412,7 @@
 --
 --     [See also]: 'sDL_FlushEvent'
 --
---     [C declaration]: @SDL_FlushEvents@, defined at @SDL3\/SDL_events.h 1253:34@
+--     [C declaration]: @SDL_FlushEvents@, defined at @SDL3\/SDL_events.h 1254:34@
 sDL_FlushEvents
   :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^
@@ -473,7 +473,7 @@
 --
 --     [See also]: 'sDL_PushEvent', 'sDL_WaitEvent', 'sDL_WaitEventTimeout'
 --
---     [C declaration]: @SDL_PollEvent@, defined at @SDL3\/SDL_events.h 1304:34@
+--     [C declaration]: @SDL_PollEvent@, defined at @SDL3\/SDL_events.h 1305:34@
 sDL_PollEvent
   :: BG.Ptr SDL_Event
   -- ^
@@ -509,7 +509,7 @@
 --
 --     [See also]: 'sDL_PollEvent', 'sDL_PushEvent', 'sDL_WaitEventTimeout'
 --
---     [C declaration]: @SDL_WaitEvent@, defined at @SDL3\/SDL_events.h 1328:34@
+--     [C declaration]: @SDL_WaitEvent@, defined at @SDL3\/SDL_events.h 1329:34@
 sDL_WaitEvent
   :: BG.Ptr SDL_Event
   -- ^
@@ -549,7 +549,7 @@
 --
 --     [See also]: 'sDL_PollEvent', 'sDL_PushEvent', 'sDL_WaitEvent'
 --
---     [C declaration]: @SDL_WaitEventTimeout@, defined at @SDL3\/SDL_events.h 1358:34@
+--     [C declaration]: @SDL_WaitEventTimeout@, defined at @SDL3\/SDL_events.h 1359:34@
 sDL_WaitEventTimeout
   :: BG.Ptr SDL_Event
   -- ^
@@ -593,7 +593,7 @@
 --
 --     [See also]: 'sDL_PeepEvents', 'sDL_PollEvent', 'sDL_RegisterEvents'
 --
---     [C declaration]: @SDL_PushEvent@, defined at @SDL3\/SDL_events.h 1392:34@
+--     [C declaration]: @SDL_PushEvent@, defined at @SDL3\/SDL_events.h 1393:34@
 sDL_PushEvent
   :: BG.Ptr SDL_Event
   -- ^
@@ -637,7 +637,7 @@
 --
 --     [See also]: 'sDL_AddEventWatch', 'sDL_SetEventEnabled', 'sDL_GetEventFilter', 'sDL_PeepEvents', 'sDL_PushEvent'
 --
---     [C declaration]: @SDL_SetEventFilter@, defined at @SDL3\/SDL_events.h 1457:34@
+--     [C declaration]: @SDL_SetEventFilter@, defined at @SDL3\/SDL_events.h 1458:34@
 sDL_SetEventFilter
   :: SDL_EventFilter
   -- ^
@@ -677,7 +677,7 @@
 --
 --     [See also]: 'sDL_SetEventFilter'
 --
---     [C declaration]: @SDL_GetEventFilter@, defined at @SDL3\/SDL_events.h 1476:34@
+--     [C declaration]: @SDL_GetEventFilter@, defined at @SDL3\/SDL_events.h 1477:34@
 sDL_GetEventFilter
   :: BG.Ptr SDL_EventFilter
   -- ^
@@ -723,7 +723,7 @@
 --
 --     [See also]: 'sDL_RemoveEventWatch', 'sDL_SetEventFilter'
 --
---     [C declaration]: @SDL_AddEventWatch@, defined at @SDL3\/SDL_events.h 1508:34@
+--     [C declaration]: @SDL_AddEventWatch@, defined at @SDL3\/SDL_events.h 1509:34@
 sDL_AddEventWatch
   :: SDL_EventFilter
   -- ^
@@ -761,7 +761,7 @@
 --
 --     [See also]: 'sDL_AddEventWatch'
 --
---     [C declaration]: @SDL_RemoveEventWatch@, defined at @SDL3\/SDL_events.h 1525:34@
+--     [C declaration]: @SDL_RemoveEventWatch@, defined at @SDL3\/SDL_events.h 1526:34@
 sDL_RemoveEventWatch
   :: SDL_EventFilter
   -- ^
@@ -799,7 +799,7 @@
 --
 --     [See also]: 'sDL_GetEventFilter', 'sDL_SetEventFilter'
 --
---     [C declaration]: @SDL_FilterEvents@, defined at @SDL3\/SDL_events.h 1545:34@
+--     [C declaration]: @SDL_FilterEvents@, defined at @SDL3\/SDL_events.h 1546:34@
 sDL_FilterEvents
   :: SDL_EventFilter
   -- ^
@@ -835,7 +835,7 @@
 --
 --     [See also]: 'sDL_EventEnabled'
 --
---     [C declaration]: @SDL_SetEventEnabled@, defined at @SDL3\/SDL_events.h 1559:34@
+--     [C declaration]: @SDL_SetEventEnabled@, defined at @SDL3\/SDL_events.h 1560:34@
 sDL_SetEventEnabled
   :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^
@@ -871,7 +871,7 @@
 --
 --     [See also]: 'sDL_SetEventEnabled'
 --
---     [C declaration]: @SDL_EventEnabled@, defined at @SDL3\/SDL_events.h 1573:34@
+--     [C declaration]: @SDL_EventEnabled@, defined at @SDL3\/SDL_events.h 1574:34@
 sDL_EventEnabled
   :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^
@@ -903,7 +903,7 @@
 --
 --     [See also]: 'sDL_PushEvent'
 --
---     [C declaration]: @SDL_RegisterEvents@, defined at @SDL3\/SDL_events.h 1589:36@
+--     [C declaration]: @SDL_RegisterEvents@, defined at @SDL3\/SDL_events.h 1590:36@
 sDL_RegisterEvents
   :: BG.CInt
   -- ^
@@ -935,7 +935,7 @@
 --
 --     [See also]: 'sDL_PollEvent', 'sDL_WaitEvent', 'sDL_WaitEventTimeout'
 --
---     [C declaration]: @SDL_GetWindowFromEvent@, defined at @SDL3\/SDL_events.h 1605:42@
+--     [C declaration]: @SDL_GetWindowFromEvent@, defined at @SDL3\/SDL_events.h 1606:42@
 sDL_GetWindowFromEvent
   :: PtrConst.PtrConst SDL_Event
   -- ^
@@ -979,7 +979,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @SDL_GetEventDescription@, defined at @SDL3\/SDL_events.h 1637:33@
+--     [C declaration]: @SDL_GetEventDescription@, defined at @SDL3\/SDL_events.h 1638:33@
 sDL_GetEventDescription
   :: PtrConst.PtrConst SDL_Event
   -- ^
diff --git a/src/SDL3/Sys/Bindgen/Gamepad.hs b/src/SDL3/Sys/Bindgen/Gamepad.hs
--- a/src/SDL3/Sys/Bindgen/Gamepad.hs
+++ b/src/SDL3/Sys/Bindgen/Gamepad.hs
@@ -486,31 +486,31 @@
 pattern SDL_GAMEPAD_BUTTON_DPAD_RIGHT :: SDL_GamepadButton
 pattern SDL_GAMEPAD_BUTTON_DPAD_RIGHT = SDL_GamepadButton 14
 
--- | Additional button (e.g. Xbox Series X share button, PS5 microphone button, Nintendo Switch Pro capture button, Amazon Luna microphone button, Google Stadia capture button)
+-- | Additional button (e.g. Xbox Series X share button, PS5 microphone button, Nintendo Switch Pro capture button, Steam Controller QAM button, Amazon Luna microphone button, Google Stadia capture button)
 --
 --     [C declaration]: @SDL_GAMEPAD_BUTTON_MISC1@, defined at @SDL3\/SDL_gamepad.h 170:5@
 pattern SDL_GAMEPAD_BUTTON_MISC1 :: SDL_GamepadButton
 pattern SDL_GAMEPAD_BUTTON_MISC1 = SDL_GamepadButton 15
 
--- | Upper or primary paddle, under your right hand (e.g. Xbox Elite paddle P1, DualSense Edge RB button, Right Joy-Con SR button)
+-- | Upper or primary paddle, under your right hand (e.g. Xbox Elite paddle P1, DualSense Edge RB button, Right Joy-Con SR button, Steam Controller R4 button)
 --
 --     [C declaration]: @SDL_GAMEPAD_BUTTON_RIGHT_PADDLE1@, defined at @SDL3\/SDL_gamepad.h 171:5@
 pattern SDL_GAMEPAD_BUTTON_RIGHT_PADDLE1 :: SDL_GamepadButton
 pattern SDL_GAMEPAD_BUTTON_RIGHT_PADDLE1 = SDL_GamepadButton 16
 
--- | Upper or primary paddle, under your left hand (e.g. Xbox Elite paddle P3, DualSense Edge LB button, Left Joy-Con SL button)
+-- | Upper or primary paddle, under your left hand (e.g. Xbox Elite paddle P3, DualSense Edge LB button, Left Joy-Con SL button, Steam Controller L4 button)
 --
 --     [C declaration]: @SDL_GAMEPAD_BUTTON_LEFT_PADDLE1@, defined at @SDL3\/SDL_gamepad.h 172:5@
 pattern SDL_GAMEPAD_BUTTON_LEFT_PADDLE1 :: SDL_GamepadButton
 pattern SDL_GAMEPAD_BUTTON_LEFT_PADDLE1 = SDL_GamepadButton 17
 
--- | Lower or secondary paddle, under your right hand (e.g. Xbox Elite paddle P2, DualSense Edge right Fn button, Right Joy-Con SL button)
+-- | Lower or secondary paddle, under your right hand (e.g. Xbox Elite paddle P2, DualSense Edge right Fn button, Right Joy-Con SL button, Steam Controller R5 button)
 --
 --     [C declaration]: @SDL_GAMEPAD_BUTTON_RIGHT_PADDLE2@, defined at @SDL3\/SDL_gamepad.h 173:5@
 pattern SDL_GAMEPAD_BUTTON_RIGHT_PADDLE2 :: SDL_GamepadButton
 pattern SDL_GAMEPAD_BUTTON_RIGHT_PADDLE2 = SDL_GamepadButton 18
 
--- | Lower or secondary paddle, under your left hand (e.g. Xbox Elite paddle P4, DualSense Edge left Fn button, Left Joy-Con SR button)
+-- | Lower or secondary paddle, under your left hand (e.g. Xbox Elite paddle P4, DualSense Edge left Fn button, Left Joy-Con SR button, Steam Controller L5 button)
 --
 --     [C declaration]: @SDL_GAMEPAD_BUTTON_LEFT_PADDLE2@, defined at @SDL3\/SDL_gamepad.h 174:5@
 pattern SDL_GAMEPAD_BUTTON_LEFT_PADDLE2 :: SDL_GamepadButton
diff --git a/src/SDL3/Sys/Bindgen/Gpu.hs b/src/SDL3/Sys/Bindgen/Gpu.hs
--- a/src/SDL3/Sys/Bindgen/Gpu.hs
+++ b/src/SDL3/Sys/Bindgen/Gpu.hs
@@ -2013,7 +2013,7 @@
 
 -- | Specifies how a texture is intended to be used by the client.
 --
---     A texture must have at least one usage flag. Note that some usage flag combinations are invalid.
+--     A texture must have at least one usage flag. Note that combining SAMPLER with STORAGE_READ flags is invalid.
 --
 --     With regards to compute storage usage, READ | WRITE means that you can have shader A that only writes into the texture and shader B that only reads from the texture and bind the same texture to either shader respectively. SIMULTANEOUS means that you can do reads and writes within the same shader or compute pass. It also implies that atomic ops can be used, since those are read-modify-write operations. If you use SIMULTANEOUS, you are responsible for avoiding data races, as there is no data synchronization within a compute pass. Note that SIMULTANEOUS usage is only supported by a limited number of texture formats.
 --
@@ -2505,8 +2505,10 @@
 
 -- | Specifies how a buffer is intended to be used by the client.
 --
---     A buffer must have at least one usage flag. Note that some usage flag combinations are invalid.
+--     A buffer must have at least one usage flag.
 --
+--     If a buffer has multiple read usages, this may lead to a performance penalty due to more conservative memory barriers, but it also may not necessarily affect the performance.
+--
 --     Unlike textures, READ | WRITE can be used for simultaneous read-write usage. The same data synchronization concerns as textures apply.
 --
 --     If you use a STORAGE flag, the data in the buffer must respect std140 layout conventions. In practical terms this means you must ensure that vec3 and vec4 fields are 16-byte aligned.
@@ -2515,7 +2517,7 @@
 --
 --     [See also]: 'sDL_CreateGPUBuffer'
 --
---     [C declaration]: @SDL_GPUBufferUsageFlags@, defined at @SDL3\/SDL_gpu.h 984:16@
+--     [C declaration]: @SDL_GPUBufferUsageFlags@, defined at @SDL3\/SDL_gpu.h 986:16@
 newtype SDL_GPUBufferUsageFlags = SDL_GPUBufferUsageFlags
   { unwrap :: SDL3.Sys.Bindgen.Stdinc.Uint32
   }
@@ -2564,42 +2566,42 @@
 
 -- | Buffer is a vertex buffer.
 --
---     [C declaration]: @macro SDL_GPU_BUFFERUSAGE_VERTEX@, defined at @SDL3\/SDL_gpu.h 986:9@
+--     [C declaration]: @macro SDL_GPU_BUFFERUSAGE_VERTEX@, defined at @SDL3\/SDL_gpu.h 988:9@
 sDL_GPU_BUFFERUSAGE_VERTEX :: BG.CUInt
 sDL_GPU_BUFFERUSAGE_VERTEX =
   (C.Expr.HostPlatform.<<) (1 :: BG.CUInt) (0 :: BG.CInt)
 
 -- | Buffer is an index buffer.
 --
---     [C declaration]: @macro SDL_GPU_BUFFERUSAGE_INDEX@, defined at @SDL3\/SDL_gpu.h 987:9@
+--     [C declaration]: @macro SDL_GPU_BUFFERUSAGE_INDEX@, defined at @SDL3\/SDL_gpu.h 989:9@
 sDL_GPU_BUFFERUSAGE_INDEX :: BG.CUInt
 sDL_GPU_BUFFERUSAGE_INDEX =
   (C.Expr.HostPlatform.<<) (1 :: BG.CUInt) (1 :: BG.CInt)
 
 -- | Buffer is an indirect buffer.
 --
---     [C declaration]: @macro SDL_GPU_BUFFERUSAGE_INDIRECT@, defined at @SDL3\/SDL_gpu.h 988:9@
+--     [C declaration]: @macro SDL_GPU_BUFFERUSAGE_INDIRECT@, defined at @SDL3\/SDL_gpu.h 990:9@
 sDL_GPU_BUFFERUSAGE_INDIRECT :: BG.CUInt
 sDL_GPU_BUFFERUSAGE_INDIRECT =
   (C.Expr.HostPlatform.<<) (1 :: BG.CUInt) (2 :: BG.CInt)
 
 -- | Buffer supports storage reads in graphics stages.
 --
---     [C declaration]: @macro SDL_GPU_BUFFERUSAGE_GRAPHICS_STORAGE_READ@, defined at @SDL3\/SDL_gpu.h 989:9@
+--     [C declaration]: @macro SDL_GPU_BUFFERUSAGE_GRAPHICS_STORAGE_READ@, defined at @SDL3\/SDL_gpu.h 991:9@
 sDL_GPU_BUFFERUSAGE_GRAPHICS_STORAGE_READ :: BG.CUInt
 sDL_GPU_BUFFERUSAGE_GRAPHICS_STORAGE_READ =
   (C.Expr.HostPlatform.<<) (1 :: BG.CUInt) (3 :: BG.CInt)
 
 -- | Buffer supports storage reads in the compute stage.
 --
---     [C declaration]: @macro SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_READ@, defined at @SDL3\/SDL_gpu.h 990:9@
+--     [C declaration]: @macro SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_READ@, defined at @SDL3\/SDL_gpu.h 992:9@
 sDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_READ :: BG.CUInt
 sDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_READ =
   (C.Expr.HostPlatform.<<) (1 :: BG.CUInt) (4 :: BG.CInt)
 
 -- | Buffer supports storage writes in the compute stage.
 --
---     [C declaration]: @macro SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE@, defined at @SDL3\/SDL_gpu.h 991:9@
+--     [C declaration]: @macro SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE@, defined at @SDL3\/SDL_gpu.h 993:9@
 sDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE :: BG.CUInt
 sDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE =
   (C.Expr.HostPlatform.<<) (1 :: BG.CUInt) (5 :: BG.CInt)
@@ -2612,7 +2614,7 @@
 --
 --     [See also]: 'sDL_CreateGPUTransferBuffer'
 --
---     [C declaration]: @enum SDL_GPUTransferBufferUsage@, defined at @SDL3\/SDL_gpu.h 1003:14@
+--     [C declaration]: @enum SDL_GPUTransferBufferUsage@, defined at @SDL3\/SDL_gpu.h 1005:14@
 newtype SDL_GPUTransferBufferUsage = SDL_GPUTransferBufferUsage
   { unwrap :: BG.CUInt
   }
@@ -2709,11 +2711,11 @@
 
   offset# = \_ -> \_ -> 0
 
--- | [C declaration]: @SDL_GPU_TRANSFERBUFFERUSAGE_UPLOAD@, defined at @SDL3\/SDL_gpu.h 1005:5@
+-- | [C declaration]: @SDL_GPU_TRANSFERBUFFERUSAGE_UPLOAD@, defined at @SDL3\/SDL_gpu.h 1007:5@
 pattern SDL_GPU_TRANSFERBUFFERUSAGE_UPLOAD :: SDL_GPUTransferBufferUsage
 pattern SDL_GPU_TRANSFERBUFFERUSAGE_UPLOAD = SDL_GPUTransferBufferUsage 0
 
--- | [C declaration]: @SDL_GPU_TRANSFERBUFFERUSAGE_DOWNLOAD@, defined at @SDL3\/SDL_gpu.h 1006:5@
+-- | [C declaration]: @SDL_GPU_TRANSFERBUFFERUSAGE_DOWNLOAD@, defined at @SDL3\/SDL_gpu.h 1008:5@
 pattern SDL_GPU_TRANSFERBUFFERUSAGE_DOWNLOAD :: SDL_GPUTransferBufferUsage
 pattern SDL_GPU_TRANSFERBUFFERUSAGE_DOWNLOAD = SDL_GPUTransferBufferUsage 1
 
@@ -2723,7 +2725,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader'
 --
---     [C declaration]: @enum SDL_GPUShaderStage@, defined at @SDL3\/SDL_gpu.h 1016:14@
+--     [C declaration]: @enum SDL_GPUShaderStage@, defined at @SDL3\/SDL_gpu.h 1018:14@
 newtype SDL_GPUShaderStage = SDL_GPUShaderStage
   { unwrap :: BG.CUInt
   }
@@ -2816,11 +2818,11 @@
 
   offset# = \_ -> \_ -> 0
 
--- | [C declaration]: @SDL_GPU_SHADERSTAGE_VERTEX@, defined at @SDL3\/SDL_gpu.h 1018:5@
+-- | [C declaration]: @SDL_GPU_SHADERSTAGE_VERTEX@, defined at @SDL3\/SDL_gpu.h 1020:5@
 pattern SDL_GPU_SHADERSTAGE_VERTEX :: SDL_GPUShaderStage
 pattern SDL_GPU_SHADERSTAGE_VERTEX = SDL_GPUShaderStage 0
 
--- | [C declaration]: @SDL_GPU_SHADERSTAGE_FRAGMENT@, defined at @SDL3\/SDL_gpu.h 1019:5@
+-- | [C declaration]: @SDL_GPU_SHADERSTAGE_FRAGMENT@, defined at @SDL3\/SDL_gpu.h 1021:5@
 pattern SDL_GPU_SHADERSTAGE_FRAGMENT :: SDL_GPUShaderStage
 pattern SDL_GPU_SHADERSTAGE_FRAGMENT = SDL_GPUShaderStage 1
 
@@ -2832,7 +2834,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader'
 --
---     [C declaration]: @SDL_GPUShaderFormat@, defined at @SDL3\/SDL_gpu.h 1031:16@
+--     [C declaration]: @SDL_GPUShaderFormat@, defined at @SDL3\/SDL_gpu.h 1033:16@
 newtype SDL_GPUShaderFormat = SDL_GPUShaderFormat
   { unwrap :: SDL3.Sys.Bindgen.Stdinc.Uint32
   }
@@ -2879,48 +2881,48 @@
 
   offset# = \_ -> \_ -> 0
 
--- | [C declaration]: @macro SDL_GPU_SHADERFORMAT_INVALID@, defined at @SDL3\/SDL_gpu.h 1033:9@
+-- | [C declaration]: @macro SDL_GPU_SHADERFORMAT_INVALID@, defined at @SDL3\/SDL_gpu.h 1035:9@
 sDL_GPU_SHADERFORMAT_INVALID :: BG.CInt
 sDL_GPU_SHADERFORMAT_INVALID = (0 :: BG.CInt)
 
 -- | Shaders for NDA\'d platforms.
 --
---     [C declaration]: @macro SDL_GPU_SHADERFORMAT_PRIVATE@, defined at @SDL3\/SDL_gpu.h 1034:9@
+--     [C declaration]: @macro SDL_GPU_SHADERFORMAT_PRIVATE@, defined at @SDL3\/SDL_gpu.h 1036:9@
 sDL_GPU_SHADERFORMAT_PRIVATE :: BG.CUInt
 sDL_GPU_SHADERFORMAT_PRIVATE =
   (C.Expr.HostPlatform.<<) (1 :: BG.CUInt) (0 :: BG.CInt)
 
 -- | SPIR-V shaders for Vulkan.
 --
---     [C declaration]: @macro SDL_GPU_SHADERFORMAT_SPIRV@, defined at @SDL3\/SDL_gpu.h 1035:9@
+--     [C declaration]: @macro SDL_GPU_SHADERFORMAT_SPIRV@, defined at @SDL3\/SDL_gpu.h 1037:9@
 sDL_GPU_SHADERFORMAT_SPIRV :: BG.CUInt
 sDL_GPU_SHADERFORMAT_SPIRV =
   (C.Expr.HostPlatform.<<) (1 :: BG.CUInt) (1 :: BG.CInt)
 
 -- | DXBC SM5_1 shaders for D3D12.
 --
---     [C declaration]: @macro SDL_GPU_SHADERFORMAT_DXBC@, defined at @SDL3\/SDL_gpu.h 1036:9@
+--     [C declaration]: @macro SDL_GPU_SHADERFORMAT_DXBC@, defined at @SDL3\/SDL_gpu.h 1038:9@
 sDL_GPU_SHADERFORMAT_DXBC :: BG.CUInt
 sDL_GPU_SHADERFORMAT_DXBC =
   (C.Expr.HostPlatform.<<) (1 :: BG.CUInt) (2 :: BG.CInt)
 
 -- | DXIL SM6_0 shaders for D3D12.
 --
---     [C declaration]: @macro SDL_GPU_SHADERFORMAT_DXIL@, defined at @SDL3\/SDL_gpu.h 1037:9@
+--     [C declaration]: @macro SDL_GPU_SHADERFORMAT_DXIL@, defined at @SDL3\/SDL_gpu.h 1039:9@
 sDL_GPU_SHADERFORMAT_DXIL :: BG.CUInt
 sDL_GPU_SHADERFORMAT_DXIL =
   (C.Expr.HostPlatform.<<) (1 :: BG.CUInt) (3 :: BG.CInt)
 
 -- | MSL shaders for Metal.
 --
---     [C declaration]: @macro SDL_GPU_SHADERFORMAT_MSL@, defined at @SDL3\/SDL_gpu.h 1038:9@
+--     [C declaration]: @macro SDL_GPU_SHADERFORMAT_MSL@, defined at @SDL3\/SDL_gpu.h 1040:9@
 sDL_GPU_SHADERFORMAT_MSL :: BG.CUInt
 sDL_GPU_SHADERFORMAT_MSL =
   (C.Expr.HostPlatform.<<) (1 :: BG.CUInt) (4 :: BG.CInt)
 
 -- | Precompiled metallib shaders for Metal.
 --
---     [C declaration]: @macro SDL_GPU_SHADERFORMAT_METALLIB@, defined at @SDL3\/SDL_gpu.h 1039:9@
+--     [C declaration]: @macro SDL_GPU_SHADERFORMAT_METALLIB@, defined at @SDL3\/SDL_gpu.h 1041:9@
 sDL_GPU_SHADERFORMAT_METALLIB :: BG.CUInt
 sDL_GPU_SHADERFORMAT_METALLIB =
   (C.Expr.HostPlatform.<<) (1 :: BG.CUInt) (5 :: BG.CInt)
@@ -2931,7 +2933,7 @@
 --
 --     [See also]: 'sDL_CreateGPUGraphicsPipeline'
 --
---     [C declaration]: @enum SDL_GPUVertexElementFormat@, defined at @SDL3\/SDL_gpu.h 1048:14@
+--     [C declaration]: @enum SDL_GPUVertexElementFormat@, defined at @SDL3\/SDL_gpu.h 1050:14@
 newtype SDL_GPUVertexElementFormat = SDL_GPUVertexElementFormat
   { unwrap :: BG.CUInt
   }
@@ -3057,127 +3059,127 @@
 
   offset# = \_ -> \_ -> 0
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_INVALID@, defined at @SDL3\/SDL_gpu.h 1050:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_INVALID@, defined at @SDL3\/SDL_gpu.h 1052:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_INVALID :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_INVALID = SDL_GPUVertexElementFormat 0
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_INT@, defined at @SDL3\/SDL_gpu.h 1053:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_INT@, defined at @SDL3\/SDL_gpu.h 1055:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_INT :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_INT = SDL_GPUVertexElementFormat 1
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_INT2@, defined at @SDL3\/SDL_gpu.h 1054:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_INT2@, defined at @SDL3\/SDL_gpu.h 1056:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_INT2 :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_INT2 = SDL_GPUVertexElementFormat 2
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_INT3@, defined at @SDL3\/SDL_gpu.h 1055:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_INT3@, defined at @SDL3\/SDL_gpu.h 1057:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_INT3 :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_INT3 = SDL_GPUVertexElementFormat 3
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_INT4@, defined at @SDL3\/SDL_gpu.h 1056:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_INT4@, defined at @SDL3\/SDL_gpu.h 1058:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_INT4 :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_INT4 = SDL_GPUVertexElementFormat 4
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_UINT@, defined at @SDL3\/SDL_gpu.h 1059:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_UINT@, defined at @SDL3\/SDL_gpu.h 1061:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_UINT :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_UINT = SDL_GPUVertexElementFormat 5
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_UINT2@, defined at @SDL3\/SDL_gpu.h 1060:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_UINT2@, defined at @SDL3\/SDL_gpu.h 1062:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_UINT2 :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_UINT2 = SDL_GPUVertexElementFormat 6
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_UINT3@, defined at @SDL3\/SDL_gpu.h 1061:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_UINT3@, defined at @SDL3\/SDL_gpu.h 1063:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_UINT3 :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_UINT3 = SDL_GPUVertexElementFormat 7
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_UINT4@, defined at @SDL3\/SDL_gpu.h 1062:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_UINT4@, defined at @SDL3\/SDL_gpu.h 1064:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_UINT4 :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_UINT4 = SDL_GPUVertexElementFormat 8
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_FLOAT@, defined at @SDL3\/SDL_gpu.h 1065:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_FLOAT@, defined at @SDL3\/SDL_gpu.h 1067:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_FLOAT :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_FLOAT = SDL_GPUVertexElementFormat 9
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_FLOAT2@, defined at @SDL3\/SDL_gpu.h 1066:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_FLOAT2@, defined at @SDL3\/SDL_gpu.h 1068:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_FLOAT2 :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_FLOAT2 = SDL_GPUVertexElementFormat 10
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_FLOAT3@, defined at @SDL3\/SDL_gpu.h 1067:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_FLOAT3@, defined at @SDL3\/SDL_gpu.h 1069:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_FLOAT3 :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_FLOAT3 = SDL_GPUVertexElementFormat 11
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_FLOAT4@, defined at @SDL3\/SDL_gpu.h 1068:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_FLOAT4@, defined at @SDL3\/SDL_gpu.h 1070:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_FLOAT4 :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_FLOAT4 = SDL_GPUVertexElementFormat 12
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_BYTE2@, defined at @SDL3\/SDL_gpu.h 1071:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_BYTE2@, defined at @SDL3\/SDL_gpu.h 1073:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_BYTE2 :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_BYTE2 = SDL_GPUVertexElementFormat 13
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_BYTE4@, defined at @SDL3\/SDL_gpu.h 1072:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_BYTE4@, defined at @SDL3\/SDL_gpu.h 1074:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_BYTE4 :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_BYTE4 = SDL_GPUVertexElementFormat 14
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2@, defined at @SDL3\/SDL_gpu.h 1075:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2@, defined at @SDL3\/SDL_gpu.h 1077:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2 :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2 = SDL_GPUVertexElementFormat 15
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4@, defined at @SDL3\/SDL_gpu.h 1076:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4@, defined at @SDL3\/SDL_gpu.h 1078:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4 :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4 = SDL_GPUVertexElementFormat 16
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_BYTE2_NORM@, defined at @SDL3\/SDL_gpu.h 1079:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_BYTE2_NORM@, defined at @SDL3\/SDL_gpu.h 1081:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_BYTE2_NORM :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_BYTE2_NORM = SDL_GPUVertexElementFormat 17
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_BYTE4_NORM@, defined at @SDL3\/SDL_gpu.h 1080:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_BYTE4_NORM@, defined at @SDL3\/SDL_gpu.h 1082:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_BYTE4_NORM :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_BYTE4_NORM = SDL_GPUVertexElementFormat 18
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2_NORM@, defined at @SDL3\/SDL_gpu.h 1083:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2_NORM@, defined at @SDL3\/SDL_gpu.h 1085:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2_NORM :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2_NORM = SDL_GPUVertexElementFormat 19
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4_NORM@, defined at @SDL3\/SDL_gpu.h 1084:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4_NORM@, defined at @SDL3\/SDL_gpu.h 1086:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4_NORM :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4_NORM = SDL_GPUVertexElementFormat 20
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_SHORT2@, defined at @SDL3\/SDL_gpu.h 1087:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_SHORT2@, defined at @SDL3\/SDL_gpu.h 1089:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_SHORT2 :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_SHORT2 = SDL_GPUVertexElementFormat 21
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_SHORT4@, defined at @SDL3\/SDL_gpu.h 1088:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_SHORT4@, defined at @SDL3\/SDL_gpu.h 1090:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_SHORT4 :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_SHORT4 = SDL_GPUVertexElementFormat 22
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_USHORT2@, defined at @SDL3\/SDL_gpu.h 1091:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_USHORT2@, defined at @SDL3\/SDL_gpu.h 1093:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_USHORT2 :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_USHORT2 = SDL_GPUVertexElementFormat 23
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_USHORT4@, defined at @SDL3\/SDL_gpu.h 1092:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_USHORT4@, defined at @SDL3\/SDL_gpu.h 1094:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_USHORT4 :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_USHORT4 = SDL_GPUVertexElementFormat 24
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_SHORT2_NORM@, defined at @SDL3\/SDL_gpu.h 1095:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_SHORT2_NORM@, defined at @SDL3\/SDL_gpu.h 1097:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_SHORT2_NORM :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_SHORT2_NORM = SDL_GPUVertexElementFormat 25
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_SHORT4_NORM@, defined at @SDL3\/SDL_gpu.h 1096:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_SHORT4_NORM@, defined at @SDL3\/SDL_gpu.h 1098:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_SHORT4_NORM :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_SHORT4_NORM = SDL_GPUVertexElementFormat 26
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_USHORT2_NORM@, defined at @SDL3\/SDL_gpu.h 1099:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_USHORT2_NORM@, defined at @SDL3\/SDL_gpu.h 1101:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_USHORT2_NORM :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_USHORT2_NORM = SDL_GPUVertexElementFormat 27
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_USHORT4_NORM@, defined at @SDL3\/SDL_gpu.h 1100:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_USHORT4_NORM@, defined at @SDL3\/SDL_gpu.h 1102:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_USHORT4_NORM :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_USHORT4_NORM = SDL_GPUVertexElementFormat 28
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_HALF2@, defined at @SDL3\/SDL_gpu.h 1103:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_HALF2@, defined at @SDL3\/SDL_gpu.h 1105:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_HALF2 :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_HALF2 = SDL_GPUVertexElementFormat 29
 
--- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_HALF4@, defined at @SDL3\/SDL_gpu.h 1104:5@
+-- | [C declaration]: @SDL_GPU_VERTEXELEMENTFORMAT_HALF4@, defined at @SDL3\/SDL_gpu.h 1106:5@
 pattern SDL_GPU_VERTEXELEMENTFORMAT_HALF4 :: SDL_GPUVertexElementFormat
 pattern SDL_GPU_VERTEXELEMENTFORMAT_HALF4 = SDL_GPUVertexElementFormat 30
 
@@ -3187,7 +3189,7 @@
 --
 --     [See also]: 'sDL_CreateGPUGraphicsPipeline'
 --
---     [C declaration]: @enum SDL_GPUVertexInputRate@, defined at @SDL3\/SDL_gpu.h 1114:14@
+--     [C declaration]: @enum SDL_GPUVertexInputRate@, defined at @SDL3\/SDL_gpu.h 1116:14@
 newtype SDL_GPUVertexInputRate = SDL_GPUVertexInputRate
   { unwrap :: BG.CUInt
   }
@@ -3285,13 +3287,13 @@
 
 -- | Attribute addressing is a function of the vertex index.
 --
---     [C declaration]: @SDL_GPU_VERTEXINPUTRATE_VERTEX@, defined at @SDL3\/SDL_gpu.h 1116:5@
+--     [C declaration]: @SDL_GPU_VERTEXINPUTRATE_VERTEX@, defined at @SDL3\/SDL_gpu.h 1118:5@
 pattern SDL_GPU_VERTEXINPUTRATE_VERTEX :: SDL_GPUVertexInputRate
 pattern SDL_GPU_VERTEXINPUTRATE_VERTEX = SDL_GPUVertexInputRate 0
 
 -- | Attribute addressing is a function of the instance index.
 --
---     [C declaration]: @SDL_GPU_VERTEXINPUTRATE_INSTANCE@, defined at @SDL3\/SDL_gpu.h 1117:5@
+--     [C declaration]: @SDL_GPU_VERTEXINPUTRATE_INSTANCE@, defined at @SDL3\/SDL_gpu.h 1119:5@
 pattern SDL_GPU_VERTEXINPUTRATE_INSTANCE :: SDL_GPUVertexInputRate
 pattern SDL_GPU_VERTEXINPUTRATE_INSTANCE = SDL_GPUVertexInputRate 1
 
@@ -3301,7 +3303,7 @@
 --
 --     [See also]: 'sDL_CreateGPUGraphicsPipeline'
 --
---     [C declaration]: @enum SDL_GPUFillMode@, defined at @SDL3\/SDL_gpu.h 1127:14@
+--     [C declaration]: @enum SDL_GPUFillMode@, defined at @SDL3\/SDL_gpu.h 1129:14@
 newtype SDL_GPUFillMode = SDL_GPUFillMode
   { unwrap :: BG.CUInt
   }
@@ -3394,13 +3396,13 @@
 
 -- | Polygons will be rendered via rasterization.
 --
---     [C declaration]: @SDL_GPU_FILLMODE_FILL@, defined at @SDL3\/SDL_gpu.h 1129:5@
+--     [C declaration]: @SDL_GPU_FILLMODE_FILL@, defined at @SDL3\/SDL_gpu.h 1131:5@
 pattern SDL_GPU_FILLMODE_FILL :: SDL_GPUFillMode
 pattern SDL_GPU_FILLMODE_FILL = SDL_GPUFillMode 0
 
 -- | Polygon edges will be drawn as line segments.
 --
---     [C declaration]: @SDL_GPU_FILLMODE_LINE@, defined at @SDL3\/SDL_gpu.h 1130:5@
+--     [C declaration]: @SDL_GPU_FILLMODE_LINE@, defined at @SDL3\/SDL_gpu.h 1132:5@
 pattern SDL_GPU_FILLMODE_LINE :: SDL_GPUFillMode
 pattern SDL_GPU_FILLMODE_LINE = SDL_GPUFillMode 1
 
@@ -3410,7 +3412,7 @@
 --
 --     [See also]: 'sDL_CreateGPUGraphicsPipeline'
 --
---     [C declaration]: @enum SDL_GPUCullMode@, defined at @SDL3\/SDL_gpu.h 1140:14@
+--     [C declaration]: @enum SDL_GPUCullMode@, defined at @SDL3\/SDL_gpu.h 1142:14@
 newtype SDL_GPUCullMode = SDL_GPUCullMode
   { unwrap :: BG.CUInt
   }
@@ -3504,19 +3506,19 @@
 
 -- | No triangles are culled.
 --
---     [C declaration]: @SDL_GPU_CULLMODE_NONE@, defined at @SDL3\/SDL_gpu.h 1142:5@
+--     [C declaration]: @SDL_GPU_CULLMODE_NONE@, defined at @SDL3\/SDL_gpu.h 1144:5@
 pattern SDL_GPU_CULLMODE_NONE :: SDL_GPUCullMode
 pattern SDL_GPU_CULLMODE_NONE = SDL_GPUCullMode 0
 
 -- | Front-facing triangles are culled.
 --
---     [C declaration]: @SDL_GPU_CULLMODE_FRONT@, defined at @SDL3\/SDL_gpu.h 1143:5@
+--     [C declaration]: @SDL_GPU_CULLMODE_FRONT@, defined at @SDL3\/SDL_gpu.h 1145:5@
 pattern SDL_GPU_CULLMODE_FRONT :: SDL_GPUCullMode
 pattern SDL_GPU_CULLMODE_FRONT = SDL_GPUCullMode 1
 
 -- | Back-facing triangles are culled.
 --
---     [C declaration]: @SDL_GPU_CULLMODE_BACK@, defined at @SDL3\/SDL_gpu.h 1144:5@
+--     [C declaration]: @SDL_GPU_CULLMODE_BACK@, defined at @SDL3\/SDL_gpu.h 1146:5@
 pattern SDL_GPU_CULLMODE_BACK :: SDL_GPUCullMode
 pattern SDL_GPU_CULLMODE_BACK = SDL_GPUCullMode 2
 
@@ -3526,7 +3528,7 @@
 --
 --     [See also]: 'sDL_CreateGPUGraphicsPipeline'
 --
---     [C declaration]: @enum SDL_GPUFrontFace@, defined at @SDL3\/SDL_gpu.h 1155:14@
+--     [C declaration]: @enum SDL_GPUFrontFace@, defined at @SDL3\/SDL_gpu.h 1157:14@
 newtype SDL_GPUFrontFace = SDL_GPUFrontFace
   { unwrap :: BG.CUInt
   }
@@ -3620,13 +3622,13 @@
 
 -- | A triangle with counter-clockwise vertex winding will be considered front-facing.
 --
---     [C declaration]: @SDL_GPU_FRONTFACE_COUNTER_CLOCKWISE@, defined at @SDL3\/SDL_gpu.h 1157:5@
+--     [C declaration]: @SDL_GPU_FRONTFACE_COUNTER_CLOCKWISE@, defined at @SDL3\/SDL_gpu.h 1159:5@
 pattern SDL_GPU_FRONTFACE_COUNTER_CLOCKWISE :: SDL_GPUFrontFace
 pattern SDL_GPU_FRONTFACE_COUNTER_CLOCKWISE = SDL_GPUFrontFace 0
 
 -- | A triangle with clockwise vertex winding will be considered front-facing.
 --
---     [C declaration]: @SDL_GPU_FRONTFACE_CLOCKWISE@, defined at @SDL3\/SDL_gpu.h 1158:5@
+--     [C declaration]: @SDL_GPU_FRONTFACE_CLOCKWISE@, defined at @SDL3\/SDL_gpu.h 1160:5@
 pattern SDL_GPU_FRONTFACE_CLOCKWISE :: SDL_GPUFrontFace
 pattern SDL_GPU_FRONTFACE_CLOCKWISE = SDL_GPUFrontFace 1
 
@@ -3636,7 +3638,7 @@
 --
 --     [See also]: 'sDL_CreateGPUGraphicsPipeline'
 --
---     [C declaration]: @enum SDL_GPUCompareOp@, defined at @SDL3\/SDL_gpu.h 1168:14@
+--     [C declaration]: @enum SDL_GPUCompareOp@, defined at @SDL3\/SDL_gpu.h 1170:14@
 newtype SDL_GPUCompareOp = SDL_GPUCompareOp
   { unwrap :: BG.CUInt
   }
@@ -3734,55 +3736,55 @@
 
   offset# = \_ -> \_ -> 0
 
--- | [C declaration]: @SDL_GPU_COMPAREOP_INVALID@, defined at @SDL3\/SDL_gpu.h 1170:5@
+-- | [C declaration]: @SDL_GPU_COMPAREOP_INVALID@, defined at @SDL3\/SDL_gpu.h 1172:5@
 pattern SDL_GPU_COMPAREOP_INVALID :: SDL_GPUCompareOp
 pattern SDL_GPU_COMPAREOP_INVALID = SDL_GPUCompareOp 0
 
 -- | The comparison always evaluates false.
 --
---     [C declaration]: @SDL_GPU_COMPAREOP_NEVER@, defined at @SDL3\/SDL_gpu.h 1171:5@
+--     [C declaration]: @SDL_GPU_COMPAREOP_NEVER@, defined at @SDL3\/SDL_gpu.h 1173:5@
 pattern SDL_GPU_COMPAREOP_NEVER :: SDL_GPUCompareOp
 pattern SDL_GPU_COMPAREOP_NEVER = SDL_GPUCompareOp 1
 
 -- | The comparison evaluates reference \< test.
 --
---     [C declaration]: @SDL_GPU_COMPAREOP_LESS@, defined at @SDL3\/SDL_gpu.h 1172:5@
+--     [C declaration]: @SDL_GPU_COMPAREOP_LESS@, defined at @SDL3\/SDL_gpu.h 1174:5@
 pattern SDL_GPU_COMPAREOP_LESS :: SDL_GPUCompareOp
 pattern SDL_GPU_COMPAREOP_LESS = SDL_GPUCompareOp 2
 
 -- | The comparison evaluates reference == test.
 --
---     [C declaration]: @SDL_GPU_COMPAREOP_EQUAL@, defined at @SDL3\/SDL_gpu.h 1173:5@
+--     [C declaration]: @SDL_GPU_COMPAREOP_EQUAL@, defined at @SDL3\/SDL_gpu.h 1175:5@
 pattern SDL_GPU_COMPAREOP_EQUAL :: SDL_GPUCompareOp
 pattern SDL_GPU_COMPAREOP_EQUAL = SDL_GPUCompareOp 3
 
 -- | The comparison evaluates reference \<= test.
 --
---     [C declaration]: @SDL_GPU_COMPAREOP_LESS_OR_EQUAL@, defined at @SDL3\/SDL_gpu.h 1174:5@
+--     [C declaration]: @SDL_GPU_COMPAREOP_LESS_OR_EQUAL@, defined at @SDL3\/SDL_gpu.h 1176:5@
 pattern SDL_GPU_COMPAREOP_LESS_OR_EQUAL :: SDL_GPUCompareOp
 pattern SDL_GPU_COMPAREOP_LESS_OR_EQUAL = SDL_GPUCompareOp 4
 
 -- | The comparison evaluates reference > test.
 --
---     [C declaration]: @SDL_GPU_COMPAREOP_GREATER@, defined at @SDL3\/SDL_gpu.h 1175:5@
+--     [C declaration]: @SDL_GPU_COMPAREOP_GREATER@, defined at @SDL3\/SDL_gpu.h 1177:5@
 pattern SDL_GPU_COMPAREOP_GREATER :: SDL_GPUCompareOp
 pattern SDL_GPU_COMPAREOP_GREATER = SDL_GPUCompareOp 5
 
 -- | The comparison evaluates reference != test.
 --
---     [C declaration]: @SDL_GPU_COMPAREOP_NOT_EQUAL@, defined at @SDL3\/SDL_gpu.h 1176:5@
+--     [C declaration]: @SDL_GPU_COMPAREOP_NOT_EQUAL@, defined at @SDL3\/SDL_gpu.h 1178:5@
 pattern SDL_GPU_COMPAREOP_NOT_EQUAL :: SDL_GPUCompareOp
 pattern SDL_GPU_COMPAREOP_NOT_EQUAL = SDL_GPUCompareOp 6
 
 -- | The comparison evaluates reference >= test.
 --
---     [C declaration]: @SDL_GPU_COMPAREOP_GREATER_OR_EQUAL@, defined at @SDL3\/SDL_gpu.h 1177:5@
+--     [C declaration]: @SDL_GPU_COMPAREOP_GREATER_OR_EQUAL@, defined at @SDL3\/SDL_gpu.h 1179:5@
 pattern SDL_GPU_COMPAREOP_GREATER_OR_EQUAL :: SDL_GPUCompareOp
 pattern SDL_GPU_COMPAREOP_GREATER_OR_EQUAL = SDL_GPUCompareOp 7
 
 -- | The comparison always evaluates true.
 --
---     [C declaration]: @SDL_GPU_COMPAREOP_ALWAYS@, defined at @SDL3\/SDL_gpu.h 1178:5@
+--     [C declaration]: @SDL_GPU_COMPAREOP_ALWAYS@, defined at @SDL3\/SDL_gpu.h 1180:5@
 pattern SDL_GPU_COMPAREOP_ALWAYS :: SDL_GPUCompareOp
 pattern SDL_GPU_COMPAREOP_ALWAYS = SDL_GPUCompareOp 8
 
@@ -3792,7 +3794,7 @@
 --
 --     [See also]: 'sDL_CreateGPUGraphicsPipeline'
 --
---     [C declaration]: @enum SDL_GPUStencilOp@, defined at @SDL3\/SDL_gpu.h 1189:14@
+--     [C declaration]: @enum SDL_GPUStencilOp@, defined at @SDL3\/SDL_gpu.h 1191:14@
 newtype SDL_GPUStencilOp = SDL_GPUStencilOp
   { unwrap :: BG.CUInt
   }
@@ -3891,55 +3893,55 @@
 
   offset# = \_ -> \_ -> 0
 
--- | [C declaration]: @SDL_GPU_STENCILOP_INVALID@, defined at @SDL3\/SDL_gpu.h 1191:5@
+-- | [C declaration]: @SDL_GPU_STENCILOP_INVALID@, defined at @SDL3\/SDL_gpu.h 1193:5@
 pattern SDL_GPU_STENCILOP_INVALID :: SDL_GPUStencilOp
 pattern SDL_GPU_STENCILOP_INVALID = SDL_GPUStencilOp 0
 
 -- | Keeps the current value.
 --
---     [C declaration]: @SDL_GPU_STENCILOP_KEEP@, defined at @SDL3\/SDL_gpu.h 1192:5@
+--     [C declaration]: @SDL_GPU_STENCILOP_KEEP@, defined at @SDL3\/SDL_gpu.h 1194:5@
 pattern SDL_GPU_STENCILOP_KEEP :: SDL_GPUStencilOp
 pattern SDL_GPU_STENCILOP_KEEP = SDL_GPUStencilOp 1
 
 -- | Sets the value to 0.
 --
---     [C declaration]: @SDL_GPU_STENCILOP_ZERO@, defined at @SDL3\/SDL_gpu.h 1193:5@
+--     [C declaration]: @SDL_GPU_STENCILOP_ZERO@, defined at @SDL3\/SDL_gpu.h 1195:5@
 pattern SDL_GPU_STENCILOP_ZERO :: SDL_GPUStencilOp
 pattern SDL_GPU_STENCILOP_ZERO = SDL_GPUStencilOp 2
 
 -- | Sets the value to reference.
 --
---     [C declaration]: @SDL_GPU_STENCILOP_REPLACE@, defined at @SDL3\/SDL_gpu.h 1194:5@
+--     [C declaration]: @SDL_GPU_STENCILOP_REPLACE@, defined at @SDL3\/SDL_gpu.h 1196:5@
 pattern SDL_GPU_STENCILOP_REPLACE :: SDL_GPUStencilOp
 pattern SDL_GPU_STENCILOP_REPLACE = SDL_GPUStencilOp 3
 
 -- | Increments the current value and clamps to the maximum value.
 --
---     [C declaration]: @SDL_GPU_STENCILOP_INCREMENT_AND_CLAMP@, defined at @SDL3\/SDL_gpu.h 1195:5@
+--     [C declaration]: @SDL_GPU_STENCILOP_INCREMENT_AND_CLAMP@, defined at @SDL3\/SDL_gpu.h 1197:5@
 pattern SDL_GPU_STENCILOP_INCREMENT_AND_CLAMP :: SDL_GPUStencilOp
 pattern SDL_GPU_STENCILOP_INCREMENT_AND_CLAMP = SDL_GPUStencilOp 4
 
 -- | Decrements the current value and clamps to 0.
 --
---     [C declaration]: @SDL_GPU_STENCILOP_DECREMENT_AND_CLAMP@, defined at @SDL3\/SDL_gpu.h 1196:5@
+--     [C declaration]: @SDL_GPU_STENCILOP_DECREMENT_AND_CLAMP@, defined at @SDL3\/SDL_gpu.h 1198:5@
 pattern SDL_GPU_STENCILOP_DECREMENT_AND_CLAMP :: SDL_GPUStencilOp
 pattern SDL_GPU_STENCILOP_DECREMENT_AND_CLAMP = SDL_GPUStencilOp 5
 
 -- | Bitwise-inverts the current value.
 --
---     [C declaration]: @SDL_GPU_STENCILOP_INVERT@, defined at @SDL3\/SDL_gpu.h 1197:5@
+--     [C declaration]: @SDL_GPU_STENCILOP_INVERT@, defined at @SDL3\/SDL_gpu.h 1199:5@
 pattern SDL_GPU_STENCILOP_INVERT :: SDL_GPUStencilOp
 pattern SDL_GPU_STENCILOP_INVERT = SDL_GPUStencilOp 6
 
 -- | Increments the current value and wraps back to 0.
 --
---     [C declaration]: @SDL_GPU_STENCILOP_INCREMENT_AND_WRAP@, defined at @SDL3\/SDL_gpu.h 1198:5@
+--     [C declaration]: @SDL_GPU_STENCILOP_INCREMENT_AND_WRAP@, defined at @SDL3\/SDL_gpu.h 1200:5@
 pattern SDL_GPU_STENCILOP_INCREMENT_AND_WRAP :: SDL_GPUStencilOp
 pattern SDL_GPU_STENCILOP_INCREMENT_AND_WRAP = SDL_GPUStencilOp 7
 
 -- | Decrements the current value and wraps to the maximum value.
 --
---     [C declaration]: @SDL_GPU_STENCILOP_DECREMENT_AND_WRAP@, defined at @SDL3\/SDL_gpu.h 1199:5@
+--     [C declaration]: @SDL_GPU_STENCILOP_DECREMENT_AND_WRAP@, defined at @SDL3\/SDL_gpu.h 1201:5@
 pattern SDL_GPU_STENCILOP_DECREMENT_AND_WRAP :: SDL_GPUStencilOp
 pattern SDL_GPU_STENCILOP_DECREMENT_AND_WRAP = SDL_GPUStencilOp 8
 
@@ -3951,7 +3953,7 @@
 --
 --     [See also]: 'sDL_CreateGPUGraphicsPipeline'
 --
---     [C declaration]: @enum SDL_GPUBlendOp@, defined at @SDL3\/SDL_gpu.h 1213:14@
+--     [C declaration]: @enum SDL_GPUBlendOp@, defined at @SDL3\/SDL_gpu.h 1215:14@
 newtype SDL_GPUBlendOp = SDL_GPUBlendOp
   { unwrap :: BG.CUInt
   }
@@ -4046,37 +4048,37 @@
 
   offset# = \_ -> \_ -> 0
 
--- | [C declaration]: @SDL_GPU_BLENDOP_INVALID@, defined at @SDL3\/SDL_gpu.h 1215:5@
+-- | [C declaration]: @SDL_GPU_BLENDOP_INVALID@, defined at @SDL3\/SDL_gpu.h 1217:5@
 pattern SDL_GPU_BLENDOP_INVALID :: SDL_GPUBlendOp
 pattern SDL_GPU_BLENDOP_INVALID = SDL_GPUBlendOp 0
 
 -- | (source * source_factor) + (destination * destination_factor)
 --
---     [C declaration]: @SDL_GPU_BLENDOP_ADD@, defined at @SDL3\/SDL_gpu.h 1216:5@
+--     [C declaration]: @SDL_GPU_BLENDOP_ADD@, defined at @SDL3\/SDL_gpu.h 1218:5@
 pattern SDL_GPU_BLENDOP_ADD :: SDL_GPUBlendOp
 pattern SDL_GPU_BLENDOP_ADD = SDL_GPUBlendOp 1
 
 -- | (source * source_factor) - (destination * destination_factor)
 --
---     [C declaration]: @SDL_GPU_BLENDOP_SUBTRACT@, defined at @SDL3\/SDL_gpu.h 1217:5@
+--     [C declaration]: @SDL_GPU_BLENDOP_SUBTRACT@, defined at @SDL3\/SDL_gpu.h 1219:5@
 pattern SDL_GPU_BLENDOP_SUBTRACT :: SDL_GPUBlendOp
 pattern SDL_GPU_BLENDOP_SUBTRACT = SDL_GPUBlendOp 2
 
 -- | (destination * destination_factor) - (source * source_factor)
 --
---     [C declaration]: @SDL_GPU_BLENDOP_REVERSE_SUBTRACT@, defined at @SDL3\/SDL_gpu.h 1218:5@
+--     [C declaration]: @SDL_GPU_BLENDOP_REVERSE_SUBTRACT@, defined at @SDL3\/SDL_gpu.h 1220:5@
 pattern SDL_GPU_BLENDOP_REVERSE_SUBTRACT :: SDL_GPUBlendOp
 pattern SDL_GPU_BLENDOP_REVERSE_SUBTRACT = SDL_GPUBlendOp 3
 
 -- | min(source, destination)
 --
---     [C declaration]: @SDL_GPU_BLENDOP_MIN@, defined at @SDL3\/SDL_gpu.h 1219:5@
+--     [C declaration]: @SDL_GPU_BLENDOP_MIN@, defined at @SDL3\/SDL_gpu.h 1221:5@
 pattern SDL_GPU_BLENDOP_MIN :: SDL_GPUBlendOp
 pattern SDL_GPU_BLENDOP_MIN = SDL_GPUBlendOp 4
 
 -- | max(source, destination)
 --
---     [C declaration]: @SDL_GPU_BLENDOP_MAX@, defined at @SDL3\/SDL_gpu.h 1220:5@
+--     [C declaration]: @SDL_GPU_BLENDOP_MAX@, defined at @SDL3\/SDL_gpu.h 1222:5@
 pattern SDL_GPU_BLENDOP_MAX :: SDL_GPUBlendOp
 pattern SDL_GPU_BLENDOP_MAX = SDL_GPUBlendOp 5
 
@@ -4088,7 +4090,7 @@
 --
 --     [See also]: 'sDL_CreateGPUGraphicsPipeline'
 --
---     [C declaration]: @enum SDL_GPUBlendFactor@, defined at @SDL3\/SDL_gpu.h 1234:14@
+--     [C declaration]: @enum SDL_GPUBlendFactor@, defined at @SDL3\/SDL_gpu.h 1236:14@
 newtype SDL_GPUBlendFactor = SDL_GPUBlendFactor
   { unwrap :: BG.CUInt
   }
@@ -4194,85 +4196,85 @@
 
   offset# = \_ -> \_ -> 0
 
--- | [C declaration]: @SDL_GPU_BLENDFACTOR_INVALID@, defined at @SDL3\/SDL_gpu.h 1236:5@
+-- | [C declaration]: @SDL_GPU_BLENDFACTOR_INVALID@, defined at @SDL3\/SDL_gpu.h 1238:5@
 pattern SDL_GPU_BLENDFACTOR_INVALID :: SDL_GPUBlendFactor
 pattern SDL_GPU_BLENDFACTOR_INVALID = SDL_GPUBlendFactor 0
 
 -- | 0
 --
---     [C declaration]: @SDL_GPU_BLENDFACTOR_ZERO@, defined at @SDL3\/SDL_gpu.h 1237:5@
+--     [C declaration]: @SDL_GPU_BLENDFACTOR_ZERO@, defined at @SDL3\/SDL_gpu.h 1239:5@
 pattern SDL_GPU_BLENDFACTOR_ZERO :: SDL_GPUBlendFactor
 pattern SDL_GPU_BLENDFACTOR_ZERO = SDL_GPUBlendFactor 1
 
 -- | 1
 --
---     [C declaration]: @SDL_GPU_BLENDFACTOR_ONE@, defined at @SDL3\/SDL_gpu.h 1238:5@
+--     [C declaration]: @SDL_GPU_BLENDFACTOR_ONE@, defined at @SDL3\/SDL_gpu.h 1240:5@
 pattern SDL_GPU_BLENDFACTOR_ONE :: SDL_GPUBlendFactor
 pattern SDL_GPU_BLENDFACTOR_ONE = SDL_GPUBlendFactor 2
 
 -- | source color
 --
---     [C declaration]: @SDL_GPU_BLENDFACTOR_SRC_COLOR@, defined at @SDL3\/SDL_gpu.h 1239:5@
+--     [C declaration]: @SDL_GPU_BLENDFACTOR_SRC_COLOR@, defined at @SDL3\/SDL_gpu.h 1241:5@
 pattern SDL_GPU_BLENDFACTOR_SRC_COLOR :: SDL_GPUBlendFactor
 pattern SDL_GPU_BLENDFACTOR_SRC_COLOR = SDL_GPUBlendFactor 3
 
 -- | 1 - source color
 --
---     [C declaration]: @SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_COLOR@, defined at @SDL3\/SDL_gpu.h 1240:5@
+--     [C declaration]: @SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_COLOR@, defined at @SDL3\/SDL_gpu.h 1242:5@
 pattern SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_COLOR :: SDL_GPUBlendFactor
 pattern SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_COLOR = SDL_GPUBlendFactor 4
 
 -- | destination color
 --
---     [C declaration]: @SDL_GPU_BLENDFACTOR_DST_COLOR@, defined at @SDL3\/SDL_gpu.h 1241:5@
+--     [C declaration]: @SDL_GPU_BLENDFACTOR_DST_COLOR@, defined at @SDL3\/SDL_gpu.h 1243:5@
 pattern SDL_GPU_BLENDFACTOR_DST_COLOR :: SDL_GPUBlendFactor
 pattern SDL_GPU_BLENDFACTOR_DST_COLOR = SDL_GPUBlendFactor 5
 
 -- | 1 - destination color
 --
---     [C declaration]: @SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_COLOR@, defined at @SDL3\/SDL_gpu.h 1242:5@
+--     [C declaration]: @SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_COLOR@, defined at @SDL3\/SDL_gpu.h 1244:5@
 pattern SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_COLOR :: SDL_GPUBlendFactor
 pattern SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_COLOR = SDL_GPUBlendFactor 6
 
 -- | source alpha
 --
---     [C declaration]: @SDL_GPU_BLENDFACTOR_SRC_ALPHA@, defined at @SDL3\/SDL_gpu.h 1243:5@
+--     [C declaration]: @SDL_GPU_BLENDFACTOR_SRC_ALPHA@, defined at @SDL3\/SDL_gpu.h 1245:5@
 pattern SDL_GPU_BLENDFACTOR_SRC_ALPHA :: SDL_GPUBlendFactor
 pattern SDL_GPU_BLENDFACTOR_SRC_ALPHA = SDL_GPUBlendFactor 7
 
 -- | 1 - source alpha
 --
---     [C declaration]: @SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_ALPHA@, defined at @SDL3\/SDL_gpu.h 1244:5@
+--     [C declaration]: @SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_ALPHA@, defined at @SDL3\/SDL_gpu.h 1246:5@
 pattern SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_ALPHA :: SDL_GPUBlendFactor
 pattern SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_ALPHA = SDL_GPUBlendFactor 8
 
 -- | destination alpha
 --
---     [C declaration]: @SDL_GPU_BLENDFACTOR_DST_ALPHA@, defined at @SDL3\/SDL_gpu.h 1245:5@
+--     [C declaration]: @SDL_GPU_BLENDFACTOR_DST_ALPHA@, defined at @SDL3\/SDL_gpu.h 1247:5@
 pattern SDL_GPU_BLENDFACTOR_DST_ALPHA :: SDL_GPUBlendFactor
 pattern SDL_GPU_BLENDFACTOR_DST_ALPHA = SDL_GPUBlendFactor 9
 
 -- | 1 - destination alpha
 --
---     [C declaration]: @SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_ALPHA@, defined at @SDL3\/SDL_gpu.h 1246:5@
+--     [C declaration]: @SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_ALPHA@, defined at @SDL3\/SDL_gpu.h 1248:5@
 pattern SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_ALPHA :: SDL_GPUBlendFactor
 pattern SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_ALPHA = SDL_GPUBlendFactor 10
 
 -- | blend constant
 --
---     [C declaration]: @SDL_GPU_BLENDFACTOR_CONSTANT_COLOR@, defined at @SDL3\/SDL_gpu.h 1247:5@
+--     [C declaration]: @SDL_GPU_BLENDFACTOR_CONSTANT_COLOR@, defined at @SDL3\/SDL_gpu.h 1249:5@
 pattern SDL_GPU_BLENDFACTOR_CONSTANT_COLOR :: SDL_GPUBlendFactor
 pattern SDL_GPU_BLENDFACTOR_CONSTANT_COLOR = SDL_GPUBlendFactor 11
 
 -- | 1 - blend constant
 --
---     [C declaration]: @SDL_GPU_BLENDFACTOR_ONE_MINUS_CONSTANT_COLOR@, defined at @SDL3\/SDL_gpu.h 1248:5@
+--     [C declaration]: @SDL_GPU_BLENDFACTOR_ONE_MINUS_CONSTANT_COLOR@, defined at @SDL3\/SDL_gpu.h 1250:5@
 pattern SDL_GPU_BLENDFACTOR_ONE_MINUS_CONSTANT_COLOR :: SDL_GPUBlendFactor
 pattern SDL_GPU_BLENDFACTOR_ONE_MINUS_CONSTANT_COLOR = SDL_GPUBlendFactor 12
 
 -- | min(source alpha, 1 - destination alpha)
 --
---     [C declaration]: @SDL_GPU_BLENDFACTOR_SRC_ALPHA_SATURATE@, defined at @SDL3\/SDL_gpu.h 1249:5@
+--     [C declaration]: @SDL_GPU_BLENDFACTOR_SRC_ALPHA_SATURATE@, defined at @SDL3\/SDL_gpu.h 1251:5@
 pattern SDL_GPU_BLENDFACTOR_SRC_ALPHA_SATURATE :: SDL_GPUBlendFactor
 pattern SDL_GPU_BLENDFACTOR_SRC_ALPHA_SATURATE = SDL_GPUBlendFactor 13
 
@@ -4282,7 +4284,7 @@
 --
 --     [See also]: 'sDL_CreateGPUGraphicsPipeline'
 --
---     [C declaration]: @SDL_GPUColorComponentFlags@, defined at @SDL3\/SDL_gpu.h 1259:15@
+--     [C declaration]: @SDL_GPUColorComponentFlags@, defined at @SDL3\/SDL_gpu.h 1261:15@
 newtype SDL_GPUColorComponentFlags = SDL_GPUColorComponentFlags
   { unwrap :: SDL3.Sys.Bindgen.Stdinc.Uint8
   }
@@ -4331,28 +4333,28 @@
 
 -- | the red component
 --
---     [C declaration]: @macro SDL_GPU_COLORCOMPONENT_R@, defined at @SDL3\/SDL_gpu.h 1261:9@
+--     [C declaration]: @macro SDL_GPU_COLORCOMPONENT_R@, defined at @SDL3\/SDL_gpu.h 1263:9@
 sDL_GPU_COLORCOMPONENT_R :: BG.CUInt
 sDL_GPU_COLORCOMPONENT_R =
   (C.Expr.HostPlatform.<<) (1 :: BG.CUInt) (0 :: BG.CInt)
 
 -- | the green component
 --
---     [C declaration]: @macro SDL_GPU_COLORCOMPONENT_G@, defined at @SDL3\/SDL_gpu.h 1262:9@
+--     [C declaration]: @macro SDL_GPU_COLORCOMPONENT_G@, defined at @SDL3\/SDL_gpu.h 1264:9@
 sDL_GPU_COLORCOMPONENT_G :: BG.CUInt
 sDL_GPU_COLORCOMPONENT_G =
   (C.Expr.HostPlatform.<<) (1 :: BG.CUInt) (1 :: BG.CInt)
 
 -- | the blue component
 --
---     [C declaration]: @macro SDL_GPU_COLORCOMPONENT_B@, defined at @SDL3\/SDL_gpu.h 1263:9@
+--     [C declaration]: @macro SDL_GPU_COLORCOMPONENT_B@, defined at @SDL3\/SDL_gpu.h 1265:9@
 sDL_GPU_COLORCOMPONENT_B :: BG.CUInt
 sDL_GPU_COLORCOMPONENT_B =
   (C.Expr.HostPlatform.<<) (1 :: BG.CUInt) (2 :: BG.CInt)
 
 -- | the alpha component
 --
---     [C declaration]: @macro SDL_GPU_COLORCOMPONENT_A@, defined at @SDL3\/SDL_gpu.h 1264:9@
+--     [C declaration]: @macro SDL_GPU_COLORCOMPONENT_A@, defined at @SDL3\/SDL_gpu.h 1266:9@
 sDL_GPU_COLORCOMPONENT_A :: BG.CUInt
 sDL_GPU_COLORCOMPONENT_A =
   (C.Expr.HostPlatform.<<) (1 :: BG.CUInt) (3 :: BG.CInt)
@@ -4363,7 +4365,7 @@
 --
 --     [See also]: 'sDL_CreateGPUSampler'
 --
---     [C declaration]: @enum SDL_GPUFilter@, defined at @SDL3\/SDL_gpu.h 1273:14@
+--     [C declaration]: @enum SDL_GPUFilter@, defined at @SDL3\/SDL_gpu.h 1275:14@
 newtype SDL_GPUFilter = SDL_GPUFilter
   { unwrap :: BG.CUInt
   }
@@ -4456,13 +4458,13 @@
 
 -- | Point filtering.
 --
---     [C declaration]: @SDL_GPU_FILTER_NEAREST@, defined at @SDL3\/SDL_gpu.h 1275:5@
+--     [C declaration]: @SDL_GPU_FILTER_NEAREST@, defined at @SDL3\/SDL_gpu.h 1277:5@
 pattern SDL_GPU_FILTER_NEAREST :: SDL_GPUFilter
 pattern SDL_GPU_FILTER_NEAREST = SDL_GPUFilter 0
 
 -- | Linear filtering.
 --
---     [C declaration]: @SDL_GPU_FILTER_LINEAR@, defined at @SDL3\/SDL_gpu.h 1276:5@
+--     [C declaration]: @SDL_GPU_FILTER_LINEAR@, defined at @SDL3\/SDL_gpu.h 1278:5@
 pattern SDL_GPU_FILTER_LINEAR :: SDL_GPUFilter
 pattern SDL_GPU_FILTER_LINEAR = SDL_GPUFilter 1
 
@@ -4472,7 +4474,7 @@
 --
 --     [See also]: 'sDL_CreateGPUSampler'
 --
---     [C declaration]: @enum SDL_GPUSamplerMipmapMode@, defined at @SDL3\/SDL_gpu.h 1286:14@
+--     [C declaration]: @enum SDL_GPUSamplerMipmapMode@, defined at @SDL3\/SDL_gpu.h 1288:14@
 newtype SDL_GPUSamplerMipmapMode = SDL_GPUSamplerMipmapMode
   { unwrap :: BG.CUInt
   }
@@ -4570,13 +4572,13 @@
 
 -- | Point filtering.
 --
---     [C declaration]: @SDL_GPU_SAMPLERMIPMAPMODE_NEAREST@, defined at @SDL3\/SDL_gpu.h 1288:5@
+--     [C declaration]: @SDL_GPU_SAMPLERMIPMAPMODE_NEAREST@, defined at @SDL3\/SDL_gpu.h 1290:5@
 pattern SDL_GPU_SAMPLERMIPMAPMODE_NEAREST :: SDL_GPUSamplerMipmapMode
 pattern SDL_GPU_SAMPLERMIPMAPMODE_NEAREST = SDL_GPUSamplerMipmapMode 0
 
 -- | Linear filtering.
 --
---     [C declaration]: @SDL_GPU_SAMPLERMIPMAPMODE_LINEAR@, defined at @SDL3\/SDL_gpu.h 1289:5@
+--     [C declaration]: @SDL_GPU_SAMPLERMIPMAPMODE_LINEAR@, defined at @SDL3\/SDL_gpu.h 1291:5@
 pattern SDL_GPU_SAMPLERMIPMAPMODE_LINEAR :: SDL_GPUSamplerMipmapMode
 pattern SDL_GPU_SAMPLERMIPMAPMODE_LINEAR = SDL_GPUSamplerMipmapMode 1
 
@@ -4586,7 +4588,7 @@
 --
 --     [See also]: 'sDL_CreateGPUSampler'
 --
---     [C declaration]: @enum SDL_GPUSamplerAddressMode@, defined at @SDL3\/SDL_gpu.h 1300:14@
+--     [C declaration]: @enum SDL_GPUSamplerAddressMode@, defined at @SDL3\/SDL_gpu.h 1302:14@
 newtype SDL_GPUSamplerAddressMode = SDL_GPUSamplerAddressMode
   { unwrap :: BG.CUInt
   }
@@ -4686,19 +4688,19 @@
 
 -- | Specifies that the coordinates will wrap around.
 --
---     [C declaration]: @SDL_GPU_SAMPLERADDRESSMODE_REPEAT@, defined at @SDL3\/SDL_gpu.h 1302:5@
+--     [C declaration]: @SDL_GPU_SAMPLERADDRESSMODE_REPEAT@, defined at @SDL3\/SDL_gpu.h 1304:5@
 pattern SDL_GPU_SAMPLERADDRESSMODE_REPEAT :: SDL_GPUSamplerAddressMode
 pattern SDL_GPU_SAMPLERADDRESSMODE_REPEAT = SDL_GPUSamplerAddressMode 0
 
 -- | Specifies that the coordinates will wrap around mirrored.
 --
---     [C declaration]: @SDL_GPU_SAMPLERADDRESSMODE_MIRRORED_REPEAT@, defined at @SDL3\/SDL_gpu.h 1303:5@
+--     [C declaration]: @SDL_GPU_SAMPLERADDRESSMODE_MIRRORED_REPEAT@, defined at @SDL3\/SDL_gpu.h 1305:5@
 pattern SDL_GPU_SAMPLERADDRESSMODE_MIRRORED_REPEAT :: SDL_GPUSamplerAddressMode
 pattern SDL_GPU_SAMPLERADDRESSMODE_MIRRORED_REPEAT = SDL_GPUSamplerAddressMode 1
 
 -- | Specifies that the coordinates will clamp to the 0-1 range.
 --
---     [C declaration]: @SDL_GPU_SAMPLERADDRESSMODE_CLAMP_TO_EDGE@, defined at @SDL3\/SDL_gpu.h 1304:5@
+--     [C declaration]: @SDL_GPU_SAMPLERADDRESSMODE_CLAMP_TO_EDGE@, defined at @SDL3\/SDL_gpu.h 1306:5@
 pattern SDL_GPU_SAMPLERADDRESSMODE_CLAMP_TO_EDGE :: SDL_GPUSamplerAddressMode
 pattern SDL_GPU_SAMPLERADDRESSMODE_CLAMP_TO_EDGE = SDL_GPUSamplerAddressMode 2
 
@@ -4718,7 +4720,7 @@
 --
 --     [See also]: 'sDL_SetGPUSwapchainParameters', 'sDL_WindowSupportsGPUPresentMode', 'sDL_WaitAndAcquireGPUSwapchainTexture'
 --
---     [C declaration]: @enum SDL_GPUPresentMode@, defined at @SDL3\/SDL_gpu.h 1332:14@
+--     [C declaration]: @enum SDL_GPUPresentMode@, defined at @SDL3\/SDL_gpu.h 1334:14@
 newtype SDL_GPUPresentMode = SDL_GPUPresentMode
   { unwrap :: BG.CUInt
   }
@@ -4812,15 +4814,15 @@
 
   offset# = \_ -> \_ -> 0
 
--- | [C declaration]: @SDL_GPU_PRESENTMODE_VSYNC@, defined at @SDL3\/SDL_gpu.h 1334:5@
+-- | [C declaration]: @SDL_GPU_PRESENTMODE_VSYNC@, defined at @SDL3\/SDL_gpu.h 1336:5@
 pattern SDL_GPU_PRESENTMODE_VSYNC :: SDL_GPUPresentMode
 pattern SDL_GPU_PRESENTMODE_VSYNC = SDL_GPUPresentMode 0
 
--- | [C declaration]: @SDL_GPU_PRESENTMODE_IMMEDIATE@, defined at @SDL3\/SDL_gpu.h 1335:5@
+-- | [C declaration]: @SDL_GPU_PRESENTMODE_IMMEDIATE@, defined at @SDL3\/SDL_gpu.h 1337:5@
 pattern SDL_GPU_PRESENTMODE_IMMEDIATE :: SDL_GPUPresentMode
 pattern SDL_GPU_PRESENTMODE_IMMEDIATE = SDL_GPUPresentMode 1
 
--- | [C declaration]: @SDL_GPU_PRESENTMODE_MAILBOX@, defined at @SDL3\/SDL_gpu.h 1336:5@
+-- | [C declaration]: @SDL_GPU_PRESENTMODE_MAILBOX@, defined at @SDL3\/SDL_gpu.h 1338:5@
 pattern SDL_GPU_PRESENTMODE_MAILBOX :: SDL_GPUPresentMode
 pattern SDL_GPU_PRESENTMODE_MAILBOX = SDL_GPUPresentMode 2
 
@@ -4842,7 +4844,7 @@
 --
 --     [See also]: 'sDL_SetGPUSwapchainParameters', 'sDL_WindowSupportsGPUSwapchainComposition', 'sDL_WaitAndAcquireGPUSwapchainTexture'
 --
---     [C declaration]: @enum SDL_GPUSwapchainComposition@, defined at @SDL3\/SDL_gpu.h 1365:14@
+--     [C declaration]: @enum SDL_GPUSwapchainComposition@, defined at @SDL3\/SDL_gpu.h 1367:14@
 newtype SDL_GPUSwapchainComposition = SDL_GPUSwapchainComposition
   { unwrap :: BG.CUInt
   }
@@ -4941,19 +4943,19 @@
 
   offset# = \_ -> \_ -> 0
 
--- | [C declaration]: @SDL_GPU_SWAPCHAINCOMPOSITION_SDR@, defined at @SDL3\/SDL_gpu.h 1367:5@
+-- | [C declaration]: @SDL_GPU_SWAPCHAINCOMPOSITION_SDR@, defined at @SDL3\/SDL_gpu.h 1369:5@
 pattern SDL_GPU_SWAPCHAINCOMPOSITION_SDR :: SDL_GPUSwapchainComposition
 pattern SDL_GPU_SWAPCHAINCOMPOSITION_SDR = SDL_GPUSwapchainComposition 0
 
--- | [C declaration]: @SDL_GPU_SWAPCHAINCOMPOSITION_SDR_LINEAR@, defined at @SDL3\/SDL_gpu.h 1368:5@
+-- | [C declaration]: @SDL_GPU_SWAPCHAINCOMPOSITION_SDR_LINEAR@, defined at @SDL3\/SDL_gpu.h 1370:5@
 pattern SDL_GPU_SWAPCHAINCOMPOSITION_SDR_LINEAR :: SDL_GPUSwapchainComposition
 pattern SDL_GPU_SWAPCHAINCOMPOSITION_SDR_LINEAR = SDL_GPUSwapchainComposition 1
 
--- | [C declaration]: @SDL_GPU_SWAPCHAINCOMPOSITION_HDR_EXTENDED_LINEAR@, defined at @SDL3\/SDL_gpu.h 1369:5@
+-- | [C declaration]: @SDL_GPU_SWAPCHAINCOMPOSITION_HDR_EXTENDED_LINEAR@, defined at @SDL3\/SDL_gpu.h 1371:5@
 pattern SDL_GPU_SWAPCHAINCOMPOSITION_HDR_EXTENDED_LINEAR :: SDL_GPUSwapchainComposition
 pattern SDL_GPU_SWAPCHAINCOMPOSITION_HDR_EXTENDED_LINEAR = SDL_GPUSwapchainComposition 2
 
--- | [C declaration]: @SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2084@, defined at @SDL3\/SDL_gpu.h 1370:5@
+-- | [C declaration]: @SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2084@, defined at @SDL3\/SDL_gpu.h 1372:5@
 pattern SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2084 :: SDL_GPUSwapchainComposition
 pattern SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2084 = SDL_GPUSwapchainComposition 3
 
@@ -4963,32 +4965,32 @@
 --
 --     [See also]: 'sDL_SetGPUViewport'
 --
---     [C declaration]: @struct SDL_GPUViewport@, defined at @SDL3\/SDL_gpu.h 1382:16@
+--     [C declaration]: @struct SDL_GPUViewport@, defined at @SDL3\/SDL_gpu.h 1384:16@
 data SDL_GPUViewport = SDL_GPUViewport
   { x :: BG.CFloat
   -- ^ The left offset of the viewport.
   --
-  --          [C declaration]: @x@, defined at @SDL3\/SDL_gpu.h 1384:11@
+  --          [C declaration]: @x@, defined at @SDL3\/SDL_gpu.h 1386:11@
   , y :: BG.CFloat
   -- ^ The top offset of the viewport.
   --
-  --          [C declaration]: @y@, defined at @SDL3\/SDL_gpu.h 1385:11@
+  --          [C declaration]: @y@, defined at @SDL3\/SDL_gpu.h 1387:11@
   , w :: BG.CFloat
   -- ^ The width of the viewport.
   --
-  --          [C declaration]: @w@, defined at @SDL3\/SDL_gpu.h 1386:11@
+  --          [C declaration]: @w@, defined at @SDL3\/SDL_gpu.h 1388:11@
   , h :: BG.CFloat
   -- ^ The height of the viewport.
   --
-  --          [C declaration]: @h@, defined at @SDL3\/SDL_gpu.h 1387:11@
+  --          [C declaration]: @h@, defined at @SDL3\/SDL_gpu.h 1389:11@
   , min_depth :: BG.CFloat
   -- ^ The minimum depth of the viewport.
   --
-  --          [C declaration]: @min_depth@, defined at @SDL3\/SDL_gpu.h 1388:11@
+  --          [C declaration]: @min_depth@, defined at @SDL3\/SDL_gpu.h 1390:11@
   , max_depth :: BG.CFloat
   -- ^ The maximum depth of the viewport.
   --
-  --          [C declaration]: @max_depth@, defined at @SDL3\/SDL_gpu.h 1389:11@
+  --          [C declaration]: @max_depth@, defined at @SDL3\/SDL_gpu.h 1391:11@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -5209,26 +5211,26 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'sDL_UploadToGPUTexture', 'sDL_DownloadFromGPUTexture'
+--     [See also]: 'sDL_UploadToGPUTexture', 'sDL_DownloadFromGPUTexture', 'SDL_GPUTransferBuffer'
 --
---     [C declaration]: @struct SDL_GPUTextureTransferInfo@, defined at @SDL3\/SDL_gpu.h 1413:16@
+--     [C declaration]: @struct SDL_GPUTextureTransferInfo@, defined at @SDL3\/SDL_gpu.h 1416:16@
 data SDL_GPUTextureTransferInfo = SDL_GPUTextureTransferInfo
   { transfer_buffer :: BG.Ptr SDL_GPUTransferBuffer
   -- ^ The transfer buffer used in the transfer operation.
   --
-  --          [C declaration]: @transfer_buffer@, defined at @SDL3\/SDL_gpu.h 1415:28@
+  --          [C declaration]: @transfer_buffer@, defined at @SDL3\/SDL_gpu.h 1418:28@
   , offset :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The starting byte of the image data in the transfer buffer.
   --
-  --          [C declaration]: @offset@, defined at @SDL3\/SDL_gpu.h 1416:12@
+  --          [C declaration]: @offset@, defined at @SDL3\/SDL_gpu.h 1419:12@
   , pixels_per_row :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of pixels from one row to the next.
   --
-  --          [C declaration]: @pixels_per_row@, defined at @SDL3\/SDL_gpu.h 1417:12@
+  --          [C declaration]: @pixels_per_row@, defined at @SDL3\/SDL_gpu.h 1420:12@
   , rows_per_layer :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of rows from one layer\/depth-slice to the next.
   --
-  --          [C declaration]: @rows_per_layer@, defined at @SDL3\/SDL_gpu.h 1418:12@
+  --          [C declaration]: @rows_per_layer@, defined at @SDL3\/SDL_gpu.h 1421:12@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -5391,18 +5393,18 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'sDL_UploadToGPUBuffer', 'sDL_DownloadFromGPUBuffer'
+--     [See also]: 'sDL_UploadToGPUBuffer', 'sDL_DownloadFromGPUBuffer', 'SDL_GPUTransferBuffer'
 --
---     [C declaration]: @struct SDL_GPUTransferBufferLocation@, defined at @SDL3\/SDL_gpu.h 1431:16@
+--     [C declaration]: @struct SDL_GPUTransferBufferLocation@, defined at @SDL3\/SDL_gpu.h 1435:16@
 data SDL_GPUTransferBufferLocation = SDL_GPUTransferBufferLocation
   { transfer_buffer :: BG.Ptr SDL_GPUTransferBuffer
   -- ^ The transfer buffer used in the transfer operation.
   --
-  --          [C declaration]: @transfer_buffer@, defined at @SDL3\/SDL_gpu.h 1433:28@
+  --          [C declaration]: @transfer_buffer@, defined at @SDL3\/SDL_gpu.h 1437:28@
   , offset :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The starting byte of the buffer data in the transfer buffer.
   --
-  --          [C declaration]: @offset@, defined at @SDL3\/SDL_gpu.h 1434:12@
+  --          [C declaration]: @offset@, defined at @SDL3\/SDL_gpu.h 1438:12@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -5487,34 +5489,34 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'sDL_CopyGPUTextureToTexture'
+--     [See also]: 'sDL_CopyGPUTextureToTexture', 'SDL_GPUTexture'
 --
---     [C declaration]: @struct SDL_GPUTextureLocation@, defined at @SDL3\/SDL_gpu.h 1446:16@
+--     [C declaration]: @struct SDL_GPUTextureLocation@, defined at @SDL3\/SDL_gpu.h 1451:16@
 data SDL_GPUTextureLocation = SDL_GPUTextureLocation
   { texture :: BG.Ptr SDL_GPUTexture
   -- ^ The texture used in the copy operation.
   --
-  --          [C declaration]: @texture@, defined at @SDL3\/SDL_gpu.h 1448:21@
+  --          [C declaration]: @texture@, defined at @SDL3\/SDL_gpu.h 1453:21@
   , mip_level :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The mip level index of the location.
   --
-  --          [C declaration]: @mip_level@, defined at @SDL3\/SDL_gpu.h 1449:12@
+  --          [C declaration]: @mip_level@, defined at @SDL3\/SDL_gpu.h 1454:12@
   , layer :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The layer index of the location.
   --
-  --          [C declaration]: @layer@, defined at @SDL3\/SDL_gpu.h 1450:12@
+  --          [C declaration]: @layer@, defined at @SDL3\/SDL_gpu.h 1455:12@
   , x :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The left offset of the location.
   --
-  --          [C declaration]: @x@, defined at @SDL3\/SDL_gpu.h 1451:12@
+  --          [C declaration]: @x@, defined at @SDL3\/SDL_gpu.h 1456:12@
   , y :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The top offset of the location.
   --
-  --          [C declaration]: @y@, defined at @SDL3\/SDL_gpu.h 1452:12@
+  --          [C declaration]: @y@, defined at @SDL3\/SDL_gpu.h 1457:12@
   , z :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The front offset of the location.
   --
-  --          [C declaration]: @z@, defined at @SDL3\/SDL_gpu.h 1453:12@
+  --          [C declaration]: @z@, defined at @SDL3\/SDL_gpu.h 1458:12@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -5744,46 +5746,46 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'sDL_UploadToGPUTexture', 'sDL_DownloadFromGPUTexture', 'sDL_CreateGPUTexture'
+--     [See also]: 'sDL_UploadToGPUTexture', 'sDL_DownloadFromGPUTexture', 'sDL_CreateGPUTexture', 'SDL_GPUTexture'
 --
---     [C declaration]: @struct SDL_GPUTextureRegion@, defined at @SDL3\/SDL_gpu.h 1467:16@
+--     [C declaration]: @struct SDL_GPUTextureRegion@, defined at @SDL3\/SDL_gpu.h 1473:16@
 data SDL_GPUTextureRegion = SDL_GPUTextureRegion
   { texture :: BG.Ptr SDL_GPUTexture
   -- ^ The texture used in the copy operation.
   --
-  --          [C declaration]: @texture@, defined at @SDL3\/SDL_gpu.h 1469:21@
+  --          [C declaration]: @texture@, defined at @SDL3\/SDL_gpu.h 1475:21@
   , mip_level :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The mip level index to transfer.
   --
-  --          [C declaration]: @mip_level@, defined at @SDL3\/SDL_gpu.h 1470:12@
+  --          [C declaration]: @mip_level@, defined at @SDL3\/SDL_gpu.h 1476:12@
   , layer :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The layer index to transfer.
   --
-  --          [C declaration]: @layer@, defined at @SDL3\/SDL_gpu.h 1471:12@
+  --          [C declaration]: @layer@, defined at @SDL3\/SDL_gpu.h 1477:12@
   , x :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The left offset of the region.
   --
-  --          [C declaration]: @x@, defined at @SDL3\/SDL_gpu.h 1472:12@
+  --          [C declaration]: @x@, defined at @SDL3\/SDL_gpu.h 1478:12@
   , y :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The top offset of the region.
   --
-  --          [C declaration]: @y@, defined at @SDL3\/SDL_gpu.h 1473:12@
+  --          [C declaration]: @y@, defined at @SDL3\/SDL_gpu.h 1479:12@
   , z :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The front offset of the region.
   --
-  --          [C declaration]: @z@, defined at @SDL3\/SDL_gpu.h 1474:12@
+  --          [C declaration]: @z@, defined at @SDL3\/SDL_gpu.h 1480:12@
   , w :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The width of the region.
   --
-  --          [C declaration]: @w@, defined at @SDL3\/SDL_gpu.h 1475:12@
+  --          [C declaration]: @w@, defined at @SDL3\/SDL_gpu.h 1481:12@
   , h :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The height of the region.
   --
-  --          [C declaration]: @h@, defined at @SDL3\/SDL_gpu.h 1476:12@
+  --          [C declaration]: @h@, defined at @SDL3\/SDL_gpu.h 1482:12@
   , d :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The depth of the region.
   --
-  --          [C declaration]: @d@, defined at @SDL3\/SDL_gpu.h 1477:12@
+  --          [C declaration]: @d@, defined at @SDL3\/SDL_gpu.h 1483:12@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -6134,38 +6136,38 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'sDL_BlitGPUTexture'
+--     [See also]: 'sDL_BlitGPUTexture', 'SDL_GPUTexture'
 --
---     [C declaration]: @struct SDL_GPUBlitRegion@, defined at @SDL3\/SDL_gpu.h 1487:16@
+--     [C declaration]: @struct SDL_GPUBlitRegion@, defined at @SDL3\/SDL_gpu.h 1494:16@
 data SDL_GPUBlitRegion = SDL_GPUBlitRegion
   { texture :: BG.Ptr SDL_GPUTexture
   -- ^ The texture.
   --
-  --          [C declaration]: @texture@, defined at @SDL3\/SDL_gpu.h 1489:21@
+  --          [C declaration]: @texture@, defined at @SDL3\/SDL_gpu.h 1496:21@
   , mip_level :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The mip level index of the region.
   --
-  --          [C declaration]: @mip_level@, defined at @SDL3\/SDL_gpu.h 1490:12@
+  --          [C declaration]: @mip_level@, defined at @SDL3\/SDL_gpu.h 1497:12@
   , layer_or_depth_plane :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The layer index or depth plane of the region. This value is treated as a layer index on 2D array and cube textures, and as a depth plane on 3D textures.
   --
-  --          [C declaration]: @layer_or_depth_plane@, defined at @SDL3\/SDL_gpu.h 1491:12@
+  --          [C declaration]: @layer_or_depth_plane@, defined at @SDL3\/SDL_gpu.h 1498:12@
   , x :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The left offset of the region.
   --
-  --          [C declaration]: @x@, defined at @SDL3\/SDL_gpu.h 1492:12@
+  --          [C declaration]: @x@, defined at @SDL3\/SDL_gpu.h 1499:12@
   , y :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The top offset of the region.
   --
-  --          [C declaration]: @y@, defined at @SDL3\/SDL_gpu.h 1493:12@
+  --          [C declaration]: @y@, defined at @SDL3\/SDL_gpu.h 1500:12@
   , w :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The width of the region.
   --
-  --          [C declaration]: @w@, defined at @SDL3\/SDL_gpu.h 1494:12@
+  --          [C declaration]: @w@, defined at @SDL3\/SDL_gpu.h 1501:12@
   , h :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The height of the region.
   --
-  --          [C declaration]: @h@, defined at @SDL3\/SDL_gpu.h 1495:12@
+  --          [C declaration]: @h@, defined at @SDL3\/SDL_gpu.h 1502:12@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -6435,16 +6437,16 @@
 --
 --     [See also]: 'sDL_CopyGPUBufferToBuffer'
 --
---     [C declaration]: @struct SDL_GPUBufferLocation@, defined at @SDL3\/SDL_gpu.h 1507:16@
+--     [C declaration]: @struct SDL_GPUBufferLocation@, defined at @SDL3\/SDL_gpu.h 1514:16@
 data SDL_GPUBufferLocation = SDL_GPUBufferLocation
   { buffer :: BG.Ptr SDL_GPUBuffer
   -- ^ The buffer.
   --
-  --          [C declaration]: @buffer@, defined at @SDL3\/SDL_gpu.h 1509:20@
+  --          [C declaration]: @buffer@, defined at @SDL3\/SDL_gpu.h 1516:20@
   , offset :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The starting byte within the buffer.
   --
-  --          [C declaration]: @offset@, defined at @SDL3\/SDL_gpu.h 1510:12@
+  --          [C declaration]: @offset@, defined at @SDL3\/SDL_gpu.h 1517:12@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -6527,20 +6529,20 @@
 --
 --     [See also]: 'sDL_UploadToGPUBuffer', 'sDL_DownloadFromGPUBuffer'
 --
---     [C declaration]: @struct SDL_GPUBufferRegion@, defined at @SDL3\/SDL_gpu.h 1523:16@
+--     [C declaration]: @struct SDL_GPUBufferRegion@, defined at @SDL3\/SDL_gpu.h 1530:16@
 data SDL_GPUBufferRegion = SDL_GPUBufferRegion
   { buffer :: BG.Ptr SDL_GPUBuffer
   -- ^ The buffer.
   --
-  --          [C declaration]: @buffer@, defined at @SDL3\/SDL_gpu.h 1525:20@
+  --          [C declaration]: @buffer@, defined at @SDL3\/SDL_gpu.h 1532:20@
   , offset :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The starting byte within the buffer.
   --
-  --          [C declaration]: @offset@, defined at @SDL3\/SDL_gpu.h 1526:12@
+  --          [C declaration]: @offset@, defined at @SDL3\/SDL_gpu.h 1533:12@
   , size :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The size in bytes of the region.
   --
-  --          [C declaration]: @size@, defined at @SDL3\/SDL_gpu.h 1527:12@
+  --          [C declaration]: @size@, defined at @SDL3\/SDL_gpu.h 1534:12@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -6653,24 +6655,24 @@
 --
 --     [See also]: 'sDL_DrawGPUPrimitivesIndirect'
 --
---     [C declaration]: @struct SDL_GPUIndirectDrawCommand@, defined at @SDL3\/SDL_gpu.h 1544:16@
+--     [C declaration]: @struct SDL_GPUIndirectDrawCommand@, defined at @SDL3\/SDL_gpu.h 1551:16@
 data SDL_GPUIndirectDrawCommand = SDL_GPUIndirectDrawCommand
   { num_vertices :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of vertices to draw.
   --
-  --          [C declaration]: @num_vertices@, defined at @SDL3\/SDL_gpu.h 1546:12@
+  --          [C declaration]: @num_vertices@, defined at @SDL3\/SDL_gpu.h 1553:12@
   , num_instances :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of instances to draw.
   --
-  --          [C declaration]: @num_instances@, defined at @SDL3\/SDL_gpu.h 1547:12@
+  --          [C declaration]: @num_instances@, defined at @SDL3\/SDL_gpu.h 1554:12@
   , first_vertex :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The index of the first vertex to draw.
   --
-  --          [C declaration]: @first_vertex@, defined at @SDL3\/SDL_gpu.h 1548:12@
+  --          [C declaration]: @first_vertex@, defined at @SDL3\/SDL_gpu.h 1555:12@
   , first_instance :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The ID of the first instance to draw.
   --
-  --          [C declaration]: @first_instance@, defined at @SDL3\/SDL_gpu.h 1549:12@
+  --          [C declaration]: @first_instance@, defined at @SDL3\/SDL_gpu.h 1556:12@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -6836,28 +6838,28 @@
 --
 --     [See also]: 'sDL_DrawGPUIndexedPrimitivesIndirect'
 --
---     [C declaration]: @struct SDL_GPUIndexedIndirectDrawCommand@, defined at @SDL3\/SDL_gpu.h 1566:16@
+--     [C declaration]: @struct SDL_GPUIndexedIndirectDrawCommand@, defined at @SDL3\/SDL_gpu.h 1573:16@
 data SDL_GPUIndexedIndirectDrawCommand = SDL_GPUIndexedIndirectDrawCommand
   { num_indices :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of indices to draw per instance.
   --
-  --          [C declaration]: @num_indices@, defined at @SDL3\/SDL_gpu.h 1568:12@
+  --          [C declaration]: @num_indices@, defined at @SDL3\/SDL_gpu.h 1575:12@
   , num_instances :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of instances to draw.
   --
-  --          [C declaration]: @num_instances@, defined at @SDL3\/SDL_gpu.h 1569:12@
+  --          [C declaration]: @num_instances@, defined at @SDL3\/SDL_gpu.h 1576:12@
   , first_index :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The base index within the index buffer.
   --
-  --          [C declaration]: @first_index@, defined at @SDL3\/SDL_gpu.h 1570:12@
+  --          [C declaration]: @first_index@, defined at @SDL3\/SDL_gpu.h 1577:12@
   , vertex_offset :: SDL3.Sys.Bindgen.Stdinc.Sint32
   -- ^ The value added to the vertex index before indexing into the vertex buffer.
   --
-  --          [C declaration]: @vertex_offset@, defined at @SDL3\/SDL_gpu.h 1571:12@
+  --          [C declaration]: @vertex_offset@, defined at @SDL3\/SDL_gpu.h 1578:12@
   , first_instance :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The ID of the first instance to draw.
   --
-  --          [C declaration]: @first_instance@, defined at @SDL3\/SDL_gpu.h 1572:12@
+  --          [C declaration]: @first_instance@, defined at @SDL3\/SDL_gpu.h 1579:12@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -7059,20 +7061,20 @@
 --
 --     [See also]: 'sDL_DispatchGPUComputeIndirect'
 --
---     [C declaration]: @struct SDL_GPUIndirectDispatchCommand@, defined at @SDL3\/SDL_gpu.h 1582:16@
+--     [C declaration]: @struct SDL_GPUIndirectDispatchCommand@, defined at @SDL3\/SDL_gpu.h 1589:16@
 data SDL_GPUIndirectDispatchCommand = SDL_GPUIndirectDispatchCommand
   { groupcount_x :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of local workgroups to dispatch in the X dimension.
   --
-  --          [C declaration]: @groupcount_x@, defined at @SDL3\/SDL_gpu.h 1584:12@
+  --          [C declaration]: @groupcount_x@, defined at @SDL3\/SDL_gpu.h 1591:12@
   , groupcount_y :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of local workgroups to dispatch in the Y dimension.
   --
-  --          [C declaration]: @groupcount_y@, defined at @SDL3\/SDL_gpu.h 1585:12@
+  --          [C declaration]: @groupcount_y@, defined at @SDL3\/SDL_gpu.h 1592:12@
   , groupcount_z :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of local workgroups to dispatch in the Z dimension.
   --
-  --          [C declaration]: @groupcount_z@, defined at @SDL3\/SDL_gpu.h 1586:12@
+  --          [C declaration]: @groupcount_z@, defined at @SDL3\/SDL_gpu.h 1593:12@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -7199,68 +7201,68 @@
 --
 --     [See also]: 'sDL_CreateGPUSampler', 'SDL_GPUFilter', 'SDL_GPUSamplerMipmapMode', 'SDL_GPUSamplerAddressMode', 'SDL_GPUCompareOp'
 --
---     [C declaration]: @struct SDL_GPUSamplerCreateInfo@, defined at @SDL3\/SDL_gpu.h 1605:16@
+--     [C declaration]: @struct SDL_GPUSamplerCreateInfo@, defined at @SDL3\/SDL_gpu.h 1612:16@
 data SDL_GPUSamplerCreateInfo = SDL_GPUSamplerCreateInfo
   { min_filter :: SDL_GPUFilter
   -- ^ The minification filter to apply to lookups.
   --
-  --          [C declaration]: @min_filter@, defined at @SDL3\/SDL_gpu.h 1607:19@
+  --          [C declaration]: @min_filter@, defined at @SDL3\/SDL_gpu.h 1614:19@
   , mag_filter :: SDL_GPUFilter
   -- ^ The magnification filter to apply to lookups.
   --
-  --          [C declaration]: @mag_filter@, defined at @SDL3\/SDL_gpu.h 1608:19@
+  --          [C declaration]: @mag_filter@, defined at @SDL3\/SDL_gpu.h 1615:19@
   , mipmap_mode :: SDL_GPUSamplerMipmapMode
   -- ^ The mipmap filter to apply to lookups.
   --
-  --          [C declaration]: @mipmap_mode@, defined at @SDL3\/SDL_gpu.h 1609:30@
+  --          [C declaration]: @mipmap_mode@, defined at @SDL3\/SDL_gpu.h 1616:30@
   , address_mode_u :: SDL_GPUSamplerAddressMode
   -- ^ The addressing mode for U coordinates outside [0, 1).
   --
-  --          [C declaration]: @address_mode_u@, defined at @SDL3\/SDL_gpu.h 1610:31@
+  --          [C declaration]: @address_mode_u@, defined at @SDL3\/SDL_gpu.h 1617:31@
   , address_mode_v :: SDL_GPUSamplerAddressMode
   -- ^ The addressing mode for V coordinates outside [0, 1).
   --
-  --          [C declaration]: @address_mode_v@, defined at @SDL3\/SDL_gpu.h 1611:31@
+  --          [C declaration]: @address_mode_v@, defined at @SDL3\/SDL_gpu.h 1618:31@
   , address_mode_w :: SDL_GPUSamplerAddressMode
   -- ^ The addressing mode for W coordinates outside [0, 1).
   --
-  --          [C declaration]: @address_mode_w@, defined at @SDL3\/SDL_gpu.h 1612:31@
+  --          [C declaration]: @address_mode_w@, defined at @SDL3\/SDL_gpu.h 1619:31@
   , mip_lod_bias :: BG.CFloat
   -- ^ The bias to be added to mipmap LOD calculation.
   --
-  --          [C declaration]: @mip_lod_bias@, defined at @SDL3\/SDL_gpu.h 1613:11@
+  --          [C declaration]: @mip_lod_bias@, defined at @SDL3\/SDL_gpu.h 1620:11@
   , max_anisotropy :: BG.CFloat
   -- ^ The anisotropy value clamp used by the sampler. If enable_anisotropy is false, this is ignored.
   --
-  --          [C declaration]: @max_anisotropy@, defined at @SDL3\/SDL_gpu.h 1614:11@
+  --          [C declaration]: @max_anisotropy@, defined at @SDL3\/SDL_gpu.h 1621:11@
   , compare_op :: SDL_GPUCompareOp
   -- ^ The comparison operator to apply to fetched data before filtering.
   --
-  --          [C declaration]: @compare_op@, defined at @SDL3\/SDL_gpu.h 1615:22@
+  --          [C declaration]: @compare_op@, defined at @SDL3\/SDL_gpu.h 1622:22@
   , min_lod :: BG.CFloat
   -- ^ Clamps the minimum of the computed LOD value.
   --
-  --          [C declaration]: @min_lod@, defined at @SDL3\/SDL_gpu.h 1616:11@
+  --          [C declaration]: @min_lod@, defined at @SDL3\/SDL_gpu.h 1623:11@
   , max_lod :: BG.CFloat
   -- ^ Clamps the maximum of the computed LOD value.
   --
-  --          [C declaration]: @max_lod@, defined at @SDL3\/SDL_gpu.h 1617:11@
+  --          [C declaration]: @max_lod@, defined at @SDL3\/SDL_gpu.h 1624:11@
   , enable_anisotropy :: BG.CBool
   -- ^ true to enable anisotropic filtering.
   --
-  --          [C declaration]: @enable_anisotropy@, defined at @SDL3\/SDL_gpu.h 1618:10@
+  --          [C declaration]: @enable_anisotropy@, defined at @SDL3\/SDL_gpu.h 1625:10@
   , enable_compare :: BG.CBool
   -- ^ true to enable comparison against a reference value during lookups.
   --
-  --          [C declaration]: @enable_compare@, defined at @SDL3\/SDL_gpu.h 1619:10@
+  --          [C declaration]: @enable_compare@, defined at @SDL3\/SDL_gpu.h 1626:10@
   , padding1 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding1@, defined at @SDL3\/SDL_gpu.h 1620:11@
+  -- ^ [C declaration]: @padding1@, defined at @SDL3\/SDL_gpu.h 1627:11@
   , padding2 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding2@, defined at @SDL3\/SDL_gpu.h 1621:11@
+  -- ^ [C declaration]: @padding2@, defined at @SDL3\/SDL_gpu.h 1628:11@
   , props :: SDL3.Sys.Bindgen.Properties.SDL_PropertiesID
   -- ^ A properties ID for extensions. Should be 0 if no extensions are needed.
   --
-  --          [C declaration]: @props@, defined at @SDL3\/SDL_gpu.h 1623:22@
+  --          [C declaration]: @props@, defined at @SDL3\/SDL_gpu.h 1630:22@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -8008,24 +8010,24 @@
 --
 --     [See also]: 'SDL_GPUVertexAttribute', 'SDL_GPUVertexInputRate'
 --
---     [C declaration]: @struct SDL_GPUVertexBufferDescription@, defined at @SDL3\/SDL_gpu.h 1644:16@
+--     [C declaration]: @struct SDL_GPUVertexBufferDescription@, defined at @SDL3\/SDL_gpu.h 1651:16@
 data SDL_GPUVertexBufferDescription = SDL_GPUVertexBufferDescription
   { slot :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The binding slot of the vertex buffer.
   --
-  --          [C declaration]: @slot@, defined at @SDL3\/SDL_gpu.h 1646:12@
+  --          [C declaration]: @slot@, defined at @SDL3\/SDL_gpu.h 1653:12@
   , pitch :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The size of a single element + the offset between elements.
   --
-  --          [C declaration]: @pitch@, defined at @SDL3\/SDL_gpu.h 1647:12@
+  --          [C declaration]: @pitch@, defined at @SDL3\/SDL_gpu.h 1654:12@
   , input_rate :: SDL_GPUVertexInputRate
   -- ^ Whether attribute addressing is a function of the vertex index or instance index.
   --
-  --          [C declaration]: @input_rate@, defined at @SDL3\/SDL_gpu.h 1648:28@
+  --          [C declaration]: @input_rate@, defined at @SDL3\/SDL_gpu.h 1655:28@
   , instance_step_rate :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ Reserved for future use. Must be set to 0.
   --
-  --          [C declaration]: @instance_step_rate@, defined at @SDL3\/SDL_gpu.h 1649:12@
+  --          [C declaration]: @instance_step_rate@, defined at @SDL3\/SDL_gpu.h 1656:12@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -8184,24 +8186,24 @@
 --
 --     [See also]: 'SDL_GPUVertexBufferDescription', 'SDL_GPUVertexInputState', 'SDL_GPUVertexElementFormat'
 --
---     [C declaration]: @struct SDL_GPUVertexAttribute@, defined at @SDL3\/SDL_gpu.h 1664:16@
+--     [C declaration]: @struct SDL_GPUVertexAttribute@, defined at @SDL3\/SDL_gpu.h 1671:16@
 data SDL_GPUVertexAttribute = SDL_GPUVertexAttribute
   { location :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The shader input location index.
   --
-  --          [C declaration]: @location@, defined at @SDL3\/SDL_gpu.h 1666:12@
+  --          [C declaration]: @location@, defined at @SDL3\/SDL_gpu.h 1673:12@
   , buffer_slot :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The binding slot of the associated vertex buffer.
   --
-  --          [C declaration]: @buffer_slot@, defined at @SDL3\/SDL_gpu.h 1667:12@
+  --          [C declaration]: @buffer_slot@, defined at @SDL3\/SDL_gpu.h 1674:12@
   , format :: SDL_GPUVertexElementFormat
   -- ^ The size and type of the attribute data.
   --
-  --          [C declaration]: @format@, defined at @SDL3\/SDL_gpu.h 1668:32@
+  --          [C declaration]: @format@, defined at @SDL3\/SDL_gpu.h 1675:32@
   , offset :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The byte offset of this attribute relative to the start of the vertex element.
   --
-  --          [C declaration]: @offset@, defined at @SDL3\/SDL_gpu.h 1669:12@
+  --          [C declaration]: @offset@, defined at @SDL3\/SDL_gpu.h 1676:12@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -8358,24 +8360,24 @@
 --
 --     [See also]: 'SDL_GPUGraphicsPipelineCreateInfo', 'SDL_GPUVertexBufferDescription', 'SDL_GPUVertexAttribute'
 --
---     [C declaration]: @struct SDL_GPUVertexInputState@, defined at @SDL3\/SDL_gpu.h 1682:16@
+--     [C declaration]: @struct SDL_GPUVertexInputState@, defined at @SDL3\/SDL_gpu.h 1689:16@
 data SDL_GPUVertexInputState = SDL_GPUVertexInputState
   { vertex_buffer_descriptions :: PtrConst.PtrConst SDL_GPUVertexBufferDescription
   -- ^ A pointer to an array of vertex buffer descriptions.
   --
-  --          [C declaration]: @vertex_buffer_descriptions@, defined at @SDL3\/SDL_gpu.h 1684:43@
+  --          [C declaration]: @vertex_buffer_descriptions@, defined at @SDL3\/SDL_gpu.h 1691:43@
   , num_vertex_buffers :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of vertex buffer descriptions in the above array.
   --
-  --          [C declaration]: @num_vertex_buffers@, defined at @SDL3\/SDL_gpu.h 1685:12@
+  --          [C declaration]: @num_vertex_buffers@, defined at @SDL3\/SDL_gpu.h 1692:12@
   , vertex_attributes :: PtrConst.PtrConst SDL_GPUVertexAttribute
   -- ^ A pointer to an array of vertex attribute descriptions.
   --
-  --          [C declaration]: @vertex_attributes@, defined at @SDL3\/SDL_gpu.h 1686:35@
+  --          [C declaration]: @vertex_attributes@, defined at @SDL3\/SDL_gpu.h 1693:35@
   , num_vertex_attributes :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of vertex attribute descriptions in the above array.
   --
-  --          [C declaration]: @num_vertex_attributes@, defined at @SDL3\/SDL_gpu.h 1687:12@
+  --          [C declaration]: @num_vertex_attributes@, defined at @SDL3\/SDL_gpu.h 1694:12@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -8539,24 +8541,24 @@
 --
 --     [See also]: 'SDL_GPUDepthStencilState'
 --
---     [C declaration]: @struct SDL_GPUStencilOpState@, defined at @SDL3\/SDL_gpu.h 1697:16@
+--     [C declaration]: @struct SDL_GPUStencilOpState@, defined at @SDL3\/SDL_gpu.h 1704:16@
 data SDL_GPUStencilOpState = SDL_GPUStencilOpState
   { fail_op :: SDL_GPUStencilOp
   -- ^ The action performed on samples that fail the stencil test.
   --
-  --          [C declaration]: @fail_op@, defined at @SDL3\/SDL_gpu.h 1699:22@
+  --          [C declaration]: @fail_op@, defined at @SDL3\/SDL_gpu.h 1706:22@
   , pass_op :: SDL_GPUStencilOp
   -- ^ The action performed on samples that pass the depth and stencil tests.
   --
-  --          [C declaration]: @pass_op@, defined at @SDL3\/SDL_gpu.h 1700:22@
+  --          [C declaration]: @pass_op@, defined at @SDL3\/SDL_gpu.h 1707:22@
   , depth_fail_op :: SDL_GPUStencilOp
   -- ^ The action performed on samples that pass the stencil test and fail the depth test.
   --
-  --          [C declaration]: @depth_fail_op@, defined at @SDL3\/SDL_gpu.h 1701:22@
+  --          [C declaration]: @depth_fail_op@, defined at @SDL3\/SDL_gpu.h 1708:22@
   , compare_op :: SDL_GPUCompareOp
   -- ^ The comparison operator used in the stencil test.
   --
-  --          [C declaration]: @compare_op@, defined at @SDL3\/SDL_gpu.h 1702:22@
+  --          [C declaration]: @compare_op@, defined at @SDL3\/SDL_gpu.h 1709:22@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -8708,50 +8710,50 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'SDL_GPUColorTargetDescription', 'SDL_GPUBlendFactor', 'SDL_GPUBlendOp', 'SDL_GPUColorComponentFlags'
+--     [See also]: 'sDL_SetGPUBlendConstants', 'SDL_GPUColorTargetDescription', 'SDL_GPUBlendFactor', 'SDL_GPUBlendOp', 'SDL_GPUColorComponentFlags'
 --
---     [C declaration]: @struct SDL_GPUColorTargetBlendState@, defined at @SDL3\/SDL_gpu.h 1715:16@
+--     [C declaration]: @struct SDL_GPUColorTargetBlendState@, defined at @SDL3\/SDL_gpu.h 1723:16@
 data SDL_GPUColorTargetBlendState = SDL_GPUColorTargetBlendState
   { src_color_blendfactor :: SDL_GPUBlendFactor
   -- ^ The value to be multiplied by the source RGB value.
   --
-  --          [C declaration]: @src_color_blendfactor@, defined at @SDL3\/SDL_gpu.h 1717:24@
+  --          [C declaration]: @src_color_blendfactor@, defined at @SDL3\/SDL_gpu.h 1725:24@
   , dst_color_blendfactor :: SDL_GPUBlendFactor
   -- ^ The value to be multiplied by the destination RGB value.
   --
-  --          [C declaration]: @dst_color_blendfactor@, defined at @SDL3\/SDL_gpu.h 1718:24@
+  --          [C declaration]: @dst_color_blendfactor@, defined at @SDL3\/SDL_gpu.h 1726:24@
   , color_blend_op :: SDL_GPUBlendOp
   -- ^ The blend operation for the RGB components.
   --
-  --          [C declaration]: @color_blend_op@, defined at @SDL3\/SDL_gpu.h 1719:20@
+  --          [C declaration]: @color_blend_op@, defined at @SDL3\/SDL_gpu.h 1727:20@
   , src_alpha_blendfactor :: SDL_GPUBlendFactor
   -- ^ The value to be multiplied by the source alpha.
   --
-  --          [C declaration]: @src_alpha_blendfactor@, defined at @SDL3\/SDL_gpu.h 1720:24@
+  --          [C declaration]: @src_alpha_blendfactor@, defined at @SDL3\/SDL_gpu.h 1728:24@
   , dst_alpha_blendfactor :: SDL_GPUBlendFactor
   -- ^ The value to be multiplied by the destination alpha.
   --
-  --          [C declaration]: @dst_alpha_blendfactor@, defined at @SDL3\/SDL_gpu.h 1721:24@
+  --          [C declaration]: @dst_alpha_blendfactor@, defined at @SDL3\/SDL_gpu.h 1729:24@
   , alpha_blend_op :: SDL_GPUBlendOp
   -- ^ The blend operation for the alpha component.
   --
-  --          [C declaration]: @alpha_blend_op@, defined at @SDL3\/SDL_gpu.h 1722:20@
+  --          [C declaration]: @alpha_blend_op@, defined at @SDL3\/SDL_gpu.h 1730:20@
   , color_write_mask :: SDL_GPUColorComponentFlags
   -- ^ A bitmask specifying which of the RGBA components are enabled for writing. Writes to all channels if enable_color_write_mask is false.
   --
-  --          [C declaration]: @color_write_mask@, defined at @SDL3\/SDL_gpu.h 1723:32@
+  --          [C declaration]: @color_write_mask@, defined at @SDL3\/SDL_gpu.h 1731:32@
   , enable_blend :: BG.CBool
   -- ^ Whether blending is enabled for the color target.
   --
-  --          [C declaration]: @enable_blend@, defined at @SDL3\/SDL_gpu.h 1724:10@
+  --          [C declaration]: @enable_blend@, defined at @SDL3\/SDL_gpu.h 1732:10@
   , enable_color_write_mask :: BG.CBool
   -- ^ Whether the color write mask is enabled.
   --
-  --          [C declaration]: @enable_color_write_mask@, defined at @SDL3\/SDL_gpu.h 1725:10@
+  --          [C declaration]: @enable_color_write_mask@, defined at @SDL3\/SDL_gpu.h 1733:10@
   , padding1 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding1@, defined at @SDL3\/SDL_gpu.h 1726:11@
+  -- ^ [C declaration]: @padding1@, defined at @SDL3\/SDL_gpu.h 1734:11@
   , padding2 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding2@, defined at @SDL3\/SDL_gpu.h 1727:11@
+  -- ^ [C declaration]: @padding2@, defined at @SDL3\/SDL_gpu.h 1735:11@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -9221,48 +9223,48 @@
 --
 --     [See also]: 'sDL_CreateGPUShader', 'SDL_GPUShaderFormat', 'SDL_GPUShaderStage'
 --
---     [C declaration]: @struct SDL_GPUShaderCreateInfo@, defined at @SDL3\/SDL_gpu.h 1740:16@
+--     [C declaration]: @struct SDL_GPUShaderCreateInfo@, defined at @SDL3\/SDL_gpu.h 1748:16@
 data SDL_GPUShaderCreateInfo = SDL_GPUShaderCreateInfo
   { code_size :: HsBindgen.Runtime.LibC.CSize
   -- ^ The size in bytes of the code pointed to.
   --
-  --          [C declaration]: @code_size@, defined at @SDL3\/SDL_gpu.h 1742:12@
+  --          [C declaration]: @code_size@, defined at @SDL3\/SDL_gpu.h 1750:12@
   , code :: PtrConst.PtrConst SDL3.Sys.Bindgen.Stdinc.Uint8
   -- ^ A pointer to shader code.
   --
-  --          [C declaration]: @code@, defined at @SDL3\/SDL_gpu.h 1743:18@
+  --          [C declaration]: @code@, defined at @SDL3\/SDL_gpu.h 1751:18@
   , entrypoint :: PtrConst.PtrConst BG.CChar
   -- ^ A pointer to a null-terminated UTF-8 string specifying the entry point function name for the shader.
   --
-  --          [C declaration]: @entrypoint@, defined at @SDL3\/SDL_gpu.h 1744:17@
+  --          [C declaration]: @entrypoint@, defined at @SDL3\/SDL_gpu.h 1752:17@
   , format :: SDL_GPUShaderFormat
   -- ^ The format of the shader code.
   --
-  --          [C declaration]: @format@, defined at @SDL3\/SDL_gpu.h 1745:25@
+  --          [C declaration]: @format@, defined at @SDL3\/SDL_gpu.h 1753:25@
   , stage :: SDL_GPUShaderStage
   -- ^ The stage the shader program corresponds to.
   --
-  --          [C declaration]: @stage@, defined at @SDL3\/SDL_gpu.h 1746:24@
+  --          [C declaration]: @stage@, defined at @SDL3\/SDL_gpu.h 1754:24@
   , num_samplers :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of samplers defined in the shader.
   --
-  --          [C declaration]: @num_samplers@, defined at @SDL3\/SDL_gpu.h 1747:12@
+  --          [C declaration]: @num_samplers@, defined at @SDL3\/SDL_gpu.h 1755:12@
   , num_storage_textures :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of storage textures defined in the shader.
   --
-  --          [C declaration]: @num_storage_textures@, defined at @SDL3\/SDL_gpu.h 1748:12@
+  --          [C declaration]: @num_storage_textures@, defined at @SDL3\/SDL_gpu.h 1756:12@
   , num_storage_buffers :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of storage buffers defined in the shader.
   --
-  --          [C declaration]: @num_storage_buffers@, defined at @SDL3\/SDL_gpu.h 1749:12@
+  --          [C declaration]: @num_storage_buffers@, defined at @SDL3\/SDL_gpu.h 1757:12@
   , num_uniform_buffers :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of uniform buffers defined in the shader.
   --
-  --          [C declaration]: @num_uniform_buffers@, defined at @SDL3\/SDL_gpu.h 1750:12@
+  --          [C declaration]: @num_uniform_buffers@, defined at @SDL3\/SDL_gpu.h 1758:12@
   , props :: SDL3.Sys.Bindgen.Properties.SDL_PropertiesID
   -- ^ A properties ID for extensions. Should be 0 if no extensions are needed.
   --
-  --          [C declaration]: @props@, defined at @SDL3\/SDL_gpu.h 1752:22@
+  --          [C declaration]: @props@, defined at @SDL3\/SDL_gpu.h 1760:22@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -9680,44 +9682,44 @@
 --
 --     [See also]: 'sDL_CreateGPUTexture', 'SDL_GPUTextureType', 'SDL_GPUTextureFormat', 'SDL_GPUTextureUsageFlags', 'SDL_GPUSampleCount'
 --
---     [C declaration]: @struct SDL_GPUTextureCreateInfo@, defined at @SDL3\/SDL_gpu.h 1770:16@
+--     [C declaration]: @struct SDL_GPUTextureCreateInfo@, defined at @SDL3\/SDL_gpu.h 1778:16@
 data SDL_GPUTextureCreateInfo = SDL_GPUTextureCreateInfo
   { type' :: SDL_GPUTextureType
   -- ^ The base dimensionality of the texture.
   --
-  --          [C declaration]: @type@, defined at @SDL3\/SDL_gpu.h 1772:24@
+  --          [C declaration]: @type@, defined at @SDL3\/SDL_gpu.h 1780:24@
   , format :: SDL_GPUTextureFormat
   -- ^ The pixel format of the texture.
   --
-  --          [C declaration]: @format@, defined at @SDL3\/SDL_gpu.h 1773:26@
+  --          [C declaration]: @format@, defined at @SDL3\/SDL_gpu.h 1781:26@
   , usage :: SDL_GPUTextureUsageFlags
   -- ^ How the texture is intended to be used by the client.
   --
-  --          [C declaration]: @usage@, defined at @SDL3\/SDL_gpu.h 1774:30@
+  --          [C declaration]: @usage@, defined at @SDL3\/SDL_gpu.h 1782:30@
   , width :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The width of the texture.
   --
-  --          [C declaration]: @width@, defined at @SDL3\/SDL_gpu.h 1775:12@
+  --          [C declaration]: @width@, defined at @SDL3\/SDL_gpu.h 1783:12@
   , height :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The height of the texture.
   --
-  --          [C declaration]: @height@, defined at @SDL3\/SDL_gpu.h 1776:12@
+  --          [C declaration]: @height@, defined at @SDL3\/SDL_gpu.h 1784:12@
   , layer_count_or_depth :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The layer count or depth of the texture. This value is treated as a layer count on 2D array textures, and as a depth value on 3D textures.
   --
-  --          [C declaration]: @layer_count_or_depth@, defined at @SDL3\/SDL_gpu.h 1777:12@
+  --          [C declaration]: @layer_count_or_depth@, defined at @SDL3\/SDL_gpu.h 1785:12@
   , num_levels :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of mip levels in the texture.
   --
-  --          [C declaration]: @num_levels@, defined at @SDL3\/SDL_gpu.h 1778:12@
+  --          [C declaration]: @num_levels@, defined at @SDL3\/SDL_gpu.h 1786:12@
   , sample_count :: SDL_GPUSampleCount
   -- ^ The number of samples per texel. Only applies if the texture is used as a render target.
   --
-  --          [C declaration]: @sample_count@, defined at @SDL3\/SDL_gpu.h 1779:24@
+  --          [C declaration]: @sample_count@, defined at @SDL3\/SDL_gpu.h 1787:24@
   , props :: SDL3.Sys.Bindgen.Properties.SDL_PropertiesID
   -- ^ A properties ID for extensions. Should be 0 if no extensions are needed.
   --
-  --          [C declaration]: @props@, defined at @SDL3\/SDL_gpu.h 1781:22@
+  --          [C declaration]: @props@, defined at @SDL3\/SDL_gpu.h 1789:22@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -10086,20 +10088,20 @@
 --
 --     [See also]: 'sDL_CreateGPUBuffer', 'SDL_GPUBufferUsageFlags'
 --
---     [C declaration]: @struct SDL_GPUBufferCreateInfo@, defined at @SDL3\/SDL_gpu.h 1795:16@
+--     [C declaration]: @struct SDL_GPUBufferCreateInfo@, defined at @SDL3\/SDL_gpu.h 1803:16@
 data SDL_GPUBufferCreateInfo = SDL_GPUBufferCreateInfo
   { usage :: SDL_GPUBufferUsageFlags
   -- ^ How the buffer is intended to be used by the client.
   --
-  --          [C declaration]: @usage@, defined at @SDL3\/SDL_gpu.h 1797:29@
+  --          [C declaration]: @usage@, defined at @SDL3\/SDL_gpu.h 1805:29@
   , size :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The size in bytes of the buffer.
   --
-  --          [C declaration]: @size@, defined at @SDL3\/SDL_gpu.h 1798:12@
+  --          [C declaration]: @size@, defined at @SDL3\/SDL_gpu.h 1806:12@
   , props :: SDL3.Sys.Bindgen.Properties.SDL_PropertiesID
   -- ^ A properties ID for extensions. Should be 0 if no extensions are needed.
   --
-  --          [C declaration]: @props@, defined at @SDL3\/SDL_gpu.h 1800:22@
+  --          [C declaration]: @props@, defined at @SDL3\/SDL_gpu.h 1808:22@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -10213,20 +10215,20 @@
 --
 --     [See also]: 'sDL_CreateGPUTransferBuffer'
 --
---     [C declaration]: @struct SDL_GPUTransferBufferCreateInfo@, defined at @SDL3\/SDL_gpu.h 1810:16@
+--     [C declaration]: @struct SDL_GPUTransferBufferCreateInfo@, defined at @SDL3\/SDL_gpu.h 1818:16@
 data SDL_GPUTransferBufferCreateInfo = SDL_GPUTransferBufferCreateInfo
   { usage :: SDL_GPUTransferBufferUsage
   -- ^ How the transfer buffer is intended to be used by the client.
   --
-  --          [C declaration]: @usage@, defined at @SDL3\/SDL_gpu.h 1812:32@
+  --          [C declaration]: @usage@, defined at @SDL3\/SDL_gpu.h 1820:32@
   , size :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The size in bytes of the transfer buffer.
   --
-  --          [C declaration]: @size@, defined at @SDL3\/SDL_gpu.h 1813:12@
+  --          [C declaration]: @size@, defined at @SDL3\/SDL_gpu.h 1821:12@
   , props :: SDL3.Sys.Bindgen.Properties.SDL_PropertiesID
   -- ^ A properties ID for extensions. Should be 0 if no extensions are needed.
   --
-  --          [C declaration]: @props@, defined at @SDL3\/SDL_gpu.h 1815:22@
+  --          [C declaration]: @props@, defined at @SDL3\/SDL_gpu.h 1823:22@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -10352,44 +10354,44 @@
 --
 --     [See also]: 'SDL_GPUGraphicsPipelineCreateInfo'
 --
---     [C declaration]: @struct SDL_GPURasterizerState@, defined at @SDL3\/SDL_gpu.h 1836:16@
+--     [C declaration]: @struct SDL_GPURasterizerState@, defined at @SDL3\/SDL_gpu.h 1844:16@
 data SDL_GPURasterizerState = SDL_GPURasterizerState
   { fill_mode :: SDL_GPUFillMode
   -- ^ Whether polygons will be filled in or drawn as lines.
   --
-  --          [C declaration]: @fill_mode@, defined at @SDL3\/SDL_gpu.h 1838:21@
+  --          [C declaration]: @fill_mode@, defined at @SDL3\/SDL_gpu.h 1846:21@
   , cull_mode :: SDL_GPUCullMode
   -- ^ The facing direction in which triangles will be culled.
   --
-  --          [C declaration]: @cull_mode@, defined at @SDL3\/SDL_gpu.h 1839:21@
+  --          [C declaration]: @cull_mode@, defined at @SDL3\/SDL_gpu.h 1847:21@
   , front_face :: SDL_GPUFrontFace
   -- ^ The vertex winding that will cause a triangle to be determined as front-facing.
   --
-  --          [C declaration]: @front_face@, defined at @SDL3\/SDL_gpu.h 1840:22@
+  --          [C declaration]: @front_face@, defined at @SDL3\/SDL_gpu.h 1848:22@
   , depth_bias_constant_factor :: BG.CFloat
   -- ^ A scalar factor controlling the depth value added to each fragment.
   --
-  --          [C declaration]: @depth_bias_constant_factor@, defined at @SDL3\/SDL_gpu.h 1841:11@
+  --          [C declaration]: @depth_bias_constant_factor@, defined at @SDL3\/SDL_gpu.h 1849:11@
   , depth_bias_clamp :: BG.CFloat
   -- ^ The maximum depth bias of a fragment.
   --
-  --          [C declaration]: @depth_bias_clamp@, defined at @SDL3\/SDL_gpu.h 1842:11@
+  --          [C declaration]: @depth_bias_clamp@, defined at @SDL3\/SDL_gpu.h 1850:11@
   , depth_bias_slope_factor :: BG.CFloat
   -- ^ A scalar factor applied to a fragment\'s slope in depth calculations.
   --
-  --          [C declaration]: @depth_bias_slope_factor@, defined at @SDL3\/SDL_gpu.h 1843:11@
+  --          [C declaration]: @depth_bias_slope_factor@, defined at @SDL3\/SDL_gpu.h 1851:11@
   , enable_depth_bias :: BG.CBool
   -- ^ true to bias fragment depth values.
   --
-  --          [C declaration]: @enable_depth_bias@, defined at @SDL3\/SDL_gpu.h 1844:10@
+  --          [C declaration]: @enable_depth_bias@, defined at @SDL3\/SDL_gpu.h 1852:10@
   , enable_depth_clip :: BG.CBool
   -- ^ true to enable depth clip, false to enable depth clamp.
   --
-  --          [C declaration]: @enable_depth_clip@, defined at @SDL3\/SDL_gpu.h 1845:10@
+  --          [C declaration]: @enable_depth_clip@, defined at @SDL3\/SDL_gpu.h 1853:10@
   , padding1 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding1@, defined at @SDL3\/SDL_gpu.h 1846:11@
+  -- ^ [C declaration]: @padding1@, defined at @SDL3\/SDL_gpu.h 1854:11@
   , padding2 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding2@, defined at @SDL3\/SDL_gpu.h 1847:11@
+  -- ^ [C declaration]: @padding2@, defined at @SDL3\/SDL_gpu.h 1855:11@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -10806,28 +10808,28 @@
 --
 --     [See also]: 'SDL_GPUGraphicsPipelineCreateInfo'
 --
---     [C declaration]: @struct SDL_GPUMultisampleState@, defined at @SDL3\/SDL_gpu.h 1858:16@
+--     [C declaration]: @struct SDL_GPUMultisampleState@, defined at @SDL3\/SDL_gpu.h 1866:16@
 data SDL_GPUMultisampleState = SDL_GPUMultisampleState
   { sample_count :: SDL_GPUSampleCount
   -- ^ The number of samples to be used in rasterization.
   --
-  --          [C declaration]: @sample_count@, defined at @SDL3\/SDL_gpu.h 1860:24@
+  --          [C declaration]: @sample_count@, defined at @SDL3\/SDL_gpu.h 1868:24@
   , sample_mask :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ Reserved for future use. Must be set to 0.
   --
-  --          [C declaration]: @sample_mask@, defined at @SDL3\/SDL_gpu.h 1861:12@
+  --          [C declaration]: @sample_mask@, defined at @SDL3\/SDL_gpu.h 1869:12@
   , enable_mask :: BG.CBool
   -- ^ Reserved for future use. Must be set to false.
   --
-  --          [C declaration]: @enable_mask@, defined at @SDL3\/SDL_gpu.h 1862:10@
+  --          [C declaration]: @enable_mask@, defined at @SDL3\/SDL_gpu.h 1870:10@
   , enable_alpha_to_coverage :: BG.CBool
   -- ^ true enables the alpha-to-coverage feature.
   --
-  --          [C declaration]: @enable_alpha_to_coverage@, defined at @SDL3\/SDL_gpu.h 1863:10@
+  --          [C declaration]: @enable_alpha_to_coverage@, defined at @SDL3\/SDL_gpu.h 1871:10@
   , padding2 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding2@, defined at @SDL3\/SDL_gpu.h 1864:11@
+  -- ^ [C declaration]: @padding2@, defined at @SDL3\/SDL_gpu.h 1872:11@
   , padding3 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding3@, defined at @SDL3\/SDL_gpu.h 1865:11@
+  -- ^ [C declaration]: @padding3@, defined at @SDL3\/SDL_gpu.h 1873:11@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -11067,46 +11069,46 @@
 --
 --     [See also]: 'SDL_GPUGraphicsPipelineCreateInfo'
 --
---     [C declaration]: @struct SDL_GPUDepthStencilState@, defined at @SDL3\/SDL_gpu.h 1876:16@
+--     [C declaration]: @struct SDL_GPUDepthStencilState@, defined at @SDL3\/SDL_gpu.h 1884:16@
 data SDL_GPUDepthStencilState = SDL_GPUDepthStencilState
   { compare_op :: SDL_GPUCompareOp
   -- ^ The comparison operator used for depth testing.
   --
-  --          [C declaration]: @compare_op@, defined at @SDL3\/SDL_gpu.h 1878:22@
+  --          [C declaration]: @compare_op@, defined at @SDL3\/SDL_gpu.h 1886:22@
   , back_stencil_state :: SDL_GPUStencilOpState
   -- ^ The stencil op state for back-facing triangles.
   --
-  --          [C declaration]: @back_stencil_state@, defined at @SDL3\/SDL_gpu.h 1879:27@
+  --          [C declaration]: @back_stencil_state@, defined at @SDL3\/SDL_gpu.h 1887:27@
   , front_stencil_state :: SDL_GPUStencilOpState
   -- ^ The stencil op state for front-facing triangles.
   --
-  --          [C declaration]: @front_stencil_state@, defined at @SDL3\/SDL_gpu.h 1880:27@
+  --          [C declaration]: @front_stencil_state@, defined at @SDL3\/SDL_gpu.h 1888:27@
   , compare_mask :: SDL3.Sys.Bindgen.Stdinc.Uint8
   -- ^ Selects the bits of the stencil values participating in the stencil test.
   --
-  --          [C declaration]: @compare_mask@, defined at @SDL3\/SDL_gpu.h 1881:11@
+  --          [C declaration]: @compare_mask@, defined at @SDL3\/SDL_gpu.h 1889:11@
   , write_mask :: SDL3.Sys.Bindgen.Stdinc.Uint8
   -- ^ Selects the bits of the stencil values updated by the stencil test.
   --
-  --          [C declaration]: @write_mask@, defined at @SDL3\/SDL_gpu.h 1882:11@
+  --          [C declaration]: @write_mask@, defined at @SDL3\/SDL_gpu.h 1890:11@
   , enable_depth_test :: BG.CBool
   -- ^ true enables the depth test.
   --
-  --          [C declaration]: @enable_depth_test@, defined at @SDL3\/SDL_gpu.h 1883:10@
+  --          [C declaration]: @enable_depth_test@, defined at @SDL3\/SDL_gpu.h 1891:10@
   , enable_depth_write :: BG.CBool
   -- ^ true enables depth writes. Depth writes are always disabled when enable_depth_test is false.
   --
-  --          [C declaration]: @enable_depth_write@, defined at @SDL3\/SDL_gpu.h 1884:10@
+  --          [C declaration]: @enable_depth_write@, defined at @SDL3\/SDL_gpu.h 1892:10@
   , enable_stencil_test :: BG.CBool
   -- ^ true enables the stencil test.
   --
-  --          [C declaration]: @enable_stencil_test@, defined at @SDL3\/SDL_gpu.h 1885:10@
+  --          [C declaration]: @enable_stencil_test@, defined at @SDL3\/SDL_gpu.h 1893:10@
   , padding1 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding1@, defined at @SDL3\/SDL_gpu.h 1886:11@
+  -- ^ [C declaration]: @padding1@, defined at @SDL3\/SDL_gpu.h 1894:11@
   , padding2 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding2@, defined at @SDL3\/SDL_gpu.h 1887:11@
+  -- ^ [C declaration]: @padding2@, defined at @SDL3\/SDL_gpu.h 1895:11@
   , padding3 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding3@, defined at @SDL3\/SDL_gpu.h 1888:11@
+  -- ^ [C declaration]: @padding3@, defined at @SDL3\/SDL_gpu.h 1896:11@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -11573,16 +11575,16 @@
 --
 --     [See also]: 'SDL_GPUGraphicsPipelineTargetInfo'
 --
---     [C declaration]: @struct SDL_GPUColorTargetDescription@, defined at @SDL3\/SDL_gpu.h 1899:16@
+--     [C declaration]: @struct SDL_GPUColorTargetDescription@, defined at @SDL3\/SDL_gpu.h 1907:16@
 data SDL_GPUColorTargetDescription = SDL_GPUColorTargetDescription
   { format :: SDL_GPUTextureFormat
   -- ^ The pixel format of the texture to be used as a color target.
   --
-  --          [C declaration]: @format@, defined at @SDL3\/SDL_gpu.h 1901:26@
+  --          [C declaration]: @format@, defined at @SDL3\/SDL_gpu.h 1909:26@
   , blend_state :: SDL_GPUColorTargetBlendState
   -- ^ The blend state to be used for the color target.
   --
-  --          [C declaration]: @blend_state@, defined at @SDL3\/SDL_gpu.h 1902:34@
+  --          [C declaration]: @blend_state@, defined at @SDL3\/SDL_gpu.h 1910:34@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -11667,30 +11669,30 @@
 --
 --     [See also]: 'SDL_GPUGraphicsPipelineCreateInfo', 'SDL_GPUColorTargetDescription', 'SDL_GPUTextureFormat'
 --
---     [C declaration]: @struct SDL_GPUGraphicsPipelineTargetInfo@, defined at @SDL3\/SDL_gpu.h 1915:16@
+--     [C declaration]: @struct SDL_GPUGraphicsPipelineTargetInfo@, defined at @SDL3\/SDL_gpu.h 1923:16@
 data SDL_GPUGraphicsPipelineTargetInfo = SDL_GPUGraphicsPipelineTargetInfo
   { color_target_descriptions :: PtrConst.PtrConst SDL_GPUColorTargetDescription
   -- ^ A pointer to an array of color target descriptions.
   --
-  --          [C declaration]: @color_target_descriptions@, defined at @SDL3\/SDL_gpu.h 1917:42@
+  --          [C declaration]: @color_target_descriptions@, defined at @SDL3\/SDL_gpu.h 1925:42@
   , num_color_targets :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of color target descriptions in the above array.
   --
-  --          [C declaration]: @num_color_targets@, defined at @SDL3\/SDL_gpu.h 1918:12@
+  --          [C declaration]: @num_color_targets@, defined at @SDL3\/SDL_gpu.h 1926:12@
   , depth_stencil_format :: SDL_GPUTextureFormat
   -- ^ The pixel format of the depth-stencil target. Ignored if has_depth_stencil_target is false.
   --
-  --          [C declaration]: @depth_stencil_format@, defined at @SDL3\/SDL_gpu.h 1919:26@
+  --          [C declaration]: @depth_stencil_format@, defined at @SDL3\/SDL_gpu.h 1927:26@
   , has_depth_stencil_target :: BG.CBool
   -- ^ true specifies that the pipeline uses a depth-stencil target.
   --
-  --          [C declaration]: @has_depth_stencil_target@, defined at @SDL3\/SDL_gpu.h 1920:10@
+  --          [C declaration]: @has_depth_stencil_target@, defined at @SDL3\/SDL_gpu.h 1928:10@
   , padding1 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding1@, defined at @SDL3\/SDL_gpu.h 1921:11@
+  -- ^ [C declaration]: @padding1@, defined at @SDL3\/SDL_gpu.h 1929:11@
   , padding2 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding2@, defined at @SDL3\/SDL_gpu.h 1922:11@
+  -- ^ [C declaration]: @padding2@, defined at @SDL3\/SDL_gpu.h 1930:11@
   , padding3 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding3@, defined at @SDL3\/SDL_gpu.h 1923:11@
+  -- ^ [C declaration]: @padding3@, defined at @SDL3\/SDL_gpu.h 1931:11@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -11971,44 +11973,44 @@
 --
 --     [See also]: 'sDL_CreateGPUGraphicsPipeline', 'SDL_GPUShader', 'SDL_GPUVertexInputState', 'SDL_GPUPrimitiveType', 'SDL_GPURasterizerState', 'SDL_GPUMultisampleState', 'SDL_GPUDepthStencilState', 'SDL_GPUGraphicsPipelineTargetInfo'
 --
---     [C declaration]: @struct SDL_GPUGraphicsPipelineCreateInfo@, defined at @SDL3\/SDL_gpu.h 1940:16@
+--     [C declaration]: @struct SDL_GPUGraphicsPipelineCreateInfo@, defined at @SDL3\/SDL_gpu.h 1948:16@
 data SDL_GPUGraphicsPipelineCreateInfo = SDL_GPUGraphicsPipelineCreateInfo
   { vertex_shader :: BG.Ptr SDL_GPUShader
   -- ^ The vertex shader used by the graphics pipeline.
   --
-  --          [C declaration]: @vertex_shader@, defined at @SDL3\/SDL_gpu.h 1942:20@
+  --          [C declaration]: @vertex_shader@, defined at @SDL3\/SDL_gpu.h 1950:20@
   , fragment_shader :: BG.Ptr SDL_GPUShader
   -- ^ The fragment shader used by the graphics pipeline.
   --
-  --          [C declaration]: @fragment_shader@, defined at @SDL3\/SDL_gpu.h 1943:20@
+  --          [C declaration]: @fragment_shader@, defined at @SDL3\/SDL_gpu.h 1951:20@
   , vertex_input_state :: SDL_GPUVertexInputState
   -- ^ The vertex layout of the graphics pipeline.
   --
-  --          [C declaration]: @vertex_input_state@, defined at @SDL3\/SDL_gpu.h 1944:29@
+  --          [C declaration]: @vertex_input_state@, defined at @SDL3\/SDL_gpu.h 1952:29@
   , primitive_type :: SDL_GPUPrimitiveType
   -- ^ The primitive topology of the graphics pipeline.
   --
-  --          [C declaration]: @primitive_type@, defined at @SDL3\/SDL_gpu.h 1945:26@
+  --          [C declaration]: @primitive_type@, defined at @SDL3\/SDL_gpu.h 1953:26@
   , rasterizer_state :: SDL_GPURasterizerState
   -- ^ The rasterizer state of the graphics pipeline.
   --
-  --          [C declaration]: @rasterizer_state@, defined at @SDL3\/SDL_gpu.h 1946:28@
+  --          [C declaration]: @rasterizer_state@, defined at @SDL3\/SDL_gpu.h 1954:28@
   , multisample_state :: SDL_GPUMultisampleState
   -- ^ The multisample state of the graphics pipeline.
   --
-  --          [C declaration]: @multisample_state@, defined at @SDL3\/SDL_gpu.h 1947:29@
+  --          [C declaration]: @multisample_state@, defined at @SDL3\/SDL_gpu.h 1955:29@
   , depth_stencil_state :: SDL_GPUDepthStencilState
   -- ^ The depth-stencil state of the graphics pipeline.
   --
-  --          [C declaration]: @depth_stencil_state@, defined at @SDL3\/SDL_gpu.h 1948:30@
+  --          [C declaration]: @depth_stencil_state@, defined at @SDL3\/SDL_gpu.h 1956:30@
   , target_info :: SDL_GPUGraphicsPipelineTargetInfo
   -- ^ Formats and blend modes for the render targets of the graphics pipeline.
   --
-  --          [C declaration]: @target_info@, defined at @SDL3\/SDL_gpu.h 1949:39@
+  --          [C declaration]: @target_info@, defined at @SDL3\/SDL_gpu.h 1957:39@
   , props :: SDL3.Sys.Bindgen.Properties.SDL_PropertiesID
   -- ^ A properties ID for extensions. Should be 0 if no extensions are needed.
   --
-  --          [C declaration]: @props@, defined at @SDL3\/SDL_gpu.h 1951:22@
+  --          [C declaration]: @props@, defined at @SDL3\/SDL_gpu.h 1959:22@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -12381,64 +12383,64 @@
 --
 --     [See also]: 'sDL_CreateGPUComputePipeline', 'SDL_GPUShaderFormat'
 --
---     [C declaration]: @struct SDL_GPUComputePipelineCreateInfo@, defined at @SDL3\/SDL_gpu.h 1962:16@
+--     [C declaration]: @struct SDL_GPUComputePipelineCreateInfo@, defined at @SDL3\/SDL_gpu.h 1970:16@
 data SDL_GPUComputePipelineCreateInfo = SDL_GPUComputePipelineCreateInfo
   { code_size :: HsBindgen.Runtime.LibC.CSize
   -- ^ The size in bytes of the compute shader code pointed to.
   --
-  --          [C declaration]: @code_size@, defined at @SDL3\/SDL_gpu.h 1964:12@
+  --          [C declaration]: @code_size@, defined at @SDL3\/SDL_gpu.h 1972:12@
   , code :: PtrConst.PtrConst SDL3.Sys.Bindgen.Stdinc.Uint8
   -- ^ A pointer to compute shader code.
   --
-  --          [C declaration]: @code@, defined at @SDL3\/SDL_gpu.h 1965:18@
+  --          [C declaration]: @code@, defined at @SDL3\/SDL_gpu.h 1973:18@
   , entrypoint :: PtrConst.PtrConst BG.CChar
   -- ^ A pointer to a null-terminated UTF-8 string specifying the entry point function name for the shader.
   --
-  --          [C declaration]: @entrypoint@, defined at @SDL3\/SDL_gpu.h 1966:17@
+  --          [C declaration]: @entrypoint@, defined at @SDL3\/SDL_gpu.h 1974:17@
   , format :: SDL_GPUShaderFormat
   -- ^ The format of the compute shader code.
   --
-  --          [C declaration]: @format@, defined at @SDL3\/SDL_gpu.h 1967:25@
+  --          [C declaration]: @format@, defined at @SDL3\/SDL_gpu.h 1975:25@
   , num_samplers :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of samplers defined in the shader.
   --
-  --          [C declaration]: @num_samplers@, defined at @SDL3\/SDL_gpu.h 1968:12@
+  --          [C declaration]: @num_samplers@, defined at @SDL3\/SDL_gpu.h 1976:12@
   , num_readonly_storage_textures :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of readonly storage textures defined in the shader.
   --
-  --          [C declaration]: @num_readonly_storage_textures@, defined at @SDL3\/SDL_gpu.h 1969:12@
+  --          [C declaration]: @num_readonly_storage_textures@, defined at @SDL3\/SDL_gpu.h 1977:12@
   , num_readonly_storage_buffers :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of readonly storage buffers defined in the shader.
   --
-  --          [C declaration]: @num_readonly_storage_buffers@, defined at @SDL3\/SDL_gpu.h 1970:12@
+  --          [C declaration]: @num_readonly_storage_buffers@, defined at @SDL3\/SDL_gpu.h 1978:12@
   , num_readwrite_storage_textures :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of read-write storage textures defined in the shader.
   --
-  --          [C declaration]: @num_readwrite_storage_textures@, defined at @SDL3\/SDL_gpu.h 1971:12@
+  --          [C declaration]: @num_readwrite_storage_textures@, defined at @SDL3\/SDL_gpu.h 1979:12@
   , num_readwrite_storage_buffers :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of read-write storage buffers defined in the shader.
   --
-  --          [C declaration]: @num_readwrite_storage_buffers@, defined at @SDL3\/SDL_gpu.h 1972:12@
+  --          [C declaration]: @num_readwrite_storage_buffers@, defined at @SDL3\/SDL_gpu.h 1980:12@
   , num_uniform_buffers :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of uniform buffers defined in the shader.
   --
-  --          [C declaration]: @num_uniform_buffers@, defined at @SDL3\/SDL_gpu.h 1973:12@
+  --          [C declaration]: @num_uniform_buffers@, defined at @SDL3\/SDL_gpu.h 1981:12@
   , threadcount_x :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of threads in the X dimension. This should match the value in the shader.
   --
-  --          [C declaration]: @threadcount_x@, defined at @SDL3\/SDL_gpu.h 1974:12@
+  --          [C declaration]: @threadcount_x@, defined at @SDL3\/SDL_gpu.h 1982:12@
   , threadcount_y :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of threads in the Y dimension. This should match the value in the shader.
   --
-  --          [C declaration]: @threadcount_y@, defined at @SDL3\/SDL_gpu.h 1975:12@
+  --          [C declaration]: @threadcount_y@, defined at @SDL3\/SDL_gpu.h 1983:12@
   , threadcount_z :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The number of threads in the Z dimension. This should match the value in the shader.
   --
-  --          [C declaration]: @threadcount_z@, defined at @SDL3\/SDL_gpu.h 1976:12@
+  --          [C declaration]: @threadcount_z@, defined at @SDL3\/SDL_gpu.h 1984:12@
   , props :: SDL3.Sys.Bindgen.Properties.SDL_PropertiesID
   -- ^ A properties ID for extensions. Should be 0 if no extensions are needed.
   --
-  --          [C declaration]: @props@, defined at @SDL3\/SDL_gpu.h 1978:22@
+  --          [C declaration]: @props@, defined at @SDL3\/SDL_gpu.h 1986:22@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -13085,56 +13087,56 @@
 --
 --     [See also]: 'sDL_BeginGPURenderPass', SDL_FColor
 --
---     [C declaration]: @struct SDL_GPUColorTargetInfo@, defined at @SDL3\/SDL_gpu.h 2017:16@
+--     [C declaration]: @struct SDL_GPUColorTargetInfo@, defined at @SDL3\/SDL_gpu.h 2025:16@
 data SDL_GPUColorTargetInfo = SDL_GPUColorTargetInfo
   { texture :: BG.Ptr SDL_GPUTexture
   -- ^ The texture that will be used as a color target by a render pass.
   --
-  --          [C declaration]: @texture@, defined at @SDL3\/SDL_gpu.h 2019:21@
+  --          [C declaration]: @texture@, defined at @SDL3\/SDL_gpu.h 2027:21@
   , mip_level :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The mip level to use as a color target.
   --
-  --          [C declaration]: @mip_level@, defined at @SDL3\/SDL_gpu.h 2020:12@
+  --          [C declaration]: @mip_level@, defined at @SDL3\/SDL_gpu.h 2028:12@
   , layer_or_depth_plane :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The layer index or depth plane to use as a color target. This value is treated as a layer index on 2D array and cube textures, and as a depth plane on 3D textures.
   --
-  --          [C declaration]: @layer_or_depth_plane@, defined at @SDL3\/SDL_gpu.h 2021:12@
+  --          [C declaration]: @layer_or_depth_plane@, defined at @SDL3\/SDL_gpu.h 2029:12@
   , clear_color :: SDL3.Sys.Bindgen.Pixels.SDL_FColor
   -- ^ The color to clear the color target to at the start of the render pass. Ignored if SDL_GPU_LOADOP_CLEAR is not used.
   --
-  --          [C declaration]: @clear_color@, defined at @SDL3\/SDL_gpu.h 2022:16@
+  --          [C declaration]: @clear_color@, defined at @SDL3\/SDL_gpu.h 2030:16@
   , load_op :: SDL_GPULoadOp
   -- ^ What is done with the contents of the color target at the beginning of the render pass.
   --
-  --          [C declaration]: @load_op@, defined at @SDL3\/SDL_gpu.h 2023:19@
+  --          [C declaration]: @load_op@, defined at @SDL3\/SDL_gpu.h 2031:19@
   , store_op :: SDL_GPUStoreOp
   -- ^ What is done with the results of the render pass.
   --
-  --          [C declaration]: @store_op@, defined at @SDL3\/SDL_gpu.h 2024:20@
+  --          [C declaration]: @store_op@, defined at @SDL3\/SDL_gpu.h 2032:20@
   , resolve_texture :: BG.Ptr SDL_GPUTexture
   -- ^ The texture that will receive the results of a multisample resolve operation. Ignored if a RESOLVE* store_op is not used.
   --
-  --          [C declaration]: @resolve_texture@, defined at @SDL3\/SDL_gpu.h 2025:21@
+  --          [C declaration]: @resolve_texture@, defined at @SDL3\/SDL_gpu.h 2033:21@
   , resolve_mip_level :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The mip level of the resolve texture to use for the resolve operation. Ignored if a RESOLVE* store_op is not used.
   --
-  --          [C declaration]: @resolve_mip_level@, defined at @SDL3\/SDL_gpu.h 2026:12@
+  --          [C declaration]: @resolve_mip_level@, defined at @SDL3\/SDL_gpu.h 2034:12@
   , resolve_layer :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The layer index of the resolve texture to use for the resolve operation. Ignored if a RESOLVE* store_op is not used.
   --
-  --          [C declaration]: @resolve_layer@, defined at @SDL3\/SDL_gpu.h 2027:12@
+  --          [C declaration]: @resolve_layer@, defined at @SDL3\/SDL_gpu.h 2035:12@
   , cycle :: BG.CBool
   -- ^ true cycles the texture if the texture is bound and load_op is not LOAD
   --
-  --          [C declaration]: @cycle@, defined at @SDL3\/SDL_gpu.h 2028:10@
+  --          [C declaration]: @cycle@, defined at @SDL3\/SDL_gpu.h 2036:10@
   , cycle_resolve_texture :: BG.CBool
   -- ^ true cycles the resolve texture if the resolve texture is bound. Ignored if a RESOLVE* store_op is not used.
   --
-  --          [C declaration]: @cycle_resolve_texture@, defined at @SDL3\/SDL_gpu.h 2029:10@
+  --          [C declaration]: @cycle_resolve_texture@, defined at @SDL3\/SDL_gpu.h 2037:10@
   , padding1 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding1@, defined at @SDL3\/SDL_gpu.h 2030:11@
+  -- ^ [C declaration]: @padding1@, defined at @SDL3\/SDL_gpu.h 2038:11@
   , padding2 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding2@, defined at @SDL3\/SDL_gpu.h 2031:11@
+  -- ^ [C declaration]: @padding2@, defined at @SDL3\/SDL_gpu.h 2039:11@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -13737,48 +13739,48 @@
 --
 --     [See also]: 'sDL_BeginGPURenderPass'
 --
---     [C declaration]: @struct SDL_GPUDepthStencilTargetInfo@, defined at @SDL3\/SDL_gpu.h 2081:16@
+--     [C declaration]: @struct SDL_GPUDepthStencilTargetInfo@, defined at @SDL3\/SDL_gpu.h 2089:16@
 data SDL_GPUDepthStencilTargetInfo = SDL_GPUDepthStencilTargetInfo
   { texture :: BG.Ptr SDL_GPUTexture
   -- ^ The texture that will be used as the depth stencil target by the render pass.
   --
-  --          [C declaration]: @texture@, defined at @SDL3\/SDL_gpu.h 2083:21@
+  --          [C declaration]: @texture@, defined at @SDL3\/SDL_gpu.h 2091:21@
   , clear_depth :: BG.CFloat
   -- ^ The value to clear the depth component to at the beginning of the render pass. Ignored if SDL_GPU_LOADOP_CLEAR is not used.
   --
-  --          [C declaration]: @clear_depth@, defined at @SDL3\/SDL_gpu.h 2084:11@
+  --          [C declaration]: @clear_depth@, defined at @SDL3\/SDL_gpu.h 2092:11@
   , load_op :: SDL_GPULoadOp
   -- ^ What is done with the depth contents at the beginning of the render pass.
   --
-  --          [C declaration]: @load_op@, defined at @SDL3\/SDL_gpu.h 2085:19@
+  --          [C declaration]: @load_op@, defined at @SDL3\/SDL_gpu.h 2093:19@
   , store_op :: SDL_GPUStoreOp
   -- ^ What is done with the depth results of the render pass.
   --
-  --          [C declaration]: @store_op@, defined at @SDL3\/SDL_gpu.h 2086:20@
+  --          [C declaration]: @store_op@, defined at @SDL3\/SDL_gpu.h 2094:20@
   , stencil_load_op :: SDL_GPULoadOp
   -- ^ What is done with the stencil contents at the beginning of the render pass.
   --
-  --          [C declaration]: @stencil_load_op@, defined at @SDL3\/SDL_gpu.h 2087:19@
+  --          [C declaration]: @stencil_load_op@, defined at @SDL3\/SDL_gpu.h 2095:19@
   , stencil_store_op :: SDL_GPUStoreOp
   -- ^ What is done with the stencil results of the render pass.
   --
-  --          [C declaration]: @stencil_store_op@, defined at @SDL3\/SDL_gpu.h 2088:20@
+  --          [C declaration]: @stencil_store_op@, defined at @SDL3\/SDL_gpu.h 2096:20@
   , cycle :: BG.CBool
   -- ^ true cycles the texture if the texture is bound and any load ops are not LOAD
   --
-  --          [C declaration]: @cycle@, defined at @SDL3\/SDL_gpu.h 2089:10@
+  --          [C declaration]: @cycle@, defined at @SDL3\/SDL_gpu.h 2097:10@
   , clear_stencil :: SDL3.Sys.Bindgen.Stdinc.Uint8
   -- ^ The value to clear the stencil component to at the beginning of the render pass. Ignored if SDL_GPU_LOADOP_CLEAR is not used.
   --
-  --          [C declaration]: @clear_stencil@, defined at @SDL3\/SDL_gpu.h 2090:11@
+  --          [C declaration]: @clear_stencil@, defined at @SDL3\/SDL_gpu.h 2098:11@
   , mip_level :: SDL3.Sys.Bindgen.Stdinc.Uint8
   -- ^ The mip level to use as the depth stencil target.
   --
-  --          [C declaration]: @mip_level@, defined at @SDL3\/SDL_gpu.h 2091:11@
+  --          [C declaration]: @mip_level@, defined at @SDL3\/SDL_gpu.h 2099:11@
   , layer :: SDL3.Sys.Bindgen.Stdinc.Uint8
   -- ^ The layer index to use as the depth stencil target.
   --
-  --          [C declaration]: @layer@, defined at @SDL3\/SDL_gpu.h 2092:11@
+  --          [C declaration]: @layer@, defined at @SDL3\/SDL_gpu.h 2100:11@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -14192,44 +14194,44 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'sDL_BlitGPUTexture'
+--     [See also]: 'sDL_BlitGPUTexture', 'SDL_GPUBlitRegion', 'SDL_GPULoadOp', SDL_FColor, SDL_FlipMode, 'SDL_GPUFilter'
 --
---     [C declaration]: @struct SDL_GPUBlitInfo@, defined at @SDL3\/SDL_gpu.h 2102:16@
+--     [C declaration]: @struct SDL_GPUBlitInfo@, defined at @SDL3\/SDL_gpu.h 2115:16@
 data SDL_GPUBlitInfo = SDL_GPUBlitInfo
   { source :: SDL_GPUBlitRegion
   -- ^ The source region for the blit.
   --
-  --          [C declaration]: @source@, defined at @SDL3\/SDL_gpu.h 2103:23@
+  --          [C declaration]: @source@, defined at @SDL3\/SDL_gpu.h 2116:23@
   , destination :: SDL_GPUBlitRegion
   -- ^ The destination region for the blit.
   --
-  --          [C declaration]: @destination@, defined at @SDL3\/SDL_gpu.h 2104:23@
+  --          [C declaration]: @destination@, defined at @SDL3\/SDL_gpu.h 2117:23@
   , load_op :: SDL_GPULoadOp
   -- ^ What is done with the contents of the destination before the blit.
   --
-  --          [C declaration]: @load_op@, defined at @SDL3\/SDL_gpu.h 2105:19@
+  --          [C declaration]: @load_op@, defined at @SDL3\/SDL_gpu.h 2118:19@
   , clear_color :: SDL3.Sys.Bindgen.Pixels.SDL_FColor
   -- ^ The color to clear the destination region to before the blit. Ignored if load_op is not SDL_GPU_LOADOP_CLEAR.
   --
-  --          [C declaration]: @clear_color@, defined at @SDL3\/SDL_gpu.h 2106:16@
+  --          [C declaration]: @clear_color@, defined at @SDL3\/SDL_gpu.h 2119:16@
   , flip_mode :: SDL3.Sys.Bindgen.Surface.SDL_FlipMode
   -- ^ The flip mode for the source region.
   --
-  --          [C declaration]: @flip_mode@, defined at @SDL3\/SDL_gpu.h 2107:18@
+  --          [C declaration]: @flip_mode@, defined at @SDL3\/SDL_gpu.h 2120:18@
   , filter :: SDL_GPUFilter
   -- ^ The filter mode used when blitting.
   --
-  --          [C declaration]: @filter@, defined at @SDL3\/SDL_gpu.h 2108:19@
+  --          [C declaration]: @filter@, defined at @SDL3\/SDL_gpu.h 2121:19@
   , cycle :: BG.CBool
   -- ^ true cycles the destination texture if it is already bound.
   --
-  --          [C declaration]: @cycle@, defined at @SDL3\/SDL_gpu.h 2109:10@
+  --          [C declaration]: @cycle@, defined at @SDL3\/SDL_gpu.h 2122:10@
   , padding1 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding1@, defined at @SDL3\/SDL_gpu.h 2110:11@
+  -- ^ [C declaration]: @padding1@, defined at @SDL3\/SDL_gpu.h 2123:11@
   , padding2 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding2@, defined at @SDL3\/SDL_gpu.h 2111:11@
+  -- ^ [C declaration]: @padding2@, defined at @SDL3\/SDL_gpu.h 2124:11@
   , padding3 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding3@, defined at @SDL3\/SDL_gpu.h 2112:11@
+  -- ^ [C declaration]: @padding3@, defined at @SDL3\/SDL_gpu.h 2125:11@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -14638,16 +14640,16 @@
 --
 --     [See also]: 'sDL_BindGPUVertexBuffers', 'sDL_BindGPUIndexBuffer'
 --
---     [C declaration]: @struct SDL_GPUBufferBinding@, defined at @SDL3\/SDL_gpu.h 2125:16@
+--     [C declaration]: @struct SDL_GPUBufferBinding@, defined at @SDL3\/SDL_gpu.h 2138:16@
 data SDL_GPUBufferBinding = SDL_GPUBufferBinding
   { buffer :: BG.Ptr SDL_GPUBuffer
   -- ^ The buffer to bind. Must have been created with SDL_GPU_BUFFERUSAGE_VERTEX for SDL_BindGPUVertexBuffers, or SDL_GPU_BUFFERUSAGE_INDEX for SDL_BindGPUIndexBuffer.
   --
-  --          [C declaration]: @buffer@, defined at @SDL3\/SDL_gpu.h 2127:20@
+  --          [C declaration]: @buffer@, defined at @SDL3\/SDL_gpu.h 2140:20@
   , offset :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The starting byte of the data to bind in the buffer.
   --
-  --          [C declaration]: @offset@, defined at @SDL3\/SDL_gpu.h 2128:12@
+  --          [C declaration]: @offset@, defined at @SDL3\/SDL_gpu.h 2141:12@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -14728,16 +14730,16 @@
 --
 --     [See also]: 'sDL_BindGPUVertexSamplers', 'sDL_BindGPUFragmentSamplers', 'SDL_GPUTexture', 'SDL_GPUSampler'
 --
---     [C declaration]: @struct SDL_GPUTextureSamplerBinding@, defined at @SDL3\/SDL_gpu.h 2141:16@
+--     [C declaration]: @struct SDL_GPUTextureSamplerBinding@, defined at @SDL3\/SDL_gpu.h 2154:16@
 data SDL_GPUTextureSamplerBinding = SDL_GPUTextureSamplerBinding
   { texture :: BG.Ptr SDL_GPUTexture
   -- ^ The texture to bind. Must have been created with SDL_GPU_TEXTUREUSAGE_SAMPLER.
   --
-  --          [C declaration]: @texture@, defined at @SDL3\/SDL_gpu.h 2143:21@
+  --          [C declaration]: @texture@, defined at @SDL3\/SDL_gpu.h 2156:21@
   , sampler :: BG.Ptr SDL_GPUSampler
   -- ^ The sampler to bind.
   --
-  --          [C declaration]: @sampler@, defined at @SDL3\/SDL_gpu.h 2144:21@
+  --          [C declaration]: @sampler@, defined at @SDL3\/SDL_gpu.h 2157:21@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -14821,22 +14823,22 @@
 --
 --     [See also]: 'sDL_BeginGPUComputePass'
 --
---     [C declaration]: @struct SDL_GPUStorageBufferReadWriteBinding@, defined at @SDL3\/SDL_gpu.h 2155:16@
+--     [C declaration]: @struct SDL_GPUStorageBufferReadWriteBinding@, defined at @SDL3\/SDL_gpu.h 2168:16@
 data SDL_GPUStorageBufferReadWriteBinding = SDL_GPUStorageBufferReadWriteBinding
   { buffer :: BG.Ptr SDL_GPUBuffer
   -- ^ The buffer to bind. Must have been created with SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE.
   --
-  --          [C declaration]: @buffer@, defined at @SDL3\/SDL_gpu.h 2157:20@
+  --          [C declaration]: @buffer@, defined at @SDL3\/SDL_gpu.h 2170:20@
   , cycle :: BG.CBool
   -- ^ true cycles the buffer if it is already bound.
   --
-  --          [C declaration]: @cycle@, defined at @SDL3\/SDL_gpu.h 2158:10@
+  --          [C declaration]: @cycle@, defined at @SDL3\/SDL_gpu.h 2171:10@
   , padding1 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding1@, defined at @SDL3\/SDL_gpu.h 2159:11@
+  -- ^ [C declaration]: @padding1@, defined at @SDL3\/SDL_gpu.h 2172:11@
   , padding2 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding2@, defined at @SDL3\/SDL_gpu.h 2160:11@
+  -- ^ [C declaration]: @padding2@, defined at @SDL3\/SDL_gpu.h 2173:11@
   , padding3 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding3@, defined at @SDL3\/SDL_gpu.h 2161:11@
+  -- ^ [C declaration]: @padding3@, defined at @SDL3\/SDL_gpu.h 2174:11@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -15033,30 +15035,30 @@
 --
 --     [See also]: 'sDL_BeginGPUComputePass'
 --
---     [C declaration]: @struct SDL_GPUStorageTextureReadWriteBinding@, defined at @SDL3\/SDL_gpu.h 2172:16@
+--     [C declaration]: @struct SDL_GPUStorageTextureReadWriteBinding@, defined at @SDL3\/SDL_gpu.h 2185:16@
 data SDL_GPUStorageTextureReadWriteBinding = SDL_GPUStorageTextureReadWriteBinding
   { texture :: BG.Ptr SDL_GPUTexture
   -- ^ The texture to bind. Must have been created with SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE or SDL_GPU_TEXTUREUSAGE_COMPUTE_STORAGE_SIMULTANEOUS_READ_WRITE.
   --
-  --          [C declaration]: @texture@, defined at @SDL3\/SDL_gpu.h 2174:21@
+  --          [C declaration]: @texture@, defined at @SDL3\/SDL_gpu.h 2187:21@
   , mip_level :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The mip level index to bind.
   --
-  --          [C declaration]: @mip_level@, defined at @SDL3\/SDL_gpu.h 2175:12@
+  --          [C declaration]: @mip_level@, defined at @SDL3\/SDL_gpu.h 2188:12@
   , layer :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The layer index to bind.
   --
-  --          [C declaration]: @layer@, defined at @SDL3\/SDL_gpu.h 2176:12@
+  --          [C declaration]: @layer@, defined at @SDL3\/SDL_gpu.h 2189:12@
   , cycle :: BG.CBool
   -- ^ true cycles the texture if it is already bound.
   --
-  --          [C declaration]: @cycle@, defined at @SDL3\/SDL_gpu.h 2177:10@
+  --          [C declaration]: @cycle@, defined at @SDL3\/SDL_gpu.h 2190:10@
   , padding1 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding1@, defined at @SDL3\/SDL_gpu.h 2178:11@
+  -- ^ [C declaration]: @padding1@, defined at @SDL3\/SDL_gpu.h 2191:11@
   , padding2 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding2@, defined at @SDL3\/SDL_gpu.h 2179:11@
+  -- ^ [C declaration]: @padding2@, defined at @SDL3\/SDL_gpu.h 2192:11@
   , padding3 :: SDL3.Sys.Bindgen.Stdinc.Uint8
-  -- ^ [C declaration]: @padding3@, defined at @SDL3\/SDL_gpu.h 2180:11@
+  -- ^ [C declaration]: @padding3@, defined at @SDL3\/SDL_gpu.h 2193:11@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -15327,7 +15329,7 @@
 
   offset# = \_ -> \_ -> 19
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_DEBUGMODE_BOOLEAN@, literal @\"SDL.gpu.device.create.debugmode\"@, defined at @SDL3\/SDL_gpu.h 2363:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_DEBUGMODE_BOOLEAN@, literal @\"SDL.gpu.device.create.debugmode\"@, defined at @SDL3\/SDL_gpu.h 2376:9@
 sDL_PROP_GPU_DEVICE_CREATE_DEBUGMODE_BOOLEAN :: BG.ByteString
 sDL_PROP_GPU_DEVICE_CREATE_DEBUGMODE_BOOLEAN =
   BG.pack
@@ -15364,7 +15366,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_PREFERLOWPOWER_BOOLEAN@, literal @\"SDL.gpu.device.create.preferlowpower\"@, defined at @SDL3\/SDL_gpu.h 2364:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_PREFERLOWPOWER_BOOLEAN@, literal @\"SDL.gpu.device.create.preferlowpower\"@, defined at @SDL3\/SDL_gpu.h 2377:9@
 sDL_PROP_GPU_DEVICE_CREATE_PREFERLOWPOWER_BOOLEAN :: BG.ByteString
 sDL_PROP_GPU_DEVICE_CREATE_PREFERLOWPOWER_BOOLEAN =
   BG.pack
@@ -15406,7 +15408,7 @@
     , 0x72
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_VERBOSE_BOOLEAN@, literal @\"SDL.gpu.device.create.verbose\"@, defined at @SDL3\/SDL_gpu.h 2365:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_VERBOSE_BOOLEAN@, literal @\"SDL.gpu.device.create.verbose\"@, defined at @SDL3\/SDL_gpu.h 2378:9@
 sDL_PROP_GPU_DEVICE_CREATE_VERBOSE_BOOLEAN :: BG.ByteString
 sDL_PROP_GPU_DEVICE_CREATE_VERBOSE_BOOLEAN =
   BG.pack
@@ -15441,7 +15443,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_NAME_STRING@, literal @\"SDL.gpu.device.create.name\"@, defined at @SDL3\/SDL_gpu.h 2366:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_NAME_STRING@, literal @\"SDL.gpu.device.create.name\"@, defined at @SDL3\/SDL_gpu.h 2379:9@
 sDL_PROP_GPU_DEVICE_CREATE_NAME_STRING :: BG.ByteString
 sDL_PROP_GPU_DEVICE_CREATE_NAME_STRING =
   BG.pack
@@ -15473,7 +15475,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_FEATURE_CLIP_DISTANCE_BOOLEAN@, literal @\"SDL.gpu.device.create.feature.clip_distance\"@, defined at @SDL3\/SDL_gpu.h 2367:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_FEATURE_CLIP_DISTANCE_BOOLEAN@, literal @\"SDL.gpu.device.create.feature.clip_distance\"@, defined at @SDL3\/SDL_gpu.h 2380:9@
 sDL_PROP_GPU_DEVICE_CREATE_FEATURE_CLIP_DISTANCE_BOOLEAN :: BG.ByteString
 sDL_PROP_GPU_DEVICE_CREATE_FEATURE_CLIP_DISTANCE_BOOLEAN =
   BG.pack
@@ -15522,7 +15524,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_FEATURE_DEPTH_CLAMPING_BOOLEAN@, literal @\"SDL.gpu.device.create.feature.depth_clamping\"@, defined at @SDL3\/SDL_gpu.h 2368:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_FEATURE_DEPTH_CLAMPING_BOOLEAN@, literal @\"SDL.gpu.device.create.feature.depth_clamping\"@, defined at @SDL3\/SDL_gpu.h 2381:9@
 sDL_PROP_GPU_DEVICE_CREATE_FEATURE_DEPTH_CLAMPING_BOOLEAN :: BG.ByteString
 sDL_PROP_GPU_DEVICE_CREATE_FEATURE_DEPTH_CLAMPING_BOOLEAN =
   BG.pack
@@ -15572,7 +15574,7 @@
     , 0x67
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_FEATURE_INDIRECT_DRAW_FIRST_INSTANCE_BOOLEAN@, literal @\"SDL.gpu.device.create.feature.indirect_draw_first_instance\"@, defined at @SDL3\/SDL_gpu.h 2369:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_FEATURE_INDIRECT_DRAW_FIRST_INSTANCE_BOOLEAN@, literal @\"SDL.gpu.device.create.feature.indirect_draw_first_instance\"@, defined at @SDL3\/SDL_gpu.h 2382:9@
 sDL_PROP_GPU_DEVICE_CREATE_FEATURE_INDIRECT_DRAW_FIRST_INSTANCE_BOOLEAN :: BG.ByteString
 sDL_PROP_GPU_DEVICE_CREATE_FEATURE_INDIRECT_DRAW_FIRST_INSTANCE_BOOLEAN =
   BG.pack
@@ -15636,7 +15638,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_FEATURE_ANISOTROPY_BOOLEAN@, literal @\"SDL.gpu.device.create.feature.anisotropy\"@, defined at @SDL3\/SDL_gpu.h 2370:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_FEATURE_ANISOTROPY_BOOLEAN@, literal @\"SDL.gpu.device.create.feature.anisotropy\"@, defined at @SDL3\/SDL_gpu.h 2383:9@
 sDL_PROP_GPU_DEVICE_CREATE_FEATURE_ANISOTROPY_BOOLEAN :: BG.ByteString
 sDL_PROP_GPU_DEVICE_CREATE_FEATURE_ANISOTROPY_BOOLEAN =
   BG.pack
@@ -15682,7 +15684,7 @@
     , 0x79
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_SHADERS_PRIVATE_BOOLEAN@, literal @\"SDL.gpu.device.create.shaders.private\"@, defined at @SDL3\/SDL_gpu.h 2371:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_SHADERS_PRIVATE_BOOLEAN@, literal @\"SDL.gpu.device.create.shaders.private\"@, defined at @SDL3\/SDL_gpu.h 2384:9@
 sDL_PROP_GPU_DEVICE_CREATE_SHADERS_PRIVATE_BOOLEAN :: BG.ByteString
 sDL_PROP_GPU_DEVICE_CREATE_SHADERS_PRIVATE_BOOLEAN =
   BG.pack
@@ -15725,7 +15727,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_SHADERS_SPIRV_BOOLEAN@, literal @\"SDL.gpu.device.create.shaders.spirv\"@, defined at @SDL3\/SDL_gpu.h 2372:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_SHADERS_SPIRV_BOOLEAN@, literal @\"SDL.gpu.device.create.shaders.spirv\"@, defined at @SDL3\/SDL_gpu.h 2385:9@
 sDL_PROP_GPU_DEVICE_CREATE_SHADERS_SPIRV_BOOLEAN :: BG.ByteString
 sDL_PROP_GPU_DEVICE_CREATE_SHADERS_SPIRV_BOOLEAN =
   BG.pack
@@ -15766,7 +15768,7 @@
     , 0x76
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXBC_BOOLEAN@, literal @\"SDL.gpu.device.create.shaders.dxbc\"@, defined at @SDL3\/SDL_gpu.h 2373:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXBC_BOOLEAN@, literal @\"SDL.gpu.device.create.shaders.dxbc\"@, defined at @SDL3\/SDL_gpu.h 2386:9@
 sDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXBC_BOOLEAN :: BG.ByteString
 sDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXBC_BOOLEAN =
   BG.pack
@@ -15806,7 +15808,7 @@
     , 0x63
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXIL_BOOLEAN@, literal @\"SDL.gpu.device.create.shaders.dxil\"@, defined at @SDL3\/SDL_gpu.h 2374:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXIL_BOOLEAN@, literal @\"SDL.gpu.device.create.shaders.dxil\"@, defined at @SDL3\/SDL_gpu.h 2387:9@
 sDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXIL_BOOLEAN :: BG.ByteString
 sDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXIL_BOOLEAN =
   BG.pack
@@ -15846,7 +15848,7 @@
     , 0x6C
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_SHADERS_MSL_BOOLEAN@, literal @\"SDL.gpu.device.create.shaders.msl\"@, defined at @SDL3\/SDL_gpu.h 2375:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_SHADERS_MSL_BOOLEAN@, literal @\"SDL.gpu.device.create.shaders.msl\"@, defined at @SDL3\/SDL_gpu.h 2388:9@
 sDL_PROP_GPU_DEVICE_CREATE_SHADERS_MSL_BOOLEAN :: BG.ByteString
 sDL_PROP_GPU_DEVICE_CREATE_SHADERS_MSL_BOOLEAN =
   BG.pack
@@ -15885,7 +15887,7 @@
     , 0x6C
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_SHADERS_METALLIB_BOOLEAN@, literal @\"SDL.gpu.device.create.shaders.metallib\"@, defined at @SDL3\/SDL_gpu.h 2376:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_SHADERS_METALLIB_BOOLEAN@, literal @\"SDL.gpu.device.create.shaders.metallib\"@, defined at @SDL3\/SDL_gpu.h 2389:9@
 sDL_PROP_GPU_DEVICE_CREATE_SHADERS_METALLIB_BOOLEAN :: BG.ByteString
 sDL_PROP_GPU_DEVICE_CREATE_SHADERS_METALLIB_BOOLEAN =
   BG.pack
@@ -15929,7 +15931,7 @@
     , 0x62
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_D3D12_ALLOW_FEWER_RESOURCE_SLOTS_BOOLEAN@, literal @\"SDL.gpu.device.create.d3d12.allowtier1resourcebinding\"@, defined at @SDL3\/SDL_gpu.h 2377:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_D3D12_ALLOW_FEWER_RESOURCE_SLOTS_BOOLEAN@, literal @\"SDL.gpu.device.create.d3d12.allowtier1resourcebinding\"@, defined at @SDL3\/SDL_gpu.h 2390:9@
 sDL_PROP_GPU_DEVICE_CREATE_D3D12_ALLOW_FEWER_RESOURCE_SLOTS_BOOLEAN :: BG.ByteString
 sDL_PROP_GPU_DEVICE_CREATE_D3D12_ALLOW_FEWER_RESOURCE_SLOTS_BOOLEAN =
   BG.pack
@@ -15988,7 +15990,7 @@
     , 0x67
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_D3D12_SEMANTIC_NAME_STRING@, literal @\"SDL.gpu.device.create.d3d12.semantic\"@, defined at @SDL3\/SDL_gpu.h 2378:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_D3D12_SEMANTIC_NAME_STRING@, literal @\"SDL.gpu.device.create.d3d12.semantic\"@, defined at @SDL3\/SDL_gpu.h 2391:9@
 sDL_PROP_GPU_DEVICE_CREATE_D3D12_SEMANTIC_NAME_STRING :: BG.ByteString
 sDL_PROP_GPU_DEVICE_CREATE_D3D12_SEMANTIC_NAME_STRING =
   BG.pack
@@ -16030,7 +16032,7 @@
     , 0x63
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_D3D12_AGILITY_SDK_VERSION_NUMBER@, literal @\"SDL.gpu.device.create.d3d12.agility_sdk_version\"@, defined at @SDL3\/SDL_gpu.h 2379:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_D3D12_AGILITY_SDK_VERSION_NUMBER@, literal @\"SDL.gpu.device.create.d3d12.agility_sdk_version\"@, defined at @SDL3\/SDL_gpu.h 2392:9@
 sDL_PROP_GPU_DEVICE_CREATE_D3D12_AGILITY_SDK_VERSION_NUMBER :: BG.ByteString
 sDL_PROP_GPU_DEVICE_CREATE_D3D12_AGILITY_SDK_VERSION_NUMBER =
   BG.pack
@@ -16083,7 +16085,7 @@
     , 0x6E
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_D3D12_AGILITY_SDK_PATH_STRING@, literal @\"SDL.gpu.device.create.d3d12.agility_sdk_path\"@, defined at @SDL3\/SDL_gpu.h 2380:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_D3D12_AGILITY_SDK_PATH_STRING@, literal @\"SDL.gpu.device.create.d3d12.agility_sdk_path\"@, defined at @SDL3\/SDL_gpu.h 2393:9@
 sDL_PROP_GPU_DEVICE_CREATE_D3D12_AGILITY_SDK_PATH_STRING :: BG.ByteString
 sDL_PROP_GPU_DEVICE_CREATE_D3D12_AGILITY_SDK_PATH_STRING =
   BG.pack
@@ -16133,7 +16135,7 @@
     , 0x68
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEAN@, literal @\"SDL.gpu.device.create.vulkan.requirehardwareacceleration\"@, defined at @SDL3\/SDL_gpu.h 2381:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEAN@, literal @\"SDL.gpu.device.create.vulkan.requirehardwareacceleration\"@, defined at @SDL3\/SDL_gpu.h 2394:9@
 sDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEAN :: BG.ByteString
 sDL_PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEAN =
   BG.pack
@@ -16195,7 +16197,7 @@
     , 0x6E
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER@, literal @\"SDL.gpu.device.create.vulkan.options\"@, defined at @SDL3\/SDL_gpu.h 2382:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER@, literal @\"SDL.gpu.device.create.vulkan.options\"@, defined at @SDL3\/SDL_gpu.h 2395:9@
 sDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER :: BG.ByteString
 sDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER =
   BG.pack
@@ -16237,7 +16239,7 @@
     , 0x73
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_METAL_ALLOW_MACFAMILY1_BOOLEAN@, literal @\"SDL.gpu.device.create.metal.allowmacfamily1\"@, defined at @SDL3\/SDL_gpu.h 2383:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_CREATE_METAL_ALLOW_MACFAMILY1_BOOLEAN@, literal @\"SDL.gpu.device.create.metal.allowmacfamily1\"@, defined at @SDL3\/SDL_gpu.h 2396:9@
 sDL_PROP_GPU_DEVICE_CREATE_METAL_ALLOW_MACFAMILY1_BOOLEAN :: BG.ByteString
 sDL_PROP_GPU_DEVICE_CREATE_METAL_ALLOW_MACFAMILY1_BOOLEAN =
   BG.pack
@@ -16292,36 +16294,36 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @struct SDL_GPUVulkanOptions@, defined at @SDL3\/SDL_gpu.h 2402:16@
+--     [C declaration]: @struct SDL_GPUVulkanOptions@, defined at @SDL3\/SDL_gpu.h 2415:16@
 data SDL_GPUVulkanOptions = SDL_GPUVulkanOptions
   { vulkan_api_version :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ The Vulkan API version to request for the instance. Use Vulkan\'s VK_MAKE_VERSION or VK_MAKE_API_VERSION.
   --
-  --          [C declaration]: @vulkan_api_version@, defined at @SDL3\/SDL_gpu.h 2404:12@
+  --          [C declaration]: @vulkan_api_version@, defined at @SDL3\/SDL_gpu.h 2417:12@
   , feature_list :: BG.Ptr BG.Void
   -- ^ Pointer to the first element of a chain of Vulkan feature structs. (Requires API version 1.1 or higher.)
   --
-  --          [C declaration]: @feature_list@, defined at @SDL3\/SDL_gpu.h 2405:11@
+  --          [C declaration]: @feature_list@, defined at @SDL3\/SDL_gpu.h 2418:11@
   , vulkan_10_physical_device_features :: BG.Ptr BG.Void
   -- ^ Pointer to a VkPhysicalDeviceFeatures struct to enable additional Vulkan 1.0 features.
   --
-  --          [C declaration]: @vulkan_10_physical_device_features@, defined at @SDL3\/SDL_gpu.h 2406:8@
+  --          [C declaration]: @vulkan_10_physical_device_features@, defined at @SDL3\/SDL_gpu.h 2419:8@
   , device_extension_count :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ Number of additional device extensions to require.
   --
-  --          [C declaration]: @device_extension_count@, defined at @SDL3\/SDL_gpu.h 2407:9@
+  --          [C declaration]: @device_extension_count@, defined at @SDL3\/SDL_gpu.h 2420:9@
   , device_extension_names :: BG.Ptr (PtrConst.PtrConst BG.CChar)
   -- ^ Pointer to a list of additional device extensions to require.
   --
-  --          [C declaration]: @device_extension_names@, defined at @SDL3\/SDL_gpu.h 2408:15@
+  --          [C declaration]: @device_extension_names@, defined at @SDL3\/SDL_gpu.h 2421:15@
   , instance_extension_count :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^ Number of additional instance extensions to require.
   --
-  --          [C declaration]: @instance_extension_count@, defined at @SDL3\/SDL_gpu.h 2409:9@
+  --          [C declaration]: @instance_extension_count@, defined at @SDL3\/SDL_gpu.h 2422:9@
   , instance_extension_names :: BG.Ptr (PtrConst.PtrConst BG.CChar)
   -- ^ Pointer to a list of additional instance extensions to require.
   --
-  --          [C declaration]: @instance_extension_names@, defined at @SDL3\/SDL_gpu.h 2410:15@
+  --          [C declaration]: @instance_extension_names@, defined at @SDL3\/SDL_gpu.h 2423:15@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -16599,7 +16601,7 @@
 
   offset# = \_ -> \_ -> 48
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_NAME_STRING@, literal @\"SDL.gpu.device.name\"@, defined at @SDL3\/SDL_gpu.h 2579:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_NAME_STRING@, literal @\"SDL.gpu.device.name\"@, defined at @SDL3\/SDL_gpu.h 2592:9@
 sDL_PROP_GPU_DEVICE_NAME_STRING :: BG.ByteString
 sDL_PROP_GPU_DEVICE_NAME_STRING =
   BG.pack
@@ -16624,7 +16626,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_DRIVER_NAME_STRING@, literal @\"SDL.gpu.device.driver_name\"@, defined at @SDL3\/SDL_gpu.h 2580:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_DRIVER_NAME_STRING@, literal @\"SDL.gpu.device.driver_name\"@, defined at @SDL3\/SDL_gpu.h 2593:9@
 sDL_PROP_GPU_DEVICE_DRIVER_NAME_STRING :: BG.ByteString
 sDL_PROP_GPU_DEVICE_DRIVER_NAME_STRING =
   BG.pack
@@ -16656,7 +16658,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_DRIVER_VERSION_STRING@, literal @\"SDL.gpu.device.driver_version\"@, defined at @SDL3\/SDL_gpu.h 2581:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_DRIVER_VERSION_STRING@, literal @\"SDL.gpu.device.driver_version\"@, defined at @SDL3\/SDL_gpu.h 2594:9@
 sDL_PROP_GPU_DEVICE_DRIVER_VERSION_STRING :: BG.ByteString
 sDL_PROP_GPU_DEVICE_DRIVER_VERSION_STRING =
   BG.pack
@@ -16691,7 +16693,7 @@
     , 0x6E
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_DRIVER_INFO_STRING@, literal @\"SDL.gpu.device.driver_info\"@, defined at @SDL3\/SDL_gpu.h 2582:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_DEVICE_DRIVER_INFO_STRING@, literal @\"SDL.gpu.device.driver_info\"@, defined at @SDL3\/SDL_gpu.h 2595:9@
 sDL_PROP_GPU_DEVICE_DRIVER_INFO_STRING :: BG.ByteString
 sDL_PROP_GPU_DEVICE_DRIVER_INFO_STRING =
   BG.pack
@@ -16723,7 +16725,7 @@
     , 0x6F
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_COMPUTEPIPELINE_CREATE_NAME_STRING@, literal @\"SDL.gpu.computepipeline.create.name\"@, defined at @SDL3\/SDL_gpu.h 2636:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_COMPUTEPIPELINE_CREATE_NAME_STRING@, literal @\"SDL.gpu.computepipeline.create.name\"@, defined at @SDL3\/SDL_gpu.h 2649:9@
 sDL_PROP_GPU_COMPUTEPIPELINE_CREATE_NAME_STRING :: BG.ByteString
 sDL_PROP_GPU_COMPUTEPIPELINE_CREATE_NAME_STRING =
   BG.pack
@@ -16764,7 +16766,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_GRAPHICSPIPELINE_CREATE_NAME_STRING@, literal @\"SDL.gpu.graphicspipeline.create.name\"@, defined at @SDL3\/SDL_gpu.h 2663:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_GRAPHICSPIPELINE_CREATE_NAME_STRING@, literal @\"SDL.gpu.graphicspipeline.create.name\"@, defined at @SDL3\/SDL_gpu.h 2676:9@
 sDL_PROP_GPU_GRAPHICSPIPELINE_CREATE_NAME_STRING :: BG.ByteString
 sDL_PROP_GPU_GRAPHICSPIPELINE_CREATE_NAME_STRING =
   BG.pack
@@ -16806,7 +16808,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_SAMPLER_CREATE_NAME_STRING@, literal @\"SDL.gpu.sampler.create.name\"@, defined at @SDL3\/SDL_gpu.h 2690:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_SAMPLER_CREATE_NAME_STRING@, literal @\"SDL.gpu.sampler.create.name\"@, defined at @SDL3\/SDL_gpu.h 2703:9@
 sDL_PROP_GPU_SAMPLER_CREATE_NAME_STRING :: BG.ByteString
 sDL_PROP_GPU_SAMPLER_CREATE_NAME_STRING =
   BG.pack
@@ -16839,7 +16841,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_SHADER_CREATE_NAME_STRING@, literal @\"SDL.gpu.shader.create.name\"@, defined at @SDL3\/SDL_gpu.h 2769:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_SHADER_CREATE_NAME_STRING@, literal @\"SDL.gpu.shader.create.name\"@, defined at @SDL3\/SDL_gpu.h 2782:9@
 sDL_PROP_GPU_SHADER_CREATE_NAME_STRING :: BG.ByteString
 sDL_PROP_GPU_SHADER_CREATE_NAME_STRING =
   BG.pack
@@ -16871,7 +16873,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_R_FLOAT@, literal @\"SDL.gpu.texture.create.d3d12.clear.r\"@, defined at @SDL3\/SDL_gpu.h 2833:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_R_FLOAT@, literal @\"SDL.gpu.texture.create.d3d12.clear.r\"@, defined at @SDL3\/SDL_gpu.h 2846:9@
 sDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_R_FLOAT :: BG.ByteString
 sDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_R_FLOAT =
   BG.pack
@@ -16913,7 +16915,7 @@
     , 0x72
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_G_FLOAT@, literal @\"SDL.gpu.texture.create.d3d12.clear.g\"@, defined at @SDL3\/SDL_gpu.h 2834:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_G_FLOAT@, literal @\"SDL.gpu.texture.create.d3d12.clear.g\"@, defined at @SDL3\/SDL_gpu.h 2847:9@
 sDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_G_FLOAT :: BG.ByteString
 sDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_G_FLOAT =
   BG.pack
@@ -16955,7 +16957,7 @@
     , 0x67
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_B_FLOAT@, literal @\"SDL.gpu.texture.create.d3d12.clear.b\"@, defined at @SDL3\/SDL_gpu.h 2835:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_B_FLOAT@, literal @\"SDL.gpu.texture.create.d3d12.clear.b\"@, defined at @SDL3\/SDL_gpu.h 2848:9@
 sDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_B_FLOAT :: BG.ByteString
 sDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_B_FLOAT =
   BG.pack
@@ -16997,7 +16999,7 @@
     , 0x62
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_A_FLOAT@, literal @\"SDL.gpu.texture.create.d3d12.clear.a\"@, defined at @SDL3\/SDL_gpu.h 2836:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_A_FLOAT@, literal @\"SDL.gpu.texture.create.d3d12.clear.a\"@, defined at @SDL3\/SDL_gpu.h 2849:9@
 sDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_A_FLOAT :: BG.ByteString
 sDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_A_FLOAT =
   BG.pack
@@ -17039,7 +17041,7 @@
     , 0x61
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_DEPTH_FLOAT@, literal @\"SDL.gpu.texture.create.d3d12.clear.depth\"@, defined at @SDL3\/SDL_gpu.h 2837:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_DEPTH_FLOAT@, literal @\"SDL.gpu.texture.create.d3d12.clear.depth\"@, defined at @SDL3\/SDL_gpu.h 2850:9@
 sDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_DEPTH_FLOAT :: BG.ByteString
 sDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_DEPTH_FLOAT =
   BG.pack
@@ -17085,7 +17087,7 @@
     , 0x68
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_STENCIL_NUMBER@, literal @\"SDL.gpu.texture.create.d3d12.clear.stencil\"@, defined at @SDL3\/SDL_gpu.h 2838:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_STENCIL_NUMBER@, literal @\"SDL.gpu.texture.create.d3d12.clear.stencil\"@, defined at @SDL3\/SDL_gpu.h 2851:9@
 sDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_STENCIL_NUMBER :: BG.ByteString
 sDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_STENCIL_NUMBER =
   BG.pack
@@ -17133,7 +17135,7 @@
     , 0x6C
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_TEXTURE_CREATE_NAME_STRING@, literal @\"SDL.gpu.texture.create.name\"@, defined at @SDL3\/SDL_gpu.h 2839:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_TEXTURE_CREATE_NAME_STRING@, literal @\"SDL.gpu.texture.create.name\"@, defined at @SDL3\/SDL_gpu.h 2852:9@
 sDL_PROP_GPU_TEXTURE_CREATE_NAME_STRING :: BG.ByteString
 sDL_PROP_GPU_TEXTURE_CREATE_NAME_STRING =
   BG.pack
@@ -17166,7 +17168,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_BUFFER_CREATE_NAME_STRING@, literal @\"SDL.gpu.buffer.create.name\"@, defined at @SDL3\/SDL_gpu.h 2889:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_BUFFER_CREATE_NAME_STRING@, literal @\"SDL.gpu.buffer.create.name\"@, defined at @SDL3\/SDL_gpu.h 2902:9@
 sDL_PROP_GPU_BUFFER_CREATE_NAME_STRING :: BG.ByteString
 sDL_PROP_GPU_BUFFER_CREATE_NAME_STRING =
   BG.pack
@@ -17198,7 +17200,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_GPU_TRANSFERBUFFER_CREATE_NAME_STRING@, literal @\"SDL.gpu.transferbuffer.create.name\"@, defined at @SDL3\/SDL_gpu.h 2922:9@
+-- | [C declaration]: @macro SDL_PROP_GPU_TRANSFERBUFFER_CREATE_NAME_STRING@, literal @\"SDL.gpu.transferbuffer.create.name\"@, defined at @SDL3\/SDL_gpu.h 2935:9@
 sDL_PROP_GPU_TRANSFERBUFFER_CREATE_NAME_STRING :: BG.ByteString
 sDL_PROP_GPU_TRANSFERBUFFER_CREATE_NAME_STRING =
   BG.pack
diff --git a/src/SDL3/Sys/Bindgen/Gpu/FunPtr.hs b/src/SDL3/Sys/Bindgen/Gpu/FunPtr.hs
--- a/src/SDL3/Sys/Bindgen/Gpu/FunPtr.hs
+++ b/src/SDL3/Sys/Bindgen/Gpu/FunPtr.hs
@@ -1074,7 +1074,7 @@
 --
 --     [See also]: 'sDL_CreateGPUDevice'
 --
---     [C declaration]: @SDL_GPUSupportsShaderFormats@, defined at @SDL3\/SDL_gpu.h 2200:34@
+--     [C declaration]: @SDL_GPUSupportsShaderFormats@, defined at @SDL3\/SDL_gpu.h 2213:34@
 sDL_GPUSupportsShaderFormats
   :: BG.FunPtr (SDL_GPUShaderFormat -> PtrConst.PtrConst BG.CChar -> IO BG.CBool)
 sDL_GPUSupportsShaderFormats =
@@ -1103,7 +1103,7 @@
 --
 --     [See also]: 'sDL_CreateGPUDeviceWithProperties'
 --
---     [C declaration]: @SDL_GPUSupportsProperties@, defined at @SDL3\/SDL_gpu.h 2214:34@
+--     [C declaration]: @SDL_GPUSupportsProperties@, defined at @SDL3\/SDL_gpu.h 2227:34@
 sDL_GPUSupportsProperties :: BG.FunPtr (SDL3.Sys.Bindgen.Properties.SDL_PropertiesID -> IO BG.CBool)
 sDL_GPUSupportsProperties =
   BG.unsafePerformIO hs_bindgen_df6bcb319e7313a0
@@ -1148,7 +1148,7 @@
 --
 --     [See also]: 'sDL_CreateGPUDeviceWithProperties', 'sDL_GetGPUShaderFormats', 'sDL_GetGPUDeviceDriver', 'sDL_DestroyGPUDevice', 'sDL_GPUSupportsShaderFormats'
 --
---     [C declaration]: @SDL_CreateGPUDevice@, defined at @SDL3\/SDL_gpu.h 2243:45@
+--     [C declaration]: @SDL_CreateGPUDevice@, defined at @SDL3\/SDL_gpu.h 2256:45@
 sDL_CreateGPUDevice
   :: BG.FunPtr
        (SDL_GPUShaderFormat -> BG.CBool -> PtrConst.PtrConst BG.CChar -> IO (BG.Ptr SDL_GPUDevice))
@@ -1228,7 +1228,7 @@
 --
 --     [See also]: 'sDL_GetGPUShaderFormats', 'sDL_GetGPUDeviceDriver', 'sDL_DestroyGPUDevice', 'sDL_GPUSupportsProperties'
 --
---     [C declaration]: @SDL_CreateGPUDeviceWithProperties@, defined at @SDL3\/SDL_gpu.h 2360:45@
+--     [C declaration]: @SDL_CreateGPUDeviceWithProperties@, defined at @SDL3\/SDL_gpu.h 2373:45@
 sDL_CreateGPUDeviceWithProperties
   :: BG.FunPtr (SDL3.Sys.Bindgen.Properties.SDL_PropertiesID -> IO (BG.Ptr SDL_GPUDevice))
 sDL_CreateGPUDeviceWithProperties =
@@ -1254,7 +1254,7 @@
 --
 --     [See also]: 'sDL_CreateGPUDevice'
 --
---     [C declaration]: @SDL_DestroyGPUDevice@, defined at @SDL3\/SDL_gpu.h 2422:34@
+--     [C declaration]: @SDL_DestroyGPUDevice@, defined at @SDL3\/SDL_gpu.h 2435:34@
 sDL_DestroyGPUDevice :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> IO ())
 sDL_DestroyGPUDevice =
   BG.unsafePerformIO hs_bindgen_3d36d3936e535445
@@ -1279,7 +1279,7 @@
 --
 --     [See also]: 'sDL_GetGPUDriver'
 --
---     [C declaration]: @SDL_GetNumGPUDrivers@, defined at @SDL3\/SDL_gpu.h 2433:33@
+--     [C declaration]: @SDL_GetNumGPUDrivers@, defined at @SDL3\/SDL_gpu.h 2446:33@
 sDL_GetNumGPUDrivers :: BG.FunPtr (IO BG.CInt)
 sDL_GetNumGPUDrivers =
   BG.unsafePerformIO hs_bindgen_724c599cc9199701
@@ -1310,7 +1310,7 @@
 --
 --     [See also]: 'sDL_GetNumGPUDrivers'
 --
---     [C declaration]: @SDL_GetGPUDriver@, defined at @SDL3\/SDL_gpu.h 2452:42@
+--     [C declaration]: @SDL_GetGPUDriver@, defined at @SDL3\/SDL_gpu.h 2465:42@
 sDL_GetGPUDriver :: BG.FunPtr (BG.CInt -> IO (PtrConst.PtrConst BG.CChar))
 sDL_GetGPUDriver =
   BG.unsafePerformIO hs_bindgen_878ed2fb40f693fc
@@ -1336,7 +1336,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetGPUDeviceDriver@, defined at @SDL3\/SDL_gpu.h 2462:42@
+--     [C declaration]: @SDL_GetGPUDeviceDriver@, defined at @SDL3\/SDL_gpu.h 2475:42@
 sDL_GetGPUDeviceDriver :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> IO (PtrConst.PtrConst BG.CChar))
 sDL_GetGPUDeviceDriver =
   BG.unsafePerformIO hs_bindgen_61e30ecd9dcd6a0d
@@ -1361,7 +1361,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetGPUShaderFormats@, defined at @SDL3\/SDL_gpu.h 2473:49@
+--     [C declaration]: @SDL_GetGPUShaderFormats@, defined at @SDL3\/SDL_gpu.h 2486:49@
 sDL_GetGPUShaderFormats :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> IO SDL_GPUShaderFormat)
 sDL_GetGPUShaderFormats =
   BG.unsafePerformIO hs_bindgen_1588f64687b7a181
@@ -1482,7 +1482,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @SDL_GetGPUDeviceProperties@, defined at @SDL3\/SDL_gpu.h 2577:46@
+--     [C declaration]: @SDL_GetGPUDeviceProperties@, defined at @SDL3\/SDL_gpu.h 2590:46@
 sDL_GetGPUDeviceProperties
   :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> IO SDL3.Sys.Bindgen.Properties.SDL_PropertiesID)
 sDL_GetGPUDeviceProperties =
@@ -1547,7 +1547,7 @@
 --
 --     [See also]: 'sDL_BindGPUComputePipeline', 'sDL_ReleaseGPUComputePipeline'
 --
---     [C declaration]: @SDL_CreateGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 2632:54@
+--     [C declaration]: @SDL_CreateGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 2645:54@
 sDL_CreateGPUComputePipeline
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUDevice
@@ -1592,7 +1592,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader', 'sDL_BindGPUGraphicsPipeline', 'sDL_ReleaseGPUGraphicsPipeline'
 --
---     [C declaration]: @SDL_CreateGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 2659:55@
+--     [C declaration]: @SDL_CreateGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 2672:55@
 sDL_CreateGPUGraphicsPipeline
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUDevice
@@ -1634,7 +1634,7 @@
 --
 --     [See also]: 'sDL_BindGPUVertexSamplers', 'sDL_BindGPUFragmentSamplers', 'sDL_ReleaseGPUSampler'
 --
---     [C declaration]: @SDL_CreateGPUSampler@, defined at @SDL3\/SDL_gpu.h 2686:46@
+--     [C declaration]: @SDL_CreateGPUSampler@, defined at @SDL3\/SDL_gpu.h 2699:46@
 sDL_CreateGPUSampler
   :: BG.FunPtr
        (BG.Ptr SDL_GPUDevice -> PtrConst.PtrConst SDL_GPUSamplerCreateInfo -> IO (BG.Ptr SDL_GPUSampler))
@@ -1717,7 +1717,7 @@
 --
 --     [See also]: 'sDL_CreateGPUGraphicsPipeline', 'sDL_ReleaseGPUShader'
 --
---     [C declaration]: @SDL_CreateGPUShader@, defined at @SDL3\/SDL_gpu.h 2765:45@
+--     [C declaration]: @SDL_CreateGPUShader@, defined at @SDL3\/SDL_gpu.h 2778:45@
 sDL_CreateGPUShader
   :: BG.FunPtr
        (BG.Ptr SDL_GPUDevice -> PtrConst.PtrConst SDL_GPUShaderCreateInfo -> IO (BG.Ptr SDL_GPUShader))
@@ -1774,7 +1774,7 @@
 --
 --     [See also]: 'sDL_UploadToGPUTexture', 'sDL_DownloadFromGPUTexture', 'sDL_BeginGPURenderPass', 'sDL_BeginGPUComputePass', 'sDL_BindGPUVertexSamplers', 'sDL_BindGPUVertexStorageTextures', 'sDL_BindGPUFragmentSamplers', 'sDL_BindGPUFragmentStorageTextures', 'sDL_BindGPUComputeStorageTextures', 'sDL_BlitGPUTexture', 'sDL_ReleaseGPUTexture', 'sDL_GPUTextureSupportsFormat'
 --
---     [C declaration]: @SDL_CreateGPUTexture@, defined at @SDL3\/SDL_gpu.h 2829:46@
+--     [C declaration]: @SDL_CreateGPUTexture@, defined at @SDL3\/SDL_gpu.h 2842:46@
 sDL_CreateGPUTexture
   :: BG.FunPtr
        (BG.Ptr SDL_GPUDevice -> PtrConst.PtrConst SDL_GPUTextureCreateInfo -> IO (BG.Ptr SDL_GPUTexture))
@@ -1819,7 +1819,7 @@
 --
 --     [See also]: 'sDL_UploadToGPUBuffer', 'sDL_DownloadFromGPUBuffer', 'sDL_CopyGPUBufferToBuffer', 'sDL_BindGPUVertexBuffers', 'sDL_BindGPUIndexBuffer', 'sDL_BindGPUVertexStorageBuffers', 'sDL_BindGPUFragmentStorageBuffers', 'sDL_DrawGPUPrimitivesIndirect', 'sDL_DrawGPUIndexedPrimitivesIndirect', 'sDL_BindGPUComputeStorageBuffers', 'sDL_DispatchGPUComputeIndirect', 'sDL_ReleaseGPUBuffer'
 --
---     [C declaration]: @SDL_CreateGPUBuffer@, defined at @SDL3\/SDL_gpu.h 2885:45@
+--     [C declaration]: @SDL_CreateGPUBuffer@, defined at @SDL3\/SDL_gpu.h 2898:45@
 sDL_CreateGPUBuffer
   :: BG.FunPtr
        (BG.Ptr SDL_GPUDevice -> PtrConst.PtrConst SDL_GPUBufferCreateInfo -> IO (BG.Ptr SDL_GPUBuffer))
@@ -1863,7 +1863,7 @@
 --
 --     [See also]: 'sDL_UploadToGPUBuffer', 'sDL_DownloadFromGPUBuffer', 'sDL_UploadToGPUTexture', 'sDL_DownloadFromGPUTexture', 'sDL_ReleaseGPUTransferBuffer'
 --
---     [C declaration]: @SDL_CreateGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 2918:53@
+--     [C declaration]: @SDL_CreateGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 2931:53@
 sDL_CreateGPUTransferBuffer
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUDevice
@@ -1902,7 +1902,7 @@
 --
 --     [See also]: 'sDL_CreateGPUBuffer'
 --
---     [C declaration]: @SDL_SetGPUBufferName@, defined at @SDL3\/SDL_gpu.h 2943:34@
+--     [C declaration]: @SDL_SetGPUBufferName@, defined at @SDL3\/SDL_gpu.h 2956:34@
 sDL_SetGPUBufferName
   :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> BG.Ptr SDL_GPUBuffer -> PtrConst.PtrConst BG.CChar -> IO ())
 sDL_SetGPUBufferName =
@@ -1938,7 +1938,7 @@
 --
 --     [See also]: 'sDL_CreateGPUTexture'
 --
---     [C declaration]: @SDL_SetGPUTextureName@, defined at @SDL3\/SDL_gpu.h 2966:34@
+--     [C declaration]: @SDL_SetGPUTextureName@, defined at @SDL3\/SDL_gpu.h 2979:34@
 sDL_SetGPUTextureName
   :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> BG.Ptr SDL_GPUTexture -> PtrConst.PtrConst BG.CChar -> IO ())
 sDL_SetGPUTextureName =
@@ -1969,7 +1969,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_InsertGPUDebugLabel@, defined at @SDL3\/SDL_gpu.h 2987:34@
+--     [C declaration]: @SDL_InsertGPUDebugLabel@, defined at @SDL3\/SDL_gpu.h 3000:34@
 sDL_InsertGPUDebugLabel
   :: BG.FunPtr (BG.Ptr SDL_GPUCommandBuffer -> PtrConst.PtrConst BG.CChar -> IO ())
 sDL_InsertGPUDebugLabel =
@@ -2006,7 +2006,7 @@
 --
 --     [See also]: 'sDL_PopGPUDebugGroup'
 --
---     [C declaration]: @SDL_PushGPUDebugGroup@, defined at @SDL3\/SDL_gpu.h 3017:34@
+--     [C declaration]: @SDL_PushGPUDebugGroup@, defined at @SDL3\/SDL_gpu.h 3030:34@
 sDL_PushGPUDebugGroup
   :: BG.FunPtr (BG.Ptr SDL_GPUCommandBuffer -> PtrConst.PtrConst BG.CChar -> IO ())
 sDL_PushGPUDebugGroup =
@@ -2034,7 +2034,7 @@
 --
 --     [See also]: 'sDL_PushGPUDebugGroup'
 --
---     [C declaration]: @SDL_PopGPUDebugGroup@, defined at @SDL3\/SDL_gpu.h 3035:34@
+--     [C declaration]: @SDL_PopGPUDebugGroup@, defined at @SDL3\/SDL_gpu.h 3048:34@
 sDL_PopGPUDebugGroup :: BG.FunPtr (BG.Ptr SDL_GPUCommandBuffer -> IO ())
 sDL_PopGPUDebugGroup =
   BG.unsafePerformIO hs_bindgen_a00c28c817c76943
@@ -2062,7 +2062,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReleaseGPUTexture@, defined at @SDL3\/SDL_gpu.h 3050:34@
+--     [C declaration]: @SDL_ReleaseGPUTexture@, defined at @SDL3\/SDL_gpu.h 3063:34@
 sDL_ReleaseGPUTexture :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> BG.Ptr SDL_GPUTexture -> IO ())
 sDL_ReleaseGPUTexture =
   BG.unsafePerformIO hs_bindgen_542853e6548e89bb
@@ -2090,7 +2090,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReleaseGPUSampler@, defined at @SDL3\/SDL_gpu.h 3064:34@
+--     [C declaration]: @SDL_ReleaseGPUSampler@, defined at @SDL3\/SDL_gpu.h 3077:34@
 sDL_ReleaseGPUSampler :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> BG.Ptr SDL_GPUSampler -> IO ())
 sDL_ReleaseGPUSampler =
   BG.unsafePerformIO hs_bindgen_56055ccd136d71a1
@@ -2118,7 +2118,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReleaseGPUBuffer@, defined at @SDL3\/SDL_gpu.h 3078:34@
+--     [C declaration]: @SDL_ReleaseGPUBuffer@, defined at @SDL3\/SDL_gpu.h 3091:34@
 sDL_ReleaseGPUBuffer :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> BG.Ptr SDL_GPUBuffer -> IO ())
 sDL_ReleaseGPUBuffer =
   BG.unsafePerformIO hs_bindgen_f8bfa8ea14116360
@@ -2146,7 +2146,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReleaseGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3092:34@
+--     [C declaration]: @SDL_ReleaseGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3105:34@
 sDL_ReleaseGPUTransferBuffer
   :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> BG.Ptr SDL_GPUTransferBuffer -> IO ())
 sDL_ReleaseGPUTransferBuffer =
@@ -2175,7 +2175,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReleaseGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 3106:34@
+--     [C declaration]: @SDL_ReleaseGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 3119:34@
 sDL_ReleaseGPUComputePipeline
   :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> BG.Ptr SDL_GPUComputePipeline -> IO ())
 sDL_ReleaseGPUComputePipeline =
@@ -2204,7 +2204,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReleaseGPUShader@, defined at @SDL3\/SDL_gpu.h 3120:34@
+--     [C declaration]: @SDL_ReleaseGPUShader@, defined at @SDL3\/SDL_gpu.h 3133:34@
 sDL_ReleaseGPUShader :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> BG.Ptr SDL_GPUShader -> IO ())
 sDL_ReleaseGPUShader =
   BG.unsafePerformIO hs_bindgen_f3e9c0034d2a2db0
@@ -2232,7 +2232,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReleaseGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 3134:34@
+--     [C declaration]: @SDL_ReleaseGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 3147:34@
 sDL_ReleaseGPUGraphicsPipeline
   :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> BG.Ptr SDL_GPUGraphicsPipeline -> IO ())
 sDL_ReleaseGPUGraphicsPipeline =
@@ -2265,7 +2265,7 @@
 --
 --     [See also]: 'sDL_SubmitGPUCommandBuffer', 'sDL_SubmitGPUCommandBufferAndAcquireFence'
 --
---     [C declaration]: @SDL_AcquireGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 3162:52@
+--     [C declaration]: @SDL_AcquireGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 3175:52@
 sDL_AcquireGPUCommandBuffer :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> IO (BG.Ptr SDL_GPUCommandBuffer))
 sDL_AcquireGPUCommandBuffer =
   BG.unsafePerformIO hs_bindgen_d8255a52c3043feb
@@ -2309,7 +2309,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_PushGPUVertexUniformData@, defined at @SDL3\/SDL_gpu.h 3186:34@
+--     [C declaration]: @SDL_PushGPUVertexUniformData@, defined at @SDL3\/SDL_gpu.h 3199:34@
 sDL_PushGPUVertexUniformData
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUCommandBuffer
@@ -2358,7 +2358,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_PushGPUFragmentUniformData@, defined at @SDL3\/SDL_gpu.h 3208:34@
+--     [C declaration]: @SDL_PushGPUFragmentUniformData@, defined at @SDL3\/SDL_gpu.h 3221:34@
 sDL_PushGPUFragmentUniformData
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUCommandBuffer
@@ -2407,7 +2407,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_PushGPUComputeUniformData@, defined at @SDL3\/SDL_gpu.h 3230:34@
+--     [C declaration]: @SDL_PushGPUComputeUniformData@, defined at @SDL3\/SDL_gpu.h 3243:34@
 sDL_PushGPUComputeUniformData
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUCommandBuffer
@@ -2460,7 +2460,7 @@
 --
 --     [See also]: 'sDL_EndGPURenderPass'
 --
---     [C declaration]: @SDL_BeginGPURenderPass@, defined at @SDL3\/SDL_gpu.h 3271:49@
+--     [C declaration]: @SDL_BeginGPURenderPass@, defined at @SDL3\/SDL_gpu.h 3284:49@
 sDL_BeginGPURenderPass
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUCommandBuffer
@@ -2495,7 +2495,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_BindGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 3287:34@
+--     [C declaration]: @SDL_BindGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 3300:34@
 sDL_BindGPUGraphicsPipeline
   :: BG.FunPtr (BG.Ptr SDL_GPURenderPass -> BG.Ptr SDL_GPUGraphicsPipeline -> IO ())
 sDL_BindGPUGraphicsPipeline =
@@ -2522,7 +2522,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_SetGPUViewport@, defined at @SDL3\/SDL_gpu.h 3299:34@
+--     [C declaration]: @SDL_SetGPUViewport@, defined at @SDL3\/SDL_gpu.h 3312:34@
 sDL_SetGPUViewport
   :: BG.FunPtr (BG.Ptr SDL_GPURenderPass -> PtrConst.PtrConst SDL_GPUViewport -> IO ())
 sDL_SetGPUViewport =
@@ -2550,7 +2550,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_SetGPUScissor@, defined at @SDL3\/SDL_gpu.h 3311:34@
+--     [C declaration]: @SDL_SetGPUScissor@, defined at @SDL3\/SDL_gpu.h 3324:34@
 sDL_SetGPUScissor
   :: BG.FunPtr (BG.Ptr SDL_GPURenderPass -> PtrConst.PtrConst SDL3.Sys.Bindgen.Rect.SDL_Rect -> IO ())
 sDL_SetGPUScissor =
@@ -2579,7 +2579,7 @@
 --
 --     [See also]: @SDL_GPU_BLENDFACTOR_CONSTANT_COLOR@, @SDL_GPU_BLENDFACTOR_ONE_MINUS_CONSTANT_COLOR@
 --
---     [C declaration]: @SDL_SetGPUBlendConstants@, defined at @SDL3\/SDL_gpu.h 3326:34@
+--     [C declaration]: @SDL_SetGPUBlendConstants@, defined at @SDL3\/SDL_gpu.h 3339:34@
 sDL_SetGPUBlendConstants
   :: BG.FunPtr (BG.Ptr SDL_GPURenderPass -> SDL3.Sys.Bindgen.Pixels.SDL_FColor -> IO ())
 sDL_SetGPUBlendConstants =
@@ -2606,7 +2606,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_SetGPUStencilReference@, defined at @SDL3\/SDL_gpu.h 3338:34@
+--     [C declaration]: @SDL_SetGPUStencilReference@, defined at @SDL3\/SDL_gpu.h 3351:34@
 sDL_SetGPUStencilReference
   :: BG.FunPtr (BG.Ptr SDL_GPURenderPass -> SDL3.Sys.Bindgen.Stdinc.Uint8 -> IO ())
 sDL_SetGPUStencilReference =
@@ -2645,7 +2645,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_BindGPUVertexBuffers@, defined at @SDL3\/SDL_gpu.h 3354:34@
+--     [C declaration]: @SDL_BindGPUVertexBuffers@, defined at @SDL3\/SDL_gpu.h 3367:34@
 sDL_BindGPUVertexBuffers
   :: BG.FunPtr
        ( BG.Ptr SDL_GPURenderPass
@@ -2687,7 +2687,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_BindGPUIndexBuffer@, defined at @SDL3\/SDL_gpu.h 3371:34@
+--     [C declaration]: @SDL_BindGPUIndexBuffer@, defined at @SDL3\/SDL_gpu.h 3384:34@
 sDL_BindGPUIndexBuffer
   :: BG.FunPtr
        ( BG.Ptr SDL_GPURenderPass
@@ -2737,7 +2737,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader'
 --
---     [C declaration]: @SDL_BindGPUVertexSamplers@, defined at @SDL3\/SDL_gpu.h 3395:34@
+--     [C declaration]: @SDL_BindGPUVertexSamplers@, defined at @SDL3\/SDL_gpu.h 3408:34@
 sDL_BindGPUVertexSamplers
   :: BG.FunPtr
        ( BG.Ptr SDL_GPURenderPass
@@ -2788,7 +2788,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader'
 --
---     [C declaration]: @SDL_BindGPUVertexStorageTextures@, defined at @SDL3\/SDL_gpu.h 3419:34@
+--     [C declaration]: @SDL_BindGPUVertexStorageTextures@, defined at @SDL3\/SDL_gpu.h 3432:34@
 sDL_BindGPUVertexStorageTextures
   :: BG.FunPtr
        ( BG.Ptr SDL_GPURenderPass
@@ -2839,7 +2839,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader'
 --
---     [C declaration]: @SDL_BindGPUVertexStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3443:34@
+--     [C declaration]: @SDL_BindGPUVertexStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3456:34@
 sDL_BindGPUVertexStorageBuffers
   :: BG.FunPtr
        ( BG.Ptr SDL_GPURenderPass
@@ -2890,7 +2890,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader'
 --
---     [C declaration]: @SDL_BindGPUFragmentSamplers@, defined at @SDL3\/SDL_gpu.h 3468:34@
+--     [C declaration]: @SDL_BindGPUFragmentSamplers@, defined at @SDL3\/SDL_gpu.h 3481:34@
 sDL_BindGPUFragmentSamplers
   :: BG.FunPtr
        ( BG.Ptr SDL_GPURenderPass
@@ -2941,7 +2941,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader'
 --
---     [C declaration]: @SDL_BindGPUFragmentStorageTextures@, defined at @SDL3\/SDL_gpu.h 3492:34@
+--     [C declaration]: @SDL_BindGPUFragmentStorageTextures@, defined at @SDL3\/SDL_gpu.h 3505:34@
 sDL_BindGPUFragmentStorageTextures
   :: BG.FunPtr
        ( BG.Ptr SDL_GPURenderPass
@@ -2992,7 +2992,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader'
 --
---     [C declaration]: @SDL_BindGPUFragmentStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3516:34@
+--     [C declaration]: @SDL_BindGPUFragmentStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3529:34@
 sDL_BindGPUFragmentStorageBuffers
   :: BG.FunPtr
        ( BG.Ptr SDL_GPURenderPass
@@ -3047,7 +3047,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DrawGPUIndexedPrimitives@, defined at @SDL3\/SDL_gpu.h 3547:34@
+--     [C declaration]: @SDL_DrawGPUIndexedPrimitives@, defined at @SDL3\/SDL_gpu.h 3560:34@
 sDL_DrawGPUIndexedPrimitives
   :: BG.FunPtr
        ( BG.Ptr SDL_GPURenderPass
@@ -3101,7 +3101,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DrawGPUPrimitives@, defined at @SDL3\/SDL_gpu.h 3575:34@
+--     [C declaration]: @SDL_DrawGPUPrimitives@, defined at @SDL3\/SDL_gpu.h 3588:34@
 sDL_DrawGPUPrimitives
   :: BG.FunPtr
        ( BG.Ptr SDL_GPURenderPass
@@ -3149,7 +3149,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DrawGPUPrimitivesIndirect@, defined at @SDL3\/SDL_gpu.h 3598:34@
+--     [C declaration]: @SDL_DrawGPUPrimitivesIndirect@, defined at @SDL3\/SDL_gpu.h 3611:34@
 sDL_DrawGPUPrimitivesIndirect
   :: BG.FunPtr
        ( BG.Ptr SDL_GPURenderPass
@@ -3196,7 +3196,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DrawGPUIndexedPrimitivesIndirect@, defined at @SDL3\/SDL_gpu.h 3620:34@
+--     [C declaration]: @SDL_DrawGPUIndexedPrimitivesIndirect@, defined at @SDL3\/SDL_gpu.h 3633:34@
 sDL_DrawGPUIndexedPrimitivesIndirect
   :: BG.FunPtr
        ( BG.Ptr SDL_GPURenderPass
@@ -3228,7 +3228,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_EndGPURenderPass@, defined at @SDL3\/SDL_gpu.h 3636:34@
+--     [C declaration]: @SDL_EndGPURenderPass@, defined at @SDL3\/SDL_gpu.h 3649:34@
 sDL_EndGPURenderPass :: BG.FunPtr (BG.Ptr SDL_GPURenderPass -> IO ())
 sDL_EndGPURenderPass =
   BG.unsafePerformIO hs_bindgen_d2969701500cfc55
@@ -3277,7 +3277,7 @@
 --
 --     [See also]: 'sDL_EndGPUComputePass'
 --
---     [C declaration]: @SDL_BeginGPUComputePass@, defined at @SDL3\/SDL_gpu.h 3678:50@
+--     [C declaration]: @SDL_BeginGPUComputePass@, defined at @SDL3\/SDL_gpu.h 3691:50@
 sDL_BeginGPUComputePass
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUCommandBuffer
@@ -3311,7 +3311,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_BindGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 3693:34@
+--     [C declaration]: @SDL_BindGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 3706:34@
 sDL_BindGPUComputePipeline
   :: BG.FunPtr (BG.Ptr SDL_GPUComputePass -> BG.Ptr SDL_GPUComputePipeline -> IO ())
 sDL_BindGPUComputePipeline =
@@ -3356,7 +3356,7 @@
 --
 --     [See also]: 'sDL_CreateGPUComputePipeline'
 --
---     [C declaration]: @SDL_BindGPUComputeSamplers@, defined at @SDL3\/SDL_gpu.h 3716:34@
+--     [C declaration]: @SDL_BindGPUComputeSamplers@, defined at @SDL3\/SDL_gpu.h 3729:34@
 sDL_BindGPUComputeSamplers
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUComputePass
@@ -3407,7 +3407,7 @@
 --
 --     [See also]: 'sDL_CreateGPUComputePipeline'
 --
---     [C declaration]: @SDL_BindGPUComputeStorageTextures@, defined at @SDL3\/SDL_gpu.h 3740:34@
+--     [C declaration]: @SDL_BindGPUComputeStorageTextures@, defined at @SDL3\/SDL_gpu.h 3753:34@
 sDL_BindGPUComputeStorageTextures
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUComputePass
@@ -3458,7 +3458,7 @@
 --
 --     [See also]: 'sDL_CreateGPUComputePipeline'
 --
---     [C declaration]: @SDL_BindGPUComputeStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3764:34@
+--     [C declaration]: @SDL_BindGPUComputeStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3777:34@
 sDL_BindGPUComputeStorageBuffers
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUComputePass
@@ -3507,7 +3507,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DispatchGPUCompute@, defined at @SDL3\/SDL_gpu.h 3790:34@
+--     [C declaration]: @SDL_DispatchGPUCompute@, defined at @SDL3\/SDL_gpu.h 3803:34@
 sDL_DispatchGPUCompute
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUComputePass
@@ -3549,7 +3549,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DispatchGPUComputeIndirect@, defined at @SDL3\/SDL_gpu.h 3814:34@
+--     [C declaration]: @SDL_DispatchGPUComputeIndirect@, defined at @SDL3\/SDL_gpu.h 3827:34@
 sDL_DispatchGPUComputeIndirect
   :: BG.FunPtr
        (BG.Ptr SDL_GPUComputePass -> BG.Ptr SDL_GPUBuffer -> SDL3.Sys.Bindgen.Stdinc.Uint32 -> IO ())
@@ -3576,7 +3576,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_EndGPUComputePass@, defined at @SDL3\/SDL_gpu.h 3829:34@
+--     [C declaration]: @SDL_EndGPUComputePass@, defined at @SDL3\/SDL_gpu.h 3842:34@
 sDL_EndGPUComputePass :: BG.FunPtr (BG.Ptr SDL_GPUComputePass -> IO ())
 sDL_EndGPUComputePass =
   BG.unsafePerformIO hs_bindgen_3d69c010dbe2273d
@@ -3609,7 +3609,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_MapGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3849:36@
+--     [C declaration]: @SDL_MapGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3862:36@
 sDL_MapGPUTransferBuffer
   :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> BG.Ptr SDL_GPUTransferBuffer -> BG.CBool -> IO (BG.Ptr BG.Void))
 sDL_MapGPUTransferBuffer =
@@ -3636,7 +3636,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_UnmapGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3862:34@
+--     [C declaration]: @SDL_UnmapGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3875:34@
 sDL_UnmapGPUTransferBuffer
   :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> BG.Ptr SDL_GPUTransferBuffer -> IO ())
 sDL_UnmapGPUTransferBuffer =
@@ -3667,7 +3667,7 @@
 --
 --     [See also]: 'sDL_EndGPUCopyPass'
 --
---     [C declaration]: @SDL_BeginGPUCopyPass@, defined at @SDL3\/SDL_gpu.h 3882:47@
+--     [C declaration]: @SDL_BeginGPUCopyPass@, defined at @SDL3\/SDL_gpu.h 3895:47@
 sDL_BeginGPUCopyPass :: BG.FunPtr (BG.Ptr SDL_GPUCommandBuffer -> IO (BG.Ptr SDL_GPUCopyPass))
 sDL_BeginGPUCopyPass =
   BG.unsafePerformIO hs_bindgen_26ebd2bad4c071ad
@@ -3709,7 +3709,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_UploadToGPUTexture@, defined at @SDL3\/SDL_gpu.h 3902:34@
+--     [C declaration]: @SDL_UploadToGPUTexture@, defined at @SDL3\/SDL_gpu.h 3915:34@
 sDL_UploadToGPUTexture
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUCopyPass
@@ -3756,7 +3756,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_UploadToGPUBuffer@, defined at @SDL3\/SDL_gpu.h 3922:34@
+--     [C declaration]: @SDL_UploadToGPUBuffer@, defined at @SDL3\/SDL_gpu.h 3935:34@
 sDL_UploadToGPUBuffer
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUCopyPass
@@ -3814,7 +3814,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_CopyGPUTextureToTexture@, defined at @SDL3\/SDL_gpu.h 3949:34@
+--     [C declaration]: @SDL_CopyGPUTextureToTexture@, defined at @SDL3\/SDL_gpu.h 3962:34@
 sDL_CopyGPUTextureToTexture
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUCopyPass
@@ -3867,7 +3867,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_CopyGPUBufferToBuffer@, defined at @SDL3\/SDL_gpu.h 3973:34@
+--     [C declaration]: @SDL_CopyGPUBufferToBuffer@, defined at @SDL3\/SDL_gpu.h 3986:34@
 sDL_CopyGPUBufferToBuffer
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUCopyPass
@@ -3912,7 +3912,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DownloadFromGPUTexture@, defined at @SDL3\/SDL_gpu.h 3993:34@
+--     [C declaration]: @SDL_DownloadFromGPUTexture@, defined at @SDL3\/SDL_gpu.h 4006:34@
 sDL_DownloadFromGPUTexture
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUCopyPass
@@ -3955,7 +3955,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DownloadFromGPUBuffer@, defined at @SDL3\/SDL_gpu.h 4010:34@
+--     [C declaration]: @SDL_DownloadFromGPUBuffer@, defined at @SDL3\/SDL_gpu.h 4023:34@
 sDL_DownloadFromGPUBuffer
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUCopyPass
@@ -3984,7 +3984,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_EndGPUCopyPass@, defined at @SDL3\/SDL_gpu.h 4022:34@
+--     [C declaration]: @SDL_EndGPUCopyPass@, defined at @SDL3\/SDL_gpu.h 4035:34@
 sDL_EndGPUCopyPass :: BG.FunPtr (BG.Ptr SDL_GPUCopyPass -> IO ())
 sDL_EndGPUCopyPass =
   BG.unsafePerformIO hs_bindgen_b4b5fc61adee338e
@@ -4012,7 +4012,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GenerateMipmapsForGPUTexture@, defined at @SDL3\/SDL_gpu.h 4035:34@
+--     [C declaration]: @SDL_GenerateMipmapsForGPUTexture@, defined at @SDL3\/SDL_gpu.h 4048:34@
 sDL_GenerateMipmapsForGPUTexture
   :: BG.FunPtr (BG.Ptr SDL_GPUCommandBuffer -> BG.Ptr SDL_GPUTexture -> IO ())
 sDL_GenerateMipmapsForGPUTexture =
@@ -4041,7 +4041,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_BlitGPUTexture@, defined at @SDL3\/SDL_gpu.h 4049:34@
+--     [C declaration]: @SDL_BlitGPUTexture@, defined at @SDL3\/SDL_gpu.h 4062:34@
 sDL_BlitGPUTexture
   :: BG.FunPtr (BG.Ptr SDL_GPUCommandBuffer -> PtrConst.PtrConst SDL_GPUBlitInfo -> IO ())
 sDL_BlitGPUTexture =
@@ -4083,7 +4083,7 @@
 --
 --     [See also]: 'sDL_ClaimWindowForGPUDevice'
 --
---     [C declaration]: @SDL_WindowSupportsGPUSwapchainComposition@, defined at @SDL3\/SDL_gpu.h 4069:34@
+--     [C declaration]: @SDL_WindowSupportsGPUSwapchainComposition@, defined at @SDL3\/SDL_gpu.h 4082:34@
 sDL_WindowSupportsGPUSwapchainComposition
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUDevice
@@ -4130,7 +4130,7 @@
 --
 --     [See also]: 'sDL_ClaimWindowForGPUDevice'
 --
---     [C declaration]: @SDL_WindowSupportsGPUPresentMode@, defined at @SDL3\/SDL_gpu.h 4088:34@
+--     [C declaration]: @SDL_WindowSupportsGPUPresentMode@, defined at @SDL3\/SDL_gpu.h 4101:34@
 sDL_WindowSupportsGPUPresentMode
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUDevice
@@ -4172,7 +4172,7 @@
 --
 --     [See also]: 'sDL_WaitAndAcquireGPUSwapchainTexture', 'sDL_ReleaseWindowFromGPUDevice', 'sDL_WindowSupportsGPUPresentMode', 'sDL_WindowSupportsGPUSwapchainComposition'
 --
---     [C declaration]: @SDL_ClaimWindowForGPUDevice@, defined at @SDL3\/SDL_gpu.h 4120:34@
+--     [C declaration]: @SDL_ClaimWindowForGPUDevice@, defined at @SDL3\/SDL_gpu.h 4133:34@
 sDL_ClaimWindowForGPUDevice
   :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> BG.Ptr SDL3.Sys.Bindgen.Video.SDL_Window -> IO BG.CBool)
 sDL_ClaimWindowForGPUDevice =
@@ -4201,7 +4201,7 @@
 --
 --     [See also]: 'sDL_ClaimWindowForGPUDevice'
 --
---     [C declaration]: @SDL_ReleaseWindowFromGPUDevice@, defined at @SDL3\/SDL_gpu.h 4134:34@
+--     [C declaration]: @SDL_ReleaseWindowFromGPUDevice@, defined at @SDL3\/SDL_gpu.h 4147:34@
 sDL_ReleaseWindowFromGPUDevice
   :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> BG.Ptr SDL3.Sys.Bindgen.Video.SDL_Window -> IO ())
 sDL_ReleaseWindowFromGPUDevice =
@@ -4248,7 +4248,7 @@
 --
 --     [See also]: 'sDL_WindowSupportsGPUPresentMode', 'sDL_WindowSupportsGPUSwapchainComposition'
 --
---     [C declaration]: @SDL_SetGPUSwapchainParameters@, defined at @SDL3\/SDL_gpu.h 4161:34@
+--     [C declaration]: @SDL_SetGPUSwapchainParameters@, defined at @SDL3\/SDL_gpu.h 4174:34@
 sDL_SetGPUSwapchainParameters
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUDevice
@@ -4291,7 +4291,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_SetGPUAllowedFramesInFlight@, defined at @SDL3\/SDL_gpu.h 4192:34@
+--     [C declaration]: @SDL_SetGPUAllowedFramesInFlight@, defined at @SDL3\/SDL_gpu.h 4205:34@
 sDL_SetGPUAllowedFramesInFlight
   :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> SDL3.Sys.Bindgen.Stdinc.Uint32 -> IO BG.CBool)
 sDL_SetGPUAllowedFramesInFlight =
@@ -4325,7 +4325,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetGPUSwapchainTextureFormat@, defined at @SDL3\/SDL_gpu.h 4207:50@
+--     [C declaration]: @SDL_GetGPUSwapchainTextureFormat@, defined at @SDL3\/SDL_gpu.h 4220:50@
 sDL_GetGPUSwapchainTextureFormat
   :: BG.FunPtr
        (BG.Ptr SDL_GPUDevice -> BG.Ptr SDL3.Sys.Bindgen.Video.SDL_Window -> IO SDL_GPUTextureFormat)
@@ -4382,7 +4382,7 @@
 --
 --     [See also]: 'sDL_ClaimWindowForGPUDevice', 'sDL_SubmitGPUCommandBuffer', 'sDL_SubmitGPUCommandBufferAndAcquireFence', 'sDL_CancelGPUCommandBuffer', SDL_GetWindowSizeInPixels, 'sDL_WaitForGPUSwapchain', 'sDL_WaitAndAcquireGPUSwapchainTexture', 'sDL_SetGPUAllowedFramesInFlight'
 --
---     [C declaration]: @SDL_AcquireGPUSwapchainTexture@, defined at @SDL3\/SDL_gpu.h 4259:34@
+--     [C declaration]: @SDL_AcquireGPUSwapchainTexture@, defined at @SDL3\/SDL_gpu.h 4272:34@
 sDL_AcquireGPUSwapchainTexture
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUCommandBuffer
@@ -4422,7 +4422,7 @@
 --
 --     [See also]: 'sDL_AcquireGPUSwapchainTexture', 'sDL_WaitAndAcquireGPUSwapchainTexture', 'sDL_SetGPUAllowedFramesInFlight'
 --
---     [C declaration]: @SDL_WaitForGPUSwapchain@, defined at @SDL3\/SDL_gpu.h 4283:34@
+--     [C declaration]: @SDL_WaitForGPUSwapchain@, defined at @SDL3\/SDL_gpu.h 4296:34@
 sDL_WaitForGPUSwapchain
   :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> BG.Ptr SDL3.Sys.Bindgen.Video.SDL_Window -> IO BG.CBool)
 sDL_WaitForGPUSwapchain =
@@ -4478,7 +4478,7 @@
 --
 --     [See also]: 'sDL_SubmitGPUCommandBuffer', 'sDL_SubmitGPUCommandBufferAndAcquireFence', 'sDL_AcquireGPUSwapchainTexture'
 --
---     [C declaration]: @SDL_WaitAndAcquireGPUSwapchainTexture@, defined at @SDL3\/SDL_gpu.h 4329:34@
+--     [C declaration]: @SDL_WaitAndAcquireGPUSwapchainTexture@, defined at @SDL3\/SDL_gpu.h 4342:34@
 sDL_WaitAndAcquireGPUSwapchainTexture
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUCommandBuffer
@@ -4519,7 +4519,7 @@
 --
 --     [See also]: 'sDL_AcquireGPUCommandBuffer', 'sDL_WaitAndAcquireGPUSwapchainTexture', 'sDL_AcquireGPUSwapchainTexture', 'sDL_SubmitGPUCommandBufferAndAcquireFence'
 --
---     [C declaration]: @SDL_SubmitGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 4357:34@
+--     [C declaration]: @SDL_SubmitGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 4370:34@
 sDL_SubmitGPUCommandBuffer :: BG.FunPtr (BG.Ptr SDL_GPUCommandBuffer -> IO BG.CBool)
 sDL_SubmitGPUCommandBuffer =
   BG.unsafePerformIO hs_bindgen_8d4a9ce464622085
@@ -4553,7 +4553,7 @@
 --
 --     [See also]: 'sDL_AcquireGPUCommandBuffer', 'sDL_WaitAndAcquireGPUSwapchainTexture', 'sDL_AcquireGPUSwapchainTexture', 'sDL_SubmitGPUCommandBuffer', 'sDL_ReleaseGPUFence'
 --
---     [C declaration]: @SDL_SubmitGPUCommandBufferAndAcquireFence@, defined at @SDL3\/SDL_gpu.h 4384:44@
+--     [C declaration]: @SDL_SubmitGPUCommandBufferAndAcquireFence@, defined at @SDL3\/SDL_gpu.h 4397:44@
 sDL_SubmitGPUCommandBufferAndAcquireFence
   :: BG.FunPtr (BG.Ptr SDL_GPUCommandBuffer -> IO (BG.Ptr SDL_GPUFence))
 sDL_SubmitGPUCommandBufferAndAcquireFence =
@@ -4589,7 +4589,7 @@
 --
 --     [See also]: 'sDL_WaitAndAcquireGPUSwapchainTexture', 'sDL_AcquireGPUCommandBuffer', 'sDL_AcquireGPUSwapchainTexture'
 --
---     [C declaration]: @SDL_CancelGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 4409:34@
+--     [C declaration]: @SDL_CancelGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 4422:34@
 sDL_CancelGPUCommandBuffer :: BG.FunPtr (BG.Ptr SDL_GPUCommandBuffer -> IO BG.CBool)
 sDL_CancelGPUCommandBuffer =
   BG.unsafePerformIO hs_bindgen_83b736c86816e554
@@ -4616,7 +4616,7 @@
 --
 --     [See also]: 'sDL_WaitForGPUFences'
 --
---     [C declaration]: @SDL_WaitForGPUIdle@, defined at @SDL3\/SDL_gpu.h 4423:34@
+--     [C declaration]: @SDL_WaitForGPUIdle@, defined at @SDL3\/SDL_gpu.h 4436:34@
 sDL_WaitForGPUIdle :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> IO BG.CBool)
 sDL_WaitForGPUIdle =
   BG.unsafePerformIO hs_bindgen_34c07d40aff698e2
@@ -4658,7 +4658,7 @@
 --
 --     [See also]: 'sDL_SubmitGPUCommandBufferAndAcquireFence', 'sDL_WaitForGPUIdle'
 --
---     [C declaration]: @SDL_WaitForGPUFences@, defined at @SDL3\/SDL_gpu.h 4442:34@
+--     [C declaration]: @SDL_WaitForGPUFences@, defined at @SDL3\/SDL_gpu.h 4455:34@
 sDL_WaitForGPUFences
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUDevice
@@ -4695,7 +4695,7 @@
 --
 --     [See also]: 'sDL_SubmitGPUCommandBufferAndAcquireFence'
 --
---     [C declaration]: @SDL_QueryGPUFence@, defined at @SDL3\/SDL_gpu.h 4459:34@
+--     [C declaration]: @SDL_QueryGPUFence@, defined at @SDL3\/SDL_gpu.h 4472:34@
 sDL_QueryGPUFence :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> BG.Ptr SDL_GPUFence -> IO BG.CBool)
 sDL_QueryGPUFence =
   BG.unsafePerformIO hs_bindgen_67c5db65f97a1de0
@@ -4724,7 +4724,7 @@
 --
 --     [See also]: 'sDL_SubmitGPUCommandBufferAndAcquireFence'
 --
---     [C declaration]: @SDL_ReleaseGPUFence@, defined at @SDL3\/SDL_gpu.h 4475:34@
+--     [C declaration]: @SDL_ReleaseGPUFence@, defined at @SDL3\/SDL_gpu.h 4488:34@
 sDL_ReleaseGPUFence :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> BG.Ptr SDL_GPUFence -> IO ())
 sDL_ReleaseGPUFence =
   BG.unsafePerformIO hs_bindgen_8f9e7c0ed3e519a2
@@ -4752,7 +4752,7 @@
 --
 --     [See also]: 'sDL_UploadToGPUTexture'
 --
---     [C declaration]: @SDL_GPUTextureFormatTexelBlockSize@, defined at @SDL3\/SDL_gpu.h 4491:36@
+--     [C declaration]: @SDL_GPUTextureFormatTexelBlockSize@, defined at @SDL3\/SDL_gpu.h 4504:36@
 sDL_GPUTextureFormatTexelBlockSize
   :: BG.FunPtr (SDL_GPUTextureFormat -> IO SDL3.Sys.Bindgen.Stdinc.Uint32)
 sDL_GPUTextureFormatTexelBlockSize =
@@ -4793,7 +4793,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GPUTextureSupportsFormat@, defined at @SDL3\/SDL_gpu.h 4506:34@
+--     [C declaration]: @SDL_GPUTextureSupportsFormat@, defined at @SDL3\/SDL_gpu.h 4519:34@
 sDL_GPUTextureSupportsFormat
   :: BG.FunPtr
        ( BG.Ptr SDL_GPUDevice
@@ -4830,7 +4830,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GPUTextureSupportsSampleCount@, defined at @SDL3\/SDL_gpu.h 4522:34@
+--     [C declaration]: @SDL_GPUTextureSupportsSampleCount@, defined at @SDL3\/SDL_gpu.h 4535:34@
 sDL_GPUTextureSupportsSampleCount
   :: BG.FunPtr (BG.Ptr SDL_GPUDevice -> SDL_GPUTextureFormat -> SDL_GPUSampleCount -> IO BG.CBool)
 sDL_GPUTextureSupportsSampleCount =
@@ -4871,7 +4871,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_CalculateGPUTextureFormatSize@, defined at @SDL3\/SDL_gpu.h 4538:36@
+--     [C declaration]: @SDL_CalculateGPUTextureFormatSize@, defined at @SDL3\/SDL_gpu.h 4551:36@
 sDL_CalculateGPUTextureFormatSize
   :: BG.FunPtr
        ( SDL_GPUTextureFormat
@@ -4904,7 +4904,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @SDL_GetPixelFormatFromGPUTextureFormat@, defined at @SDL3\/SDL_gpu.h 4553:45@
+--     [C declaration]: @SDL_GetPixelFormatFromGPUTextureFormat@, defined at @SDL3\/SDL_gpu.h 4566:45@
 sDL_GetPixelFormatFromGPUTextureFormat
   :: BG.FunPtr (SDL_GPUTextureFormat -> IO SDL3.Sys.Bindgen.Pixels.SDL_PixelFormat)
 sDL_GetPixelFormatFromGPUTextureFormat =
@@ -4931,7 +4931,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @SDL_GetGPUTextureFormatFromPixelFormat@, defined at @SDL3\/SDL_gpu.h 4565:50@
+--     [C declaration]: @SDL_GetGPUTextureFormatFromPixelFormat@, defined at @SDL3\/SDL_gpu.h 4578:50@
 sDL_GetGPUTextureFormatFromPixelFormat
   :: BG.FunPtr (SDL3.Sys.Bindgen.Pixels.SDL_PixelFormat -> IO SDL_GPUTextureFormat)
 sDL_GetGPUTextureFormatFromPixelFormat =
diff --git a/src/SDL3/Sys/Bindgen/Gpu/Safe.hs b/src/SDL3/Sys/Bindgen/Gpu/Safe.hs
--- a/src/SDL3/Sys/Bindgen/Gpu/Safe.hs
+++ b/src/SDL3/Sys/Bindgen/Gpu/Safe.hs
@@ -882,7 +882,7 @@
 --
 --     [See also]: 'sDL_CreateGPUDevice'
 --
---     [C declaration]: @SDL_GPUSupportsShaderFormats@, defined at @SDL3\/SDL_gpu.h 2200:34@
+--     [C declaration]: @SDL_GPUSupportsShaderFormats@, defined at @SDL3\/SDL_gpu.h 2213:34@
 sDL_GPUSupportsShaderFormats
   :: SDL_GPUShaderFormat
   -- ^
@@ -917,7 +917,7 @@
 --
 --     [See also]: 'sDL_CreateGPUDeviceWithProperties'
 --
---     [C declaration]: @SDL_GPUSupportsProperties@, defined at @SDL3\/SDL_gpu.h 2214:34@
+--     [C declaration]: @SDL_GPUSupportsProperties@, defined at @SDL3\/SDL_gpu.h 2227:34@
 sDL_GPUSupportsProperties
   :: SDL3.Sys.Bindgen.Properties.SDL_PropertiesID
   -- ^
@@ -962,7 +962,7 @@
 --
 --     [See also]: 'sDL_CreateGPUDeviceWithProperties', 'sDL_GetGPUShaderFormats', 'sDL_GetGPUDeviceDriver', 'sDL_DestroyGPUDevice', 'sDL_GPUSupportsShaderFormats'
 --
---     [C declaration]: @SDL_CreateGPUDevice@, defined at @SDL3\/SDL_gpu.h 2243:45@
+--     [C declaration]: @SDL_CreateGPUDevice@, defined at @SDL3\/SDL_gpu.h 2256:45@
 sDL_CreateGPUDevice
   :: SDL_GPUShaderFormat
   -- ^
@@ -1050,7 +1050,7 @@
 --
 --     [See also]: 'sDL_GetGPUShaderFormats', 'sDL_GetGPUDeviceDriver', 'sDL_DestroyGPUDevice', 'sDL_GPUSupportsProperties'
 --
---     [C declaration]: @SDL_CreateGPUDeviceWithProperties@, defined at @SDL3\/SDL_gpu.h 2360:45@
+--     [C declaration]: @SDL_CreateGPUDeviceWithProperties@, defined at @SDL3\/SDL_gpu.h 2373:45@
 sDL_CreateGPUDeviceWithProperties
   :: SDL3.Sys.Bindgen.Properties.SDL_PropertiesID
   -- ^
@@ -1079,7 +1079,7 @@
 --
 --     [See also]: 'sDL_CreateGPUDevice'
 --
---     [C declaration]: @SDL_DestroyGPUDevice@, defined at @SDL3\/SDL_gpu.h 2422:34@
+--     [C declaration]: @SDL_DestroyGPUDevice@, defined at @SDL3\/SDL_gpu.h 2435:34@
 sDL_DestroyGPUDevice
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1106,7 +1106,7 @@
 --
 --     [See also]: 'sDL_GetGPUDriver'
 --
---     [C declaration]: @SDL_GetNumGPUDrivers@, defined at @SDL3\/SDL_gpu.h 2433:33@
+--     [C declaration]: @SDL_GetNumGPUDrivers@, defined at @SDL3\/SDL_gpu.h 2446:33@
 sDL_GetNumGPUDrivers :: IO BG.CInt
 sDL_GetNumGPUDrivers = hs_bindgen_53d9edb0d1616675
 
@@ -1135,7 +1135,7 @@
 --
 --     [See also]: 'sDL_GetNumGPUDrivers'
 --
---     [C declaration]: @SDL_GetGPUDriver@, defined at @SDL3\/SDL_gpu.h 2452:42@
+--     [C declaration]: @SDL_GetGPUDriver@, defined at @SDL3\/SDL_gpu.h 2465:42@
 sDL_GetGPUDriver
   :: BG.CInt
   -- ^
@@ -1163,7 +1163,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetGPUDeviceDriver@, defined at @SDL3\/SDL_gpu.h 2462:42@
+--     [C declaration]: @SDL_GetGPUDeviceDriver@, defined at @SDL3\/SDL_gpu.h 2475:42@
 sDL_GetGPUDeviceDriver
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1191,7 +1191,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetGPUShaderFormats@, defined at @SDL3\/SDL_gpu.h 2473:49@
+--     [C declaration]: @SDL_GetGPUShaderFormats@, defined at @SDL3\/SDL_gpu.h 2486:49@
 sDL_GetGPUShaderFormats
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1314,7 +1314,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @SDL_GetGPUDeviceProperties@, defined at @SDL3\/SDL_gpu.h 2577:46@
+--     [C declaration]: @SDL_GetGPUDeviceProperties@, defined at @SDL3\/SDL_gpu.h 2590:46@
 sDL_GetGPUDeviceProperties
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1375,7 +1375,7 @@
 --
 --     [See also]: 'sDL_BindGPUComputePipeline', 'sDL_ReleaseGPUComputePipeline'
 --
---     [C declaration]: @SDL_CreateGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 2632:54@
+--     [C declaration]: @SDL_CreateGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 2645:54@
 sDL_CreateGPUComputePipeline
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1416,7 +1416,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader', 'sDL_BindGPUGraphicsPipeline', 'sDL_ReleaseGPUGraphicsPipeline'
 --
---     [C declaration]: @SDL_CreateGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 2659:55@
+--     [C declaration]: @SDL_CreateGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 2672:55@
 sDL_CreateGPUGraphicsPipeline
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1457,7 +1457,7 @@
 --
 --     [See also]: 'sDL_BindGPUVertexSamplers', 'sDL_BindGPUFragmentSamplers', 'sDL_ReleaseGPUSampler'
 --
---     [C declaration]: @SDL_CreateGPUSampler@, defined at @SDL3\/SDL_gpu.h 2686:46@
+--     [C declaration]: @SDL_CreateGPUSampler@, defined at @SDL3\/SDL_gpu.h 2699:46@
 sDL_CreateGPUSampler
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1541,7 +1541,7 @@
 --
 --     [See also]: 'sDL_CreateGPUGraphicsPipeline', 'sDL_ReleaseGPUShader'
 --
---     [C declaration]: @SDL_CreateGPUShader@, defined at @SDL3\/SDL_gpu.h 2765:45@
+--     [C declaration]: @SDL_CreateGPUShader@, defined at @SDL3\/SDL_gpu.h 2778:45@
 sDL_CreateGPUShader
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1599,7 +1599,7 @@
 --
 --     [See also]: 'sDL_UploadToGPUTexture', 'sDL_DownloadFromGPUTexture', 'sDL_BeginGPURenderPass', 'sDL_BeginGPUComputePass', 'sDL_BindGPUVertexSamplers', 'sDL_BindGPUVertexStorageTextures', 'sDL_BindGPUFragmentSamplers', 'sDL_BindGPUFragmentStorageTextures', 'sDL_BindGPUComputeStorageTextures', 'sDL_BlitGPUTexture', 'sDL_ReleaseGPUTexture', 'sDL_GPUTextureSupportsFormat'
 --
---     [C declaration]: @SDL_CreateGPUTexture@, defined at @SDL3\/SDL_gpu.h 2829:46@
+--     [C declaration]: @SDL_CreateGPUTexture@, defined at @SDL3\/SDL_gpu.h 2842:46@
 sDL_CreateGPUTexture
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1645,7 +1645,7 @@
 --
 --     [See also]: 'sDL_UploadToGPUBuffer', 'sDL_DownloadFromGPUBuffer', 'sDL_CopyGPUBufferToBuffer', 'sDL_BindGPUVertexBuffers', 'sDL_BindGPUIndexBuffer', 'sDL_BindGPUVertexStorageBuffers', 'sDL_BindGPUFragmentStorageBuffers', 'sDL_DrawGPUPrimitivesIndirect', 'sDL_DrawGPUIndexedPrimitivesIndirect', 'sDL_BindGPUComputeStorageBuffers', 'sDL_DispatchGPUComputeIndirect', 'sDL_ReleaseGPUBuffer'
 --
---     [C declaration]: @SDL_CreateGPUBuffer@, defined at @SDL3\/SDL_gpu.h 2885:45@
+--     [C declaration]: @SDL_CreateGPUBuffer@, defined at @SDL3\/SDL_gpu.h 2898:45@
 sDL_CreateGPUBuffer
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1687,7 +1687,7 @@
 --
 --     [See also]: 'sDL_UploadToGPUBuffer', 'sDL_DownloadFromGPUBuffer', 'sDL_UploadToGPUTexture', 'sDL_DownloadFromGPUTexture', 'sDL_ReleaseGPUTransferBuffer'
 --
---     [C declaration]: @SDL_CreateGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 2918:53@
+--     [C declaration]: @SDL_CreateGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 2931:53@
 sDL_CreateGPUTransferBuffer
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1728,7 +1728,7 @@
 --
 --     [See also]: 'sDL_CreateGPUBuffer'
 --
---     [C declaration]: @SDL_SetGPUBufferName@, defined at @SDL3\/SDL_gpu.h 2943:34@
+--     [C declaration]: @SDL_SetGPUBufferName@, defined at @SDL3\/SDL_gpu.h 2956:34@
 sDL_SetGPUBufferName
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1772,7 +1772,7 @@
 --
 --     [See also]: 'sDL_CreateGPUTexture'
 --
---     [C declaration]: @SDL_SetGPUTextureName@, defined at @SDL3\/SDL_gpu.h 2966:34@
+--     [C declaration]: @SDL_SetGPUTextureName@, defined at @SDL3\/SDL_gpu.h 2979:34@
 sDL_SetGPUTextureName
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1812,7 +1812,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_InsertGPUDebugLabel@, defined at @SDL3\/SDL_gpu.h 2987:34@
+--     [C declaration]: @SDL_InsertGPUDebugLabel@, defined at @SDL3\/SDL_gpu.h 3000:34@
 sDL_InsertGPUDebugLabel
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -1854,7 +1854,7 @@
 --
 --     [See also]: 'sDL_PopGPUDebugGroup'
 --
---     [C declaration]: @SDL_PushGPUDebugGroup@, defined at @SDL3\/SDL_gpu.h 3017:34@
+--     [C declaration]: @SDL_PushGPUDebugGroup@, defined at @SDL3\/SDL_gpu.h 3030:34@
 sDL_PushGPUDebugGroup
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -1888,7 +1888,7 @@
 --
 --     [See also]: 'sDL_PushGPUDebugGroup'
 --
---     [C declaration]: @SDL_PopGPUDebugGroup@, defined at @SDL3\/SDL_gpu.h 3035:34@
+--     [C declaration]: @SDL_PopGPUDebugGroup@, defined at @SDL3\/SDL_gpu.h 3048:34@
 sDL_PopGPUDebugGroup
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -1918,7 +1918,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReleaseGPUTexture@, defined at @SDL3\/SDL_gpu.h 3050:34@
+--     [C declaration]: @SDL_ReleaseGPUTexture@, defined at @SDL3\/SDL_gpu.h 3063:34@
 sDL_ReleaseGPUTexture
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1952,7 +1952,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReleaseGPUSampler@, defined at @SDL3\/SDL_gpu.h 3064:34@
+--     [C declaration]: @SDL_ReleaseGPUSampler@, defined at @SDL3\/SDL_gpu.h 3077:34@
 sDL_ReleaseGPUSampler
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1986,7 +1986,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReleaseGPUBuffer@, defined at @SDL3\/SDL_gpu.h 3078:34@
+--     [C declaration]: @SDL_ReleaseGPUBuffer@, defined at @SDL3\/SDL_gpu.h 3091:34@
 sDL_ReleaseGPUBuffer
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2020,7 +2020,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReleaseGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3092:34@
+--     [C declaration]: @SDL_ReleaseGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3105:34@
 sDL_ReleaseGPUTransferBuffer
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2055,7 +2055,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReleaseGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 3106:34@
+--     [C declaration]: @SDL_ReleaseGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 3119:34@
 sDL_ReleaseGPUComputePipeline
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2090,7 +2090,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReleaseGPUShader@, defined at @SDL3\/SDL_gpu.h 3120:34@
+--     [C declaration]: @SDL_ReleaseGPUShader@, defined at @SDL3\/SDL_gpu.h 3133:34@
 sDL_ReleaseGPUShader
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2124,7 +2124,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReleaseGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 3134:34@
+--     [C declaration]: @SDL_ReleaseGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 3147:34@
 sDL_ReleaseGPUGraphicsPipeline
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2163,7 +2163,7 @@
 --
 --     [See also]: 'sDL_SubmitGPUCommandBuffer', 'sDL_SubmitGPUCommandBufferAndAcquireFence'
 --
---     [C declaration]: @SDL_AcquireGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 3162:52@
+--     [C declaration]: @SDL_AcquireGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 3175:52@
 sDL_AcquireGPUCommandBuffer
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2202,7 +2202,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_PushGPUVertexUniformData@, defined at @SDL3\/SDL_gpu.h 3186:34@
+--     [C declaration]: @SDL_PushGPUVertexUniformData@, defined at @SDL3\/SDL_gpu.h 3199:34@
 sDL_PushGPUVertexUniformData
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -2251,7 +2251,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_PushGPUFragmentUniformData@, defined at @SDL3\/SDL_gpu.h 3208:34@
+--     [C declaration]: @SDL_PushGPUFragmentUniformData@, defined at @SDL3\/SDL_gpu.h 3221:34@
 sDL_PushGPUFragmentUniformData
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -2300,7 +2300,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_PushGPUComputeUniformData@, defined at @SDL3\/SDL_gpu.h 3230:34@
+--     [C declaration]: @SDL_PushGPUComputeUniformData@, defined at @SDL3\/SDL_gpu.h 3243:34@
 sDL_PushGPUComputeUniformData
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -2353,7 +2353,7 @@
 --
 --     [See also]: 'sDL_EndGPURenderPass'
 --
---     [C declaration]: @SDL_BeginGPURenderPass@, defined at @SDL3\/SDL_gpu.h 3271:49@
+--     [C declaration]: @SDL_BeginGPURenderPass@, defined at @SDL3\/SDL_gpu.h 3284:49@
 sDL_BeginGPURenderPass
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -2395,7 +2395,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_BindGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 3287:34@
+--     [C declaration]: @SDL_BindGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 3300:34@
 sDL_BindGPUGraphicsPipeline
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2428,7 +2428,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_SetGPUViewport@, defined at @SDL3\/SDL_gpu.h 3299:34@
+--     [C declaration]: @SDL_SetGPUViewport@, defined at @SDL3\/SDL_gpu.h 3312:34@
 sDL_SetGPUViewport
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2460,7 +2460,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_SetGPUScissor@, defined at @SDL3\/SDL_gpu.h 3311:34@
+--     [C declaration]: @SDL_SetGPUScissor@, defined at @SDL3\/SDL_gpu.h 3324:34@
 sDL_SetGPUScissor
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2494,7 +2494,7 @@
 --
 --     [See also]: @SDL_GPU_BLENDFACTOR_CONSTANT_COLOR@, @SDL_GPU_BLENDFACTOR_ONE_MINUS_CONSTANT_COLOR@
 --
---     [C declaration]: @SDL_SetGPUBlendConstants@, defined at @SDL3\/SDL_gpu.h 3326:34@
+--     [C declaration]: @SDL_SetGPUBlendConstants@, defined at @SDL3\/SDL_gpu.h 3339:34@
 sDL_SetGPUBlendConstants
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2533,7 +2533,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_SetGPUStencilReference@, defined at @SDL3\/SDL_gpu.h 3338:34@
+--     [C declaration]: @SDL_SetGPUStencilReference@, defined at @SDL3\/SDL_gpu.h 3351:34@
 sDL_SetGPUStencilReference
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2570,7 +2570,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_BindGPUVertexBuffers@, defined at @SDL3\/SDL_gpu.h 3354:34@
+--     [C declaration]: @SDL_BindGPUVertexBuffers@, defined at @SDL3\/SDL_gpu.h 3367:34@
 sDL_BindGPUVertexBuffers
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2613,7 +2613,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_BindGPUIndexBuffer@, defined at @SDL3\/SDL_gpu.h 3371:34@
+--     [C declaration]: @SDL_BindGPUIndexBuffer@, defined at @SDL3\/SDL_gpu.h 3384:34@
 sDL_BindGPUIndexBuffer
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2659,7 +2659,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader'
 --
---     [C declaration]: @SDL_BindGPUVertexSamplers@, defined at @SDL3\/SDL_gpu.h 3395:34@
+--     [C declaration]: @SDL_BindGPUVertexSamplers@, defined at @SDL3\/SDL_gpu.h 3408:34@
 sDL_BindGPUVertexSamplers
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2710,7 +2710,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader'
 --
---     [C declaration]: @SDL_BindGPUVertexStorageTextures@, defined at @SDL3\/SDL_gpu.h 3419:34@
+--     [C declaration]: @SDL_BindGPUVertexStorageTextures@, defined at @SDL3\/SDL_gpu.h 3432:34@
 sDL_BindGPUVertexStorageTextures
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2761,7 +2761,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader'
 --
---     [C declaration]: @SDL_BindGPUVertexStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3443:34@
+--     [C declaration]: @SDL_BindGPUVertexStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3456:34@
 sDL_BindGPUVertexStorageBuffers
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2812,7 +2812,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader'
 --
---     [C declaration]: @SDL_BindGPUFragmentSamplers@, defined at @SDL3\/SDL_gpu.h 3468:34@
+--     [C declaration]: @SDL_BindGPUFragmentSamplers@, defined at @SDL3\/SDL_gpu.h 3481:34@
 sDL_BindGPUFragmentSamplers
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2863,7 +2863,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader'
 --
---     [C declaration]: @SDL_BindGPUFragmentStorageTextures@, defined at @SDL3\/SDL_gpu.h 3492:34@
+--     [C declaration]: @SDL_BindGPUFragmentStorageTextures@, defined at @SDL3\/SDL_gpu.h 3505:34@
 sDL_BindGPUFragmentStorageTextures
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2914,7 +2914,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader'
 --
---     [C declaration]: @SDL_BindGPUFragmentStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3516:34@
+--     [C declaration]: @SDL_BindGPUFragmentStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3529:34@
 sDL_BindGPUFragmentStorageBuffers
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2967,7 +2967,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DrawGPUIndexedPrimitives@, defined at @SDL3\/SDL_gpu.h 3547:34@
+--     [C declaration]: @SDL_DrawGPUIndexedPrimitives@, defined at @SDL3\/SDL_gpu.h 3560:34@
 sDL_DrawGPUIndexedPrimitives
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3026,7 +3026,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DrawGPUPrimitives@, defined at @SDL3\/SDL_gpu.h 3575:34@
+--     [C declaration]: @SDL_DrawGPUPrimitives@, defined at @SDL3\/SDL_gpu.h 3588:34@
 sDL_DrawGPUPrimitives
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3076,7 +3076,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DrawGPUPrimitivesIndirect@, defined at @SDL3\/SDL_gpu.h 3598:34@
+--     [C declaration]: @SDL_DrawGPUPrimitivesIndirect@, defined at @SDL3\/SDL_gpu.h 3611:34@
 sDL_DrawGPUPrimitivesIndirect
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3123,7 +3123,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DrawGPUIndexedPrimitivesIndirect@, defined at @SDL3\/SDL_gpu.h 3620:34@
+--     [C declaration]: @SDL_DrawGPUIndexedPrimitivesIndirect@, defined at @SDL3\/SDL_gpu.h 3633:34@
 sDL_DrawGPUIndexedPrimitivesIndirect
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3164,7 +3164,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_EndGPURenderPass@, defined at @SDL3\/SDL_gpu.h 3636:34@
+--     [C declaration]: @SDL_EndGPURenderPass@, defined at @SDL3\/SDL_gpu.h 3649:34@
 sDL_EndGPURenderPass
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3206,7 +3206,7 @@
 --
 --     [See also]: 'sDL_EndGPUComputePass'
 --
---     [C declaration]: @SDL_BeginGPUComputePass@, defined at @SDL3\/SDL_gpu.h 3678:50@
+--     [C declaration]: @SDL_BeginGPUComputePass@, defined at @SDL3\/SDL_gpu.h 3691:50@
 sDL_BeginGPUComputePass
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -3250,7 +3250,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_BindGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 3693:34@
+--     [C declaration]: @SDL_BindGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 3706:34@
 sDL_BindGPUComputePipeline
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -3293,7 +3293,7 @@
 --
 --     [See also]: 'sDL_CreateGPUComputePipeline'
 --
---     [C declaration]: @SDL_BindGPUComputeSamplers@, defined at @SDL3\/SDL_gpu.h 3716:34@
+--     [C declaration]: @SDL_BindGPUComputeSamplers@, defined at @SDL3\/SDL_gpu.h 3729:34@
 sDL_BindGPUComputeSamplers
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -3344,7 +3344,7 @@
 --
 --     [See also]: 'sDL_CreateGPUComputePipeline'
 --
---     [C declaration]: @SDL_BindGPUComputeStorageTextures@, defined at @SDL3\/SDL_gpu.h 3740:34@
+--     [C declaration]: @SDL_BindGPUComputeStorageTextures@, defined at @SDL3\/SDL_gpu.h 3753:34@
 sDL_BindGPUComputeStorageTextures
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -3395,7 +3395,7 @@
 --
 --     [See also]: 'sDL_CreateGPUComputePipeline'
 --
---     [C declaration]: @SDL_BindGPUComputeStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3764:34@
+--     [C declaration]: @SDL_BindGPUComputeStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3777:34@
 sDL_BindGPUComputeStorageBuffers
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -3444,7 +3444,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DispatchGPUCompute@, defined at @SDL3\/SDL_gpu.h 3790:34@
+--     [C declaration]: @SDL_DispatchGPUCompute@, defined at @SDL3\/SDL_gpu.h 3803:34@
 sDL_DispatchGPUCompute
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -3490,7 +3490,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DispatchGPUComputeIndirect@, defined at @SDL3\/SDL_gpu.h 3814:34@
+--     [C declaration]: @SDL_DispatchGPUComputeIndirect@, defined at @SDL3\/SDL_gpu.h 3827:34@
 sDL_DispatchGPUComputeIndirect
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -3527,7 +3527,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_EndGPUComputePass@, defined at @SDL3\/SDL_gpu.h 3829:34@
+--     [C declaration]: @SDL_EndGPUComputePass@, defined at @SDL3\/SDL_gpu.h 3842:34@
 sDL_EndGPUComputePass
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -3561,7 +3561,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_MapGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3849:36@
+--     [C declaration]: @SDL_MapGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3862:36@
 sDL_MapGPUTransferBuffer
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -3598,7 +3598,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_UnmapGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3862:34@
+--     [C declaration]: @SDL_UnmapGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3875:34@
 sDL_UnmapGPUTransferBuffer
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -3635,7 +3635,7 @@
 --
 --     [See also]: 'sDL_EndGPUCopyPass'
 --
---     [C declaration]: @SDL_BeginGPUCopyPass@, defined at @SDL3\/SDL_gpu.h 3882:47@
+--     [C declaration]: @SDL_BeginGPUCopyPass@, defined at @SDL3\/SDL_gpu.h 3895:47@
 sDL_BeginGPUCopyPass
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -3671,7 +3671,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_UploadToGPUTexture@, defined at @SDL3\/SDL_gpu.h 3902:34@
+--     [C declaration]: @SDL_UploadToGPUTexture@, defined at @SDL3\/SDL_gpu.h 3915:34@
 sDL_UploadToGPUTexture
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -3717,7 +3717,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_UploadToGPUBuffer@, defined at @SDL3\/SDL_gpu.h 3922:34@
+--     [C declaration]: @SDL_UploadToGPUBuffer@, defined at @SDL3\/SDL_gpu.h 3935:34@
 sDL_UploadToGPUBuffer
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -3771,7 +3771,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_CopyGPUTextureToTexture@, defined at @SDL3\/SDL_gpu.h 3949:34@
+--     [C declaration]: @SDL_CopyGPUTextureToTexture@, defined at @SDL3\/SDL_gpu.h 3962:34@
 sDL_CopyGPUTextureToTexture
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -3832,7 +3832,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_CopyGPUBufferToBuffer@, defined at @SDL3\/SDL_gpu.h 3973:34@
+--     [C declaration]: @SDL_CopyGPUBufferToBuffer@, defined at @SDL3\/SDL_gpu.h 3986:34@
 sDL_CopyGPUBufferToBuffer
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -3881,7 +3881,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DownloadFromGPUTexture@, defined at @SDL3\/SDL_gpu.h 3993:34@
+--     [C declaration]: @SDL_DownloadFromGPUTexture@, defined at @SDL3\/SDL_gpu.h 4006:34@
 sDL_DownloadFromGPUTexture
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -3922,7 +3922,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DownloadFromGPUBuffer@, defined at @SDL3\/SDL_gpu.h 4010:34@
+--     [C declaration]: @SDL_DownloadFromGPUBuffer@, defined at @SDL3\/SDL_gpu.h 4023:34@
 sDL_DownloadFromGPUBuffer
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -3957,7 +3957,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_EndGPUCopyPass@, defined at @SDL3\/SDL_gpu.h 4022:34@
+--     [C declaration]: @SDL_EndGPUCopyPass@, defined at @SDL3\/SDL_gpu.h 4035:34@
 sDL_EndGPUCopyPass
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -3987,7 +3987,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GenerateMipmapsForGPUTexture@, defined at @SDL3\/SDL_gpu.h 4035:34@
+--     [C declaration]: @SDL_GenerateMipmapsForGPUTexture@, defined at @SDL3\/SDL_gpu.h 4048:34@
 sDL_GenerateMipmapsForGPUTexture
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -4022,7 +4022,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_BlitGPUTexture@, defined at @SDL3\/SDL_gpu.h 4049:34@
+--     [C declaration]: @SDL_BlitGPUTexture@, defined at @SDL3\/SDL_gpu.h 4062:34@
 sDL_BlitGPUTexture
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -4062,7 +4062,7 @@
 --
 --     [See also]: 'sDL_ClaimWindowForGPUDevice'
 --
---     [C declaration]: @SDL_WindowSupportsGPUSwapchainComposition@, defined at @SDL3\/SDL_gpu.h 4069:34@
+--     [C declaration]: @SDL_WindowSupportsGPUSwapchainComposition@, defined at @SDL3\/SDL_gpu.h 4082:34@
 sDL_WindowSupportsGPUSwapchainComposition
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4107,7 +4107,7 @@
 --
 --     [See also]: 'sDL_ClaimWindowForGPUDevice'
 --
---     [C declaration]: @SDL_WindowSupportsGPUPresentMode@, defined at @SDL3\/SDL_gpu.h 4088:34@
+--     [C declaration]: @SDL_WindowSupportsGPUPresentMode@, defined at @SDL3\/SDL_gpu.h 4101:34@
 sDL_WindowSupportsGPUPresentMode
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4154,7 +4154,7 @@
 --
 --     [See also]: 'sDL_WaitAndAcquireGPUSwapchainTexture', 'sDL_ReleaseWindowFromGPUDevice', 'sDL_WindowSupportsGPUPresentMode', 'sDL_WindowSupportsGPUSwapchainComposition'
 --
---     [C declaration]: @SDL_ClaimWindowForGPUDevice@, defined at @SDL3\/SDL_gpu.h 4120:34@
+--     [C declaration]: @SDL_ClaimWindowForGPUDevice@, defined at @SDL3\/SDL_gpu.h 4133:34@
 sDL_ClaimWindowForGPUDevice
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4189,7 +4189,7 @@
 --
 --     [See also]: 'sDL_ClaimWindowForGPUDevice'
 --
---     [C declaration]: @SDL_ReleaseWindowFromGPUDevice@, defined at @SDL3\/SDL_gpu.h 4134:34@
+--     [C declaration]: @SDL_ReleaseWindowFromGPUDevice@, defined at @SDL3\/SDL_gpu.h 4147:34@
 sDL_ReleaseWindowFromGPUDevice
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4234,7 +4234,7 @@
 --
 --     [See also]: 'sDL_WindowSupportsGPUPresentMode', 'sDL_WindowSupportsGPUSwapchainComposition'
 --
---     [C declaration]: @SDL_SetGPUSwapchainParameters@, defined at @SDL3\/SDL_gpu.h 4161:34@
+--     [C declaration]: @SDL_SetGPUSwapchainParameters@, defined at @SDL3\/SDL_gpu.h 4174:34@
 sDL_SetGPUSwapchainParameters
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4285,7 +4285,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_SetGPUAllowedFramesInFlight@, defined at @SDL3\/SDL_gpu.h 4192:34@
+--     [C declaration]: @SDL_SetGPUAllowedFramesInFlight@, defined at @SDL3\/SDL_gpu.h 4205:34@
 sDL_SetGPUAllowedFramesInFlight
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4322,7 +4322,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetGPUSwapchainTextureFormat@, defined at @SDL3\/SDL_gpu.h 4207:50@
+--     [C declaration]: @SDL_GetGPUSwapchainTextureFormat@, defined at @SDL3\/SDL_gpu.h 4220:50@
 sDL_GetGPUSwapchainTextureFormat
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4375,7 +4375,7 @@
 --
 --     [See also]: 'sDL_ClaimWindowForGPUDevice', 'sDL_SubmitGPUCommandBuffer', 'sDL_SubmitGPUCommandBufferAndAcquireFence', 'sDL_CancelGPUCommandBuffer', SDL_GetWindowSizeInPixels, 'sDL_WaitForGPUSwapchain', 'sDL_WaitAndAcquireGPUSwapchainTexture', 'sDL_SetGPUAllowedFramesInFlight'
 --
---     [C declaration]: @SDL_AcquireGPUSwapchainTexture@, defined at @SDL3\/SDL_gpu.h 4259:34@
+--     [C declaration]: @SDL_AcquireGPUSwapchainTexture@, defined at @SDL3\/SDL_gpu.h 4272:34@
 sDL_AcquireGPUSwapchainTexture
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -4426,7 +4426,7 @@
 --
 --     [See also]: 'sDL_AcquireGPUSwapchainTexture', 'sDL_WaitAndAcquireGPUSwapchainTexture', 'sDL_SetGPUAllowedFramesInFlight'
 --
---     [C declaration]: @SDL_WaitForGPUSwapchain@, defined at @SDL3\/SDL_gpu.h 4283:34@
+--     [C declaration]: @SDL_WaitForGPUSwapchain@, defined at @SDL3\/SDL_gpu.h 4296:34@
 sDL_WaitForGPUSwapchain
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4478,7 +4478,7 @@
 --
 --     [See also]: 'sDL_SubmitGPUCommandBuffer', 'sDL_SubmitGPUCommandBufferAndAcquireFence', 'sDL_AcquireGPUSwapchainTexture'
 --
---     [C declaration]: @SDL_WaitAndAcquireGPUSwapchainTexture@, defined at @SDL3\/SDL_gpu.h 4329:34@
+--     [C declaration]: @SDL_WaitAndAcquireGPUSwapchainTexture@, defined at @SDL3\/SDL_gpu.h 4342:34@
 sDL_WaitAndAcquireGPUSwapchainTexture
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -4531,7 +4531,7 @@
 --
 --     [See also]: 'sDL_AcquireGPUCommandBuffer', 'sDL_WaitAndAcquireGPUSwapchainTexture', 'sDL_AcquireGPUSwapchainTexture', 'sDL_SubmitGPUCommandBufferAndAcquireFence'
 --
---     [C declaration]: @SDL_SubmitGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 4357:34@
+--     [C declaration]: @SDL_SubmitGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 4370:34@
 sDL_SubmitGPUCommandBuffer
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -4568,7 +4568,7 @@
 --
 --     [See also]: 'sDL_AcquireGPUCommandBuffer', 'sDL_WaitAndAcquireGPUSwapchainTexture', 'sDL_AcquireGPUSwapchainTexture', 'sDL_SubmitGPUCommandBuffer', 'sDL_ReleaseGPUFence'
 --
---     [C declaration]: @SDL_SubmitGPUCommandBufferAndAcquireFence@, defined at @SDL3\/SDL_gpu.h 4384:44@
+--     [C declaration]: @SDL_SubmitGPUCommandBufferAndAcquireFence@, defined at @SDL3\/SDL_gpu.h 4397:44@
 sDL_SubmitGPUCommandBufferAndAcquireFence
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -4607,7 +4607,7 @@
 --
 --     [See also]: 'sDL_WaitAndAcquireGPUSwapchainTexture', 'sDL_AcquireGPUCommandBuffer', 'sDL_AcquireGPUSwapchainTexture'
 --
---     [C declaration]: @SDL_CancelGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 4409:34@
+--     [C declaration]: @SDL_CancelGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 4422:34@
 sDL_CancelGPUCommandBuffer
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -4638,7 +4638,7 @@
 --
 --     [See also]: 'sDL_WaitForGPUFences'
 --
---     [C declaration]: @SDL_WaitForGPUIdle@, defined at @SDL3\/SDL_gpu.h 4423:34@
+--     [C declaration]: @SDL_WaitForGPUIdle@, defined at @SDL3\/SDL_gpu.h 4436:34@
 sDL_WaitForGPUIdle
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4674,7 +4674,7 @@
 --
 --     [See also]: 'sDL_SubmitGPUCommandBufferAndAcquireFence', 'sDL_WaitForGPUIdle'
 --
---     [C declaration]: @SDL_WaitForGPUFences@, defined at @SDL3\/SDL_gpu.h 4442:34@
+--     [C declaration]: @SDL_WaitForGPUFences@, defined at @SDL3\/SDL_gpu.h 4455:34@
 sDL_WaitForGPUFences
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4718,7 +4718,7 @@
 --
 --     [See also]: 'sDL_SubmitGPUCommandBufferAndAcquireFence'
 --
---     [C declaration]: @SDL_QueryGPUFence@, defined at @SDL3\/SDL_gpu.h 4459:34@
+--     [C declaration]: @SDL_QueryGPUFence@, defined at @SDL3\/SDL_gpu.h 4472:34@
 sDL_QueryGPUFence
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4754,7 +4754,7 @@
 --
 --     [See also]: 'sDL_SubmitGPUCommandBufferAndAcquireFence'
 --
---     [C declaration]: @SDL_ReleaseGPUFence@, defined at @SDL3\/SDL_gpu.h 4475:34@
+--     [C declaration]: @SDL_ReleaseGPUFence@, defined at @SDL3\/SDL_gpu.h 4488:34@
 sDL_ReleaseGPUFence
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4788,7 +4788,7 @@
 --
 --     [See also]: 'sDL_UploadToGPUTexture'
 --
---     [C declaration]: @SDL_GPUTextureFormatTexelBlockSize@, defined at @SDL3\/SDL_gpu.h 4491:36@
+--     [C declaration]: @SDL_GPUTextureFormatTexelBlockSize@, defined at @SDL3\/SDL_gpu.h 4504:36@
 sDL_GPUTextureFormatTexelBlockSize
   :: SDL_GPUTextureFormat
   -- ^
@@ -4823,7 +4823,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GPUTextureSupportsFormat@, defined at @SDL3\/SDL_gpu.h 4506:34@
+--     [C declaration]: @SDL_GPUTextureSupportsFormat@, defined at @SDL3\/SDL_gpu.h 4519:34@
 sDL_GPUTextureSupportsFormat
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4868,7 +4868,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GPUTextureSupportsSampleCount@, defined at @SDL3\/SDL_gpu.h 4522:34@
+--     [C declaration]: @SDL_GPUTextureSupportsSampleCount@, defined at @SDL3\/SDL_gpu.h 4535:34@
 sDL_GPUTextureSupportsSampleCount
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4911,7 +4911,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_CalculateGPUTextureFormatSize@, defined at @SDL3\/SDL_gpu.h 4538:36@
+--     [C declaration]: @SDL_CalculateGPUTextureFormatSize@, defined at @SDL3\/SDL_gpu.h 4551:36@
 sDL_CalculateGPUTextureFormatSize
   :: SDL_GPUTextureFormat
   -- ^
@@ -4952,7 +4952,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @SDL_GetPixelFormatFromGPUTextureFormat@, defined at @SDL3\/SDL_gpu.h 4553:45@
+--     [C declaration]: @SDL_GetPixelFormatFromGPUTextureFormat@, defined at @SDL3\/SDL_gpu.h 4566:45@
 sDL_GetPixelFormatFromGPUTextureFormat
   :: SDL_GPUTextureFormat
   -- ^
@@ -4981,7 +4981,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @SDL_GetGPUTextureFormatFromPixelFormat@, defined at @SDL3\/SDL_gpu.h 4565:50@
+--     [C declaration]: @SDL_GetGPUTextureFormatFromPixelFormat@, defined at @SDL3\/SDL_gpu.h 4578:50@
 sDL_GetGPUTextureFormatFromPixelFormat
   :: SDL3.Sys.Bindgen.Pixels.SDL_PixelFormat
   -- ^
diff --git a/src/SDL3/Sys/Bindgen/Gpu/Unsafe.hs b/src/SDL3/Sys/Bindgen/Gpu/Unsafe.hs
--- a/src/SDL3/Sys/Bindgen/Gpu/Unsafe.hs
+++ b/src/SDL3/Sys/Bindgen/Gpu/Unsafe.hs
@@ -882,7 +882,7 @@
 --
 --     [See also]: 'sDL_CreateGPUDevice'
 --
---     [C declaration]: @SDL_GPUSupportsShaderFormats@, defined at @SDL3\/SDL_gpu.h 2200:34@
+--     [C declaration]: @SDL_GPUSupportsShaderFormats@, defined at @SDL3\/SDL_gpu.h 2213:34@
 sDL_GPUSupportsShaderFormats
   :: SDL_GPUShaderFormat
   -- ^
@@ -917,7 +917,7 @@
 --
 --     [See also]: 'sDL_CreateGPUDeviceWithProperties'
 --
---     [C declaration]: @SDL_GPUSupportsProperties@, defined at @SDL3\/SDL_gpu.h 2214:34@
+--     [C declaration]: @SDL_GPUSupportsProperties@, defined at @SDL3\/SDL_gpu.h 2227:34@
 sDL_GPUSupportsProperties
   :: SDL3.Sys.Bindgen.Properties.SDL_PropertiesID
   -- ^
@@ -962,7 +962,7 @@
 --
 --     [See also]: 'sDL_CreateGPUDeviceWithProperties', 'sDL_GetGPUShaderFormats', 'sDL_GetGPUDeviceDriver', 'sDL_DestroyGPUDevice', 'sDL_GPUSupportsShaderFormats'
 --
---     [C declaration]: @SDL_CreateGPUDevice@, defined at @SDL3\/SDL_gpu.h 2243:45@
+--     [C declaration]: @SDL_CreateGPUDevice@, defined at @SDL3\/SDL_gpu.h 2256:45@
 sDL_CreateGPUDevice
   :: SDL_GPUShaderFormat
   -- ^
@@ -1050,7 +1050,7 @@
 --
 --     [See also]: 'sDL_GetGPUShaderFormats', 'sDL_GetGPUDeviceDriver', 'sDL_DestroyGPUDevice', 'sDL_GPUSupportsProperties'
 --
---     [C declaration]: @SDL_CreateGPUDeviceWithProperties@, defined at @SDL3\/SDL_gpu.h 2360:45@
+--     [C declaration]: @SDL_CreateGPUDeviceWithProperties@, defined at @SDL3\/SDL_gpu.h 2373:45@
 sDL_CreateGPUDeviceWithProperties
   :: SDL3.Sys.Bindgen.Properties.SDL_PropertiesID
   -- ^
@@ -1079,7 +1079,7 @@
 --
 --     [See also]: 'sDL_CreateGPUDevice'
 --
---     [C declaration]: @SDL_DestroyGPUDevice@, defined at @SDL3\/SDL_gpu.h 2422:34@
+--     [C declaration]: @SDL_DestroyGPUDevice@, defined at @SDL3\/SDL_gpu.h 2435:34@
 sDL_DestroyGPUDevice
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1106,7 +1106,7 @@
 --
 --     [See also]: 'sDL_GetGPUDriver'
 --
---     [C declaration]: @SDL_GetNumGPUDrivers@, defined at @SDL3\/SDL_gpu.h 2433:33@
+--     [C declaration]: @SDL_GetNumGPUDrivers@, defined at @SDL3\/SDL_gpu.h 2446:33@
 sDL_GetNumGPUDrivers :: IO BG.CInt
 sDL_GetNumGPUDrivers = hs_bindgen_6011a5df785dd689
 
@@ -1135,7 +1135,7 @@
 --
 --     [See also]: 'sDL_GetNumGPUDrivers'
 --
---     [C declaration]: @SDL_GetGPUDriver@, defined at @SDL3\/SDL_gpu.h 2452:42@
+--     [C declaration]: @SDL_GetGPUDriver@, defined at @SDL3\/SDL_gpu.h 2465:42@
 sDL_GetGPUDriver
   :: BG.CInt
   -- ^
@@ -1163,7 +1163,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetGPUDeviceDriver@, defined at @SDL3\/SDL_gpu.h 2462:42@
+--     [C declaration]: @SDL_GetGPUDeviceDriver@, defined at @SDL3\/SDL_gpu.h 2475:42@
 sDL_GetGPUDeviceDriver
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1191,7 +1191,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetGPUShaderFormats@, defined at @SDL3\/SDL_gpu.h 2473:49@
+--     [C declaration]: @SDL_GetGPUShaderFormats@, defined at @SDL3\/SDL_gpu.h 2486:49@
 sDL_GetGPUShaderFormats
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1314,7 +1314,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @SDL_GetGPUDeviceProperties@, defined at @SDL3\/SDL_gpu.h 2577:46@
+--     [C declaration]: @SDL_GetGPUDeviceProperties@, defined at @SDL3\/SDL_gpu.h 2590:46@
 sDL_GetGPUDeviceProperties
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1375,7 +1375,7 @@
 --
 --     [See also]: 'sDL_BindGPUComputePipeline', 'sDL_ReleaseGPUComputePipeline'
 --
---     [C declaration]: @SDL_CreateGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 2632:54@
+--     [C declaration]: @SDL_CreateGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 2645:54@
 sDL_CreateGPUComputePipeline
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1416,7 +1416,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader', 'sDL_BindGPUGraphicsPipeline', 'sDL_ReleaseGPUGraphicsPipeline'
 --
---     [C declaration]: @SDL_CreateGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 2659:55@
+--     [C declaration]: @SDL_CreateGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 2672:55@
 sDL_CreateGPUGraphicsPipeline
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1457,7 +1457,7 @@
 --
 --     [See also]: 'sDL_BindGPUVertexSamplers', 'sDL_BindGPUFragmentSamplers', 'sDL_ReleaseGPUSampler'
 --
---     [C declaration]: @SDL_CreateGPUSampler@, defined at @SDL3\/SDL_gpu.h 2686:46@
+--     [C declaration]: @SDL_CreateGPUSampler@, defined at @SDL3\/SDL_gpu.h 2699:46@
 sDL_CreateGPUSampler
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1541,7 +1541,7 @@
 --
 --     [See also]: 'sDL_CreateGPUGraphicsPipeline', 'sDL_ReleaseGPUShader'
 --
---     [C declaration]: @SDL_CreateGPUShader@, defined at @SDL3\/SDL_gpu.h 2765:45@
+--     [C declaration]: @SDL_CreateGPUShader@, defined at @SDL3\/SDL_gpu.h 2778:45@
 sDL_CreateGPUShader
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1599,7 +1599,7 @@
 --
 --     [See also]: 'sDL_UploadToGPUTexture', 'sDL_DownloadFromGPUTexture', 'sDL_BeginGPURenderPass', 'sDL_BeginGPUComputePass', 'sDL_BindGPUVertexSamplers', 'sDL_BindGPUVertexStorageTextures', 'sDL_BindGPUFragmentSamplers', 'sDL_BindGPUFragmentStorageTextures', 'sDL_BindGPUComputeStorageTextures', 'sDL_BlitGPUTexture', 'sDL_ReleaseGPUTexture', 'sDL_GPUTextureSupportsFormat'
 --
---     [C declaration]: @SDL_CreateGPUTexture@, defined at @SDL3\/SDL_gpu.h 2829:46@
+--     [C declaration]: @SDL_CreateGPUTexture@, defined at @SDL3\/SDL_gpu.h 2842:46@
 sDL_CreateGPUTexture
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1645,7 +1645,7 @@
 --
 --     [See also]: 'sDL_UploadToGPUBuffer', 'sDL_DownloadFromGPUBuffer', 'sDL_CopyGPUBufferToBuffer', 'sDL_BindGPUVertexBuffers', 'sDL_BindGPUIndexBuffer', 'sDL_BindGPUVertexStorageBuffers', 'sDL_BindGPUFragmentStorageBuffers', 'sDL_DrawGPUPrimitivesIndirect', 'sDL_DrawGPUIndexedPrimitivesIndirect', 'sDL_BindGPUComputeStorageBuffers', 'sDL_DispatchGPUComputeIndirect', 'sDL_ReleaseGPUBuffer'
 --
---     [C declaration]: @SDL_CreateGPUBuffer@, defined at @SDL3\/SDL_gpu.h 2885:45@
+--     [C declaration]: @SDL_CreateGPUBuffer@, defined at @SDL3\/SDL_gpu.h 2898:45@
 sDL_CreateGPUBuffer
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1687,7 +1687,7 @@
 --
 --     [See also]: 'sDL_UploadToGPUBuffer', 'sDL_DownloadFromGPUBuffer', 'sDL_UploadToGPUTexture', 'sDL_DownloadFromGPUTexture', 'sDL_ReleaseGPUTransferBuffer'
 --
---     [C declaration]: @SDL_CreateGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 2918:53@
+--     [C declaration]: @SDL_CreateGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 2931:53@
 sDL_CreateGPUTransferBuffer
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1728,7 +1728,7 @@
 --
 --     [See also]: 'sDL_CreateGPUBuffer'
 --
---     [C declaration]: @SDL_SetGPUBufferName@, defined at @SDL3\/SDL_gpu.h 2943:34@
+--     [C declaration]: @SDL_SetGPUBufferName@, defined at @SDL3\/SDL_gpu.h 2956:34@
 sDL_SetGPUBufferName
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1772,7 +1772,7 @@
 --
 --     [See also]: 'sDL_CreateGPUTexture'
 --
---     [C declaration]: @SDL_SetGPUTextureName@, defined at @SDL3\/SDL_gpu.h 2966:34@
+--     [C declaration]: @SDL_SetGPUTextureName@, defined at @SDL3\/SDL_gpu.h 2979:34@
 sDL_SetGPUTextureName
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1812,7 +1812,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_InsertGPUDebugLabel@, defined at @SDL3\/SDL_gpu.h 2987:34@
+--     [C declaration]: @SDL_InsertGPUDebugLabel@, defined at @SDL3\/SDL_gpu.h 3000:34@
 sDL_InsertGPUDebugLabel
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -1854,7 +1854,7 @@
 --
 --     [See also]: 'sDL_PopGPUDebugGroup'
 --
---     [C declaration]: @SDL_PushGPUDebugGroup@, defined at @SDL3\/SDL_gpu.h 3017:34@
+--     [C declaration]: @SDL_PushGPUDebugGroup@, defined at @SDL3\/SDL_gpu.h 3030:34@
 sDL_PushGPUDebugGroup
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -1888,7 +1888,7 @@
 --
 --     [See also]: 'sDL_PushGPUDebugGroup'
 --
---     [C declaration]: @SDL_PopGPUDebugGroup@, defined at @SDL3\/SDL_gpu.h 3035:34@
+--     [C declaration]: @SDL_PopGPUDebugGroup@, defined at @SDL3\/SDL_gpu.h 3048:34@
 sDL_PopGPUDebugGroup
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -1918,7 +1918,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReleaseGPUTexture@, defined at @SDL3\/SDL_gpu.h 3050:34@
+--     [C declaration]: @SDL_ReleaseGPUTexture@, defined at @SDL3\/SDL_gpu.h 3063:34@
 sDL_ReleaseGPUTexture
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1952,7 +1952,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReleaseGPUSampler@, defined at @SDL3\/SDL_gpu.h 3064:34@
+--     [C declaration]: @SDL_ReleaseGPUSampler@, defined at @SDL3\/SDL_gpu.h 3077:34@
 sDL_ReleaseGPUSampler
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1986,7 +1986,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReleaseGPUBuffer@, defined at @SDL3\/SDL_gpu.h 3078:34@
+--     [C declaration]: @SDL_ReleaseGPUBuffer@, defined at @SDL3\/SDL_gpu.h 3091:34@
 sDL_ReleaseGPUBuffer
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2020,7 +2020,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReleaseGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3092:34@
+--     [C declaration]: @SDL_ReleaseGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3105:34@
 sDL_ReleaseGPUTransferBuffer
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2055,7 +2055,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReleaseGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 3106:34@
+--     [C declaration]: @SDL_ReleaseGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 3119:34@
 sDL_ReleaseGPUComputePipeline
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2090,7 +2090,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReleaseGPUShader@, defined at @SDL3\/SDL_gpu.h 3120:34@
+--     [C declaration]: @SDL_ReleaseGPUShader@, defined at @SDL3\/SDL_gpu.h 3133:34@
 sDL_ReleaseGPUShader
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2124,7 +2124,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_ReleaseGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 3134:34@
+--     [C declaration]: @SDL_ReleaseGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 3147:34@
 sDL_ReleaseGPUGraphicsPipeline
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2163,7 +2163,7 @@
 --
 --     [See also]: 'sDL_SubmitGPUCommandBuffer', 'sDL_SubmitGPUCommandBufferAndAcquireFence'
 --
---     [C declaration]: @SDL_AcquireGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 3162:52@
+--     [C declaration]: @SDL_AcquireGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 3175:52@
 sDL_AcquireGPUCommandBuffer
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2202,7 +2202,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_PushGPUVertexUniformData@, defined at @SDL3\/SDL_gpu.h 3186:34@
+--     [C declaration]: @SDL_PushGPUVertexUniformData@, defined at @SDL3\/SDL_gpu.h 3199:34@
 sDL_PushGPUVertexUniformData
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -2251,7 +2251,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_PushGPUFragmentUniformData@, defined at @SDL3\/SDL_gpu.h 3208:34@
+--     [C declaration]: @SDL_PushGPUFragmentUniformData@, defined at @SDL3\/SDL_gpu.h 3221:34@
 sDL_PushGPUFragmentUniformData
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -2300,7 +2300,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_PushGPUComputeUniformData@, defined at @SDL3\/SDL_gpu.h 3230:34@
+--     [C declaration]: @SDL_PushGPUComputeUniformData@, defined at @SDL3\/SDL_gpu.h 3243:34@
 sDL_PushGPUComputeUniformData
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -2353,7 +2353,7 @@
 --
 --     [See also]: 'sDL_EndGPURenderPass'
 --
---     [C declaration]: @SDL_BeginGPURenderPass@, defined at @SDL3\/SDL_gpu.h 3271:49@
+--     [C declaration]: @SDL_BeginGPURenderPass@, defined at @SDL3\/SDL_gpu.h 3284:49@
 sDL_BeginGPURenderPass
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -2395,7 +2395,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_BindGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 3287:34@
+--     [C declaration]: @SDL_BindGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 3300:34@
 sDL_BindGPUGraphicsPipeline
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2428,7 +2428,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_SetGPUViewport@, defined at @SDL3\/SDL_gpu.h 3299:34@
+--     [C declaration]: @SDL_SetGPUViewport@, defined at @SDL3\/SDL_gpu.h 3312:34@
 sDL_SetGPUViewport
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2460,7 +2460,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_SetGPUScissor@, defined at @SDL3\/SDL_gpu.h 3311:34@
+--     [C declaration]: @SDL_SetGPUScissor@, defined at @SDL3\/SDL_gpu.h 3324:34@
 sDL_SetGPUScissor
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2494,7 +2494,7 @@
 --
 --     [See also]: @SDL_GPU_BLENDFACTOR_CONSTANT_COLOR@, @SDL_GPU_BLENDFACTOR_ONE_MINUS_CONSTANT_COLOR@
 --
---     [C declaration]: @SDL_SetGPUBlendConstants@, defined at @SDL3\/SDL_gpu.h 3326:34@
+--     [C declaration]: @SDL_SetGPUBlendConstants@, defined at @SDL3\/SDL_gpu.h 3339:34@
 sDL_SetGPUBlendConstants
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2533,7 +2533,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_SetGPUStencilReference@, defined at @SDL3\/SDL_gpu.h 3338:34@
+--     [C declaration]: @SDL_SetGPUStencilReference@, defined at @SDL3\/SDL_gpu.h 3351:34@
 sDL_SetGPUStencilReference
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2570,7 +2570,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_BindGPUVertexBuffers@, defined at @SDL3\/SDL_gpu.h 3354:34@
+--     [C declaration]: @SDL_BindGPUVertexBuffers@, defined at @SDL3\/SDL_gpu.h 3367:34@
 sDL_BindGPUVertexBuffers
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2613,7 +2613,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_BindGPUIndexBuffer@, defined at @SDL3\/SDL_gpu.h 3371:34@
+--     [C declaration]: @SDL_BindGPUIndexBuffer@, defined at @SDL3\/SDL_gpu.h 3384:34@
 sDL_BindGPUIndexBuffer
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2659,7 +2659,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader'
 --
---     [C declaration]: @SDL_BindGPUVertexSamplers@, defined at @SDL3\/SDL_gpu.h 3395:34@
+--     [C declaration]: @SDL_BindGPUVertexSamplers@, defined at @SDL3\/SDL_gpu.h 3408:34@
 sDL_BindGPUVertexSamplers
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2710,7 +2710,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader'
 --
---     [C declaration]: @SDL_BindGPUVertexStorageTextures@, defined at @SDL3\/SDL_gpu.h 3419:34@
+--     [C declaration]: @SDL_BindGPUVertexStorageTextures@, defined at @SDL3\/SDL_gpu.h 3432:34@
 sDL_BindGPUVertexStorageTextures
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2761,7 +2761,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader'
 --
---     [C declaration]: @SDL_BindGPUVertexStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3443:34@
+--     [C declaration]: @SDL_BindGPUVertexStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3456:34@
 sDL_BindGPUVertexStorageBuffers
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2812,7 +2812,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader'
 --
---     [C declaration]: @SDL_BindGPUFragmentSamplers@, defined at @SDL3\/SDL_gpu.h 3468:34@
+--     [C declaration]: @SDL_BindGPUFragmentSamplers@, defined at @SDL3\/SDL_gpu.h 3481:34@
 sDL_BindGPUFragmentSamplers
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2863,7 +2863,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader'
 --
---     [C declaration]: @SDL_BindGPUFragmentStorageTextures@, defined at @SDL3\/SDL_gpu.h 3492:34@
+--     [C declaration]: @SDL_BindGPUFragmentStorageTextures@, defined at @SDL3\/SDL_gpu.h 3505:34@
 sDL_BindGPUFragmentStorageTextures
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2914,7 +2914,7 @@
 --
 --     [See also]: 'sDL_CreateGPUShader'
 --
---     [C declaration]: @SDL_BindGPUFragmentStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3516:34@
+--     [C declaration]: @SDL_BindGPUFragmentStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3529:34@
 sDL_BindGPUFragmentStorageBuffers
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -2967,7 +2967,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DrawGPUIndexedPrimitives@, defined at @SDL3\/SDL_gpu.h 3547:34@
+--     [C declaration]: @SDL_DrawGPUIndexedPrimitives@, defined at @SDL3\/SDL_gpu.h 3560:34@
 sDL_DrawGPUIndexedPrimitives
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3026,7 +3026,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DrawGPUPrimitives@, defined at @SDL3\/SDL_gpu.h 3575:34@
+--     [C declaration]: @SDL_DrawGPUPrimitives@, defined at @SDL3\/SDL_gpu.h 3588:34@
 sDL_DrawGPUPrimitives
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3076,7 +3076,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DrawGPUPrimitivesIndirect@, defined at @SDL3\/SDL_gpu.h 3598:34@
+--     [C declaration]: @SDL_DrawGPUPrimitivesIndirect@, defined at @SDL3\/SDL_gpu.h 3611:34@
 sDL_DrawGPUPrimitivesIndirect
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3123,7 +3123,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DrawGPUIndexedPrimitivesIndirect@, defined at @SDL3\/SDL_gpu.h 3620:34@
+--     [C declaration]: @SDL_DrawGPUIndexedPrimitivesIndirect@, defined at @SDL3\/SDL_gpu.h 3633:34@
 sDL_DrawGPUIndexedPrimitivesIndirect
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3164,7 +3164,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_EndGPURenderPass@, defined at @SDL3\/SDL_gpu.h 3636:34@
+--     [C declaration]: @SDL_EndGPURenderPass@, defined at @SDL3\/SDL_gpu.h 3649:34@
 sDL_EndGPURenderPass
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3206,7 +3206,7 @@
 --
 --     [See also]: 'sDL_EndGPUComputePass'
 --
---     [C declaration]: @SDL_BeginGPUComputePass@, defined at @SDL3\/SDL_gpu.h 3678:50@
+--     [C declaration]: @SDL_BeginGPUComputePass@, defined at @SDL3\/SDL_gpu.h 3691:50@
 sDL_BeginGPUComputePass
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -3250,7 +3250,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_BindGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 3693:34@
+--     [C declaration]: @SDL_BindGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 3706:34@
 sDL_BindGPUComputePipeline
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -3293,7 +3293,7 @@
 --
 --     [See also]: 'sDL_CreateGPUComputePipeline'
 --
---     [C declaration]: @SDL_BindGPUComputeSamplers@, defined at @SDL3\/SDL_gpu.h 3716:34@
+--     [C declaration]: @SDL_BindGPUComputeSamplers@, defined at @SDL3\/SDL_gpu.h 3729:34@
 sDL_BindGPUComputeSamplers
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -3344,7 +3344,7 @@
 --
 --     [See also]: 'sDL_CreateGPUComputePipeline'
 --
---     [C declaration]: @SDL_BindGPUComputeStorageTextures@, defined at @SDL3\/SDL_gpu.h 3740:34@
+--     [C declaration]: @SDL_BindGPUComputeStorageTextures@, defined at @SDL3\/SDL_gpu.h 3753:34@
 sDL_BindGPUComputeStorageTextures
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -3395,7 +3395,7 @@
 --
 --     [See also]: 'sDL_CreateGPUComputePipeline'
 --
---     [C declaration]: @SDL_BindGPUComputeStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3764:34@
+--     [C declaration]: @SDL_BindGPUComputeStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3777:34@
 sDL_BindGPUComputeStorageBuffers
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -3444,7 +3444,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DispatchGPUCompute@, defined at @SDL3\/SDL_gpu.h 3790:34@
+--     [C declaration]: @SDL_DispatchGPUCompute@, defined at @SDL3\/SDL_gpu.h 3803:34@
 sDL_DispatchGPUCompute
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -3490,7 +3490,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DispatchGPUComputeIndirect@, defined at @SDL3\/SDL_gpu.h 3814:34@
+--     [C declaration]: @SDL_DispatchGPUComputeIndirect@, defined at @SDL3\/SDL_gpu.h 3827:34@
 sDL_DispatchGPUComputeIndirect
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -3527,7 +3527,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_EndGPUComputePass@, defined at @SDL3\/SDL_gpu.h 3829:34@
+--     [C declaration]: @SDL_EndGPUComputePass@, defined at @SDL3\/SDL_gpu.h 3842:34@
 sDL_EndGPUComputePass
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -3561,7 +3561,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_MapGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3849:36@
+--     [C declaration]: @SDL_MapGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3862:36@
 sDL_MapGPUTransferBuffer
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -3598,7 +3598,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_UnmapGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3862:34@
+--     [C declaration]: @SDL_UnmapGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3875:34@
 sDL_UnmapGPUTransferBuffer
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -3635,7 +3635,7 @@
 --
 --     [See also]: 'sDL_EndGPUCopyPass'
 --
---     [C declaration]: @SDL_BeginGPUCopyPass@, defined at @SDL3\/SDL_gpu.h 3882:47@
+--     [C declaration]: @SDL_BeginGPUCopyPass@, defined at @SDL3\/SDL_gpu.h 3895:47@
 sDL_BeginGPUCopyPass
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -3671,7 +3671,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_UploadToGPUTexture@, defined at @SDL3\/SDL_gpu.h 3902:34@
+--     [C declaration]: @SDL_UploadToGPUTexture@, defined at @SDL3\/SDL_gpu.h 3915:34@
 sDL_UploadToGPUTexture
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -3717,7 +3717,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_UploadToGPUBuffer@, defined at @SDL3\/SDL_gpu.h 3922:34@
+--     [C declaration]: @SDL_UploadToGPUBuffer@, defined at @SDL3\/SDL_gpu.h 3935:34@
 sDL_UploadToGPUBuffer
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -3771,7 +3771,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_CopyGPUTextureToTexture@, defined at @SDL3\/SDL_gpu.h 3949:34@
+--     [C declaration]: @SDL_CopyGPUTextureToTexture@, defined at @SDL3\/SDL_gpu.h 3962:34@
 sDL_CopyGPUTextureToTexture
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -3832,7 +3832,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_CopyGPUBufferToBuffer@, defined at @SDL3\/SDL_gpu.h 3973:34@
+--     [C declaration]: @SDL_CopyGPUBufferToBuffer@, defined at @SDL3\/SDL_gpu.h 3986:34@
 sDL_CopyGPUBufferToBuffer
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -3881,7 +3881,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DownloadFromGPUTexture@, defined at @SDL3\/SDL_gpu.h 3993:34@
+--     [C declaration]: @SDL_DownloadFromGPUTexture@, defined at @SDL3\/SDL_gpu.h 4006:34@
 sDL_DownloadFromGPUTexture
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -3922,7 +3922,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_DownloadFromGPUBuffer@, defined at @SDL3\/SDL_gpu.h 4010:34@
+--     [C declaration]: @SDL_DownloadFromGPUBuffer@, defined at @SDL3\/SDL_gpu.h 4023:34@
 sDL_DownloadFromGPUBuffer
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -3957,7 +3957,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_EndGPUCopyPass@, defined at @SDL3\/SDL_gpu.h 4022:34@
+--     [C declaration]: @SDL_EndGPUCopyPass@, defined at @SDL3\/SDL_gpu.h 4035:34@
 sDL_EndGPUCopyPass
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -3987,7 +3987,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GenerateMipmapsForGPUTexture@, defined at @SDL3\/SDL_gpu.h 4035:34@
+--     [C declaration]: @SDL_GenerateMipmapsForGPUTexture@, defined at @SDL3\/SDL_gpu.h 4048:34@
 sDL_GenerateMipmapsForGPUTexture
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -4022,7 +4022,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_BlitGPUTexture@, defined at @SDL3\/SDL_gpu.h 4049:34@
+--     [C declaration]: @SDL_BlitGPUTexture@, defined at @SDL3\/SDL_gpu.h 4062:34@
 sDL_BlitGPUTexture
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -4062,7 +4062,7 @@
 --
 --     [See also]: 'sDL_ClaimWindowForGPUDevice'
 --
---     [C declaration]: @SDL_WindowSupportsGPUSwapchainComposition@, defined at @SDL3\/SDL_gpu.h 4069:34@
+--     [C declaration]: @SDL_WindowSupportsGPUSwapchainComposition@, defined at @SDL3\/SDL_gpu.h 4082:34@
 sDL_WindowSupportsGPUSwapchainComposition
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4107,7 +4107,7 @@
 --
 --     [See also]: 'sDL_ClaimWindowForGPUDevice'
 --
---     [C declaration]: @SDL_WindowSupportsGPUPresentMode@, defined at @SDL3\/SDL_gpu.h 4088:34@
+--     [C declaration]: @SDL_WindowSupportsGPUPresentMode@, defined at @SDL3\/SDL_gpu.h 4101:34@
 sDL_WindowSupportsGPUPresentMode
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4154,7 +4154,7 @@
 --
 --     [See also]: 'sDL_WaitAndAcquireGPUSwapchainTexture', 'sDL_ReleaseWindowFromGPUDevice', 'sDL_WindowSupportsGPUPresentMode', 'sDL_WindowSupportsGPUSwapchainComposition'
 --
---     [C declaration]: @SDL_ClaimWindowForGPUDevice@, defined at @SDL3\/SDL_gpu.h 4120:34@
+--     [C declaration]: @SDL_ClaimWindowForGPUDevice@, defined at @SDL3\/SDL_gpu.h 4133:34@
 sDL_ClaimWindowForGPUDevice
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4189,7 +4189,7 @@
 --
 --     [See also]: 'sDL_ClaimWindowForGPUDevice'
 --
---     [C declaration]: @SDL_ReleaseWindowFromGPUDevice@, defined at @SDL3\/SDL_gpu.h 4134:34@
+--     [C declaration]: @SDL_ReleaseWindowFromGPUDevice@, defined at @SDL3\/SDL_gpu.h 4147:34@
 sDL_ReleaseWindowFromGPUDevice
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4234,7 +4234,7 @@
 --
 --     [See also]: 'sDL_WindowSupportsGPUPresentMode', 'sDL_WindowSupportsGPUSwapchainComposition'
 --
---     [C declaration]: @SDL_SetGPUSwapchainParameters@, defined at @SDL3\/SDL_gpu.h 4161:34@
+--     [C declaration]: @SDL_SetGPUSwapchainParameters@, defined at @SDL3\/SDL_gpu.h 4174:34@
 sDL_SetGPUSwapchainParameters
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4285,7 +4285,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_SetGPUAllowedFramesInFlight@, defined at @SDL3\/SDL_gpu.h 4192:34@
+--     [C declaration]: @SDL_SetGPUAllowedFramesInFlight@, defined at @SDL3\/SDL_gpu.h 4205:34@
 sDL_SetGPUAllowedFramesInFlight
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4322,7 +4322,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetGPUSwapchainTextureFormat@, defined at @SDL3\/SDL_gpu.h 4207:50@
+--     [C declaration]: @SDL_GetGPUSwapchainTextureFormat@, defined at @SDL3\/SDL_gpu.h 4220:50@
 sDL_GetGPUSwapchainTextureFormat
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4375,7 +4375,7 @@
 --
 --     [See also]: 'sDL_ClaimWindowForGPUDevice', 'sDL_SubmitGPUCommandBuffer', 'sDL_SubmitGPUCommandBufferAndAcquireFence', 'sDL_CancelGPUCommandBuffer', SDL_GetWindowSizeInPixels, 'sDL_WaitForGPUSwapchain', 'sDL_WaitAndAcquireGPUSwapchainTexture', 'sDL_SetGPUAllowedFramesInFlight'
 --
---     [C declaration]: @SDL_AcquireGPUSwapchainTexture@, defined at @SDL3\/SDL_gpu.h 4259:34@
+--     [C declaration]: @SDL_AcquireGPUSwapchainTexture@, defined at @SDL3\/SDL_gpu.h 4272:34@
 sDL_AcquireGPUSwapchainTexture
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -4426,7 +4426,7 @@
 --
 --     [See also]: 'sDL_AcquireGPUSwapchainTexture', 'sDL_WaitAndAcquireGPUSwapchainTexture', 'sDL_SetGPUAllowedFramesInFlight'
 --
---     [C declaration]: @SDL_WaitForGPUSwapchain@, defined at @SDL3\/SDL_gpu.h 4283:34@
+--     [C declaration]: @SDL_WaitForGPUSwapchain@, defined at @SDL3\/SDL_gpu.h 4296:34@
 sDL_WaitForGPUSwapchain
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4478,7 +4478,7 @@
 --
 --     [See also]: 'sDL_SubmitGPUCommandBuffer', 'sDL_SubmitGPUCommandBufferAndAcquireFence', 'sDL_AcquireGPUSwapchainTexture'
 --
---     [C declaration]: @SDL_WaitAndAcquireGPUSwapchainTexture@, defined at @SDL3\/SDL_gpu.h 4329:34@
+--     [C declaration]: @SDL_WaitAndAcquireGPUSwapchainTexture@, defined at @SDL3\/SDL_gpu.h 4342:34@
 sDL_WaitAndAcquireGPUSwapchainTexture
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -4531,7 +4531,7 @@
 --
 --     [See also]: 'sDL_AcquireGPUCommandBuffer', 'sDL_WaitAndAcquireGPUSwapchainTexture', 'sDL_AcquireGPUSwapchainTexture', 'sDL_SubmitGPUCommandBufferAndAcquireFence'
 --
---     [C declaration]: @SDL_SubmitGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 4357:34@
+--     [C declaration]: @SDL_SubmitGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 4370:34@
 sDL_SubmitGPUCommandBuffer
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -4568,7 +4568,7 @@
 --
 --     [See also]: 'sDL_AcquireGPUCommandBuffer', 'sDL_WaitAndAcquireGPUSwapchainTexture', 'sDL_AcquireGPUSwapchainTexture', 'sDL_SubmitGPUCommandBuffer', 'sDL_ReleaseGPUFence'
 --
---     [C declaration]: @SDL_SubmitGPUCommandBufferAndAcquireFence@, defined at @SDL3\/SDL_gpu.h 4384:44@
+--     [C declaration]: @SDL_SubmitGPUCommandBufferAndAcquireFence@, defined at @SDL3\/SDL_gpu.h 4397:44@
 sDL_SubmitGPUCommandBufferAndAcquireFence
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -4607,7 +4607,7 @@
 --
 --     [See also]: 'sDL_WaitAndAcquireGPUSwapchainTexture', 'sDL_AcquireGPUCommandBuffer', 'sDL_AcquireGPUSwapchainTexture'
 --
---     [C declaration]: @SDL_CancelGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 4409:34@
+--     [C declaration]: @SDL_CancelGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 4422:34@
 sDL_CancelGPUCommandBuffer
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -4638,7 +4638,7 @@
 --
 --     [See also]: 'sDL_WaitForGPUFences'
 --
---     [C declaration]: @SDL_WaitForGPUIdle@, defined at @SDL3\/SDL_gpu.h 4423:34@
+--     [C declaration]: @SDL_WaitForGPUIdle@, defined at @SDL3\/SDL_gpu.h 4436:34@
 sDL_WaitForGPUIdle
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4674,7 +4674,7 @@
 --
 --     [See also]: 'sDL_SubmitGPUCommandBufferAndAcquireFence', 'sDL_WaitForGPUIdle'
 --
---     [C declaration]: @SDL_WaitForGPUFences@, defined at @SDL3\/SDL_gpu.h 4442:34@
+--     [C declaration]: @SDL_WaitForGPUFences@, defined at @SDL3\/SDL_gpu.h 4455:34@
 sDL_WaitForGPUFences
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4718,7 +4718,7 @@
 --
 --     [See also]: 'sDL_SubmitGPUCommandBufferAndAcquireFence'
 --
---     [C declaration]: @SDL_QueryGPUFence@, defined at @SDL3\/SDL_gpu.h 4459:34@
+--     [C declaration]: @SDL_QueryGPUFence@, defined at @SDL3\/SDL_gpu.h 4472:34@
 sDL_QueryGPUFence
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4754,7 +4754,7 @@
 --
 --     [See also]: 'sDL_SubmitGPUCommandBufferAndAcquireFence'
 --
---     [C declaration]: @SDL_ReleaseGPUFence@, defined at @SDL3\/SDL_gpu.h 4475:34@
+--     [C declaration]: @SDL_ReleaseGPUFence@, defined at @SDL3\/SDL_gpu.h 4488:34@
 sDL_ReleaseGPUFence
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4788,7 +4788,7 @@
 --
 --     [See also]: 'sDL_UploadToGPUTexture'
 --
---     [C declaration]: @SDL_GPUTextureFormatTexelBlockSize@, defined at @SDL3\/SDL_gpu.h 4491:36@
+--     [C declaration]: @SDL_GPUTextureFormatTexelBlockSize@, defined at @SDL3\/SDL_gpu.h 4504:36@
 sDL_GPUTextureFormatTexelBlockSize
   :: SDL_GPUTextureFormat
   -- ^
@@ -4823,7 +4823,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GPUTextureSupportsFormat@, defined at @SDL3\/SDL_gpu.h 4506:34@
+--     [C declaration]: @SDL_GPUTextureSupportsFormat@, defined at @SDL3\/SDL_gpu.h 4519:34@
 sDL_GPUTextureSupportsFormat
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4868,7 +4868,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GPUTextureSupportsSampleCount@, defined at @SDL3\/SDL_gpu.h 4522:34@
+--     [C declaration]: @SDL_GPUTextureSupportsSampleCount@, defined at @SDL3\/SDL_gpu.h 4535:34@
 sDL_GPUTextureSupportsSampleCount
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -4911,7 +4911,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_CalculateGPUTextureFormatSize@, defined at @SDL3\/SDL_gpu.h 4538:36@
+--     [C declaration]: @SDL_CalculateGPUTextureFormatSize@, defined at @SDL3\/SDL_gpu.h 4551:36@
 sDL_CalculateGPUTextureFormatSize
   :: SDL_GPUTextureFormat
   -- ^
@@ -4952,7 +4952,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @SDL_GetPixelFormatFromGPUTextureFormat@, defined at @SDL3\/SDL_gpu.h 4553:45@
+--     [C declaration]: @SDL_GetPixelFormatFromGPUTextureFormat@, defined at @SDL3\/SDL_gpu.h 4566:45@
 sDL_GetPixelFormatFromGPUTextureFormat
   :: SDL_GPUTextureFormat
   -- ^
@@ -4981,7 +4981,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @SDL_GetGPUTextureFormatFromPixelFormat@, defined at @SDL3\/SDL_gpu.h 4565:50@
+--     [C declaration]: @SDL_GetGPUTextureFormatFromPixelFormat@, defined at @SDL3\/SDL_gpu.h 4578:50@
 sDL_GetGPUTextureFormatFromPixelFormat
   :: SDL3.Sys.Bindgen.Pixels.SDL_PixelFormat
   -- ^
diff --git a/src/SDL3/Sys/Bindgen/Haptic/FunPtr.hs b/src/SDL3/Sys/Bindgen/Haptic/FunPtr.hs
--- a/src/SDL3/Sys/Bindgen/Haptic/FunPtr.hs
+++ b/src/SDL3/Sys/Bindgen/Haptic/FunPtr.hs
@@ -1119,7 +1119,7 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'sDL_RunHapticEffect', 'sDL_StopHapticEffects'
+--     [See also]: 'sDL_RunHapticEffect', 'sDL_StopHapticEffect'
 --
 --     [C declaration]: @SDL_StopHapticEffects@, defined at @SDL3\/SDL_haptic.h 1397:34@
 sDL_StopHapticEffects :: BG.FunPtr (BG.Ptr SDL_Haptic -> IO BG.CBool)
diff --git a/src/SDL3/Sys/Bindgen/Haptic/Safe.hs b/src/SDL3/Sys/Bindgen/Haptic/Safe.hs
--- a/src/SDL3/Sys/Bindgen/Haptic/Safe.hs
+++ b/src/SDL3/Sys/Bindgen/Haptic/Safe.hs
@@ -1151,7 +1151,7 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'sDL_RunHapticEffect', 'sDL_StopHapticEffects'
+--     [See also]: 'sDL_RunHapticEffect', 'sDL_StopHapticEffect'
 --
 --     [C declaration]: @SDL_StopHapticEffects@, defined at @SDL3\/SDL_haptic.h 1397:34@
 sDL_StopHapticEffects
diff --git a/src/SDL3/Sys/Bindgen/Haptic/Unsafe.hs b/src/SDL3/Sys/Bindgen/Haptic/Unsafe.hs
--- a/src/SDL3/Sys/Bindgen/Haptic/Unsafe.hs
+++ b/src/SDL3/Sys/Bindgen/Haptic/Unsafe.hs
@@ -1151,7 +1151,7 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'sDL_RunHapticEffect', 'sDL_StopHapticEffects'
+--     [See also]: 'sDL_RunHapticEffect', 'sDL_StopHapticEffect'
 --
 --     [C declaration]: @SDL_StopHapticEffects@, defined at @SDL3\/SDL_haptic.h 1397:34@
 sDL_StopHapticEffects
diff --git a/src/SDL3/Sys/Bindgen/Hints.hs b/src/SDL3/Sys/Bindgen/Hints.hs
--- a/src/SDL3/Sys/Bindgen/Hints.hs
+++ b/src/SDL3/Sys/Bindgen/Hints.hs
@@ -40,6 +40,7 @@
   SDL3.Sys.Bindgen.Hints.sDL_HINT_ANDROID_ALLOW_RECREATE_ACTIVITY,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_ANDROID_BLOCK_ON_PAUSE,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_ANDROID_LOW_LATENCY_AUDIO,
+  SDL3.Sys.Bindgen.Hints.sDL_HINT_ANDROID_AAUDIO_INPUT_PRESET,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_ANDROID_TRAP_BACK_BUTTON,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_APP_ID,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_APP_NAME,
@@ -76,6 +77,7 @@
   SDL3.Sys.Bindgen.Hints.sDL_HINT_EMSCRIPTEN_CANVAS_SELECTOR,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_ENABLE_SCREEN_KEYBOARD,
+  SDL3.Sys.Bindgen.Hints.sDL_HINT_ENABLE_STEAM_SCREEN_KEYBOARD,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_EVDEV_DEVICES,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_EVENT_LOGGING,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_FORCE_RAISEWINDOW,
@@ -110,6 +112,7 @@
   SDL3.Sys.Bindgen.Hints.sDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_JOYSTICK_GAMEINPUT,
+  SDL3.Sys.Bindgen.Hints.sDL_HINT_JOYSTICK_GAMEINPUT_RAW,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_JOYSTICK_GAMECUBE_DEVICES,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_JOYSTICK_HIDAPI,
@@ -254,6 +257,7 @@
   SDL3.Sys.Bindgen.Hints.sDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_VIDEO_WAYLAND_SCALE_TO_DISPLAY,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_VIDEO_WIN_D3DCOMPILER,
+  SDL3.Sys.Bindgen.Hints.sDL_HINT_VIDEO_X11_ENABLE_XSYNC_EXT,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_VIDEO_X11_EXTERNAL_WINDOW_INPUT,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_VIDEO_X11_NET_WM_PING,
@@ -285,6 +289,7 @@
   SDL3.Sys.Bindgen.Hints.sDL_HINT_WINDOWS_GAMEINPUT,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_WINDOWS_RAW_KEYBOARD,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYS,
+  SDL3.Sys.Bindgen.Hints.sDL_HINT_WINDOWS_RAW_KEYBOARD_INPUTSINK,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_WINDOWS_INTRESOURCE_ICON,
   SDL3.Sys.Bindgen.Hints.sDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL,
@@ -498,6 +503,57 @@
     , 0x4F
     ]
 
+-- | A variable to control Android\'s AAudio input preset.
+--
+--     This hint only applies to SDL\'s \"aaudio\" backend on Android 9+ devices.
+--
+--     Some devices choose the wrong microphone by default (between the one meant to be spoken in when the phone is held to the user\'s ear for a phone call, or an external microphone that\'s meant to be used when recording video), or have DSP effects applied to the recorded audio, and changing the input preset can help control this.
+--
+--     This can be any number that maps to an @AAUDIO_INPUT_PRESET_*@ enum from the Android NDK headers. The most reasonable choices are 5 (\"camcorder\", for external microphones) and 7 (\"voice communication\", for speaking directly into the device like a mobile phone). 6 (\"voice recognition\") might also be a useful choice.
+--
+--     If unset (the default), SDL will not specify an input preset at all, which lets the system choose. This is usually the correct thing to do unless your app is having problems.
+--
+--     This hint should be set before a recording audio device is opened.
+--
+--     @since 3.4.16
+--
+--     [C declaration]: @macro SDL_HINT_ANDROID_AAUDIO_INPUT_PRESET@, literal @\"SDL_ANDROID_AAUDIO_INPUT_PRESET\"@, defined at @SDL3\/SDL_hints.h 145:9@
+sDL_HINT_ANDROID_AAUDIO_INPUT_PRESET :: BG.ByteString
+sDL_HINT_ANDROID_AAUDIO_INPUT_PRESET =
+  BG.pack
+    [ 0x53
+    , 0x44
+    , 0x4C
+    , 0x5F
+    , 0x41
+    , 0x4E
+    , 0x44
+    , 0x52
+    , 0x4F
+    , 0x49
+    , 0x44
+    , 0x5F
+    , 0x41
+    , 0x41
+    , 0x55
+    , 0x44
+    , 0x49
+    , 0x4F
+    , 0x5F
+    , 0x49
+    , 0x4E
+    , 0x50
+    , 0x55
+    , 0x54
+    , 0x5F
+    , 0x50
+    , 0x52
+    , 0x45
+    , 0x53
+    , 0x45
+    , 0x54
+    ]
+
 -- | A variable to control whether we trap the Android back button to handle it manually.
 --
 --     This is necessary for the right mouse button to work on some Android devices, or to be able to trap the back button for use in your code reliably. If this hint is true, the back button will show up as an SDL_EVENT_KEY_DOWN \/ SDL_EVENT_KEY_UP pair with a keycode of SDL_SCANCODE_AC_BACK.
@@ -512,7 +568,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_ANDROID_TRAP_BACK_BUTTON@, literal @\"SDL_ANDROID_TRAP_BACK_BUTTON\"@, defined at @SDL3\/SDL_hints.h 141:9@
+--     [C declaration]: @macro SDL_HINT_ANDROID_TRAP_BACK_BUTTON@, literal @\"SDL_ANDROID_TRAP_BACK_BUTTON\"@, defined at @SDL3\/SDL_hints.h 168:9@
 sDL_HINT_ANDROID_TRAP_BACK_BUTTON :: BG.ByteString
 sDL_HINT_ANDROID_TRAP_BACK_BUTTON =
   BG.pack
@@ -556,7 +612,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_APP_ID@, literal @\"SDL_APP_ID\"@, defined at @SDL3\/SDL_hints.h 157:9@
+--     [C declaration]: @macro SDL_HINT_APP_ID@, literal @\"SDL_APP_ID\"@, defined at @SDL3\/SDL_hints.h 184:9@
 sDL_HINT_APP_ID :: BG.ByteString
 sDL_HINT_APP_ID =
   BG.pack [0x53, 0x44, 0x4C, 0x5F, 0x41, 0x50, 0x50, 0x5F, 0x49, 0x44]
@@ -571,7 +627,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_APP_NAME@, literal @\"SDL_APP_NAME\"@, defined at @SDL3\/SDL_hints.h 175:9@
+--     [C declaration]: @macro SDL_HINT_APP_NAME@, literal @\"SDL_APP_NAME\"@, defined at @SDL3\/SDL_hints.h 202:9@
 sDL_HINT_APP_NAME :: BG.ByteString
 sDL_HINT_APP_NAME =
   BG.pack [0x53, 0x44, 0x4C, 0x5F, 0x41, 0x50, 0x50, 0x5F, 0x4E, 0x41, 0x4D, 0x45]
@@ -592,7 +648,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS@, literal @\"SDL_APPLE_TV_CONTROLLER_UI_EVENTS\"@, defined at @SDL3\/SDL_hints.h 198:9@
+--     [C declaration]: @macro SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS@, literal @\"SDL_APPLE_TV_CONTROLLER_UI_EVENTS\"@, defined at @SDL3\/SDL_hints.h 225:9@
 sDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS :: BG.ByteString
 sDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS =
   BG.pack
@@ -643,7 +699,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION@, literal @\"SDL_APPLE_TV_REMOTE_ALLOW_ROTATION\"@, defined at @SDL3\/SDL_hints.h 213:9@
+--     [C declaration]: @macro SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION@, literal @\"SDL_APPLE_TV_REMOTE_ALLOW_ROTATION\"@, defined at @SDL3\/SDL_hints.h 240:9@
 sDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION :: BG.ByteString
 sDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION =
   BG.pack
@@ -695,7 +751,7 @@
 --
 --     [See also]: 'sDL_HINT_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE', 'sDL_HINT_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE'
 --
---     [C declaration]: @macro SDL_HINT_AUDIO_ALSA_DEFAULT_DEVICE@, literal @\"SDL_AUDIO_ALSA_DEFAULT_DEVICE\"@, defined at @SDL3\/SDL_hints.h 233:9@
+--     [C declaration]: @macro SDL_HINT_AUDIO_ALSA_DEFAULT_DEVICE@, literal @\"SDL_AUDIO_ALSA_DEFAULT_DEVICE\"@, defined at @SDL3\/SDL_hints.h 260:9@
 sDL_HINT_AUDIO_ALSA_DEFAULT_DEVICE :: BG.ByteString
 sDL_HINT_AUDIO_ALSA_DEFAULT_DEVICE =
   BG.pack
@@ -742,7 +798,7 @@
 --
 --     [See also]: 'sDL_HINT_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE', 'sDL_HINT_AUDIO_ALSA_DEFAULT_DEVICE'
 --
---     [C declaration]: @macro SDL_HINT_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE@, literal @\"SDL_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE\"@, defined at @SDL3\/SDL_hints.h 251:9@
+--     [C declaration]: @macro SDL_HINT_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE@, literal @\"SDL_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE\"@, defined at @SDL3\/SDL_hints.h 278:9@
 sDL_HINT_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE :: BG.ByteString
 sDL_HINT_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE =
   BG.pack
@@ -798,7 +854,7 @@
 --
 --     [See also]: 'sDL_HINT_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE', 'sDL_HINT_AUDIO_ALSA_DEFAULT_DEVICE'
 --
---     [C declaration]: @macro SDL_HINT_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE@, literal @\"SDL_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE\"@, defined at @SDL3\/SDL_hints.h 269:9@
+--     [C declaration]: @macro SDL_HINT_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE@, literal @\"SDL_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE\"@, defined at @SDL3\/SDL_hints.h 296:9@
 sDL_HINT_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE :: BG.ByteString
 sDL_HINT_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE =
   BG.pack
@@ -857,7 +913,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_AUDIO_CATEGORY@, literal @\"SDL_AUDIO_CATEGORY\"@, defined at @SDL3\/SDL_hints.h 287:9@
+--     [C declaration]: @macro SDL_HINT_AUDIO_CATEGORY@, literal @\"SDL_AUDIO_CATEGORY\"@, defined at @SDL3\/SDL_hints.h 314:9@
 sDL_HINT_AUDIO_CATEGORY :: BG.ByteString
 sDL_HINT_AUDIO_CATEGORY =
   BG.pack
@@ -889,7 +945,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_AUDIO_CHANNELS@, literal @\"SDL_AUDIO_CHANNELS\"@, defined at @SDL3\/SDL_hints.h 300:9@
+--     [C declaration]: @macro SDL_HINT_AUDIO_CHANNELS@, literal @\"SDL_AUDIO_CHANNELS\"@, defined at @SDL3\/SDL_hints.h 327:9@
 sDL_HINT_AUDIO_CHANNELS :: BG.ByteString
 sDL_HINT_AUDIO_CHANNELS =
   BG.pack
@@ -923,7 +979,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_AUDIO_DEVICE_APP_ICON_NAME@, literal @\"SDL_AUDIO_DEVICE_APP_ICON_NAME\"@, defined at @SDL3\/SDL_hints.h 323:9@
+--     [C declaration]: @macro SDL_HINT_AUDIO_DEVICE_APP_ICON_NAME@, literal @\"SDL_AUDIO_DEVICE_APP_ICON_NAME\"@, defined at @SDL3\/SDL_hints.h 350:9@
 sDL_HINT_AUDIO_DEVICE_APP_ICON_NAME :: BG.ByteString
 sDL_HINT_AUDIO_DEVICE_APP_ICON_NAME =
   BG.pack
@@ -971,7 +1027,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_AUDIO_DEVICE_SAMPLE_FRAMES@, literal @\"SDL_AUDIO_DEVICE_SAMPLE_FRAMES\"@, defined at @SDL3\/SDL_hints.h 345:9@
+--     [C declaration]: @macro SDL_HINT_AUDIO_DEVICE_SAMPLE_FRAMES@, literal @\"SDL_AUDIO_DEVICE_SAMPLE_FRAMES\"@, defined at @SDL3\/SDL_hints.h 372:9@
 sDL_HINT_AUDIO_DEVICE_SAMPLE_FRAMES :: BG.ByteString
 sDL_HINT_AUDIO_DEVICE_SAMPLE_FRAMES =
   BG.pack
@@ -1021,7 +1077,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_AUDIO_DEVICE_STREAM_NAME@, literal @\"SDL_AUDIO_DEVICE_STREAM_NAME\"@, defined at @SDL3\/SDL_hints.h 372:9@
+--     [C declaration]: @macro SDL_HINT_AUDIO_DEVICE_STREAM_NAME@, literal @\"SDL_AUDIO_DEVICE_STREAM_NAME\"@, defined at @SDL3\/SDL_hints.h 399:9@
 sDL_HINT_AUDIO_DEVICE_STREAM_NAME :: BG.ByteString
 sDL_HINT_AUDIO_DEVICE_STREAM_NAME =
   BG.pack
@@ -1079,13 +1135,15 @@
 --
 --     * \"Media\" - Music or sound without dialog
 --
+--     Android\'s AAudio target supports this hint as of SDL 3.4.4. Android does not support the exact same options as WASAPI, but for portability, will attempt to map these same strings to the @aaudio_usage_t@ constants. For example, \"Movie\" and \"Media\" will both map to @AAUDIO_USAGE_MEDIA@, etc.
+--
 --     If your application applies its own echo cancellation, gain control, and noise reduction it should also set SDL_HINT_AUDIO_DEVICE_RAW_STREAM.
 --
 --     This hint should be set before an audio device is opened.
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_AUDIO_DEVICE_STREAM_ROLE@, literal @\"SDL_AUDIO_DEVICE_STREAM_ROLE\"@, defined at @SDL3\/SDL_hints.h 412:9@
+--     [C declaration]: @macro SDL_HINT_AUDIO_DEVICE_STREAM_ROLE@, literal @\"SDL_AUDIO_DEVICE_STREAM_ROLE\"@, defined at @SDL3\/SDL_hints.h 444:9@
 sDL_HINT_AUDIO_DEVICE_STREAM_ROLE :: BG.ByteString
 sDL_HINT_AUDIO_DEVICE_STREAM_ROLE =
   BG.pack
@@ -1135,7 +1193,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @macro SDL_HINT_AUDIO_DEVICE_RAW_STREAM@, literal @\"SDL_AUDIO_DEVICE_RAW_STREAM\"@, defined at @SDL3\/SDL_hints.h 432:9@
+--     [C declaration]: @macro SDL_HINT_AUDIO_DEVICE_RAW_STREAM@, literal @\"SDL_AUDIO_DEVICE_RAW_STREAM\"@, defined at @SDL3\/SDL_hints.h 464:9@
 sDL_HINT_AUDIO_DEVICE_RAW_STREAM :: BG.ByteString
 sDL_HINT_AUDIO_DEVICE_RAW_STREAM =
   BG.pack
@@ -1176,7 +1234,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_AUDIO_DISK_INPUT_FILE@, literal @\"SDL_AUDIO_DISK_INPUT_FILE\"@, defined at @SDL3\/SDL_hints.h 443:9@
+--     [C declaration]: @macro SDL_HINT_AUDIO_DISK_INPUT_FILE@, literal @\"SDL_AUDIO_DISK_INPUT_FILE\"@, defined at @SDL3\/SDL_hints.h 475:9@
 sDL_HINT_AUDIO_DISK_INPUT_FILE :: BG.ByteString
 sDL_HINT_AUDIO_DISK_INPUT_FILE =
   BG.pack
@@ -1215,7 +1273,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_AUDIO_DISK_OUTPUT_FILE@, literal @\"SDL_AUDIO_DISK_OUTPUT_FILE\"@, defined at @SDL3\/SDL_hints.h 454:9@
+--     [C declaration]: @macro SDL_HINT_AUDIO_DISK_OUTPUT_FILE@, literal @\"SDL_AUDIO_DISK_OUTPUT_FILE\"@, defined at @SDL3\/SDL_hints.h 486:9@
 sDL_HINT_AUDIO_DISK_OUTPUT_FILE :: BG.ByteString
 sDL_HINT_AUDIO_DISK_OUTPUT_FILE =
   BG.pack
@@ -1255,7 +1313,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_AUDIO_DISK_TIMESCALE@, literal @\"SDL_AUDIO_DISK_TIMESCALE\"@, defined at @SDL3\/SDL_hints.h 467:9@
+--     [C declaration]: @macro SDL_HINT_AUDIO_DISK_TIMESCALE@, literal @\"SDL_AUDIO_DISK_TIMESCALE\"@, defined at @SDL3\/SDL_hints.h 499:9@
 sDL_HINT_AUDIO_DISK_TIMESCALE :: BG.ByteString
 sDL_HINT_AUDIO_DISK_TIMESCALE =
   BG.pack
@@ -1293,7 +1351,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_AUDIO_DRIVER@, literal @\"SDL_AUDIO_DRIVER\"@, defined at @SDL3\/SDL_hints.h 481:9@
+--     [C declaration]: @macro SDL_HINT_AUDIO_DRIVER@, literal @\"SDL_AUDIO_DRIVER\"@, defined at @SDL3\/SDL_hints.h 513:9@
 sDL_HINT_AUDIO_DRIVER :: BG.ByteString
 sDL_HINT_AUDIO_DRIVER =
   BG.pack
@@ -1307,7 +1365,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_AUDIO_DUMMY_TIMESCALE@, literal @\"SDL_AUDIO_DUMMY_TIMESCALE\"@, defined at @SDL3\/SDL_hints.h 494:9@
+--     [C declaration]: @macro SDL_HINT_AUDIO_DUMMY_TIMESCALE@, literal @\"SDL_AUDIO_DUMMY_TIMESCALE\"@, defined at @SDL3\/SDL_hints.h 526:9@
 sDL_HINT_AUDIO_DUMMY_TIMESCALE :: BG.ByteString
 sDL_HINT_AUDIO_DUMMY_TIMESCALE =
   BG.pack
@@ -1370,7 +1428,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_AUDIO_FORMAT@, literal @\"SDL_AUDIO_FORMAT\"@, defined at @SDL3\/SDL_hints.h 521:9@
+--     [C declaration]: @macro SDL_HINT_AUDIO_FORMAT@, literal @\"SDL_AUDIO_FORMAT\"@, defined at @SDL3\/SDL_hints.h 553:9@
 sDL_HINT_AUDIO_FORMAT :: BG.ByteString
 sDL_HINT_AUDIO_FORMAT =
   BG.pack
@@ -1384,7 +1442,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_AUDIO_FREQUENCY@, literal @\"SDL_AUDIO_FREQUENCY\"@, defined at @SDL3\/SDL_hints.h 534:9@
+--     [C declaration]: @macro SDL_HINT_AUDIO_FREQUENCY@, literal @\"SDL_AUDIO_FREQUENCY\"@, defined at @SDL3\/SDL_hints.h 566:9@
 sDL_HINT_AUDIO_FREQUENCY :: BG.ByteString
 sDL_HINT_AUDIO_FREQUENCY =
   BG.pack
@@ -1425,7 +1483,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_AUDIO_INCLUDE_MONITORS@, literal @\"SDL_AUDIO_INCLUDE_MONITORS\"@, defined at @SDL3\/SDL_hints.h 557:9@
+--     [C declaration]: @macro SDL_HINT_AUDIO_INCLUDE_MONITORS@, literal @\"SDL_AUDIO_INCLUDE_MONITORS\"@, defined at @SDL3\/SDL_hints.h 589:9@
 sDL_HINT_AUDIO_INCLUDE_MONITORS :: BG.ByteString
 sDL_HINT_AUDIO_INCLUDE_MONITORS =
   BG.pack
@@ -1469,7 +1527,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_AUTO_UPDATE_JOYSTICKS@, literal @\"SDL_AUTO_UPDATE_JOYSTICKS\"@, defined at @SDL3\/SDL_hints.h 572:9@
+--     [C declaration]: @macro SDL_HINT_AUTO_UPDATE_JOYSTICKS@, literal @\"SDL_AUTO_UPDATE_JOYSTICKS\"@, defined at @SDL3\/SDL_hints.h 604:9@
 sDL_HINT_AUTO_UPDATE_JOYSTICKS :: BG.ByteString
 sDL_HINT_AUTO_UPDATE_JOYSTICKS =
   BG.pack
@@ -1512,7 +1570,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_AUTO_UPDATE_SENSORS@, literal @\"SDL_AUTO_UPDATE_SENSORS\"@, defined at @SDL3\/SDL_hints.h 587:9@
+--     [C declaration]: @macro SDL_HINT_AUTO_UPDATE_SENSORS@, literal @\"SDL_AUTO_UPDATE_SENSORS\"@, defined at @SDL3\/SDL_hints.h 619:9@
 sDL_HINT_AUTO_UPDATE_SENSORS :: BG.ByteString
 sDL_HINT_AUTO_UPDATE_SENSORS =
   BG.pack
@@ -1555,7 +1613,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_BMP_SAVE_LEGACY_FORMAT@, literal @\"SDL_BMP_SAVE_LEGACY_FORMAT\"@, defined at @SDL3\/SDL_hints.h 610:9@
+--     [C declaration]: @macro SDL_HINT_BMP_SAVE_LEGACY_FORMAT@, literal @\"SDL_BMP_SAVE_LEGACY_FORMAT\"@, defined at @SDL3\/SDL_hints.h 642:9@
 sDL_HINT_BMP_SAVE_LEGACY_FORMAT :: BG.ByteString
 sDL_HINT_BMP_SAVE_LEGACY_FORMAT =
   BG.pack
@@ -1595,7 +1653,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_CAMERA_DRIVER@, literal @\"SDL_CAMERA_DRIVER\"@, defined at @SDL3\/SDL_hints.h 626:9@
+--     [C declaration]: @macro SDL_HINT_CAMERA_DRIVER@, literal @\"SDL_CAMERA_DRIVER\"@, defined at @SDL3\/SDL_hints.h 658:9@
 sDL_HINT_CAMERA_DRIVER :: BG.ByteString
 sDL_HINT_CAMERA_DRIVER =
   BG.pack
@@ -1658,7 +1716,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_CPU_FEATURE_MASK@, literal @\"SDL_CPU_FEATURE_MASK\"@, defined at @SDL3\/SDL_hints.h 659:9@
+--     [C declaration]: @macro SDL_HINT_CPU_FEATURE_MASK@, literal @\"SDL_CPU_FEATURE_MASK\"@, defined at @SDL3\/SDL_hints.h 691:9@
 sDL_HINT_CPU_FEATURE_MASK :: BG.ByteString
 sDL_HINT_CPU_FEATURE_MASK =
   BG.pack
@@ -1696,7 +1754,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_DIRECTINPUT@, literal @\"SDL_JOYSTICK_DIRECTINPUT\"@, defined at @SDL3\/SDL_hints.h 673:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_DIRECTINPUT@, literal @\"SDL_JOYSTICK_DIRECTINPUT\"@, defined at @SDL3\/SDL_hints.h 705:9@
 sDL_HINT_JOYSTICK_DIRECTINPUT :: BG.ByteString
 sDL_HINT_JOYSTICK_DIRECTINPUT =
   BG.pack
@@ -1748,7 +1806,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_FILE_DIALOG_DRIVER@, literal @\"SDL_FILE_DIALOG_DRIVER\"@, defined at @SDL3\/SDL_hints.h 702:9@
+--     [C declaration]: @macro SDL_HINT_FILE_DIALOG_DRIVER@, literal @\"SDL_FILE_DIALOG_DRIVER\"@, defined at @SDL3\/SDL_hints.h 734:9@
 sDL_HINT_FILE_DIALOG_DRIVER :: BG.ByteString
 sDL_HINT_FILE_DIALOG_DRIVER =
   BG.pack
@@ -1786,7 +1844,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_DISPLAY_USABLE_BOUNDS@, literal @\"SDL_DISPLAY_USABLE_BOUNDS\"@, defined at @SDL3\/SDL_hints.h 720:9@
+--     [C declaration]: @macro SDL_HINT_DISPLAY_USABLE_BOUNDS@, literal @\"SDL_DISPLAY_USABLE_BOUNDS\"@, defined at @SDL3\/SDL_hints.h 752:9@
 sDL_HINT_DISPLAY_USABLE_BOUNDS :: BG.ByteString
 sDL_HINT_DISPLAY_USABLE_BOUNDS =
   BG.pack
@@ -1829,7 +1887,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @macro SDL_HINT_INVALID_PARAM_CHECKS@, literal @\"SDL_INVALID_PARAM_CHECKS\"@, defined at @SDL3\/SDL_hints.h 735:9@
+--     [C declaration]: @macro SDL_HINT_INVALID_PARAM_CHECKS@, literal @\"SDL_INVALID_PARAM_CHECKS\"@, defined at @SDL3\/SDL_hints.h 767:9@
 sDL_HINT_INVALID_PARAM_CHECKS :: BG.ByteString
 sDL_HINT_INVALID_PARAM_CHECKS =
   BG.pack
@@ -1875,7 +1933,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_EMSCRIPTEN_ASYNCIFY@, literal @\"SDL_EMSCRIPTEN_ASYNCIFY\"@, defined at @SDL3\/SDL_hints.h 756:9@
+--     [C declaration]: @macro SDL_HINT_EMSCRIPTEN_ASYNCIFY@, literal @\"SDL_EMSCRIPTEN_ASYNCIFY\"@, defined at @SDL3\/SDL_hints.h 788:9@
 sDL_HINT_EMSCRIPTEN_ASYNCIFY :: BG.ByteString
 sDL_HINT_EMSCRIPTEN_ASYNCIFY =
   BG.pack
@@ -1912,7 +1970,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_EMSCRIPTEN_CANVAS_SELECTOR@, literal @\"SDL_EMSCRIPTEN_CANVAS_SELECTOR\"@, defined at @SDL3\/SDL_hints.h 767:9@
+--     [C declaration]: @macro SDL_HINT_EMSCRIPTEN_CANVAS_SELECTOR@, literal @\"SDL_EMSCRIPTEN_CANVAS_SELECTOR\"@, defined at @SDL3\/SDL_hints.h 799:9@
 sDL_HINT_EMSCRIPTEN_CANVAS_SELECTOR :: BG.ByteString
 sDL_HINT_EMSCRIPTEN_CANVAS_SELECTOR =
   BG.pack
@@ -1970,7 +2028,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT@, literal @\"SDL_EMSCRIPTEN_KEYBOARD_ELEMENT\"@, defined at @SDL3\/SDL_hints.h 788:9@
+--     [C declaration]: @macro SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT@, literal @\"SDL_EMSCRIPTEN_KEYBOARD_ELEMENT\"@, defined at @SDL3\/SDL_hints.h 820:9@
 sDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT :: BG.ByteString
 sDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT =
   BG.pack
@@ -2021,7 +2079,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_ENABLE_SCREEN_KEYBOARD@, literal @\"SDL_ENABLE_SCREEN_KEYBOARD\"@, defined at @SDL3\/SDL_hints.h 805:9@
+--     [C declaration]: @macro SDL_HINT_ENABLE_SCREEN_KEYBOARD@, literal @\"SDL_ENABLE_SCREEN_KEYBOARD\"@, defined at @SDL3\/SDL_hints.h 837:9@
 sDL_HINT_ENABLE_SCREEN_KEYBOARD :: BG.ByteString
 sDL_HINT_ENABLE_SCREEN_KEYBOARD =
   BG.pack
@@ -2053,6 +2111,58 @@
     , 0x44
     ]
 
+-- | A variable that controls whether the Steam on-screen keyboard should be shown when text input is active.
+--
+--     Steam will set this hint via environment variable for games launched in Big Picture mode. To override this you should call @SDL_SetHintWithPriority()@ with priority @SDL_HINT_OVERRIDE@.
+--
+--     The variable can be set to the following values:
+--
+--     * \"0\": Do not show the Steam on-screen keyboard.
+--
+--     * \"1\": Show the Steam on-screen keyboard.
+--
+--     This hint should be set before SDL is initialized.
+--
+--     @since 3.4.12
+--
+--     [C declaration]: @macro SDL_HINT_ENABLE_STEAM_SCREEN_KEYBOARD@, literal @\"SDL_ENABLE_STEAM_SCREEN_KEYBOARD\"@, defined at @SDL3\/SDL_hints.h 856:9@
+sDL_HINT_ENABLE_STEAM_SCREEN_KEYBOARD :: BG.ByteString
+sDL_HINT_ENABLE_STEAM_SCREEN_KEYBOARD =
+  BG.pack
+    [ 0x53
+    , 0x44
+    , 0x4C
+    , 0x5F
+    , 0x45
+    , 0x4E
+    , 0x41
+    , 0x42
+    , 0x4C
+    , 0x45
+    , 0x5F
+    , 0x53
+    , 0x54
+    , 0x45
+    , 0x41
+    , 0x4D
+    , 0x5F
+    , 0x53
+    , 0x43
+    , 0x52
+    , 0x45
+    , 0x45
+    , 0x4E
+    , 0x5F
+    , 0x4B
+    , 0x45
+    , 0x59
+    , 0x42
+    , 0x4F
+    , 0x41
+    , 0x52
+    , 0x44
+    ]
+
 -- | A variable containing a list of evdev devices to use if udev is not available.
 --
 --     The list of devices is in the form:
@@ -2065,7 +2175,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_EVDEV_DEVICES@, literal @\"SDL_EVDEV_DEVICES\"@, defined at @SDL3\/SDL_hints.h 822:9@
+--     [C declaration]: @macro SDL_HINT_EVDEV_DEVICES@, literal @\"SDL_EVDEV_DEVICES\"@, defined at @SDL3\/SDL_hints.h 873:9@
 sDL_HINT_EVDEV_DEVICES :: BG.ByteString
 sDL_HINT_EVDEV_DEVICES =
   BG.pack
@@ -2104,7 +2214,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_EVENT_LOGGING@, literal @\"SDL_EVENT_LOGGING\"@, defined at @SDL3\/SDL_hints.h 846:9@
+--     [C declaration]: @macro SDL_HINT_EVENT_LOGGING@, literal @\"SDL_EVENT_LOGGING\"@, defined at @SDL3\/SDL_hints.h 897:9@
 sDL_HINT_EVENT_LOGGING :: BG.ByteString
 sDL_HINT_EVENT_LOGGING =
   BG.pack
@@ -2141,7 +2251,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_FORCE_RAISEWINDOW@, literal @\"SDL_FORCE_RAISEWINDOW\"@, defined at @SDL3\/SDL_hints.h 866:9@
+--     [C declaration]: @macro SDL_HINT_FORCE_RAISEWINDOW@, literal @\"SDL_FORCE_RAISEWINDOW\"@, defined at @SDL3\/SDL_hints.h 917:9@
 sDL_HINT_FORCE_RAISEWINDOW :: BG.ByteString
 sDL_HINT_FORCE_RAISEWINDOW =
   BG.pack
@@ -2184,7 +2294,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_FRAMEBUFFER_ACCELERATION@, literal @\"SDL_FRAMEBUFFER_ACCELERATION\"@, defined at @SDL3\/SDL_hints.h 887:9@
+--     [C declaration]: @macro SDL_HINT_FRAMEBUFFER_ACCELERATION@, literal @\"SDL_FRAMEBUFFER_ACCELERATION\"@, defined at @SDL3\/SDL_hints.h 938:9@
 sDL_HINT_FRAMEBUFFER_ACCELERATION :: BG.ByteString
 sDL_HINT_FRAMEBUFFER_ACCELERATION =
   BG.pack
@@ -2228,7 +2338,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_GAMECONTROLLERCONFIG@, literal @\"SDL_GAMECONTROLLERCONFIG\"@, defined at @SDL3\/SDL_hints.h 902:9@
+--     [C declaration]: @macro SDL_HINT_GAMECONTROLLERCONFIG@, literal @\"SDL_GAMECONTROLLERCONFIG\"@, defined at @SDL3\/SDL_hints.h 953:9@
 sDL_HINT_GAMECONTROLLERCONFIG :: BG.ByteString
 sDL_HINT_GAMECONTROLLERCONFIG =
   BG.pack
@@ -2268,7 +2378,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_GAMECONTROLLERCONFIG_FILE@, literal @\"SDL_GAMECONTROLLERCONFIG_FILE\"@, defined at @SDL3\/SDL_hints.h 918:9@
+--     [C declaration]: @macro SDL_HINT_GAMECONTROLLERCONFIG_FILE@, literal @\"SDL_GAMECONTROLLERCONFIG_FILE\"@, defined at @SDL3\/SDL_hints.h 969:9@
 sDL_HINT_GAMECONTROLLERCONFIG_FILE :: BG.ByteString
 sDL_HINT_GAMECONTROLLERCONFIG_FILE =
   BG.pack
@@ -2329,7 +2439,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_GAMECONTROLLERTYPE@, literal @\"SDL_GAMECONTROLLERTYPE\"@, defined at @SDL3\/SDL_hints.h 942:9@
+--     [C declaration]: @macro SDL_HINT_GAMECONTROLLERTYPE@, literal @\"SDL_GAMECONTROLLERTYPE\"@, defined at @SDL3\/SDL_hints.h 993:9@
 sDL_HINT_GAMECONTROLLERTYPE :: BG.ByteString
 sDL_HINT_GAMECONTROLLERTYPE =
   BG.pack
@@ -2369,7 +2479,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES@, literal @\"SDL_GAMECONTROLLER_IGNORE_DEVICES\"@, defined at @SDL3\/SDL_hints.h 960:9@
+--     [C declaration]: @macro SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES@, literal @\"SDL_GAMECONTROLLER_IGNORE_DEVICES\"@, defined at @SDL3\/SDL_hints.h 1011:9@
 sDL_HINT_GAMECONTROLLER_IGNORE_DEVICES :: BG.ByteString
 sDL_HINT_GAMECONTROLLER_IGNORE_DEVICES =
   BG.pack
@@ -2420,7 +2530,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT@, literal @\"SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT\"@, defined at @SDL3\/SDL_hints.h 978:9@
+--     [C declaration]: @macro SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT@, literal @\"SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT\"@, defined at @SDL3\/SDL_hints.h 1029:9@
 sDL_HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT :: BG.ByteString
 sDL_HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT =
   BG.pack
@@ -2484,7 +2594,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_GAMECONTROLLER_SENSOR_FUSION@, literal @\"SDL_GAMECONTROLLER_SENSOR_FUSION\"@, defined at @SDL3\/SDL_hints.h 1001:9@
+--     [C declaration]: @macro SDL_HINT_GAMECONTROLLER_SENSOR_FUSION@, literal @\"SDL_GAMECONTROLLER_SENSOR_FUSION\"@, defined at @SDL3\/SDL_hints.h 1052:9@
 sDL_HINT_GAMECONTROLLER_SENSOR_FUSION :: BG.ByteString
 sDL_HINT_GAMECONTROLLER_SENSOR_FUSION =
   BG.pack
@@ -2530,7 +2640,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_GDK_TEXTINPUT_DEFAULT_TEXT@, literal @\"SDL_GDK_TEXTINPUT_DEFAULT_TEXT\"@, defined at @SDL3\/SDL_hints.h 1013:9@
+--     [C declaration]: @macro SDL_HINT_GDK_TEXTINPUT_DEFAULT_TEXT@, literal @\"SDL_GDK_TEXTINPUT_DEFAULT_TEXT\"@, defined at @SDL3\/SDL_hints.h 1064:9@
 sDL_HINT_GDK_TEXTINPUT_DEFAULT_TEXT :: BG.ByteString
 sDL_HINT_GDK_TEXTINPUT_DEFAULT_TEXT =
   BG.pack
@@ -2574,7 +2684,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_GDK_TEXTINPUT_DESCRIPTION@, literal @\"SDL_GDK_TEXTINPUT_DESCRIPTION\"@, defined at @SDL3\/SDL_hints.h 1025:9@
+--     [C declaration]: @macro SDL_HINT_GDK_TEXTINPUT_DESCRIPTION@, literal @\"SDL_GDK_TEXTINPUT_DESCRIPTION\"@, defined at @SDL3\/SDL_hints.h 1076:9@
 sDL_HINT_GDK_TEXTINPUT_DESCRIPTION :: BG.ByteString
 sDL_HINT_GDK_TEXTINPUT_DESCRIPTION =
   BG.pack
@@ -2619,7 +2729,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_GDK_TEXTINPUT_MAX_LENGTH@, literal @\"SDL_GDK_TEXTINPUT_MAX_LENGTH\"@, defined at @SDL3\/SDL_hints.h 1040:9@
+--     [C declaration]: @macro SDL_HINT_GDK_TEXTINPUT_MAX_LENGTH@, literal @\"SDL_GDK_TEXTINPUT_MAX_LENGTH\"@, defined at @SDL3\/SDL_hints.h 1091:9@
 sDL_HINT_GDK_TEXTINPUT_MAX_LENGTH :: BG.ByteString
 sDL_HINT_GDK_TEXTINPUT_MAX_LENGTH =
   BG.pack
@@ -2663,7 +2773,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_GDK_TEXTINPUT_SCOPE@, literal @\"SDL_GDK_TEXTINPUT_SCOPE\"@, defined at @SDL3\/SDL_hints.h 1056:9@
+--     [C declaration]: @macro SDL_HINT_GDK_TEXTINPUT_SCOPE@, literal @\"SDL_GDK_TEXTINPUT_SCOPE\"@, defined at @SDL3\/SDL_hints.h 1107:9@
 sDL_HINT_GDK_TEXTINPUT_SCOPE :: BG.ByteString
 sDL_HINT_GDK_TEXTINPUT_SCOPE =
   BG.pack
@@ -2700,7 +2810,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_GDK_TEXTINPUT_TITLE@, literal @\"SDL_GDK_TEXTINPUT_TITLE\"@, defined at @SDL3\/SDL_hints.h 1067:9@
+--     [C declaration]: @macro SDL_HINT_GDK_TEXTINPUT_TITLE@, literal @\"SDL_GDK_TEXTINPUT_TITLE\"@, defined at @SDL3\/SDL_hints.h 1118:9@
 sDL_HINT_GDK_TEXTINPUT_TITLE :: BG.ByteString
 sDL_HINT_GDK_TEXTINPUT_TITLE =
   BG.pack
@@ -2743,7 +2853,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_HIDAPI_LIBUSB@, literal @\"SDL_HIDAPI_LIBUSB\"@, defined at @SDL3\/SDL_hints.h 1085:9@
+--     [C declaration]: @macro SDL_HINT_HIDAPI_LIBUSB@, literal @\"SDL_HIDAPI_LIBUSB\"@, defined at @SDL3\/SDL_hints.h 1136:9@
 sDL_HINT_HIDAPI_LIBUSB :: BG.ByteString
 sDL_HINT_HIDAPI_LIBUSB =
   BG.pack
@@ -2778,7 +2888,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @macro SDL_HINT_HIDAPI_LIBUSB_GAMECUBE@, literal @\"SDL_HIDAPI_LIBUSB_GAMECUBE\"@, defined at @SDL3\/SDL_hints.h 1100:9@
+--     [C declaration]: @macro SDL_HINT_HIDAPI_LIBUSB_GAMECUBE@, literal @\"SDL_HIDAPI_LIBUSB_GAMECUBE\"@, defined at @SDL3\/SDL_hints.h 1151:9@
 sDL_HINT_HIDAPI_LIBUSB_GAMECUBE :: BG.ByteString
 sDL_HINT_HIDAPI_LIBUSB_GAMECUBE =
   BG.pack
@@ -2824,7 +2934,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_HIDAPI_LIBUSB_WHITELIST@, literal @\"SDL_HIDAPI_LIBUSB_WHITELIST\"@, defined at @SDL3\/SDL_hints.h 1118:9@
+--     [C declaration]: @macro SDL_HINT_HIDAPI_LIBUSB_WHITELIST@, literal @\"SDL_HIDAPI_LIBUSB_WHITELIST\"@, defined at @SDL3\/SDL_hints.h 1169:9@
 sDL_HINT_HIDAPI_LIBUSB_WHITELIST :: BG.ByteString
 sDL_HINT_HIDAPI_LIBUSB_WHITELIST =
   BG.pack
@@ -2869,7 +2979,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_HIDAPI_UDEV@, literal @\"SDL_HIDAPI_UDEV\"@, defined at @SDL3\/SDL_hints.h 1132:9@
+--     [C declaration]: @macro SDL_HINT_HIDAPI_UDEV@, literal @\"SDL_HIDAPI_UDEV\"@, defined at @SDL3\/SDL_hints.h 1183:9@
 sDL_HINT_HIDAPI_UDEV :: BG.ByteString
 sDL_HINT_HIDAPI_UDEV =
   BG.pack [0x53, 0x44, 0x4C, 0x5F, 0x48, 0x49, 0x44, 0x41, 0x50, 0x49, 0x5F, 0x55, 0x44, 0x45, 0x56]
@@ -2882,7 +2992,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_GPU_DRIVER@, literal @\"SDL_GPU_DRIVER\"@, defined at @SDL3\/SDL_hints.h 1146:9@
+--     [C declaration]: @macro SDL_HINT_GPU_DRIVER@, literal @\"SDL_GPU_DRIVER\"@, defined at @SDL3\/SDL_hints.h 1197:9@
 sDL_HINT_GPU_DRIVER :: BG.ByteString
 sDL_HINT_GPU_DRIVER =
   BG.pack [0x53, 0x44, 0x4C, 0x5F, 0x47, 0x50, 0x55, 0x5F, 0x44, 0x52, 0x49, 0x56, 0x45, 0x52]
@@ -2901,7 +3011,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_HIDAPI_ENUMERATE_ONLY_CONTROLLERS@, literal @\"SDL_HIDAPI_ENUMERATE_ONLY_CONTROLLERS\"@, defined at @SDL3\/SDL_hints.h 1165:9@
+--     [C declaration]: @macro SDL_HINT_HIDAPI_ENUMERATE_ONLY_CONTROLLERS@, literal @\"SDL_HIDAPI_ENUMERATE_ONLY_CONTROLLERS\"@, defined at @SDL3\/SDL_hints.h 1216:9@
 sDL_HINT_HIDAPI_ENUMERATE_ONLY_CONTROLLERS :: BG.ByteString
 sDL_HINT_HIDAPI_ENUMERATE_ONLY_CONTROLLERS =
   BG.pack
@@ -2956,7 +3066,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_HIDAPI_IGNORE_DEVICES@, literal @\"SDL_HIDAPI_IGNORE_DEVICES\"@, defined at @SDL3\/SDL_hints.h 1182:9@
+--     [C declaration]: @macro SDL_HINT_HIDAPI_IGNORE_DEVICES@, literal @\"SDL_HIDAPI_IGNORE_DEVICES\"@, defined at @SDL3\/SDL_hints.h 1233:9@
 sDL_HINT_HIDAPI_IGNORE_DEVICES :: BG.ByteString
 sDL_HINT_HIDAPI_IGNORE_DEVICES =
   BG.pack
@@ -3003,7 +3113,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_IME_IMPLEMENTED_UI@, literal @\"SDL_IME_IMPLEMENTED_UI\"@, defined at @SDL3\/SDL_hints.h 1205:9@
+--     [C declaration]: @macro SDL_HINT_IME_IMPLEMENTED_UI@, literal @\"SDL_IME_IMPLEMENTED_UI\"@, defined at @SDL3\/SDL_hints.h 1256:9@
 sDL_HINT_IME_IMPLEMENTED_UI :: BG.ByteString
 sDL_HINT_IME_IMPLEMENTED_UI =
   BG.pack
@@ -3045,7 +3155,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_IOS_HIDE_HOME_INDICATOR@, literal @\"SDL_IOS_HIDE_HOME_INDICATOR\"@, defined at @SDL3\/SDL_hints.h 1224:9@
+--     [C declaration]: @macro SDL_HINT_IOS_HIDE_HOME_INDICATOR@, literal @\"SDL_IOS_HIDE_HOME_INDICATOR\"@, defined at @SDL3\/SDL_hints.h 1275:9@
 sDL_HINT_IOS_HIDE_HOME_INDICATOR :: BG.ByteString
 sDL_HINT_IOS_HIDE_HOME_INDICATOR =
   BG.pack
@@ -3090,7 +3200,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS@, literal @\"SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS\"@, defined at @SDL3\/SDL_hints.h 1241:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS@, literal @\"SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS\"@, defined at @SDL3\/SDL_hints.h 1292:9@
 sDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS :: BG.ByteString
 sDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS =
   BG.pack
@@ -3144,7 +3254,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES@, literal @\"SDL_JOYSTICK_ARCADESTICK_DEVICES\"@, defined at @SDL3\/SDL_hints.h 1258:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES@, literal @\"SDL_JOYSTICK_ARCADESTICK_DEVICES\"@, defined at @SDL3\/SDL_hints.h 1309:9@
 sDL_HINT_JOYSTICK_ARCADESTICK_DEVICES :: BG.ByteString
 sDL_HINT_JOYSTICK_ARCADESTICK_DEVICES =
   BG.pack
@@ -3196,7 +3306,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED@, literal @\"SDL_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED\"@, defined at @SDL3\/SDL_hints.h 1279:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED@, literal @\"SDL_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED\"@, defined at @SDL3\/SDL_hints.h 1330:9@
 sDL_HINT_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED :: BG.ByteString
 sDL_HINT_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED =
   BG.pack
@@ -3255,7 +3365,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_BLACKLIST_DEVICES@, literal @\"SDL_JOYSTICK_BLACKLIST_DEVICES\"@, defined at @SDL3\/SDL_hints.h 1297:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_BLACKLIST_DEVICES@, literal @\"SDL_JOYSTICK_BLACKLIST_DEVICES\"@, defined at @SDL3\/SDL_hints.h 1348:9@
 sDL_HINT_JOYSTICK_BLACKLIST_DEVICES :: BG.ByteString
 sDL_HINT_JOYSTICK_BLACKLIST_DEVICES =
   BG.pack
@@ -3305,7 +3415,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED@, literal @\"SDL_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED\"@, defined at @SDL3\/SDL_hints.h 1318:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED@, literal @\"SDL_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED\"@, defined at @SDL3\/SDL_hints.h 1369:9@
 sDL_HINT_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED :: BG.ByteString
 sDL_HINT_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED =
   BG.pack
@@ -3356,7 +3466,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_DEVICE@, literal @\"SDL_JOYSTICK_DEVICE\"@, defined at @SDL3\/SDL_hints.h 1328:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_DEVICE@, literal @\"SDL_JOYSTICK_DEVICE\"@, defined at @SDL3\/SDL_hints.h 1379:9@
 sDL_HINT_JOYSTICK_DEVICE :: BG.ByteString
 sDL_HINT_JOYSTICK_DEVICE =
   BG.pack
@@ -3399,7 +3509,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_ENHANCED_REPORTS@, literal @\"SDL_JOYSTICK_ENHANCED_REPORTS\"@, defined at @SDL3\/SDL_hints.h 1353:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_ENHANCED_REPORTS@, literal @\"SDL_JOYSTICK_ENHANCED_REPORTS\"@, defined at @SDL3\/SDL_hints.h 1404:9@
 sDL_HINT_JOYSTICK_ENHANCED_REPORTS :: BG.ByteString
 sDL_HINT_JOYSTICK_ENHANCED_REPORTS =
   BG.pack
@@ -3434,7 +3544,7 @@
     , 0x53
     ]
 
--- | [C declaration]: @macro SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES@, literal @\"SDL_JOYSTICK_FLIGHTSTICK_DEVICES\"@, defined at @SDL3\/SDL_hints.h 1370:9@
+-- | [C declaration]: @macro SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES@, literal @\"SDL_JOYSTICK_FLIGHTSTICK_DEVICES\"@, defined at @SDL3\/SDL_hints.h 1421:9@
 sDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES :: BG.ByteString
 sDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES =
   BG.pack
@@ -3486,7 +3596,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED@, literal @\"SDL_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED\"@, defined at @SDL3\/SDL_hints.h 1391:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED@, literal @\"SDL_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED\"@, defined at @SDL3\/SDL_hints.h 1442:9@
 sDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED :: BG.ByteString
 sDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED =
   BG.pack
@@ -3547,7 +3657,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_GAMEINPUT@, literal @\"SDL_JOYSTICK_GAMEINPUT\"@, defined at @SDL3\/SDL_hints.h 1408:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_GAMEINPUT@, literal @\"SDL_JOYSTICK_GAMEINPUT\"@, defined at @SDL3\/SDL_hints.h 1459:9@
 sDL_HINT_JOYSTICK_GAMEINPUT :: BG.ByteString
 sDL_HINT_JOYSTICK_GAMEINPUT =
   BG.pack
@@ -3575,6 +3685,54 @@
     , 0x54
     ]
 
+-- | A variable controlling whether GameInput should be used for handling GIP devices that require raw report processing, but aren\'t supported by HIDRAW, such as Xbox One Guitars.
+--
+--     Note that this is only supported with GameInput 3 or newer.
+--
+--     The variable can be set to the following values:
+--
+--     * \"0\": GameInput is not used to handle raw GIP devices.
+--
+--     * \"1\": GameInput is used.
+--
+--     The default is \"1\" when using GameInput 3 or newer, and is \"0\" otherwise.
+--
+--     This hint should be set before SDL is initialized.
+--
+--     @since 3.4.4
+--
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_GAMEINPUT_RAW@, literal @\"SDL_JOYSTICK_GAMEINPUT_RAW\"@, defined at @SDL3\/SDL_hints.h 1479:9@
+sDL_HINT_JOYSTICK_GAMEINPUT_RAW :: BG.ByteString
+sDL_HINT_JOYSTICK_GAMEINPUT_RAW =
+  BG.pack
+    [ 0x53
+    , 0x44
+    , 0x4C
+    , 0x5F
+    , 0x4A
+    , 0x4F
+    , 0x59
+    , 0x53
+    , 0x54
+    , 0x49
+    , 0x43
+    , 0x4B
+    , 0x5F
+    , 0x47
+    , 0x41
+    , 0x4D
+    , 0x45
+    , 0x49
+    , 0x4E
+    , 0x50
+    , 0x55
+    , 0x54
+    , 0x5F
+    , 0x52
+    , 0x41
+    , 0x57
+    ]
+
 -- | A variable containing a list of devices known to have a GameCube form factor.
 --
 --     The format of the string is a comma separated list of USB VID\/PID pairs in hexadecimal form, e.g.
@@ -3587,7 +3745,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_GAMECUBE_DEVICES@, literal @\"SDL_JOYSTICK_GAMECUBE_DEVICES\"@, defined at @SDL3\/SDL_hints.h 1426:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_GAMECUBE_DEVICES@, literal @\"SDL_JOYSTICK_GAMECUBE_DEVICES\"@, defined at @SDL3\/SDL_hints.h 1497:9@
 sDL_HINT_JOYSTICK_GAMECUBE_DEVICES :: BG.ByteString
 sDL_HINT_JOYSTICK_GAMECUBE_DEVICES =
   BG.pack
@@ -3636,7 +3794,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED@, literal @\"SDL_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED\"@, defined at @SDL3\/SDL_hints.h 1447:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED@, literal @\"SDL_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED\"@, defined at @SDL3\/SDL_hints.h 1518:9@
 sDL_HINT_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED :: BG.ByteString
 sDL_HINT_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED =
   BG.pack
@@ -3694,7 +3852,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI@, literal @\"SDL_JOYSTICK_HIDAPI\"@, defined at @SDL3\/SDL_hints.h 1464:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI@, literal @\"SDL_JOYSTICK_HIDAPI\"@, defined at @SDL3\/SDL_hints.h 1535:9@
 sDL_HINT_JOYSTICK_HIDAPI :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI =
   BG.pack
@@ -3731,7 +3889,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS@, literal @\"SDL_JOYSTICK_HIDAPI_COMBINE_JOY_CONS\"@, defined at @SDL3\/SDL_hints.h 1481:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS@, literal @\"SDL_JOYSTICK_HIDAPI_COMBINE_JOY_CONS\"@, defined at @SDL3\/SDL_hints.h 1552:9@
 sDL_HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS =
   BG.pack
@@ -3787,7 +3945,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE@, literal @\"SDL_JOYSTICK_HIDAPI_GAMECUBE\"@, defined at @SDL3\/SDL_hints.h 1498:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE@, literal @\"SDL_JOYSTICK_HIDAPI_GAMECUBE\"@, defined at @SDL3\/SDL_hints.h 1569:9@
 sDL_HINT_JOYSTICK_HIDAPI_GAMECUBE :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_GAMECUBE =
   BG.pack
@@ -3835,7 +3993,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE@, literal @\"SDL_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE\"@, defined at @SDL3\/SDL_hints.h 1519:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE@, literal @\"SDL_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE\"@, defined at @SDL3\/SDL_hints.h 1590:9@
 sDL_HINT_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE =
   BG.pack
@@ -3896,7 +4054,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS@, literal @\"SDL_JOYSTICK_HIDAPI_JOY_CONS\"@, defined at @SDL3\/SDL_hints.h 1536:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS@, literal @\"SDL_JOYSTICK_HIDAPI_JOY_CONS\"@, defined at @SDL3\/SDL_hints.h 1607:9@
 sDL_HINT_JOYSTICK_HIDAPI_JOY_CONS :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_JOY_CONS =
   BG.pack
@@ -3944,7 +4102,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_JOYCON_HOME_LED@, literal @\"SDL_JOYSTICK_HIDAPI_JOYCON_HOME_LED\"@, defined at @SDL3\/SDL_hints.h 1555:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_JOYCON_HOME_LED@, literal @\"SDL_JOYSTICK_HIDAPI_JOYCON_HOME_LED\"@, defined at @SDL3\/SDL_hints.h 1626:9@
 sDL_HINT_JOYSTICK_HIDAPI_JOYCON_HOME_LED :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_JOYCON_HOME_LED =
   BG.pack
@@ -3999,7 +4157,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_LUNA@, literal @\"SDL_JOYSTICK_HIDAPI_LUNA\"@, defined at @SDL3\/SDL_hints.h 1572:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_LUNA@, literal @\"SDL_JOYSTICK_HIDAPI_LUNA\"@, defined at @SDL3\/SDL_hints.h 1643:9@
 sDL_HINT_JOYSTICK_HIDAPI_LUNA :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_LUNA =
   BG.pack
@@ -4043,7 +4201,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_NINTENDO_CLASSIC@, literal @\"SDL_JOYSTICK_HIDAPI_NINTENDO_CLASSIC\"@, defined at @SDL3\/SDL_hints.h 1589:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_NINTENDO_CLASSIC@, literal @\"SDL_JOYSTICK_HIDAPI_NINTENDO_CLASSIC\"@, defined at @SDL3\/SDL_hints.h 1660:9@
 sDL_HINT_JOYSTICK_HIDAPI_NINTENDO_CLASSIC :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_NINTENDO_CLASSIC =
   BG.pack
@@ -4101,7 +4259,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_PS3@, literal @\"SDL_JOYSTICK_HIDAPI_PS3\"@, defined at @SDL3\/SDL_hints.h 1611:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_PS3@, literal @\"SDL_JOYSTICK_HIDAPI_PS3\"@, defined at @SDL3\/SDL_hints.h 1682:9@
 sDL_HINT_JOYSTICK_HIDAPI_PS3 :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_PS3 =
   BG.pack
@@ -4144,7 +4302,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER@, literal @\"SDL_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER\"@, defined at @SDL3\/SDL_hints.h 1628:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER@, literal @\"SDL_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER\"@, defined at @SDL3\/SDL_hints.h 1699:9@
 sDL_HINT_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER =
   BG.pack
@@ -4202,7 +4360,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_PS4@, literal @\"SDL_JOYSTICK_HIDAPI_PS4\"@, defined at @SDL3\/SDL_hints.h 1645:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_PS4@, literal @\"SDL_JOYSTICK_HIDAPI_PS4\"@, defined at @SDL3\/SDL_hints.h 1716:9@
 sDL_HINT_JOYSTICK_HIDAPI_PS4 :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_PS4 =
   BG.pack
@@ -4239,7 +4397,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL@, literal @\"SDL_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL\"@, defined at @SDL3\/SDL_hints.h 1660:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL@, literal @\"SDL_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL\"@, defined at @SDL3\/SDL_hints.h 1731:9@
 sDL_HINT_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL =
   BG.pack
@@ -4298,7 +4456,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_PS5@, literal @\"SDL_JOYSTICK_HIDAPI_PS5\"@, defined at @SDL3\/SDL_hints.h 1677:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_PS5@, literal @\"SDL_JOYSTICK_HIDAPI_PS5\"@, defined at @SDL3\/SDL_hints.h 1748:9@
 sDL_HINT_JOYSTICK_HIDAPI_PS5 :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_PS5 =
   BG.pack
@@ -4337,7 +4495,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED@, literal @\"SDL_JOYSTICK_HIDAPI_PS5_PLAYER_LED\"@, defined at @SDL3\/SDL_hints.h 1690:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED@, literal @\"SDL_JOYSTICK_HIDAPI_PS5_PLAYER_LED\"@, defined at @SDL3\/SDL_hints.h 1761:9@
 sDL_HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED =
   BG.pack
@@ -4391,7 +4549,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_SHIELD@, literal @\"SDL_JOYSTICK_HIDAPI_SHIELD\"@, defined at @SDL3\/SDL_hints.h 1707:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_SHIELD@, literal @\"SDL_JOYSTICK_HIDAPI_SHIELD\"@, defined at @SDL3\/SDL_hints.h 1778:9@
 sDL_HINT_JOYSTICK_HIDAPI_SHIELD :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_SHIELD =
   BG.pack
@@ -4435,7 +4593,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_STADIA@, literal @\"SDL_JOYSTICK_HIDAPI_STADIA\"@, defined at @SDL3\/SDL_hints.h 1722:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_STADIA@, literal @\"SDL_JOYSTICK_HIDAPI_STADIA\"@, defined at @SDL3\/SDL_hints.h 1793:9@
 sDL_HINT_JOYSTICK_HIDAPI_STADIA :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_STADIA =
   BG.pack
@@ -4479,7 +4637,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_STEAM@, literal @\"SDL_JOYSTICK_HIDAPI_STEAM\"@, defined at @SDL3\/SDL_hints.h 1739:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_STEAM@, literal @\"SDL_JOYSTICK_HIDAPI_STEAM\"@, defined at @SDL3\/SDL_hints.h 1810:9@
 sDL_HINT_JOYSTICK_HIDAPI_STEAM :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_STEAM =
   BG.pack
@@ -4524,7 +4682,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_STEAM_HOME_LED@, literal @\"SDL_JOYSTICK_HIDAPI_STEAM_HOME_LED\"@, defined at @SDL3\/SDL_hints.h 1758:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_STEAM_HOME_LED@, literal @\"SDL_JOYSTICK_HIDAPI_STEAM_HOME_LED\"@, defined at @SDL3\/SDL_hints.h 1829:9@
 sDL_HINT_JOYSTICK_HIDAPI_STEAM_HOME_LED :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_STEAM_HOME_LED =
   BG.pack
@@ -4578,7 +4736,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_STEAMDECK@, literal @\"SDL_JOYSTICK_HIDAPI_STEAMDECK\"@, defined at @SDL3\/SDL_hints.h 1775:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_STEAMDECK@, literal @\"SDL_JOYSTICK_HIDAPI_STEAMDECK\"@, defined at @SDL3\/SDL_hints.h 1846:9@
 sDL_HINT_JOYSTICK_HIDAPI_STEAMDECK :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_STEAMDECK =
   BG.pack
@@ -4627,7 +4785,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_STEAM_HORI@, literal @\"SDL_JOYSTICK_HIDAPI_STEAM_HORI\"@, defined at @SDL3\/SDL_hints.h 1792:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_STEAM_HORI@, literal @\"SDL_JOYSTICK_HIDAPI_STEAM_HORI\"@, defined at @SDL3\/SDL_hints.h 1863:9@
 sDL_HINT_JOYSTICK_HIDAPI_STEAM_HORI :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_STEAM_HORI =
   BG.pack
@@ -4677,7 +4835,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_LG4FF@, literal @\"SDL_JOYSTICK_HIDAPI_LG4FF\"@, defined at @SDL3\/SDL_hints.h 1809:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_LG4FF@, literal @\"SDL_JOYSTICK_HIDAPI_LG4FF\"@, defined at @SDL3\/SDL_hints.h 1880:9@
 sDL_HINT_JOYSTICK_HIDAPI_LG4FF :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_LG4FF =
   BG.pack
@@ -4722,7 +4880,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_8BITDO@, literal @\"SDL_JOYSTICK_HIDAPI_8BITDO\"@, defined at @SDL3\/SDL_hints.h 1826:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_8BITDO@, literal @\"SDL_JOYSTICK_HIDAPI_8BITDO\"@, defined at @SDL3\/SDL_hints.h 1897:9@
 sDL_HINT_JOYSTICK_HIDAPI_8BITDO :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_8BITDO =
   BG.pack
@@ -4770,7 +4928,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_SINPUT@, literal @\"SDL_JOYSTICK_HIDAPI_SINPUT\"@, defined at @SDL3\/SDL_hints.h 1845:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_SINPUT@, literal @\"SDL_JOYSTICK_HIDAPI_SINPUT\"@, defined at @SDL3\/SDL_hints.h 1916:9@
 sDL_HINT_JOYSTICK_HIDAPI_SINPUT :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_SINPUT =
   BG.pack
@@ -4816,7 +4974,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_ZUIKI@, literal @\"SDL_JOYSTICK_HIDAPI_ZUIKI\"@, defined at @SDL3\/SDL_hints.h 1862:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_ZUIKI@, literal @\"SDL_JOYSTICK_HIDAPI_ZUIKI\"@, defined at @SDL3\/SDL_hints.h 1933:9@
 sDL_HINT_JOYSTICK_HIDAPI_ZUIKI :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_ZUIKI =
   BG.pack
@@ -4861,7 +5019,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_FLYDIGI@, literal @\"SDL_JOYSTICK_HIDAPI_FLYDIGI\"@, defined at @SDL3\/SDL_hints.h 1879:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_FLYDIGI@, literal @\"SDL_JOYSTICK_HIDAPI_FLYDIGI\"@, defined at @SDL3\/SDL_hints.h 1950:9@
 sDL_HINT_JOYSTICK_HIDAPI_FLYDIGI :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_FLYDIGI =
   BG.pack
@@ -4908,7 +5066,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_SWITCH@, literal @\"SDL_JOYSTICK_HIDAPI_SWITCH\"@, defined at @SDL3\/SDL_hints.h 1896:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_SWITCH@, literal @\"SDL_JOYSTICK_HIDAPI_SWITCH\"@, defined at @SDL3\/SDL_hints.h 1967:9@
 sDL_HINT_JOYSTICK_HIDAPI_SWITCH :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_SWITCH =
   BG.pack
@@ -4954,7 +5112,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED@, literal @\"SDL_JOYSTICK_HIDAPI_SWITCH_HOME_LED\"@, defined at @SDL3\/SDL_hints.h 1915:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED@, literal @\"SDL_JOYSTICK_HIDAPI_SWITCH_HOME_LED\"@, defined at @SDL3\/SDL_hints.h 1986:9@
 sDL_HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED =
   BG.pack
@@ -5007,7 +5165,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED@, literal @\"SDL_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED\"@, defined at @SDL3\/SDL_hints.h 1930:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED@, literal @\"SDL_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED\"@, defined at @SDL3\/SDL_hints.h 2001:9@
 sDL_HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED =
   BG.pack
@@ -5064,7 +5222,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_SWITCH2@, literal @\"SDL_JOYSTICK_HIDAPI_SWITCH2\"@, defined at @SDL3\/SDL_hints.h 1947:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_SWITCH2@, literal @\"SDL_JOYSTICK_HIDAPI_SWITCH2\"@, defined at @SDL3\/SDL_hints.h 2018:9@
 sDL_HINT_JOYSTICK_HIDAPI_SWITCH2 :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_SWITCH2 =
   BG.pack
@@ -5109,7 +5267,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS@, literal @\"SDL_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS\"@, defined at @SDL3\/SDL_hints.h 1963:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS@, literal @\"SDL_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS\"@, defined at @SDL3\/SDL_hints.h 2034:9@
 sDL_HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS =
   BG.pack
@@ -5166,7 +5324,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_WII@, literal @\"SDL_JOYSTICK_HIDAPI_WII\"@, defined at @SDL3\/SDL_hints.h 1981:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_WII@, literal @\"SDL_JOYSTICK_HIDAPI_WII\"@, defined at @SDL3\/SDL_hints.h 2052:9@
 sDL_HINT_JOYSTICK_HIDAPI_WII :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_WII =
   BG.pack
@@ -5207,7 +5365,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED@, literal @\"SDL_JOYSTICK_HIDAPI_WII_PLAYER_LED\"@, defined at @SDL3\/SDL_hints.h 1996:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED@, literal @\"SDL_JOYSTICK_HIDAPI_WII_PLAYER_LED\"@, defined at @SDL3\/SDL_hints.h 2067:9@
 sDL_HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED =
   BG.pack
@@ -5261,7 +5419,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_XBOX@, literal @\"SDL_JOYSTICK_HIDAPI_XBOX\"@, defined at @SDL3\/SDL_hints.h 2014:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_XBOX@, literal @\"SDL_JOYSTICK_HIDAPI_XBOX\"@, defined at @SDL3\/SDL_hints.h 2085:9@
 sDL_HINT_JOYSTICK_HIDAPI_XBOX :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_XBOX =
   BG.pack
@@ -5305,7 +5463,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_XBOX_360@, literal @\"SDL_JOYSTICK_HIDAPI_XBOX_360\"@, defined at @SDL3\/SDL_hints.h 2031:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_XBOX_360@, literal @\"SDL_JOYSTICK_HIDAPI_XBOX_360\"@, defined at @SDL3\/SDL_hints.h 2102:9@
 sDL_HINT_JOYSTICK_HIDAPI_XBOX_360 :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_XBOX_360 =
   BG.pack
@@ -5351,7 +5509,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED@, literal @\"SDL_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED\"@, defined at @SDL3\/SDL_hints.h 2046:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED@, literal @\"SDL_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED\"@, defined at @SDL3\/SDL_hints.h 2117:9@
 sDL_HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED =
   BG.pack
@@ -5410,7 +5568,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_WIRELESS@, literal @\"SDL_JOYSTICK_HIDAPI_XBOX_360_WIRELESS\"@, defined at @SDL3\/SDL_hints.h 2063:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_WIRELESS@, literal @\"SDL_JOYSTICK_HIDAPI_XBOX_360_WIRELESS\"@, defined at @SDL3\/SDL_hints.h 2134:9@
 sDL_HINT_JOYSTICK_HIDAPI_XBOX_360_WIRELESS :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_XBOX_360_WIRELESS =
   BG.pack
@@ -5467,7 +5625,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE@, literal @\"SDL_JOYSTICK_HIDAPI_XBOX_ONE\"@, defined at @SDL3\/SDL_hints.h 2080:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE@, literal @\"SDL_JOYSTICK_HIDAPI_XBOX_ONE\"@, defined at @SDL3\/SDL_hints.h 2151:9@
 sDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE =
   BG.pack
@@ -5515,7 +5673,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED@, literal @\"SDL_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED\"@, defined at @SDL3\/SDL_hints.h 2099:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED@, literal @\"SDL_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED\"@, defined at @SDL3\/SDL_hints.h 2170:9@
 sDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED =
   BG.pack
@@ -5572,7 +5730,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_GIP@, literal @\"SDL_JOYSTICK_HIDAPI_GIP\"@, defined at @SDL3\/SDL_hints.h 2116:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_GIP@, literal @\"SDL_JOYSTICK_HIDAPI_GIP\"@, defined at @SDL3\/SDL_hints.h 2187:9@
 sDL_HINT_JOYSTICK_HIDAPI_GIP :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_GIP =
   BG.pack
@@ -5609,13 +5767,13 @@
 --
 --     * \"1\": Reset the controller to get metadata.
 --
---     By default the controller is not reset.
+--     By default the controller is reset. This is so we can properly detect the controller type.
 --
 --     This hint should be set before initializing joysticks and gamepads.
 --
 --     @since 3.4.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_GIP_RESET_FOR_METADATA@, literal @\"SDL_JOYSTICK_HIDAPI_GIP_RESET_FOR_METADATA\"@, defined at @SDL3\/SDL_hints.h 2134:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HIDAPI_GIP_RESET_FOR_METADATA@, literal @\"SDL_JOYSTICK_HIDAPI_GIP_RESET_FOR_METADATA\"@, defined at @SDL3\/SDL_hints.h 2206:9@
 sDL_HINT_JOYSTICK_HIDAPI_GIP_RESET_FOR_METADATA :: BG.ByteString
 sDL_HINT_JOYSTICK_HIDAPI_GIP_RESET_FOR_METADATA =
   BG.pack
@@ -5675,7 +5833,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_IOKIT@, literal @\"SDL_JOYSTICK_IOKIT\"@, defined at @SDL3\/SDL_hints.h 2149:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_IOKIT@, literal @\"SDL_JOYSTICK_IOKIT\"@, defined at @SDL3\/SDL_hints.h 2221:9@
 sDL_HINT_JOYSTICK_IOKIT :: BG.ByteString
 sDL_HINT_JOYSTICK_IOKIT =
   BG.pack
@@ -5711,7 +5869,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_LINUX_CLASSIC@, literal @\"SDL_JOYSTICK_LINUX_CLASSIC\"@, defined at @SDL3\/SDL_hints.h 2164:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_LINUX_CLASSIC@, literal @\"SDL_JOYSTICK_LINUX_CLASSIC\"@, defined at @SDL3\/SDL_hints.h 2236:9@
 sDL_HINT_JOYSTICK_LINUX_CLASSIC :: BG.ByteString
 sDL_HINT_JOYSTICK_LINUX_CLASSIC =
   BG.pack
@@ -5755,7 +5913,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_LINUX_DEADZONES@, literal @\"SDL_JOYSTICK_LINUX_DEADZONES\"@, defined at @SDL3\/SDL_hints.h 2179:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_LINUX_DEADZONES@, literal @\"SDL_JOYSTICK_LINUX_DEADZONES\"@, defined at @SDL3\/SDL_hints.h 2251:9@
 sDL_HINT_JOYSTICK_LINUX_DEADZONES :: BG.ByteString
 sDL_HINT_JOYSTICK_LINUX_DEADZONES =
   BG.pack
@@ -5801,7 +5959,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_LINUX_DIGITAL_HATS@, literal @\"SDL_JOYSTICK_LINUX_DIGITAL_HATS\"@, defined at @SDL3\/SDL_hints.h 2197:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_LINUX_DIGITAL_HATS@, literal @\"SDL_JOYSTICK_LINUX_DIGITAL_HATS\"@, defined at @SDL3\/SDL_hints.h 2269:9@
 sDL_HINT_JOYSTICK_LINUX_DIGITAL_HATS :: BG.ByteString
 sDL_HINT_JOYSTICK_LINUX_DIGITAL_HATS =
   BG.pack
@@ -5850,7 +6008,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_LINUX_HAT_DEADZONES@, literal @\"SDL_JOYSTICK_LINUX_HAT_DEADZONES\"@, defined at @SDL3\/SDL_hints.h 2213:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_LINUX_HAT_DEADZONES@, literal @\"SDL_JOYSTICK_LINUX_HAT_DEADZONES\"@, defined at @SDL3\/SDL_hints.h 2285:9@
 sDL_HINT_JOYSTICK_LINUX_HAT_DEADZONES :: BG.ByteString
 sDL_HINT_JOYSTICK_LINUX_HAT_DEADZONES =
   BG.pack
@@ -5900,7 +6058,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_MFI@, literal @\"SDL_JOYSTICK_MFI\"@, defined at @SDL3\/SDL_hints.h 2228:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_MFI@, literal @\"SDL_JOYSTICK_MFI\"@, defined at @SDL3\/SDL_hints.h 2300:9@
 sDL_HINT_JOYSTICK_MFI :: BG.ByteString
 sDL_HINT_JOYSTICK_MFI =
   BG.pack
@@ -5918,7 +6076,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_RAWINPUT@, literal @\"SDL_JOYSTICK_RAWINPUT\"@, defined at @SDL3\/SDL_hints.h 2243:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_RAWINPUT@, literal @\"SDL_JOYSTICK_RAWINPUT\"@, defined at @SDL3\/SDL_hints.h 2315:9@
 sDL_HINT_JOYSTICK_RAWINPUT :: BG.ByteString
 sDL_HINT_JOYSTICK_RAWINPUT =
   BG.pack
@@ -5957,7 +6115,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_RAWINPUT_CORRELATE_XINPUT@, literal @\"SDL_JOYSTICK_RAWINPUT_CORRELATE_XINPUT\"@, defined at @SDL3\/SDL_hints.h 2260:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_RAWINPUT_CORRELATE_XINPUT@, literal @\"SDL_JOYSTICK_RAWINPUT_CORRELATE_XINPUT\"@, defined at @SDL3\/SDL_hints.h 2332:9@
 sDL_HINT_JOYSTICK_RAWINPUT_CORRELATE_XINPUT :: BG.ByteString
 sDL_HINT_JOYSTICK_RAWINPUT_CORRELATE_XINPUT =
   BG.pack
@@ -6013,7 +6171,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_ROG_CHAKRAM@, literal @\"SDL_JOYSTICK_ROG_CHAKRAM\"@, defined at @SDL3\/SDL_hints.h 2275:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_ROG_CHAKRAM@, literal @\"SDL_JOYSTICK_ROG_CHAKRAM\"@, defined at @SDL3\/SDL_hints.h 2347:9@
 sDL_HINT_JOYSTICK_ROG_CHAKRAM :: BG.ByteString
 sDL_HINT_JOYSTICK_ROG_CHAKRAM =
   BG.pack
@@ -6055,7 +6213,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_THREAD@, literal @\"SDL_JOYSTICK_THREAD\"@, defined at @SDL3\/SDL_hints.h 2290:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_THREAD@, literal @\"SDL_JOYSTICK_THREAD\"@, defined at @SDL3\/SDL_hints.h 2362:9@
 sDL_HINT_JOYSTICK_THREAD :: BG.ByteString
 sDL_HINT_JOYSTICK_THREAD =
   BG.pack
@@ -6092,7 +6250,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_THROTTLE_DEVICES@, literal @\"SDL_JOYSTICK_THROTTLE_DEVICES\"@, defined at @SDL3\/SDL_hints.h 2307:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_THROTTLE_DEVICES@, literal @\"SDL_JOYSTICK_THROTTLE_DEVICES\"@, defined at @SDL3\/SDL_hints.h 2379:9@
 sDL_HINT_JOYSTICK_THROTTLE_DEVICES :: BG.ByteString
 sDL_HINT_JOYSTICK_THROTTLE_DEVICES =
   BG.pack
@@ -6141,7 +6299,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_THROTTLE_DEVICES_EXCLUDED@, literal @\"SDL_JOYSTICK_THROTTLE_DEVICES_EXCLUDED\"@, defined at @SDL3\/SDL_hints.h 2328:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_THROTTLE_DEVICES_EXCLUDED@, literal @\"SDL_JOYSTICK_THROTTLE_DEVICES_EXCLUDED\"@, defined at @SDL3\/SDL_hints.h 2400:9@
 sDL_HINT_JOYSTICK_THROTTLE_DEVICES_EXCLUDED :: BG.ByteString
 sDL_HINT_JOYSTICK_THROTTLE_DEVICES_EXCLUDED =
   BG.pack
@@ -6197,7 +6355,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_WGI@, literal @\"SDL_JOYSTICK_WGI\"@, defined at @SDL3\/SDL_hints.h 2343:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_WGI@, literal @\"SDL_JOYSTICK_WGI\"@, defined at @SDL3\/SDL_hints.h 2415:9@
 sDL_HINT_JOYSTICK_WGI :: BG.ByteString
 sDL_HINT_JOYSTICK_WGI =
   BG.pack
@@ -6215,7 +6373,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_WHEEL_DEVICES@, literal @\"SDL_JOYSTICK_WHEEL_DEVICES\"@, defined at @SDL3\/SDL_hints.h 2360:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_WHEEL_DEVICES@, literal @\"SDL_JOYSTICK_WHEEL_DEVICES\"@, defined at @SDL3\/SDL_hints.h 2432:9@
 sDL_HINT_JOYSTICK_WHEEL_DEVICES :: BG.ByteString
 sDL_HINT_JOYSTICK_WHEEL_DEVICES =
   BG.pack
@@ -6261,7 +6419,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_WHEEL_DEVICES_EXCLUDED@, literal @\"SDL_JOYSTICK_WHEEL_DEVICES_EXCLUDED\"@, defined at @SDL3\/SDL_hints.h 2381:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_WHEEL_DEVICES_EXCLUDED@, literal @\"SDL_JOYSTICK_WHEEL_DEVICES_EXCLUDED\"@, defined at @SDL3\/SDL_hints.h 2453:9@
 sDL_HINT_JOYSTICK_WHEEL_DEVICES_EXCLUDED :: BG.ByteString
 sDL_HINT_JOYSTICK_WHEEL_DEVICES_EXCLUDED =
   BG.pack
@@ -6314,7 +6472,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_ZERO_CENTERED_DEVICES@, literal @\"SDL_JOYSTICK_ZERO_CENTERED_DEVICES\"@, defined at @SDL3\/SDL_hints.h 2399:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_ZERO_CENTERED_DEVICES@, literal @\"SDL_JOYSTICK_ZERO_CENTERED_DEVICES\"@, defined at @SDL3\/SDL_hints.h 2471:9@
 sDL_HINT_JOYSTICK_ZERO_CENTERED_DEVICES :: BG.ByteString
 sDL_HINT_JOYSTICK_ZERO_CENTERED_DEVICES =
   BG.pack
@@ -6368,7 +6526,7 @@
 --
 --     @since 3.2.5
 --
---     [C declaration]: @macro SDL_HINT_JOYSTICK_HAPTIC_AXES@, literal @\"SDL_JOYSTICK_HAPTIC_AXES\"@, defined at @SDL3\/SDL_hints.h 2421:9@
+--     [C declaration]: @macro SDL_HINT_JOYSTICK_HAPTIC_AXES@, literal @\"SDL_JOYSTICK_HAPTIC_AXES\"@, defined at @SDL3\/SDL_hints.h 2493:9@
 sDL_HINT_JOYSTICK_HAPTIC_AXES :: BG.ByteString
 sDL_HINT_JOYSTICK_HAPTIC_AXES =
   BG.pack
@@ -6420,7 +6578,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_KEYCODE_OPTIONS@, literal @\"SDL_KEYCODE_OPTIONS\"@, defined at @SDL3\/SDL_hints.h 2455:9@
+--     [C declaration]: @macro SDL_HINT_KEYCODE_OPTIONS@, literal @\"SDL_KEYCODE_OPTIONS\"@, defined at @SDL3\/SDL_hints.h 2527:9@
 sDL_HINT_KEYCODE_OPTIONS :: BG.ByteString
 sDL_HINT_KEYCODE_OPTIONS =
   BG.pack
@@ -6453,7 +6611,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_KMSDRM_DEVICE_INDEX@, literal @\"SDL_KMSDRM_DEVICE_INDEX\"@, defined at @SDL3\/SDL_hints.h 2469:9@
+--     [C declaration]: @macro SDL_HINT_KMSDRM_DEVICE_INDEX@, literal @\"SDL_KMSDRM_DEVICE_INDEX\"@, defined at @SDL3\/SDL_hints.h 2541:9@
 sDL_HINT_KMSDRM_DEVICE_INDEX :: BG.ByteString
 sDL_HINT_KMSDRM_DEVICE_INDEX =
   BG.pack
@@ -6498,7 +6656,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_KMSDRM_REQUIRE_DRM_MASTER@, literal @\"SDL_KMSDRM_REQUIRE_DRM_MASTER\"@, defined at @SDL3\/SDL_hints.h 2497:9@
+--     [C declaration]: @macro SDL_HINT_KMSDRM_REQUIRE_DRM_MASTER@, literal @\"SDL_KMSDRM_REQUIRE_DRM_MASTER\"@, defined at @SDL3\/SDL_hints.h 2569:9@
 sDL_HINT_KMSDRM_REQUIRE_DRM_MASTER :: BG.ByteString
 sDL_HINT_KMSDRM_REQUIRE_DRM_MASTER =
   BG.pack
@@ -6549,7 +6707,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @macro SDL_HINT_KMSDRM_ATOMIC@, literal @\"SDL_KMSDRM_ATOMIC\"@, defined at @SDL3\/SDL_hints.h 2518:9@
+--     [C declaration]: @macro SDL_HINT_KMSDRM_ATOMIC@, literal @\"SDL_KMSDRM_ATOMIC\"@, defined at @SDL3\/SDL_hints.h 2590:9@
 sDL_HINT_KMSDRM_ATOMIC :: BG.ByteString
 sDL_HINT_KMSDRM_ATOMIC =
   BG.pack
@@ -6594,7 +6752,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_LOGGING@, literal @\"SDL_LOGGING\"@, defined at @SDL3\/SDL_hints.h 2549:9@
+--     [C declaration]: @macro SDL_HINT_LOGGING@, literal @\"SDL_LOGGING\"@, defined at @SDL3\/SDL_hints.h 2621:9@
 sDL_HINT_LOGGING :: BG.ByteString
 sDL_HINT_LOGGING =
   BG.pack [0x53, 0x44, 0x4C, 0x5F, 0x4C, 0x4F, 0x47, 0x47, 0x49, 0x4E, 0x47]
@@ -6611,7 +6769,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_MAC_BACKGROUND_APP@, literal @\"SDL_MAC_BACKGROUND_APP\"@, defined at @SDL3\/SDL_hints.h 2565:9@
+--     [C declaration]: @macro SDL_HINT_MAC_BACKGROUND_APP@, literal @\"SDL_MAC_BACKGROUND_APP\"@, defined at @SDL3\/SDL_hints.h 2637:9@
 sDL_HINT_MAC_BACKGROUND_APP :: BG.ByteString
 sDL_HINT_MAC_BACKGROUND_APP =
   BG.pack
@@ -6651,7 +6809,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK@, literal @\"SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK\"@, defined at @SDL3\/SDL_hints.h 2581:9@
+--     [C declaration]: @macro SDL_HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK@, literal @\"SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK\"@, defined at @SDL3\/SDL_hints.h 2653:9@
 sDL_HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK :: BG.ByteString
 sDL_HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK =
   BG.pack
@@ -6709,7 +6867,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_MAC_OPENGL_ASYNC_DISPATCH@, literal @\"SDL_MAC_OPENGL_ASYNC_DISPATCH\"@, defined at @SDL3\/SDL_hints.h 2604:9@
+--     [C declaration]: @macro SDL_HINT_MAC_OPENGL_ASYNC_DISPATCH@, literal @\"SDL_MAC_OPENGL_ASYNC_DISPATCH\"@, defined at @SDL3\/SDL_hints.h 2676:9@
 sDL_HINT_MAC_OPENGL_ASYNC_DISPATCH :: BG.ByteString
 sDL_HINT_MAC_OPENGL_ASYNC_DISPATCH =
   BG.pack
@@ -6762,7 +6920,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_MAC_OPTION_AS_ALT@, literal @\"SDL_MAC_OPTION_AS_ALT\"@, defined at @SDL3\/SDL_hints.h 2629:9@
+--     [C declaration]: @macro SDL_HINT_MAC_OPTION_AS_ALT@, literal @\"SDL_MAC_OPTION_AS_ALT\"@, defined at @SDL3\/SDL_hints.h 2701:9@
 sDL_HINT_MAC_OPTION_AS_ALT :: BG.ByteString
 sDL_HINT_MAC_OPTION_AS_ALT =
   BG.pack
@@ -6801,7 +6959,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_MAC_SCROLL_MOMENTUM@, literal @\"SDL_MAC_SCROLL_MOMENTUM\"@, defined at @SDL3\/SDL_hints.h 2644:9@
+--     [C declaration]: @macro SDL_HINT_MAC_SCROLL_MOMENTUM@, literal @\"SDL_MAC_SCROLL_MOMENTUM\"@, defined at @SDL3\/SDL_hints.h 2716:9@
 sDL_HINT_MAC_SCROLL_MOMENTUM :: BG.ByteString
 sDL_HINT_MAC_SCROLL_MOMENTUM =
   BG.pack
@@ -6842,7 +7000,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @macro SDL_HINT_MAC_PRESS_AND_HOLD@, literal @\"SDL_MAC_PRESS_AND_HOLD\"@, defined at @SDL3\/SDL_hints.h 2659:9@
+--     [C declaration]: @macro SDL_HINT_MAC_PRESS_AND_HOLD@, literal @\"SDL_MAC_PRESS_AND_HOLD\"@, defined at @SDL3\/SDL_hints.h 2731:9@
 sDL_HINT_MAC_PRESS_AND_HOLD :: BG.ByteString
 sDL_HINT_MAC_PRESS_AND_HOLD =
   BG.pack
@@ -6886,7 +7044,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_MAIN_CALLBACK_RATE@, literal @\"SDL_MAIN_CALLBACK_RATE\"@, defined at @SDL3\/SDL_hints.h 2689:9@
+--     [C declaration]: @macro SDL_HINT_MAIN_CALLBACK_RATE@, literal @\"SDL_MAIN_CALLBACK_RATE\"@, defined at @SDL3\/SDL_hints.h 2761:9@
 sDL_HINT_MAIN_CALLBACK_RATE :: BG.ByteString
 sDL_HINT_MAIN_CALLBACK_RATE =
   BG.pack
@@ -6928,7 +7086,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_MOUSE_AUTO_CAPTURE@, literal @\"SDL_MOUSE_AUTO_CAPTURE\"@, defined at @SDL3\/SDL_hints.h 2708:9@
+--     [C declaration]: @macro SDL_HINT_MOUSE_AUTO_CAPTURE@, literal @\"SDL_MOUSE_AUTO_CAPTURE\"@, defined at @SDL3\/SDL_hints.h 2780:9@
 sDL_HINT_MOUSE_AUTO_CAPTURE :: BG.ByteString
 sDL_HINT_MOUSE_AUTO_CAPTURE =
   BG.pack
@@ -6962,7 +7120,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_MOUSE_DOUBLE_CLICK_RADIUS@, literal @\"SDL_MOUSE_DOUBLE_CLICK_RADIUS\"@, defined at @SDL3\/SDL_hints.h 2717:9@
+--     [C declaration]: @macro SDL_HINT_MOUSE_DOUBLE_CLICK_RADIUS@, literal @\"SDL_MOUSE_DOUBLE_CLICK_RADIUS\"@, defined at @SDL3\/SDL_hints.h 2789:9@
 sDL_HINT_MOUSE_DOUBLE_CLICK_RADIUS :: BG.ByteString
 sDL_HINT_MOUSE_DOUBLE_CLICK_RADIUS =
   BG.pack
@@ -7003,7 +7161,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_MOUSE_DOUBLE_CLICK_TIME@, literal @\"SDL_MOUSE_DOUBLE_CLICK_TIME\"@, defined at @SDL3\/SDL_hints.h 2726:9@
+--     [C declaration]: @macro SDL_HINT_MOUSE_DOUBLE_CLICK_TIME@, literal @\"SDL_MOUSE_DOUBLE_CLICK_TIME\"@, defined at @SDL3\/SDL_hints.h 2798:9@
 sDL_HINT_MOUSE_DOUBLE_CLICK_TIME :: BG.ByteString
 sDL_HINT_MOUSE_DOUBLE_CLICK_TIME =
   BG.pack
@@ -7044,7 +7202,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_MOUSE_DEFAULT_SYSTEM_CURSOR@, literal @\"SDL_MOUSE_DEFAULT_SYSTEM_CURSOR\"@, defined at @SDL3\/SDL_hints.h 2738:9@
+--     [C declaration]: @macro SDL_HINT_MOUSE_DEFAULT_SYSTEM_CURSOR@, literal @\"SDL_MOUSE_DEFAULT_SYSTEM_CURSOR\"@, defined at @SDL3\/SDL_hints.h 2810:9@
 sDL_HINT_MOUSE_DEFAULT_SYSTEM_CURSOR :: BG.ByteString
 sDL_HINT_MOUSE_DEFAULT_SYSTEM_CURSOR =
   BG.pack
@@ -7087,13 +7245,13 @@
 --
 --     * \"0\": Cursors will not change size based on the display content scale. (default)
 --
---     * \"1\": Cursors will automatically match the display content scale (e.g. a 2x sized cursor will be used when the window is on a monitor with 200% scale). This is currently implemented on Windows and Wayland.
+--     * \"1\": Cursors will automatically match the display content scale (e.g. a 2x sized cursor will be used when the window is on a monitor with 200% scale). This is currently implemented on Windows.
 --
 --     This hint needs to be set before creating cursors.
 --
 --     @since 3.4.0
 --
---     [C declaration]: @macro SDL_HINT_MOUSE_DPI_SCALE_CURSORS@, literal @\"SDL_MOUSE_DPI_SCALE_CURSORS\"@, defined at @SDL3\/SDL_hints.h 2756:9@
+--     [C declaration]: @macro SDL_HINT_MOUSE_DPI_SCALE_CURSORS@, literal @\"SDL_MOUSE_DPI_SCALE_CURSORS\"@, defined at @SDL3\/SDL_hints.h 2828:9@
 sDL_HINT_MOUSE_DPI_SCALE_CURSORS :: BG.ByteString
 sDL_HINT_MOUSE_DPI_SCALE_CURSORS =
   BG.pack
@@ -7146,7 +7304,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_MOUSE_EMULATE_WARP_WITH_RELATIVE@, literal @\"SDL_MOUSE_EMULATE_WARP_WITH_RELATIVE\"@, defined at @SDL3\/SDL_hints.h 2788:9@
+--     [C declaration]: @macro SDL_HINT_MOUSE_EMULATE_WARP_WITH_RELATIVE@, literal @\"SDL_MOUSE_EMULATE_WARP_WITH_RELATIVE\"@, defined at @SDL3\/SDL_hints.h 2860:9@
 sDL_HINT_MOUSE_EMULATE_WARP_WITH_RELATIVE :: BG.ByteString
 sDL_HINT_MOUSE_EMULATE_WARP_WITH_RELATIVE =
   BG.pack
@@ -7200,7 +7358,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH@, literal @\"SDL_MOUSE_FOCUS_CLICKTHROUGH\"@, defined at @SDL3\/SDL_hints.h 2802:9@
+--     [C declaration]: @macro SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH@, literal @\"SDL_MOUSE_FOCUS_CLICKTHROUGH\"@, defined at @SDL3\/SDL_hints.h 2874:9@
 sDL_HINT_MOUSE_FOCUS_CLICKTHROUGH :: BG.ByteString
 sDL_HINT_MOUSE_FOCUS_CLICKTHROUGH =
   BG.pack
@@ -7240,7 +7398,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_MOUSE_NORMAL_SPEED_SCALE@, literal @\"SDL_MOUSE_NORMAL_SPEED_SCALE\"@, defined at @SDL3\/SDL_hints.h 2812:9@
+--     [C declaration]: @macro SDL_HINT_MOUSE_NORMAL_SPEED_SCALE@, literal @\"SDL_MOUSE_NORMAL_SPEED_SCALE\"@, defined at @SDL3\/SDL_hints.h 2884:9@
 sDL_HINT_MOUSE_NORMAL_SPEED_SCALE :: BG.ByteString
 sDL_HINT_MOUSE_NORMAL_SPEED_SCALE =
   BG.pack
@@ -7288,7 +7446,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_MOUSE_RELATIVE_MODE_CENTER@, literal @\"SDL_MOUSE_RELATIVE_MODE_CENTER\"@, defined at @SDL3\/SDL_hints.h 2833:9@
+--     [C declaration]: @macro SDL_HINT_MOUSE_RELATIVE_MODE_CENTER@, literal @\"SDL_MOUSE_RELATIVE_MODE_CENTER\"@, defined at @SDL3\/SDL_hints.h 2905:9@
 sDL_HINT_MOUSE_RELATIVE_MODE_CENTER :: BG.ByteString
 sDL_HINT_MOUSE_RELATIVE_MODE_CENTER =
   BG.pack
@@ -7330,7 +7488,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE@, literal @\"SDL_MOUSE_RELATIVE_SPEED_SCALE\"@, defined at @SDL3\/SDL_hints.h 2843:9@
+--     [C declaration]: @macro SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE@, literal @\"SDL_MOUSE_RELATIVE_SPEED_SCALE\"@, defined at @SDL3\/SDL_hints.h 2915:9@
 sDL_HINT_MOUSE_RELATIVE_SPEED_SCALE :: BG.ByteString
 sDL_HINT_MOUSE_RELATIVE_SPEED_SCALE =
   BG.pack
@@ -7380,7 +7538,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_MOUSE_RELATIVE_SYSTEM_SCALE@, literal @\"SDL_MOUSE_RELATIVE_SYSTEM_SCALE\"@, defined at @SDL3\/SDL_hints.h 2862:9@
+--     [C declaration]: @macro SDL_HINT_MOUSE_RELATIVE_SYSTEM_SCALE@, literal @\"SDL_MOUSE_RELATIVE_SYSTEM_SCALE\"@, defined at @SDL3\/SDL_hints.h 2934:9@
 sDL_HINT_MOUSE_RELATIVE_SYSTEM_SCALE :: BG.ByteString
 sDL_HINT_MOUSE_RELATIVE_SYSTEM_SCALE =
   BG.pack
@@ -7431,7 +7589,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_MOUSE_RELATIVE_WARP_MOTION@, literal @\"SDL_MOUSE_RELATIVE_WARP_MOTION\"@, defined at @SDL3\/SDL_hints.h 2881:9@
+--     [C declaration]: @macro SDL_HINT_MOUSE_RELATIVE_WARP_MOTION@, literal @\"SDL_MOUSE_RELATIVE_WARP_MOTION\"@, defined at @SDL3\/SDL_hints.h 2953:9@
 sDL_HINT_MOUSE_RELATIVE_WARP_MOTION :: BG.ByteString
 sDL_HINT_MOUSE_RELATIVE_WARP_MOTION =
   BG.pack
@@ -7481,7 +7639,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_MOUSE_RELATIVE_CURSOR_VISIBLE@, literal @\"SDL_MOUSE_RELATIVE_CURSOR_VISIBLE\"@, defined at @SDL3\/SDL_hints.h 2900:9@
+--     [C declaration]: @macro SDL_HINT_MOUSE_RELATIVE_CURSOR_VISIBLE@, literal @\"SDL_MOUSE_RELATIVE_CURSOR_VISIBLE\"@, defined at @SDL3\/SDL_hints.h 2972:9@
 sDL_HINT_MOUSE_RELATIVE_CURSOR_VISIBLE :: BG.ByteString
 sDL_HINT_MOUSE_RELATIVE_CURSOR_VISIBLE =
   BG.pack
@@ -7532,7 +7690,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_MOUSE_TOUCH_EVENTS@, literal @\"SDL_MOUSE_TOUCH_EVENTS\"@, defined at @SDL3\/SDL_hints.h 2917:9@
+--     [C declaration]: @macro SDL_HINT_MOUSE_TOUCH_EVENTS@, literal @\"SDL_MOUSE_TOUCH_EVENTS\"@, defined at @SDL3\/SDL_hints.h 2989:9@
 sDL_HINT_MOUSE_TOUCH_EVENTS :: BG.ByteString
 sDL_HINT_MOUSE_TOUCH_EVENTS =
   BG.pack
@@ -7574,7 +7732,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_MUTE_CONSOLE_KEYBOARD@, literal @\"SDL_MUTE_CONSOLE_KEYBOARD\"@, defined at @SDL3\/SDL_hints.h 2935:9@
+--     [C declaration]: @macro SDL_HINT_MUTE_CONSOLE_KEYBOARD@, literal @\"SDL_MUTE_CONSOLE_KEYBOARD\"@, defined at @SDL3\/SDL_hints.h 3007:9@
 sDL_HINT_MUTE_CONSOLE_KEYBOARD :: BG.ByteString
 sDL_HINT_MUTE_CONSOLE_KEYBOARD =
   BG.pack
@@ -7617,7 +7775,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_NO_SIGNAL_HANDLERS@, literal @\"SDL_NO_SIGNAL_HANDLERS\"@, defined at @SDL3\/SDL_hints.h 2950:9@
+--     [C declaration]: @macro SDL_HINT_NO_SIGNAL_HANDLERS@, literal @\"SDL_NO_SIGNAL_HANDLERS\"@, defined at @SDL3\/SDL_hints.h 3022:9@
 sDL_HINT_NO_SIGNAL_HANDLERS :: BG.ByteString
 sDL_HINT_NO_SIGNAL_HANDLERS =
   BG.pack
@@ -7651,7 +7809,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_OPENGL_LIBRARY@, literal @\"SDL_OPENGL_LIBRARY\"@, defined at @SDL3\/SDL_hints.h 2961:9@
+--     [C declaration]: @macro SDL_HINT_OPENGL_LIBRARY@, literal @\"SDL_OPENGL_LIBRARY\"@, defined at @SDL3\/SDL_hints.h 3033:9@
 sDL_HINT_OPENGL_LIBRARY :: BG.ByteString
 sDL_HINT_OPENGL_LIBRARY =
   BG.pack
@@ -7681,7 +7839,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_EGL_LIBRARY@, literal @\"SDL_EGL_LIBRARY\"@, defined at @SDL3\/SDL_hints.h 2973:9@
+--     [C declaration]: @macro SDL_HINT_EGL_LIBRARY@, literal @\"SDL_EGL_LIBRARY\"@, defined at @SDL3\/SDL_hints.h 3045:9@
 sDL_HINT_EGL_LIBRARY :: BG.ByteString
 sDL_HINT_EGL_LIBRARY =
   BG.pack [0x53, 0x44, 0x4C, 0x5F, 0x45, 0x47, 0x4C, 0x5F, 0x4C, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59]
@@ -7706,7 +7864,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_OPENGL_ES_DRIVER@, literal @\"SDL_OPENGL_ES_DRIVER\"@, defined at @SDL3\/SDL_hints.h 3007:9@
+--     [C declaration]: @macro SDL_HINT_OPENGL_ES_DRIVER@, literal @\"SDL_OPENGL_ES_DRIVER\"@, defined at @SDL3\/SDL_hints.h 3079:9@
 sDL_HINT_OPENGL_ES_DRIVER :: BG.ByteString
 sDL_HINT_OPENGL_ES_DRIVER =
   BG.pack
@@ -7760,7 +7918,7 @@
 --
 --     @since 3.4.2
 --
---     [C declaration]: @macro SDL_HINT_OPENGL_FORCE_SRGB_FRAMEBUFFER@, literal @\"SDL_OPENGL_FORCE_SRGB_FRAMEBUFFER\"@, defined at @SDL3\/SDL_hints.h 3047:9@
+--     [C declaration]: @macro SDL_HINT_OPENGL_FORCE_SRGB_FRAMEBUFFER@, literal @\"SDL_OPENGL_FORCE_SRGB_FRAMEBUFFER\"@, defined at @SDL3\/SDL_hints.h 3119:9@
 sDL_HINT_OPENGL_FORCE_SRGB_FRAMEBUFFER :: BG.ByteString
 sDL_HINT_OPENGL_FORCE_SRGB_FRAMEBUFFER =
   BG.pack
@@ -7805,7 +7963,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_OPENVR_LIBRARY@, literal @\"SDL_OPENVR_LIBRARY\"@, defined at @SDL3\/SDL_hints.h 3059:9@
+--     [C declaration]: @macro SDL_HINT_OPENVR_LIBRARY@, literal @\"SDL_OPENVR_LIBRARY\"@, defined at @SDL3\/SDL_hints.h 3131:9@
 sDL_HINT_OPENVR_LIBRARY :: BG.ByteString
 sDL_HINT_OPENVR_LIBRARY =
   BG.pack
@@ -7847,7 +8005,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_ORIENTATIONS@, literal @\"SDL_ORIENTATIONS\"@, defined at @SDL3\/SDL_hints.h 3078:9@
+--     [C declaration]: @macro SDL_HINT_ORIENTATIONS@, literal @\"SDL_ORIENTATIONS\"@, defined at @SDL3\/SDL_hints.h 3150:9@
 sDL_HINT_ORIENTATIONS :: BG.ByteString
 sDL_HINT_ORIENTATIONS =
   BG.pack
@@ -7867,7 +8025,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_POLL_SENTINEL@, literal @\"SDL_POLL_SENTINEL\"@, defined at @SDL3\/SDL_hints.h 3098:9@
+--     [C declaration]: @macro SDL_HINT_POLL_SENTINEL@, literal @\"SDL_POLL_SENTINEL\"@, defined at @SDL3\/SDL_hints.h 3170:9@
 sDL_HINT_POLL_SENTINEL :: BG.ByteString
 sDL_HINT_POLL_SENTINEL =
   BG.pack
@@ -7900,7 +8058,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_PREFERRED_LOCALES@, literal @\"SDL_PREFERRED_LOCALES\"@, defined at @SDL3\/SDL_hints.h 3116:9@
+--     [C declaration]: @macro SDL_HINT_PREFERRED_LOCALES@, literal @\"SDL_PREFERRED_LOCALES\"@, defined at @SDL3\/SDL_hints.h 3188:9@
 sDL_HINT_PREFERRED_LOCALES :: BG.ByteString
 sDL_HINT_PREFERRED_LOCALES =
   BG.pack
@@ -7941,7 +8099,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE@, literal @\"SDL_QUIT_ON_LAST_WINDOW_CLOSE\"@, defined at @SDL3\/SDL_hints.h 3139:9@
+--     [C declaration]: @macro SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE@, literal @\"SDL_QUIT_ON_LAST_WINDOW_CLOSE\"@, defined at @SDL3\/SDL_hints.h 3211:9@
 sDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE :: BG.ByteString
 sDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE =
   BG.pack
@@ -7988,7 +8146,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_RENDER_DIRECT3D_THREADSAFE@, literal @\"SDL_RENDER_DIRECT3D_THREADSAFE\"@, defined at @SDL3\/SDL_hints.h 3154:9@
+--     [C declaration]: @macro SDL_HINT_RENDER_DIRECT3D_THREADSAFE@, literal @\"SDL_RENDER_DIRECT3D_THREADSAFE\"@, defined at @SDL3\/SDL_hints.h 3226:9@
 sDL_HINT_RENDER_DIRECT3D_THREADSAFE :: BG.ByteString
 sDL_HINT_RENDER_DIRECT3D_THREADSAFE =
   BG.pack
@@ -8038,7 +8196,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_RENDER_DIRECT3D11_DEBUG@, literal @\"SDL_RENDER_DIRECT3D11_DEBUG\"@, defined at @SDL3\/SDL_hints.h 3170:9@
+--     [C declaration]: @macro SDL_HINT_RENDER_DIRECT3D11_DEBUG@, literal @\"SDL_RENDER_DIRECT3D11_DEBUG\"@, defined at @SDL3\/SDL_hints.h 3242:9@
 sDL_HINT_RENDER_DIRECT3D11_DEBUG :: BG.ByteString
 sDL_HINT_RENDER_DIRECT3D11_DEBUG =
   BG.pack
@@ -8085,7 +8243,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @macro SDL_HINT_RENDER_DIRECT3D11_WARP@, literal @\"SDL_RENDER_DIRECT3D11_WARP\"@, defined at @SDL3\/SDL_hints.h 3188:9@
+--     [C declaration]: @macro SDL_HINT_RENDER_DIRECT3D11_WARP@, literal @\"SDL_RENDER_DIRECT3D11_WARP\"@, defined at @SDL3\/SDL_hints.h 3260:9@
 sDL_HINT_RENDER_DIRECT3D11_WARP :: BG.ByteString
 sDL_HINT_RENDER_DIRECT3D11_WARP =
   BG.pack
@@ -8129,7 +8287,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_RENDER_VULKAN_DEBUG@, literal @\"SDL_RENDER_VULKAN_DEBUG\"@, defined at @SDL3\/SDL_hints.h 3202:9@
+--     [C declaration]: @macro SDL_HINT_RENDER_VULKAN_DEBUG@, literal @\"SDL_RENDER_VULKAN_DEBUG\"@, defined at @SDL3\/SDL_hints.h 3274:9@
 sDL_HINT_RENDER_VULKAN_DEBUG :: BG.ByteString
 sDL_HINT_RENDER_VULKAN_DEBUG =
   BG.pack
@@ -8170,7 +8328,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_RENDER_GPU_DEBUG@, literal @\"SDL_RENDER_GPU_DEBUG\"@, defined at @SDL3\/SDL_hints.h 3216:9@
+--     [C declaration]: @macro SDL_HINT_RENDER_GPU_DEBUG@, literal @\"SDL_RENDER_GPU_DEBUG\"@, defined at @SDL3\/SDL_hints.h 3288:9@
 sDL_HINT_RENDER_GPU_DEBUG :: BG.ByteString
 sDL_HINT_RENDER_GPU_DEBUG =
   BG.pack
@@ -8208,7 +8366,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_RENDER_GPU_LOW_POWER@, literal @\"SDL_RENDER_GPU_LOW_POWER\"@, defined at @SDL3\/SDL_hints.h 3231:9@
+--     [C declaration]: @macro SDL_HINT_RENDER_GPU_LOW_POWER@, literal @\"SDL_RENDER_GPU_LOW_POWER\"@, defined at @SDL3\/SDL_hints.h 3303:9@
 sDL_HINT_RENDER_GPU_LOW_POWER :: BG.ByteString
 sDL_HINT_RENDER_GPU_LOW_POWER =
   BG.pack
@@ -8272,7 +8430,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_RENDER_DRIVER@, literal @\"SDL_RENDER_DRIVER\"@, defined at @SDL3\/SDL_hints.h 3264:9@
+--     [C declaration]: @macro SDL_HINT_RENDER_DRIVER@, literal @\"SDL_RENDER_DRIVER\"@, defined at @SDL3\/SDL_hints.h 3336:9@
 sDL_HINT_RENDER_DRIVER :: BG.ByteString
 sDL_HINT_RENDER_DRIVER =
   BG.pack
@@ -8311,7 +8469,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_RENDER_LINE_METHOD@, literal @\"SDL_RENDER_LINE_METHOD\"@, defined at @SDL3\/SDL_hints.h 3282:9@
+--     [C declaration]: @macro SDL_HINT_RENDER_LINE_METHOD@, literal @\"SDL_RENDER_LINE_METHOD\"@, defined at @SDL3\/SDL_hints.h 3354:9@
 sDL_HINT_RENDER_LINE_METHOD :: BG.ByteString
 sDL_HINT_RENDER_LINE_METHOD =
   BG.pack
@@ -8351,7 +8509,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE@, literal @\"SDL_RENDER_METAL_PREFER_LOW_POWER_DEVICE\"@, defined at @SDL3\/SDL_hints.h 3297:9@
+--     [C declaration]: @macro SDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE@, literal @\"SDL_RENDER_METAL_PREFER_LOW_POWER_DEVICE\"@, defined at @SDL3\/SDL_hints.h 3369:9@
 sDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE :: BG.ByteString
 sDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE =
   BG.pack
@@ -8411,7 +8569,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_RENDER_VSYNC@, literal @\"SDL_RENDER_VSYNC\"@, defined at @SDL3\/SDL_hints.h 3314:9@
+--     [C declaration]: @macro SDL_HINT_RENDER_VSYNC@, literal @\"SDL_RENDER_VSYNC\"@, defined at @SDL3\/SDL_hints.h 3386:9@
 sDL_HINT_RENDER_VSYNC :: BG.ByteString
 sDL_HINT_RENDER_VSYNC =
   BG.pack
@@ -8431,7 +8589,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_RETURN_KEY_HIDES_IME@, literal @\"SDL_RETURN_KEY_HIDES_IME\"@, defined at @SDL3\/SDL_hints.h 3331:9@
+--     [C declaration]: @macro SDL_HINT_RETURN_KEY_HIDES_IME@, literal @\"SDL_RETURN_KEY_HIDES_IME\"@, defined at @SDL3\/SDL_hints.h 3403:9@
 sDL_HINT_RETURN_KEY_HIDES_IME :: BG.ByteString
 sDL_HINT_RETURN_KEY_HIDES_IME =
   BG.pack
@@ -8475,7 +8633,7 @@
 --
 --     [See also]: 'sDL_HINT_ROG_GAMEPAD_MICE_EXCLUDED'
 --
---     [C declaration]: @macro SDL_HINT_ROG_GAMEPAD_MICE@, literal @\"SDL_ROG_GAMEPAD_MICE\"@, defined at @SDL3\/SDL_hints.h 3350:9@
+--     [C declaration]: @macro SDL_HINT_ROG_GAMEPAD_MICE@, literal @\"SDL_ROG_GAMEPAD_MICE\"@, defined at @SDL3\/SDL_hints.h 3422:9@
 sDL_HINT_ROG_GAMEPAD_MICE :: BG.ByteString
 sDL_HINT_ROG_GAMEPAD_MICE =
   BG.pack
@@ -8515,7 +8673,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_ROG_GAMEPAD_MICE_EXCLUDED@, literal @\"SDL_ROG_GAMEPAD_MICE_EXCLUDED\"@, defined at @SDL3\/SDL_hints.h 3370:9@
+--     [C declaration]: @macro SDL_HINT_ROG_GAMEPAD_MICE_EXCLUDED@, literal @\"SDL_ROG_GAMEPAD_MICE_EXCLUDED\"@, defined at @SDL3\/SDL_hints.h 3442:9@
 sDL_HINT_ROG_GAMEPAD_MICE_EXCLUDED :: BG.ByteString
 sDL_HINT_ROG_GAMEPAD_MICE_EXCLUDED =
   BG.pack
@@ -8556,7 +8714,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @macro SDL_HINT_PS2_GS_WIDTH@, literal @\"SDL_PS2_GS_WIDTH\"@, defined at @SDL3\/SDL_hints.h 3379:9@
+--     [C declaration]: @macro SDL_HINT_PS2_GS_WIDTH@, literal @\"SDL_PS2_GS_WIDTH\"@, defined at @SDL3\/SDL_hints.h 3451:9@
 sDL_HINT_PS2_GS_WIDTH :: BG.ByteString
 sDL_HINT_PS2_GS_WIDTH =
   BG.pack
@@ -8568,7 +8726,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @macro SDL_HINT_PS2_GS_HEIGHT@, literal @\"SDL_PS2_GS_HEIGHT\"@, defined at @SDL3\/SDL_hints.h 3388:9@
+--     [C declaration]: @macro SDL_HINT_PS2_GS_HEIGHT@, literal @\"SDL_PS2_GS_HEIGHT\"@, defined at @SDL3\/SDL_hints.h 3460:9@
 sDL_HINT_PS2_GS_HEIGHT :: BG.ByteString
 sDL_HINT_PS2_GS_HEIGHT =
   BG.pack
@@ -8601,7 +8759,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @macro SDL_HINT_PS2_GS_PROGRESSIVE@, literal @\"SDL_PS2_GS_PROGRESSIVE\"@, defined at @SDL3\/SDL_hints.h 3400:9@
+--     [C declaration]: @macro SDL_HINT_PS2_GS_PROGRESSIVE@, literal @\"SDL_PS2_GS_PROGRESSIVE\"@, defined at @SDL3\/SDL_hints.h 3472:9@
 sDL_HINT_PS2_GS_PROGRESSIVE :: BG.ByteString
 sDL_HINT_PS2_GS_PROGRESSIVE =
   BG.pack
@@ -8641,7 +8799,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @macro SDL_HINT_PS2_GS_MODE@, literal @\"SDL_PS2_GS_MODE\"@, defined at @SDL3\/SDL_hints.h 3413:9@
+--     [C declaration]: @macro SDL_HINT_PS2_GS_MODE@, literal @\"SDL_PS2_GS_MODE\"@, defined at @SDL3\/SDL_hints.h 3485:9@
 sDL_HINT_PS2_GS_MODE :: BG.ByteString
 sDL_HINT_PS2_GS_MODE =
   BG.pack [0x53, 0x44, 0x4C, 0x5F, 0x50, 0x53, 0x32, 0x5F, 0x47, 0x53, 0x5F, 0x4D, 0x4F, 0x44, 0x45]
@@ -8654,7 +8812,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_RPI_VIDEO_LAYER@, literal @\"SDL_RPI_VIDEO_LAYER\"@, defined at @SDL3\/SDL_hints.h 3425:9@
+--     [C declaration]: @macro SDL_HINT_RPI_VIDEO_LAYER@, literal @\"SDL_RPI_VIDEO_LAYER\"@, defined at @SDL3\/SDL_hints.h 3497:9@
 sDL_HINT_RPI_VIDEO_LAYER :: BG.ByteString
 sDL_HINT_RPI_VIDEO_LAYER =
   BG.pack
@@ -8691,7 +8849,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME@, literal @\"SDL_SCREENSAVER_INHIBIT_ACTIVITY_NAME\"@, defined at @SDL3\/SDL_hints.h 3447:9@
+--     [C declaration]: @macro SDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME@, literal @\"SDL_SCREENSAVER_INHIBIT_ACTIVITY_NAME\"@, defined at @SDL3\/SDL_hints.h 3519:9@
 sDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME :: BG.ByteString
 sDL_HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME =
   BG.pack
@@ -8748,7 +8906,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_SHUTDOWN_DBUS_ON_QUIT@, literal @\"SDL_SHUTDOWN_DBUS_ON_QUIT\"@, defined at @SDL3\/SDL_hints.h 3466:9@
+--     [C declaration]: @macro SDL_HINT_SHUTDOWN_DBUS_ON_QUIT@, literal @\"SDL_SHUTDOWN_DBUS_ON_QUIT\"@, defined at @SDL3\/SDL_hints.h 3538:9@
 sDL_HINT_SHUTDOWN_DBUS_ON_QUIT :: BG.ByteString
 sDL_HINT_SHUTDOWN_DBUS_ON_QUIT =
   BG.pack
@@ -8787,7 +8945,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_STORAGE_TITLE_DRIVER@, literal @\"SDL_STORAGE_TITLE_DRIVER\"@, defined at @SDL3\/SDL_hints.h 3480:9@
+--     [C declaration]: @macro SDL_HINT_STORAGE_TITLE_DRIVER@, literal @\"SDL_STORAGE_TITLE_DRIVER\"@, defined at @SDL3\/SDL_hints.h 3552:9@
 sDL_HINT_STORAGE_TITLE_DRIVER :: BG.ByteString
 sDL_HINT_STORAGE_TITLE_DRIVER =
   BG.pack
@@ -8825,7 +8983,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_STORAGE_USER_DRIVER@, literal @\"SDL_STORAGE_USER_DRIVER\"@, defined at @SDL3\/SDL_hints.h 3494:9@
+--     [C declaration]: @macro SDL_HINT_STORAGE_USER_DRIVER@, literal @\"SDL_STORAGE_USER_DRIVER\"@, defined at @SDL3\/SDL_hints.h 3566:9@
 sDL_HINT_STORAGE_USER_DRIVER :: BG.ByteString
 sDL_HINT_STORAGE_USER_DRIVER =
   BG.pack
@@ -8876,7 +9034,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL@, literal @\"SDL_THREAD_FORCE_REALTIME_TIME_CRITICAL\"@, defined at @SDL3\/SDL_hints.h 3523:9@
+--     [C declaration]: @macro SDL_HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL@, literal @\"SDL_THREAD_FORCE_REALTIME_TIME_CRITICAL\"@, defined at @SDL3\/SDL_hints.h 3595:9@
 sDL_HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL :: BG.ByteString
 sDL_HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL =
   BG.pack
@@ -8933,7 +9091,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_THREAD_PRIORITY_POLICY@, literal @\"SDL_THREAD_PRIORITY_POLICY\"@, defined at @SDL3\/SDL_hints.h 3546:9@
+--     [C declaration]: @macro SDL_HINT_THREAD_PRIORITY_POLICY@, literal @\"SDL_THREAD_PRIORITY_POLICY\"@, defined at @SDL3\/SDL_hints.h 3618:9@
 sDL_HINT_THREAD_PRIORITY_POLICY :: BG.ByteString
 sDL_HINT_THREAD_PRIORITY_POLICY =
   BG.pack
@@ -8979,7 +9137,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_TIMER_RESOLUTION@, literal @\"SDL_TIMER_RESOLUTION\"@, defined at @SDL3\/SDL_hints.h 3566:9@
+--     [C declaration]: @macro SDL_HINT_TIMER_RESOLUTION@, literal @\"SDL_TIMER_RESOLUTION\"@, defined at @SDL3\/SDL_hints.h 3638:9@
 sDL_HINT_TIMER_RESOLUTION :: BG.ByteString
 sDL_HINT_TIMER_RESOLUTION =
   BG.pack
@@ -9017,7 +9175,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_TOUCH_MOUSE_EVENTS@, literal @\"SDL_TOUCH_MOUSE_EVENTS\"@, defined at @SDL3\/SDL_hints.h 3581:9@
+--     [C declaration]: @macro SDL_HINT_TOUCH_MOUSE_EVENTS@, literal @\"SDL_TOUCH_MOUSE_EVENTS\"@, defined at @SDL3\/SDL_hints.h 3653:9@
 sDL_HINT_TOUCH_MOUSE_EVENTS :: BG.ByteString
 sDL_HINT_TOUCH_MOUSE_EVENTS =
   BG.pack
@@ -9059,7 +9217,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_TRACKPAD_IS_TOUCH_ONLY@, literal @\"SDL_TRACKPAD_IS_TOUCH_ONLY\"@, defined at @SDL3\/SDL_hints.h 3602:9@
+--     [C declaration]: @macro SDL_HINT_TRACKPAD_IS_TOUCH_ONLY@, literal @\"SDL_TRACKPAD_IS_TOUCH_ONLY\"@, defined at @SDL3\/SDL_hints.h 3674:9@
 sDL_HINT_TRACKPAD_IS_TOUCH_ONLY :: BG.ByteString
 sDL_HINT_TRACKPAD_IS_TOUCH_ONLY =
   BG.pack
@@ -9103,7 +9261,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_TV_REMOTE_AS_JOYSTICK@, literal @\"SDL_TV_REMOTE_AS_JOYSTICK\"@, defined at @SDL3\/SDL_hints.h 3617:9@
+--     [C declaration]: @macro SDL_HINT_TV_REMOTE_AS_JOYSTICK@, literal @\"SDL_TV_REMOTE_AS_JOYSTICK\"@, defined at @SDL3\/SDL_hints.h 3689:9@
 sDL_HINT_TV_REMOTE_AS_JOYSTICK :: BG.ByteString
 sDL_HINT_TV_REMOTE_AS_JOYSTICK =
   BG.pack
@@ -9146,7 +9304,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_ALLOW_SCREENSAVER@, literal @\"SDL_VIDEO_ALLOW_SCREENSAVER\"@, defined at @SDL3\/SDL_hints.h 3631:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_ALLOW_SCREENSAVER@, literal @\"SDL_VIDEO_ALLOW_SCREENSAVER\"@, defined at @SDL3\/SDL_hints.h 3703:9@
 sDL_HINT_VIDEO_ALLOW_SCREENSAVER :: BG.ByteString
 sDL_HINT_VIDEO_ALLOW_SCREENSAVER =
   BG.pack
@@ -9197,7 +9355,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_DISPLAY_PRIORITY@, literal @\"SDL_VIDEO_DISPLAY_PRIORITY\"@, defined at @SDL3\/SDL_hints.h 3658:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_DISPLAY_PRIORITY@, literal @\"SDL_VIDEO_DISPLAY_PRIORITY\"@, defined at @SDL3\/SDL_hints.h 3730:9@
 sDL_HINT_VIDEO_DISPLAY_PRIORITY :: BG.ByteString
 sDL_HINT_VIDEO_DISPLAY_PRIORITY =
   BG.pack
@@ -9245,7 +9403,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_DOUBLE_BUFFER@, literal @\"SDL_VIDEO_DOUBLE_BUFFER\"@, defined at @SDL3\/SDL_hints.h 3681:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_DOUBLE_BUFFER@, literal @\"SDL_VIDEO_DOUBLE_BUFFER\"@, defined at @SDL3\/SDL_hints.h 3753:9@
 sDL_HINT_VIDEO_DOUBLE_BUFFER :: BG.ByteString
 sDL_HINT_VIDEO_DOUBLE_BUFFER =
   BG.pack
@@ -9284,7 +9442,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_DRIVER@, literal @\"SDL_VIDEO_DRIVER\"@, defined at @SDL3\/SDL_hints.h 3699:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_DRIVER@, literal @\"SDL_VIDEO_DRIVER\"@, defined at @SDL3\/SDL_hints.h 3771:9@
 sDL_HINT_VIDEO_DRIVER :: BG.ByteString
 sDL_HINT_VIDEO_DRIVER =
   BG.pack
@@ -9300,7 +9458,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_DUMMY_SAVE_FRAMES@, literal @\"SDL_VIDEO_DUMMY_SAVE_FRAMES\"@, defined at @SDL3\/SDL_hints.h 3712:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_DUMMY_SAVE_FRAMES@, literal @\"SDL_VIDEO_DUMMY_SAVE_FRAMES\"@, defined at @SDL3\/SDL_hints.h 3784:9@
 sDL_HINT_VIDEO_DUMMY_SAVE_FRAMES :: BG.ByteString
 sDL_HINT_VIDEO_DUMMY_SAVE_FRAMES =
   BG.pack
@@ -9345,7 +9503,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK@, literal @\"SDL_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK\"@, defined at @SDL3\/SDL_hints.h 3726:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK@, literal @\"SDL_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK\"@, defined at @SDL3\/SDL_hints.h 3798:9@
 sDL_HINT_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK :: BG.ByteString
 sDL_HINT_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK =
   BG.pack
@@ -9402,7 +9560,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_FORCE_EGL@, literal @\"SDL_VIDEO_FORCE_EGL\"@, defined at @SDL3\/SDL_hints.h 3742:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_FORCE_EGL@, literal @\"SDL_VIDEO_FORCE_EGL\"@, defined at @SDL3\/SDL_hints.h 3814:9@
 sDL_HINT_VIDEO_FORCE_EGL :: BG.ByteString
 sDL_HINT_VIDEO_FORCE_EGL =
   BG.pack
@@ -9439,7 +9597,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_MAC_FULLSCREEN_SPACES@, literal @\"SDL_VIDEO_MAC_FULLSCREEN_SPACES\"@, defined at @SDL3\/SDL_hints.h 3760:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_MAC_FULLSCREEN_SPACES@, literal @\"SDL_VIDEO_MAC_FULLSCREEN_SPACES\"@, defined at @SDL3\/SDL_hints.h 3832:9@
 sDL_HINT_VIDEO_MAC_FULLSCREEN_SPACES :: BG.ByteString
 sDL_HINT_VIDEO_MAC_FULLSCREEN_SPACES =
   BG.pack
@@ -9490,7 +9648,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY@, literal @\"SDL_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY\"@, defined at @SDL3\/SDL_hints.h 3781:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY@, literal @\"SDL_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY\"@, defined at @SDL3\/SDL_hints.h 3853:9@
 sDL_HINT_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY :: BG.ByteString
 sDL_HINT_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY =
   BG.pack
@@ -9548,7 +9706,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_METAL_AUTO_RESIZE_DRAWABLE@, literal @\"SDL_VIDEO_METAL_AUTO_RESIZE_DRAWABLE\"@, defined at @SDL3\/SDL_hints.h 3798:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_METAL_AUTO_RESIZE_DRAWABLE@, literal @\"SDL_VIDEO_METAL_AUTO_RESIZE_DRAWABLE\"@, defined at @SDL3\/SDL_hints.h 3870:9@
 sDL_HINT_VIDEO_METAL_AUTO_RESIZE_DRAWABLE :: BG.ByteString
 sDL_HINT_VIDEO_METAL_AUTO_RESIZE_DRAWABLE =
   BG.pack
@@ -9602,7 +9760,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_MATCH_EXCLUSIVE_MODE_ON_MOVE@, literal @\"SDL_VIDEO_MATCH_EXCLUSIVE_MODE_ON_MOVE\"@, defined at @SDL3\/SDL_hints.h 3818:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_MATCH_EXCLUSIVE_MODE_ON_MOVE@, literal @\"SDL_VIDEO_MATCH_EXCLUSIVE_MODE_ON_MOVE\"@, defined at @SDL3\/SDL_hints.h 3890:9@
 sDL_HINT_VIDEO_MATCH_EXCLUSIVE_MODE_ON_MOVE :: BG.ByteString
 sDL_HINT_VIDEO_MATCH_EXCLUSIVE_MODE_ON_MOVE =
   BG.pack
@@ -9660,7 +9818,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS@, literal @\"SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS\"@, defined at @SDL3\/SDL_hints.h 3836:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS@, literal @\"SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS\"@, defined at @SDL3\/SDL_hints.h 3908:9@
 sDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS :: BG.ByteString
 sDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS =
   BG.pack
@@ -9710,7 +9868,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_OFFSCREEN_SAVE_FRAMES@, literal @\"SDL_VIDEO_OFFSCREEN_SAVE_FRAMES\"@, defined at @SDL3\/SDL_hints.h 3853:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_OFFSCREEN_SAVE_FRAMES@, literal @\"SDL_VIDEO_OFFSCREEN_SAVE_FRAMES\"@, defined at @SDL3\/SDL_hints.h 3925:9@
 sDL_HINT_VIDEO_OFFSCREEN_SAVE_FRAMES :: BG.ByteString
 sDL_HINT_VIDEO_OFFSCREEN_SAVE_FRAMES =
   BG.pack
@@ -9763,7 +9921,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_SYNC_WINDOW_OPERATIONS@, literal @\"SDL_VIDEO_SYNC_WINDOW_OPERATIONS\"@, defined at @SDL3\/SDL_hints.h 3879:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_SYNC_WINDOW_OPERATIONS@, literal @\"SDL_VIDEO_SYNC_WINDOW_OPERATIONS\"@, defined at @SDL3\/SDL_hints.h 3951:9@
 sDL_HINT_VIDEO_SYNC_WINDOW_OPERATIONS :: BG.ByteString
 sDL_HINT_VIDEO_SYNC_WINDOW_OPERATIONS =
   BG.pack
@@ -9815,7 +9973,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR@, literal @\"SDL_VIDEO_WAYLAND_ALLOW_LIBDECOR\"@, defined at @SDL3\/SDL_hints.h 3897:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR@, literal @\"SDL_VIDEO_WAYLAND_ALLOW_LIBDECOR\"@, defined at @SDL3\/SDL_hints.h 3969:9@
 sDL_HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR :: BG.ByteString
 sDL_HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR =
   BG.pack
@@ -9867,7 +10025,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_WAYLAND_MODE_EMULATION@, literal @\"SDL_VIDEO_WAYLAND_MODE_EMULATION\"@, defined at @SDL3\/SDL_hints.h 3917:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_WAYLAND_MODE_EMULATION@, literal @\"SDL_VIDEO_WAYLAND_MODE_EMULATION\"@, defined at @SDL3\/SDL_hints.h 3989:9@
 sDL_HINT_VIDEO_WAYLAND_MODE_EMULATION :: BG.ByteString
 sDL_HINT_VIDEO_WAYLAND_MODE_EMULATION =
   BG.pack
@@ -9921,7 +10079,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_WAYLAND_MODE_SCALING@, literal @\"SDL_VIDEO_WAYLAND_MODE_SCALING\"@, defined at @SDL3\/SDL_hints.h 3939:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_WAYLAND_MODE_SCALING@, literal @\"SDL_VIDEO_WAYLAND_MODE_SCALING\"@, defined at @SDL3\/SDL_hints.h 4011:9@
 sDL_HINT_VIDEO_WAYLAND_MODE_SCALING :: BG.ByteString
 sDL_HINT_VIDEO_WAYLAND_MODE_SCALING =
   BG.pack
@@ -9971,7 +10129,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR@, literal @\"SDL_VIDEO_WAYLAND_PREFER_LIBDECOR\"@, defined at @SDL3\/SDL_hints.h 3959:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR@, literal @\"SDL_VIDEO_WAYLAND_PREFER_LIBDECOR\"@, defined at @SDL3\/SDL_hints.h 4031:9@
 sDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR :: BG.ByteString
 sDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR =
   BG.pack
@@ -10042,7 +10200,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_WAYLAND_SCALE_TO_DISPLAY@, literal @\"SDL_VIDEO_WAYLAND_SCALE_TO_DISPLAY\"@, defined at @SDL3\/SDL_hints.h 3998:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_WAYLAND_SCALE_TO_DISPLAY@, literal @\"SDL_VIDEO_WAYLAND_SCALE_TO_DISPLAY\"@, defined at @SDL3\/SDL_hints.h 4070:9@
 sDL_HINT_VIDEO_WAYLAND_SCALE_TO_DISPLAY :: BG.ByteString
 sDL_HINT_VIDEO_WAYLAND_SCALE_TO_DISPLAY =
   BG.pack
@@ -10098,7 +10256,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_WIN_D3DCOMPILER@, literal @\"SDL_VIDEO_WIN_D3DCOMPILER\"@, defined at @SDL3\/SDL_hints.h 4020:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_WIN_D3DCOMPILER@, literal @\"SDL_VIDEO_WIN_D3DCOMPILER\"@, defined at @SDL3\/SDL_hints.h 4092:9@
 sDL_HINT_VIDEO_WIN_D3DCOMPILER :: BG.ByteString
 sDL_HINT_VIDEO_WIN_D3DCOMPILER =
   BG.pack
@@ -10129,6 +10287,62 @@
     , 0x52
     ]
 
+-- | A variable controlling whether the X Synchronization Extension is enabled.
+--
+--     If set, this can result in smoother window resizing when rendering using OpenGL, however, there are some conditions:
+--
+--     * It is only activated on windows created with the @SDL_WINDOW_OPENGL@ flag (windows using an SDL OpenGL renderer have this automatically set).
+--
+--     * When activated, presentation must be done with @SDL_GL_SwapWindow()@ (@SDL_RenderPresent()@ calls this internally for OpenGL renderers as well).
+--
+--     Enabling this and presenting via an external mechanism will result in sync requests not being acked, and hangs and other odd window behavior may result.
+--
+--     The variable can be set to the following values:
+--
+--     * \"0\": The X Synchronization Extension is disabled. (default)
+--
+--     * \"1\": The X Synchronization Extension is enabled.
+--
+--     This hint should be set before creating a window.
+--
+--     @since 3.4.10
+--
+--     [C declaration]: @macro SDL_HINT_VIDEO_X11_ENABLE_XSYNC_EXT@, literal @\"SDL_VIDEO_X11_ENABLE_XSYNC_EXT\"@, defined at @SDL3\/SDL_hints.h 4117:9@
+sDL_HINT_VIDEO_X11_ENABLE_XSYNC_EXT :: BG.ByteString
+sDL_HINT_VIDEO_X11_ENABLE_XSYNC_EXT =
+  BG.pack
+    [ 0x53
+    , 0x44
+    , 0x4C
+    , 0x5F
+    , 0x56
+    , 0x49
+    , 0x44
+    , 0x45
+    , 0x4F
+    , 0x5F
+    , 0x58
+    , 0x31
+    , 0x31
+    , 0x5F
+    , 0x45
+    , 0x4E
+    , 0x41
+    , 0x42
+    , 0x4C
+    , 0x45
+    , 0x5F
+    , 0x58
+    , 0x53
+    , 0x59
+    , 0x4E
+    , 0x43
+    , 0x5F
+    , 0x45
+    , 0x58
+    , 0x54
+    ]
+
 -- | A variable controlling whether SDL should call XSelectInput() to enable input events on X11 windows wrapped by SDL windows.
 --
 --     The variable can be set to the following values:
@@ -10141,7 +10355,7 @@
 --
 --     @since 3.2.10
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_X11_EXTERNAL_WINDOW_INPUT@, literal @\"SDL_VIDEO_X11_EXTERNAL_WINDOW_INPUT\"@, defined at @SDL3\/SDL_hints.h 4036:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_X11_EXTERNAL_WINDOW_INPUT@, literal @\"SDL_VIDEO_X11_EXTERNAL_WINDOW_INPUT\"@, defined at @SDL3\/SDL_hints.h 4133:9@
 sDL_HINT_VIDEO_X11_EXTERNAL_WINDOW_INPUT :: BG.ByteString
 sDL_HINT_VIDEO_X11_EXTERNAL_WINDOW_INPUT =
   BG.pack
@@ -10194,7 +10408,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR@, literal @\"SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR\"@, defined at @SDL3\/SDL_hints.h 4051:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR@, literal @\"SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR\"@, defined at @SDL3\/SDL_hints.h 4148:9@
 sDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR :: BG.ByteString
 sDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR =
   BG.pack
@@ -10252,7 +10466,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_X11_NET_WM_PING@, literal @\"SDL_VIDEO_X11_NET_WM_PING\"@, defined at @SDL3\/SDL_hints.h 4070:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_X11_NET_WM_PING@, literal @\"SDL_VIDEO_X11_NET_WM_PING\"@, defined at @SDL3\/SDL_hints.h 4167:9@
 sDL_HINT_VIDEO_X11_NET_WM_PING :: BG.ByteString
 sDL_HINT_VIDEO_X11_NET_WM_PING =
   BG.pack
@@ -10295,7 +10509,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_X11_NODIRECTCOLOR@, literal @\"SDL_VIDEO_X11_NODIRECTCOLOR\"@, defined at @SDL3\/SDL_hints.h 4084:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_X11_NODIRECTCOLOR@, literal @\"SDL_VIDEO_X11_NODIRECTCOLOR\"@, defined at @SDL3\/SDL_hints.h 4181:9@
 sDL_HINT_VIDEO_X11_NODIRECTCOLOR :: BG.ByteString
 sDL_HINT_VIDEO_X11_NODIRECTCOLOR =
   BG.pack
@@ -10336,7 +10550,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_X11_SCALING_FACTOR@, literal @\"SDL_VIDEO_X11_SCALING_FACTOR\"@, defined at @SDL3\/SDL_hints.h 4095:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_X11_SCALING_FACTOR@, literal @\"SDL_VIDEO_X11_SCALING_FACTOR\"@, defined at @SDL3\/SDL_hints.h 4192:9@
 sDL_HINT_VIDEO_X11_SCALING_FACTOR :: BG.ByteString
 sDL_HINT_VIDEO_X11_SCALING_FACTOR =
   BG.pack
@@ -10376,7 +10590,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_X11_VISUALID@, literal @\"SDL_VIDEO_X11_VISUALID\"@, defined at @SDL3\/SDL_hints.h 4104:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_X11_VISUALID@, literal @\"SDL_VIDEO_X11_VISUALID\"@, defined at @SDL3\/SDL_hints.h 4201:9@
 sDL_HINT_VIDEO_X11_VISUALID :: BG.ByteString
 sDL_HINT_VIDEO_X11_VISUALID =
   BG.pack
@@ -10410,7 +10624,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_X11_WINDOW_VISUALID@, literal @\"SDL_VIDEO_X11_WINDOW_VISUALID\"@, defined at @SDL3\/SDL_hints.h 4113:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_X11_WINDOW_VISUALID@, literal @\"SDL_VIDEO_X11_WINDOW_VISUALID\"@, defined at @SDL3\/SDL_hints.h 4210:9@
 sDL_HINT_VIDEO_X11_WINDOW_VISUALID :: BG.ByteString
 sDL_HINT_VIDEO_X11_WINDOW_VISUALID =
   BG.pack
@@ -10457,7 +10671,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VIDEO_X11_XRANDR@, literal @\"SDL_VIDEO_X11_XRANDR\"@, defined at @SDL3\/SDL_hints.h 4127:9@
+--     [C declaration]: @macro SDL_HINT_VIDEO_X11_XRANDR@, literal @\"SDL_VIDEO_X11_XRANDR\"@, defined at @SDL3\/SDL_hints.h 4224:9@
 sDL_HINT_VIDEO_X11_XRANDR :: BG.ByteString
 sDL_HINT_VIDEO_X11_XRANDR =
   BG.pack
@@ -10495,7 +10709,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VITA_ENABLE_BACK_TOUCH@, literal @\"SDL_VITA_ENABLE_BACK_TOUCH\"@, defined at @SDL3\/SDL_hints.h 4142:9@
+--     [C declaration]: @macro SDL_HINT_VITA_ENABLE_BACK_TOUCH@, literal @\"SDL_VITA_ENABLE_BACK_TOUCH\"@, defined at @SDL3\/SDL_hints.h 4239:9@
 sDL_HINT_VITA_ENABLE_BACK_TOUCH :: BG.ByteString
 sDL_HINT_VITA_ENABLE_BACK_TOUCH =
   BG.pack
@@ -10539,7 +10753,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VITA_ENABLE_FRONT_TOUCH@, literal @\"SDL_VITA_ENABLE_FRONT_TOUCH\"@, defined at @SDL3\/SDL_hints.h 4157:9@
+--     [C declaration]: @macro SDL_HINT_VITA_ENABLE_FRONT_TOUCH@, literal @\"SDL_VITA_ENABLE_FRONT_TOUCH\"@, defined at @SDL3\/SDL_hints.h 4254:9@
 sDL_HINT_VITA_ENABLE_FRONT_TOUCH :: BG.ByteString
 sDL_HINT_VITA_ENABLE_FRONT_TOUCH =
   BG.pack
@@ -10580,7 +10794,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VITA_MODULE_PATH@, literal @\"SDL_VITA_MODULE_PATH\"@, defined at @SDL3\/SDL_hints.h 4168:9@
+--     [C declaration]: @macro SDL_HINT_VITA_MODULE_PATH@, literal @\"SDL_VITA_MODULE_PATH\"@, defined at @SDL3\/SDL_hints.h 4265:9@
 sDL_HINT_VITA_MODULE_PATH :: BG.ByteString
 sDL_HINT_VITA_MODULE_PATH =
   BG.pack
@@ -10616,7 +10830,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VITA_PVR_INIT@, literal @\"SDL_VITA_PVR_INIT\"@, defined at @SDL3\/SDL_hints.h 4181:9@
+--     [C declaration]: @macro SDL_HINT_VITA_PVR_INIT@, literal @\"SDL_VITA_PVR_INIT\"@, defined at @SDL3\/SDL_hints.h 4278:9@
 sDL_HINT_VITA_PVR_INIT :: BG.ByteString
 sDL_HINT_VITA_PVR_INIT =
   BG.pack
@@ -10653,7 +10867,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VITA_RESOLUTION@, literal @\"SDL_VITA_RESOLUTION\"@, defined at @SDL3\/SDL_hints.h 4196:9@
+--     [C declaration]: @macro SDL_HINT_VITA_RESOLUTION@, literal @\"SDL_VITA_RESOLUTION\"@, defined at @SDL3\/SDL_hints.h 4293:9@
 sDL_HINT_VITA_RESOLUTION :: BG.ByteString
 sDL_HINT_VITA_RESOLUTION =
   BG.pack
@@ -10690,7 +10904,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VITA_PVR_OPENGL@, literal @\"SDL_VITA_PVR_OPENGL\"@, defined at @SDL3\/SDL_hints.h 4211:9@
+--     [C declaration]: @macro SDL_HINT_VITA_PVR_OPENGL@, literal @\"SDL_VITA_PVR_OPENGL\"@, defined at @SDL3\/SDL_hints.h 4308:9@
 sDL_HINT_VITA_PVR_OPENGL :: BG.ByteString
 sDL_HINT_VITA_PVR_OPENGL =
   BG.pack
@@ -10729,7 +10943,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VITA_TOUCH_MOUSE_DEVICE@, literal @\"SDL_VITA_TOUCH_MOUSE_DEVICE\"@, defined at @SDL3\/SDL_hints.h 4227:9@
+--     [C declaration]: @macro SDL_HINT_VITA_TOUCH_MOUSE_DEVICE@, literal @\"SDL_VITA_TOUCH_MOUSE_DEVICE\"@, defined at @SDL3\/SDL_hints.h 4324:9@
 sDL_HINT_VITA_TOUCH_MOUSE_DEVICE :: BG.ByteString
 sDL_HINT_VITA_TOUCH_MOUSE_DEVICE =
   BG.pack
@@ -10770,7 +10984,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VULKAN_DISPLAY@, literal @\"SDL_VULKAN_DISPLAY\"@, defined at @SDL3\/SDL_hints.h 4238:9@
+--     [C declaration]: @macro SDL_HINT_VULKAN_DISPLAY@, literal @\"SDL_VULKAN_DISPLAY\"@, defined at @SDL3\/SDL_hints.h 4335:9@
 sDL_HINT_VULKAN_DISPLAY :: BG.ByteString
 sDL_HINT_VULKAN_DISPLAY =
   BG.pack
@@ -10800,7 +11014,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_VULKAN_LIBRARY@, literal @\"SDL_VULKAN_LIBRARY\"@, defined at @SDL3\/SDL_hints.h 4248:9@
+--     [C declaration]: @macro SDL_HINT_VULKAN_LIBRARY@, literal @\"SDL_VULKAN_LIBRARY\"@, defined at @SDL3\/SDL_hints.h 4345:9@
 sDL_HINT_VULKAN_LIBRARY :: BG.ByteString
 sDL_HINT_VULKAN_LIBRARY =
   BG.pack
@@ -10844,7 +11058,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_WAVE_FACT_CHUNK@, literal @\"SDL_WAVE_FACT_CHUNK\"@, defined at @SDL3\/SDL_hints.h 4280:9@
+--     [C declaration]: @macro SDL_HINT_WAVE_FACT_CHUNK@, literal @\"SDL_WAVE_FACT_CHUNK\"@, defined at @SDL3\/SDL_hints.h 4377:9@
 sDL_HINT_WAVE_FACT_CHUNK :: BG.ByteString
 sDL_HINT_WAVE_FACT_CHUNK =
   BG.pack
@@ -10877,7 +11091,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_WAVE_CHUNK_LIMIT@, literal @\"SDL_WAVE_CHUNK_LIMIT\"@, defined at @SDL3\/SDL_hints.h 4292:9@
+--     [C declaration]: @macro SDL_HINT_WAVE_CHUNK_LIMIT@, literal @\"SDL_WAVE_CHUNK_LIMIT\"@, defined at @SDL3\/SDL_hints.h 4389:9@
 sDL_HINT_WAVE_CHUNK_LIMIT :: BG.ByteString
 sDL_HINT_WAVE_CHUNK_LIMIT =
   BG.pack
@@ -10923,7 +11137,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_WAVE_RIFF_CHUNK_SIZE@, literal @\"SDL_WAVE_RIFF_CHUNK_SIZE\"@, defined at @SDL3\/SDL_hints.h 4320:9@
+--     [C declaration]: @macro SDL_HINT_WAVE_RIFF_CHUNK_SIZE@, literal @\"SDL_WAVE_RIFF_CHUNK_SIZE\"@, defined at @SDL3\/SDL_hints.h 4417:9@
 sDL_HINT_WAVE_RIFF_CHUNK_SIZE :: BG.ByteString
 sDL_HINT_WAVE_RIFF_CHUNK_SIZE =
   BG.pack
@@ -10971,7 +11185,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_WAVE_TRUNCATION@, literal @\"SDL_WAVE_TRUNCATION\"@, defined at @SDL3\/SDL_hints.h 4340:9@
+--     [C declaration]: @macro SDL_HINT_WAVE_TRUNCATION@, literal @\"SDL_WAVE_TRUNCATION\"@, defined at @SDL3\/SDL_hints.h 4437:9@
 sDL_HINT_WAVE_TRUNCATION :: BG.ByteString
 sDL_HINT_WAVE_TRUNCATION =
   BG.pack
@@ -11008,7 +11222,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_WINDOW_ACTIVATE_WHEN_RAISED@, literal @\"SDL_WINDOW_ACTIVATE_WHEN_RAISED\"@, defined at @SDL3\/SDL_hints.h 4357:9@
+--     [C declaration]: @macro SDL_HINT_WINDOW_ACTIVATE_WHEN_RAISED@, literal @\"SDL_WINDOW_ACTIVATE_WHEN_RAISED\"@, defined at @SDL3\/SDL_hints.h 4454:9@
 sDL_HINT_WINDOW_ACTIVATE_WHEN_RAISED :: BG.ByteString
 sDL_HINT_WINDOW_ACTIVATE_WHEN_RAISED =
   BG.pack
@@ -11057,7 +11271,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_WINDOW_ACTIVATE_WHEN_SHOWN@, literal @\"SDL_WINDOW_ACTIVATE_WHEN_SHOWN\"@, defined at @SDL3\/SDL_hints.h 4374:9@
+--     [C declaration]: @macro SDL_HINT_WINDOW_ACTIVATE_WHEN_SHOWN@, literal @\"SDL_WINDOW_ACTIVATE_WHEN_SHOWN\"@, defined at @SDL3\/SDL_hints.h 4471:9@
 sDL_HINT_WINDOW_ACTIVATE_WHEN_SHOWN :: BG.ByteString
 sDL_HINT_WINDOW_ACTIVATE_WHEN_SHOWN =
   BG.pack
@@ -11107,7 +11321,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_WINDOW_ALLOW_TOPMOST@, literal @\"SDL_WINDOW_ALLOW_TOPMOST\"@, defined at @SDL3\/SDL_hints.h 4392:9@
+--     [C declaration]: @macro SDL_HINT_WINDOW_ALLOW_TOPMOST@, literal @\"SDL_WINDOW_ALLOW_TOPMOST\"@, defined at @SDL3\/SDL_hints.h 4489:9@
 sDL_HINT_WINDOW_ALLOW_TOPMOST :: BG.ByteString
 sDL_HINT_WINDOW_ALLOW_TOPMOST =
   BG.pack
@@ -11149,7 +11363,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN@, literal @\"SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN\"@, defined at @SDL3\/SDL_hints.h 4408:9@
+--     [C declaration]: @macro SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN@, literal @\"SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN\"@, defined at @SDL3\/SDL_hints.h 4505:9@
 sDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN :: BG.ByteString
 sDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN =
   BG.pack
@@ -11210,7 +11424,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_WINDOWS_CLOSE_ON_ALT_F4@, literal @\"SDL_WINDOWS_CLOSE_ON_ALT_F4\"@, defined at @SDL3\/SDL_hints.h 4424:9@
+--     [C declaration]: @macro SDL_HINT_WINDOWS_CLOSE_ON_ALT_F4@, literal @\"SDL_WINDOWS_CLOSE_ON_ALT_F4\"@, defined at @SDL3\/SDL_hints.h 4521:9@
 sDL_HINT_WINDOWS_CLOSE_ON_ALT_F4 :: BG.ByteString
 sDL_HINT_WINDOWS_CLOSE_ON_ALT_F4 =
   BG.pack
@@ -11261,7 +11475,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_WINDOWS_ENABLE_MENU_MNEMONICS@, literal @\"SDL_WINDOWS_ENABLE_MENU_MNEMONICS\"@, defined at @SDL3\/SDL_hints.h 4453:9@
+--     [C declaration]: @macro SDL_HINT_WINDOWS_ENABLE_MENU_MNEMONICS@, literal @\"SDL_WINDOWS_ENABLE_MENU_MNEMONICS\"@, defined at @SDL3\/SDL_hints.h 4550:9@
 sDL_HINT_WINDOWS_ENABLE_MENU_MNEMONICS :: BG.ByteString
 sDL_HINT_WINDOWS_ENABLE_MENU_MNEMONICS =
   BG.pack
@@ -11312,7 +11526,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP@, literal @\"SDL_WINDOWS_ENABLE_MESSAGELOOP\"@, defined at @SDL3\/SDL_hints.h 4468:9@
+--     [C declaration]: @macro SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP@, literal @\"SDL_WINDOWS_ENABLE_MESSAGELOOP\"@, defined at @SDL3\/SDL_hints.h 4565:9@
 sDL_HINT_WINDOWS_ENABLE_MESSAGELOOP :: BG.ByteString
 sDL_HINT_WINDOWS_ENABLE_MESSAGELOOP =
   BG.pack
@@ -11360,7 +11574,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_WINDOWS_GAMEINPUT@, literal @\"SDL_WINDOWS_GAMEINPUT\"@, defined at @SDL3\/SDL_hints.h 4483:9@
+--     [C declaration]: @macro SDL_HINT_WINDOWS_GAMEINPUT@, literal @\"SDL_WINDOWS_GAMEINPUT\"@, defined at @SDL3\/SDL_hints.h 4580:9@
 sDL_HINT_WINDOWS_GAMEINPUT :: BG.ByteString
 sDL_HINT_WINDOWS_GAMEINPUT =
   BG.pack
@@ -11399,7 +11613,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_WINDOWS_RAW_KEYBOARD@, literal @\"SDL_WINDOWS_RAW_KEYBOARD\"@, defined at @SDL3\/SDL_hints.h 4497:9@
+--     [C declaration]: @macro SDL_HINT_WINDOWS_RAW_KEYBOARD@, literal @\"SDL_WINDOWS_RAW_KEYBOARD\"@, defined at @SDL3\/SDL_hints.h 4594:9@
 sDL_HINT_WINDOWS_RAW_KEYBOARD :: BG.ByteString
 sDL_HINT_WINDOWS_RAW_KEYBOARD =
   BG.pack
@@ -11445,7 +11659,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @macro SDL_HINT_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYS@, literal @\"SDL_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYS\"@, defined at @SDL3\/SDL_hints.h 4519:9@
+--     [C declaration]: @macro SDL_HINT_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYS@, literal @\"SDL_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYS\"@, defined at @SDL3\/SDL_hints.h 4616:9@
 sDL_HINT_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYS :: BG.ByteString
 sDL_HINT_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYS =
   BG.pack
@@ -11491,6 +11705,60 @@
     , 0x53
     ]
 
+-- | A variable controlling whether the RIDEV_INPUTSINK flag is set when enabling Windows raw keyboard events.
+--
+--     This enables the window to still receive input even if not in foreground.
+--
+--     Focused windows that receive text input will still prevent input events from triggering.
+--
+--     * \"0\": Input is not received when not in focus or foreground. (default)
+--
+--     * \"1\": Input will be received even when not in focus or foreground.
+--
+--     This hint can be set anytime.
+--
+--     @since 3.4.4
+--
+--     [C declaration]: @macro SDL_HINT_WINDOWS_RAW_KEYBOARD_INPUTSINK@, literal @\"SDL_WINDOWS_RAW_KEYBOARD_INPUTSINK\"@, defined at @SDL3\/SDL_hints.h 4633:9@
+sDL_HINT_WINDOWS_RAW_KEYBOARD_INPUTSINK :: BG.ByteString
+sDL_HINT_WINDOWS_RAW_KEYBOARD_INPUTSINK =
+  BG.pack
+    [ 0x53
+    , 0x44
+    , 0x4C
+    , 0x5F
+    , 0x57
+    , 0x49
+    , 0x4E
+    , 0x44
+    , 0x4F
+    , 0x57
+    , 0x53
+    , 0x5F
+    , 0x52
+    , 0x41
+    , 0x57
+    , 0x5F
+    , 0x4B
+    , 0x45
+    , 0x59
+    , 0x42
+    , 0x4F
+    , 0x41
+    , 0x52
+    , 0x44
+    , 0x5F
+    , 0x49
+    , 0x4E
+    , 0x50
+    , 0x55
+    , 0x54
+    , 0x53
+    , 0x49
+    , 0x4E
+    , 0x4B
+    ]
+
 -- | A variable controlling whether SDL uses Kernel Semaphores on Windows.
 --
 --     Kernel Semaphores are inter-process and require a context switch on every interaction. On Windows 8 and newer, the WaitOnAddress API is available. Using that and atomics to implement semaphores increases performance. SDL will fall back to Kernel Objects on older OS versions or if forced to by this hint.
@@ -11505,7 +11773,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL@, literal @\"SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL\"@, defined at @SDL3\/SDL_hints.h 4540:9@
+--     [C declaration]: @macro SDL_HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL@, literal @\"SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL\"@, defined at @SDL3\/SDL_hints.h 4654:9@
 sDL_HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL :: BG.ByteString
 sDL_HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL =
   BG.pack
@@ -11551,7 +11819,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_WINDOWS_INTRESOURCE_ICON@, literal @\"SDL_WINDOWS_INTRESOURCE_ICON\"@, defined at @SDL3\/SDL_hints.h 4550:9@
+--     [C declaration]: @macro SDL_HINT_WINDOWS_INTRESOURCE_ICON@, literal @\"SDL_WINDOWS_INTRESOURCE_ICON\"@, defined at @SDL3\/SDL_hints.h 4664:9@
 sDL_HINT_WINDOWS_INTRESOURCE_ICON :: BG.ByteString
 sDL_HINT_WINDOWS_INTRESOURCE_ICON =
   BG.pack
@@ -11591,7 +11859,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL@, literal @\"SDL_WINDOWS_INTRESOURCE_ICON_SMALL\"@, defined at @SDL3\/SDL_hints.h 4560:9@
+--     [C declaration]: @macro SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL@, literal @\"SDL_WINDOWS_INTRESOURCE_ICON_SMALL\"@, defined at @SDL3\/SDL_hints.h 4674:9@
 sDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL :: BG.ByteString
 sDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL =
   BG.pack
@@ -11651,7 +11919,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_WINDOWS_USE_D3D9EX@, literal @\"SDL_WINDOWS_USE_D3D9EX\"@, defined at @SDL3\/SDL_hints.h 4586:9@
+--     [C declaration]: @macro SDL_HINT_WINDOWS_USE_D3D9EX@, literal @\"SDL_WINDOWS_USE_D3D9EX\"@, defined at @SDL3\/SDL_hints.h 4700:9@
 sDL_HINT_WINDOWS_USE_D3D9EX :: BG.ByteString
 sDL_HINT_WINDOWS_USE_D3D9EX =
   BG.pack
@@ -11693,7 +11961,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_WINDOWS_ERASE_BACKGROUND_MODE@, literal @\"SDL_WINDOWS_ERASE_BACKGROUND_MODE\"@, defined at @SDL3\/SDL_hints.h 4603:9@
+--     [C declaration]: @macro SDL_HINT_WINDOWS_ERASE_BACKGROUND_MODE@, literal @\"SDL_WINDOWS_ERASE_BACKGROUND_MODE\"@, defined at @SDL3\/SDL_hints.h 4717:9@
 sDL_HINT_WINDOWS_ERASE_BACKGROUND_MODE :: BG.ByteString
 sDL_HINT_WINDOWS_ERASE_BACKGROUND_MODE =
   BG.pack
@@ -11748,7 +12016,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_X11_FORCE_OVERRIDE_REDIRECT@, literal @\"SDL_X11_FORCE_OVERRIDE_REDIRECT\"@, defined at @SDL3\/SDL_hints.h 4624:9@
+--     [C declaration]: @macro SDL_HINT_X11_FORCE_OVERRIDE_REDIRECT@, literal @\"SDL_X11_FORCE_OVERRIDE_REDIRECT\"@, defined at @SDL3\/SDL_hints.h 4738:9@
 sDL_HINT_X11_FORCE_OVERRIDE_REDIRECT :: BG.ByteString
 sDL_HINT_X11_FORCE_OVERRIDE_REDIRECT =
   BG.pack
@@ -11793,7 +12061,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_X11_WINDOW_TYPE@, literal @\"SDL_X11_WINDOW_TYPE\"@, defined at @SDL3\/SDL_hints.h 4641:9@
+--     [C declaration]: @macro SDL_HINT_X11_WINDOW_TYPE@, literal @\"SDL_X11_WINDOW_TYPE\"@, defined at @SDL3\/SDL_hints.h 4755:9@
 sDL_HINT_X11_WINDOW_TYPE :: BG.ByteString
 sDL_HINT_X11_WINDOW_TYPE =
   BG.pack
@@ -11826,7 +12094,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_X11_XCB_LIBRARY@, literal @\"SDL_X11_XCB_LIBRARY\"@, defined at @SDL3\/SDL_hints.h 4652:9@
+--     [C declaration]: @macro SDL_HINT_X11_XCB_LIBRARY@, literal @\"SDL_X11_XCB_LIBRARY\"@, defined at @SDL3\/SDL_hints.h 4766:9@
 sDL_HINT_X11_XCB_LIBRARY :: BG.ByteString
 sDL_HINT_X11_XCB_LIBRARY =
   BG.pack
@@ -11863,7 +12131,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_XINPUT_ENABLED@, literal @\"SDL_XINPUT_ENABLED\"@, defined at @SDL3\/SDL_hints.h 4667:9@
+--     [C declaration]: @macro SDL_HINT_XINPUT_ENABLED@, literal @\"SDL_XINPUT_ENABLED\"@, defined at @SDL3\/SDL_hints.h 4781:9@
 sDL_HINT_XINPUT_ENABLED :: BG.ByteString
 sDL_HINT_XINPUT_ENABLED =
   BG.pack
@@ -11907,7 +12175,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_ASSERT@, literal @\"SDL_ASSERT\"@, defined at @SDL3\/SDL_hints.h 4691:9@
+--     [C declaration]: @macro SDL_HINT_ASSERT@, literal @\"SDL_ASSERT\"@, defined at @SDL3\/SDL_hints.h 4805:9@
 sDL_HINT_ASSERT :: BG.ByteString
 sDL_HINT_ASSERT =
   BG.pack [0x53, 0x44, 0x4C, 0x5F, 0x41, 0x53, 0x53, 0x45, 0x52, 0x54]
@@ -11924,7 +12192,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_PEN_MOUSE_EVENTS@, literal @\"SDL_PEN_MOUSE_EVENTS\"@, defined at @SDL3\/SDL_hints.h 4706:9@
+--     [C declaration]: @macro SDL_HINT_PEN_MOUSE_EVENTS@, literal @\"SDL_PEN_MOUSE_EVENTS\"@, defined at @SDL3\/SDL_hints.h 4820:9@
 sDL_HINT_PEN_MOUSE_EVENTS :: BG.ByteString
 sDL_HINT_PEN_MOUSE_EVENTS =
   BG.pack
@@ -11962,7 +12230,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @macro SDL_HINT_PEN_TOUCH_EVENTS@, literal @\"SDL_PEN_TOUCH_EVENTS\"@, defined at @SDL3\/SDL_hints.h 4721:9@
+--     [C declaration]: @macro SDL_HINT_PEN_TOUCH_EVENTS@, literal @\"SDL_PEN_TOUCH_EVENTS\"@, defined at @SDL3\/SDL_hints.h 4835:9@
 sDL_HINT_PEN_TOUCH_EVENTS :: BG.ByteString
 sDL_HINT_PEN_TOUCH_EVENTS =
   BG.pack
@@ -11992,7 +12260,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @enum SDL_HintPriority@, defined at @SDL3\/SDL_hints.h 4728:14@
+--     [C declaration]: @enum SDL_HintPriority@, defined at @SDL3\/SDL_hints.h 4842:14@
 newtype SDL_HintPriority = SDL_HintPriority
   { unwrap :: BG.CUInt
   }
@@ -12084,21 +12352,21 @@
 
   offset# = \_ -> \_ -> 0
 
--- | [C declaration]: @SDL_HINT_DEFAULT@, defined at @SDL3\/SDL_hints.h 4730:5@
+-- | [C declaration]: @SDL_HINT_DEFAULT@, defined at @SDL3\/SDL_hints.h 4844:5@
 pattern SDL_HINT_DEFAULT :: SDL_HintPriority
 pattern SDL_HINT_DEFAULT = SDL_HintPriority 0
 
--- | [C declaration]: @SDL_HINT_NORMAL@, defined at @SDL3\/SDL_hints.h 4731:5@
+-- | [C declaration]: @SDL_HINT_NORMAL@, defined at @SDL3\/SDL_hints.h 4845:5@
 pattern SDL_HINT_NORMAL :: SDL_HintPriority
 pattern SDL_HINT_NORMAL = SDL_HintPriority 1
 
--- | [C declaration]: @SDL_HINT_OVERRIDE@, defined at @SDL3\/SDL_hints.h 4732:5@
+-- | [C declaration]: @SDL_HINT_OVERRIDE@, defined at @SDL3\/SDL_hints.h 4846:5@
 pattern SDL_HINT_OVERRIDE :: SDL_HintPriority
 pattern SDL_HINT_OVERRIDE = SDL_HintPriority 2
 
 -- | Auxiliary type used by 'SDL_HintCallback'
 --
---     [C declaration]: @SDL_HintCallback@, defined at @SDL3\/SDL_hints.h 4866:23@
+--     [C declaration]: @SDL_HintCallback@, defined at @SDL3\/SDL_hints.h 4981:23@
 newtype SDL_HintCallback_Aux = SDL_HintCallback_Aux
   { unwrap
       :: BG.Ptr BG.Void
@@ -12192,7 +12460,7 @@
 
 -- | A callback used to send notifications of hint value changes.
 --
---     This is called an initial time during SDL_AddHintCallback with the hint\'s current value, and then again each time the hint\'s value changes.
+--     This is called an initial time during SDL_AddHintCallback with the hint\'s current value, and then again each time the hint\'s value changes. In the initial call, the current value is in both @oldValue@ and @newValue@.
 --
 --     [@userdata@]: what was passed as @userdata@ to @SDL_AddHintCallback()@.
 --
@@ -12208,7 +12476,7 @@
 --
 --     [See also]: 'sDL_AddHintCallback'
 --
---     [C declaration]: @SDL_HintCallback@, defined at @SDL3\/SDL_hints.h 4866:23@
+--     [C declaration]: @SDL_HintCallback@, defined at @SDL3\/SDL_hints.h 4981:23@
 newtype SDL_HintCallback = SDL_HintCallback
   { unwrap :: BG.FunPtr SDL_HintCallback_Aux
   }
diff --git a/src/SDL3/Sys/Bindgen/Hints/FunPtr.hs b/src/SDL3/Sys/Bindgen/Hints/FunPtr.hs
--- a/src/SDL3/Sys/Bindgen/Hints/FunPtr.hs
+++ b/src/SDL3/Sys/Bindgen/Hints/FunPtr.hs
@@ -130,7 +130,7 @@
 --
 --     [See also]: 'sDL_GetHint', 'sDL_ResetHint', 'sDL_SetHint'
 --
---     [C declaration]: @SDL_SetHintWithPriority@, defined at @SDL3\/SDL_hints.h 4756:34@
+--     [C declaration]: @SDL_SetHintWithPriority@, defined at @SDL3\/SDL_hints.h 4870:34@
 sDL_SetHintWithPriority
   :: BG.FunPtr
        (PtrConst.PtrConst BG.CChar -> PtrConst.PtrConst BG.CChar -> SDL_HintPriority -> IO BG.CBool)
@@ -166,7 +166,7 @@
 --
 --     [See also]: 'sDL_GetHint', 'sDL_ResetHint', 'sDL_SetHintWithPriority'
 --
---     [C declaration]: @SDL_SetHint@, defined at @SDL3\/SDL_hints.h 4778:34@
+--     [C declaration]: @SDL_SetHint@, defined at @SDL3\/SDL_hints.h 4892:34@
 sDL_SetHint :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> PtrConst.PtrConst BG.CChar -> IO BG.CBool)
 sDL_SetHint =
   BG.unsafePerformIO hs_bindgen_67e0f6aa5619e9be
@@ -197,7 +197,7 @@
 --
 --     [See also]: 'sDL_SetHint', 'sDL_ResetHints'
 --
---     [C declaration]: @SDL_ResetHint@, defined at @SDL3\/SDL_hints.h 4798:34@
+--     [C declaration]: @SDL_ResetHint@, defined at @SDL3\/SDL_hints.h 4912:34@
 sDL_ResetHint :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> IO BG.CBool)
 sDL_ResetHint =
   BG.unsafePerformIO hs_bindgen_978a3ef046005881
@@ -224,7 +224,7 @@
 --
 --     [See also]: 'sDL_ResetHint'
 --
---     [C declaration]: @SDL_ResetHints@, defined at @SDL3\/SDL_hints.h 4813:34@
+--     [C declaration]: @SDL_ResetHints@, defined at @SDL3\/SDL_hints.h 4927:34@
 sDL_ResetHints :: BG.FunPtr (IO ())
 sDL_ResetHints =
   BG.unsafePerformIO hs_bindgen_55759cca20a8fc7a
@@ -254,7 +254,7 @@
 --
 --     [See also]: 'sDL_SetHint', 'sDL_SetHintWithPriority'
 --
---     [C declaration]: @SDL_GetHint@, defined at @SDL3\/SDL_hints.h 4828:41@
+--     [C declaration]: @SDL_GetHint@, defined at @SDL3\/SDL_hints.h 4942:41@
 sDL_GetHint :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> IO (PtrConst.PtrConst BG.CChar))
 sDL_GetHint =
   BG.unsafePerformIO hs_bindgen_76a1a86d4bb7fe80
@@ -286,7 +286,7 @@
 --
 --     [See also]: 'sDL_GetHint', 'sDL_SetHint'
 --
---     [C declaration]: @SDL_GetHintBoolean@, defined at @SDL3\/SDL_hints.h 4845:34@
+--     [C declaration]: @SDL_GetHintBoolean@, defined at @SDL3\/SDL_hints.h 4959:34@
 sDL_GetHintBoolean :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> BG.CBool -> IO BG.CBool)
 sDL_GetHintBoolean =
   BG.unsafePerformIO hs_bindgen_31d7e0760df235bb
@@ -322,7 +322,7 @@
 --
 --     [See also]: 'sDL_RemoveHintCallback'
 --
---     [C declaration]: @SDL_AddHintCallback@, defined at @SDL3\/SDL_hints.h 4887:34@
+--     [C declaration]: @SDL_AddHintCallback@, defined at @SDL3\/SDL_hints.h 5002:34@
 sDL_AddHintCallback
   :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> SDL_HintCallback -> BG.Ptr BG.Void -> IO BG.CBool)
 sDL_AddHintCallback =
@@ -355,7 +355,7 @@
 --
 --     [See also]: 'sDL_AddHintCallback'
 --
---     [C declaration]: @SDL_RemoveHintCallback@, defined at @SDL3\/SDL_hints.h 4903:34@
+--     [C declaration]: @SDL_RemoveHintCallback@, defined at @SDL3\/SDL_hints.h 5018:34@
 sDL_RemoveHintCallback
   :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> SDL_HintCallback -> BG.Ptr BG.Void -> IO ())
 sDL_RemoveHintCallback =
diff --git a/src/SDL3/Sys/Bindgen/Hints/Safe.hs b/src/SDL3/Sys/Bindgen/Hints/Safe.hs
--- a/src/SDL3/Sys/Bindgen/Hints/Safe.hs
+++ b/src/SDL3/Sys/Bindgen/Hints/Safe.hs
@@ -109,7 +109,7 @@
 --
 --     [See also]: 'sDL_GetHint', 'sDL_ResetHint', 'sDL_SetHint'
 --
---     [C declaration]: @SDL_SetHintWithPriority@, defined at @SDL3\/SDL_hints.h 4756:34@
+--     [C declaration]: @SDL_SetHintWithPriority@, defined at @SDL3\/SDL_hints.h 4870:34@
 sDL_SetHintWithPriority
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -153,7 +153,7 @@
 --
 --     [See also]: 'sDL_GetHint', 'sDL_ResetHint', 'sDL_SetHintWithPriority'
 --
---     [C declaration]: @SDL_SetHint@, defined at @SDL3\/SDL_hints.h 4778:34@
+--     [C declaration]: @SDL_SetHint@, defined at @SDL3\/SDL_hints.h 4892:34@
 sDL_SetHint
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -191,7 +191,7 @@
 --
 --     [See also]: 'sDL_SetHint', 'sDL_ResetHints'
 --
---     [C declaration]: @SDL_ResetHint@, defined at @SDL3\/SDL_hints.h 4798:34@
+--     [C declaration]: @SDL_ResetHint@, defined at @SDL3\/SDL_hints.h 4912:34@
 sDL_ResetHint
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -220,7 +220,7 @@
 --
 --     [See also]: 'sDL_ResetHint'
 --
---     [C declaration]: @SDL_ResetHints@, defined at @SDL3\/SDL_hints.h 4813:34@
+--     [C declaration]: @SDL_ResetHints@, defined at @SDL3\/SDL_hints.h 4927:34@
 sDL_ResetHints :: IO ()
 sDL_ResetHints = hs_bindgen_fd2e64a782ded6df
 
@@ -247,7 +247,7 @@
 --
 --     [See also]: 'sDL_SetHint', 'sDL_SetHintWithPriority'
 --
---     [C declaration]: @SDL_GetHint@, defined at @SDL3\/SDL_hints.h 4828:41@
+--     [C declaration]: @SDL_GetHint@, defined at @SDL3\/SDL_hints.h 4942:41@
 sDL_GetHint
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -281,7 +281,7 @@
 --
 --     [See also]: 'sDL_GetHint', 'sDL_SetHint'
 --
---     [C declaration]: @SDL_GetHintBoolean@, defined at @SDL3\/SDL_hints.h 4845:34@
+--     [C declaration]: @SDL_GetHintBoolean@, defined at @SDL3\/SDL_hints.h 4959:34@
 sDL_GetHintBoolean
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -323,7 +323,7 @@
 --
 --     [See also]: 'sDL_RemoveHintCallback'
 --
---     [C declaration]: @SDL_AddHintCallback@, defined at @SDL3\/SDL_hints.h 4887:34@
+--     [C declaration]: @SDL_AddHintCallback@, defined at @SDL3\/SDL_hints.h 5002:34@
 sDL_AddHintCallback
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -365,7 +365,7 @@
 --
 --     [See also]: 'sDL_AddHintCallback'
 --
---     [C declaration]: @SDL_RemoveHintCallback@, defined at @SDL3\/SDL_hints.h 4903:34@
+--     [C declaration]: @SDL_RemoveHintCallback@, defined at @SDL3\/SDL_hints.h 5018:34@
 sDL_RemoveHintCallback
   :: PtrConst.PtrConst BG.CChar
   -- ^
diff --git a/src/SDL3/Sys/Bindgen/Hints/Unsafe.hs b/src/SDL3/Sys/Bindgen/Hints/Unsafe.hs
--- a/src/SDL3/Sys/Bindgen/Hints/Unsafe.hs
+++ b/src/SDL3/Sys/Bindgen/Hints/Unsafe.hs
@@ -109,7 +109,7 @@
 --
 --     [See also]: 'sDL_GetHint', 'sDL_ResetHint', 'sDL_SetHint'
 --
---     [C declaration]: @SDL_SetHintWithPriority@, defined at @SDL3\/SDL_hints.h 4756:34@
+--     [C declaration]: @SDL_SetHintWithPriority@, defined at @SDL3\/SDL_hints.h 4870:34@
 sDL_SetHintWithPriority
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -153,7 +153,7 @@
 --
 --     [See also]: 'sDL_GetHint', 'sDL_ResetHint', 'sDL_SetHintWithPriority'
 --
---     [C declaration]: @SDL_SetHint@, defined at @SDL3\/SDL_hints.h 4778:34@
+--     [C declaration]: @SDL_SetHint@, defined at @SDL3\/SDL_hints.h 4892:34@
 sDL_SetHint
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -191,7 +191,7 @@
 --
 --     [See also]: 'sDL_SetHint', 'sDL_ResetHints'
 --
---     [C declaration]: @SDL_ResetHint@, defined at @SDL3\/SDL_hints.h 4798:34@
+--     [C declaration]: @SDL_ResetHint@, defined at @SDL3\/SDL_hints.h 4912:34@
 sDL_ResetHint
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -220,7 +220,7 @@
 --
 --     [See also]: 'sDL_ResetHint'
 --
---     [C declaration]: @SDL_ResetHints@, defined at @SDL3\/SDL_hints.h 4813:34@
+--     [C declaration]: @SDL_ResetHints@, defined at @SDL3\/SDL_hints.h 4927:34@
 sDL_ResetHints :: IO ()
 sDL_ResetHints = hs_bindgen_55d0a8bf7baacba4
 
@@ -247,7 +247,7 @@
 --
 --     [See also]: 'sDL_SetHint', 'sDL_SetHintWithPriority'
 --
---     [C declaration]: @SDL_GetHint@, defined at @SDL3\/SDL_hints.h 4828:41@
+--     [C declaration]: @SDL_GetHint@, defined at @SDL3\/SDL_hints.h 4942:41@
 sDL_GetHint
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -281,7 +281,7 @@
 --
 --     [See also]: 'sDL_GetHint', 'sDL_SetHint'
 --
---     [C declaration]: @SDL_GetHintBoolean@, defined at @SDL3\/SDL_hints.h 4845:34@
+--     [C declaration]: @SDL_GetHintBoolean@, defined at @SDL3\/SDL_hints.h 4959:34@
 sDL_GetHintBoolean
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -323,7 +323,7 @@
 --
 --     [See also]: 'sDL_RemoveHintCallback'
 --
---     [C declaration]: @SDL_AddHintCallback@, defined at @SDL3\/SDL_hints.h 4887:34@
+--     [C declaration]: @SDL_AddHintCallback@, defined at @SDL3\/SDL_hints.h 5002:34@
 sDL_AddHintCallback
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -365,7 +365,7 @@
 --
 --     [See also]: 'sDL_AddHintCallback'
 --
---     [C declaration]: @SDL_RemoveHintCallback@, defined at @SDL3\/SDL_hints.h 4903:34@
+--     [C declaration]: @SDL_RemoveHintCallback@, defined at @SDL3\/SDL_hints.h 5018:34@
 sDL_RemoveHintCallback
   :: PtrConst.PtrConst BG.CChar
   -- ^
diff --git a/src/SDL3/Sys/Bindgen/Log/FunPtr.hs b/src/SDL3/Sys/Bindgen/Log/FunPtr.hs
--- a/src/SDL3/Sys/Bindgen/Log/FunPtr.hs
+++ b/src/SDL3/Sys/Bindgen/Log/FunPtr.hs
@@ -252,7 +252,7 @@
 
 -- | Get the default log output function.
 --
---     [Returns]: the default log output callback.
+--     [Returns]: the default log output callback. It should be called with NULL for the userdata argument.
 --
 --     [Thread safety]: It is safe to call this function from any thread.
 --
@@ -260,7 +260,7 @@
 --
 --     [See also]: 'sDL_SetLogOutputFunction', 'sDL_GetLogOutputFunction'
 --
---     [C declaration]: @SDL_GetDefaultLogOutputFunction@, defined at @SDL3\/SDL_log.h 499:51@
+--     [C declaration]: @SDL_GetDefaultLogOutputFunction@, defined at @SDL3\/SDL_log.h 500:51@
 sDL_GetDefaultLogOutputFunction :: BG.FunPtr (IO SDL_LogOutputFunction)
 sDL_GetDefaultLogOutputFunction =
   BG.unsafePerformIO hs_bindgen_48e509121cb8d650
@@ -290,7 +290,7 @@
 --
 --     [See also]: 'sDL_GetDefaultLogOutputFunction', 'sDL_SetLogOutputFunction'
 --
---     [C declaration]: @SDL_GetLogOutputFunction@, defined at @SDL3\/SDL_log.h 516:34@
+--     [C declaration]: @SDL_GetLogOutputFunction@, defined at @SDL3\/SDL_log.h 517:34@
 sDL_GetLogOutputFunction
   :: BG.FunPtr (BG.Ptr SDL_LogOutputFunction -> BG.Ptr (BG.Ptr BG.Void) -> IO ())
 sDL_GetLogOutputFunction =
@@ -320,7 +320,7 @@
 --
 --     [See also]: 'sDL_GetDefaultLogOutputFunction', 'sDL_GetLogOutputFunction'
 --
---     [C declaration]: @SDL_SetLogOutputFunction@, defined at @SDL3\/SDL_log.h 531:34@
+--     [C declaration]: @SDL_SetLogOutputFunction@, defined at @SDL3\/SDL_log.h 532:34@
 sDL_SetLogOutputFunction :: BG.FunPtr (SDL_LogOutputFunction -> BG.Ptr BG.Void -> IO ())
 sDL_SetLogOutputFunction =
   BG.unsafePerformIO hs_bindgen_b53e5cacb1899dae
diff --git a/src/SDL3/Sys/Bindgen/Log/Safe.hs b/src/SDL3/Sys/Bindgen/Log/Safe.hs
--- a/src/SDL3/Sys/Bindgen/Log/Safe.hs
+++ b/src/SDL3/Sys/Bindgen/Log/Safe.hs
@@ -251,7 +251,7 @@
 
 -- | Get the default log output function.
 --
---     [Returns]: the default log output callback.
+--     [Returns]: the default log output callback. It should be called with NULL for the userdata argument.
 --
 --     [Thread safety]: It is safe to call this function from any thread.
 --
@@ -259,7 +259,7 @@
 --
 --     [See also]: 'sDL_SetLogOutputFunction', 'sDL_GetLogOutputFunction'
 --
---     [C declaration]: @SDL_GetDefaultLogOutputFunction@, defined at @SDL3\/SDL_log.h 499:51@
+--     [C declaration]: @SDL_GetDefaultLogOutputFunction@, defined at @SDL3\/SDL_log.h 500:51@
 sDL_GetDefaultLogOutputFunction :: IO SDL_LogOutputFunction
 sDL_GetDefaultLogOutputFunction =
   hs_bindgen_29e148c925d2e14a
@@ -287,7 +287,7 @@
 --
 --     [See also]: 'sDL_GetDefaultLogOutputFunction', 'sDL_SetLogOutputFunction'
 --
---     [C declaration]: @SDL_GetLogOutputFunction@, defined at @SDL3\/SDL_log.h 516:34@
+--     [C declaration]: @SDL_GetLogOutputFunction@, defined at @SDL3\/SDL_log.h 517:34@
 sDL_GetLogOutputFunction
   :: BG.Ptr SDL_LogOutputFunction
   -- ^
@@ -324,7 +324,7 @@
 --
 --     [See also]: 'sDL_GetDefaultLogOutputFunction', 'sDL_GetLogOutputFunction'
 --
---     [C declaration]: @SDL_SetLogOutputFunction@, defined at @SDL3\/SDL_log.h 531:34@
+--     [C declaration]: @SDL_SetLogOutputFunction@, defined at @SDL3\/SDL_log.h 532:34@
 sDL_SetLogOutputFunction
   :: SDL_LogOutputFunction
   -- ^
diff --git a/src/SDL3/Sys/Bindgen/Log/Unsafe.hs b/src/SDL3/Sys/Bindgen/Log/Unsafe.hs
--- a/src/SDL3/Sys/Bindgen/Log/Unsafe.hs
+++ b/src/SDL3/Sys/Bindgen/Log/Unsafe.hs
@@ -251,7 +251,7 @@
 
 -- | Get the default log output function.
 --
---     [Returns]: the default log output callback.
+--     [Returns]: the default log output callback. It should be called with NULL for the userdata argument.
 --
 --     [Thread safety]: It is safe to call this function from any thread.
 --
@@ -259,7 +259,7 @@
 --
 --     [See also]: 'sDL_SetLogOutputFunction', 'sDL_GetLogOutputFunction'
 --
---     [C declaration]: @SDL_GetDefaultLogOutputFunction@, defined at @SDL3\/SDL_log.h 499:51@
+--     [C declaration]: @SDL_GetDefaultLogOutputFunction@, defined at @SDL3\/SDL_log.h 500:51@
 sDL_GetDefaultLogOutputFunction :: IO SDL_LogOutputFunction
 sDL_GetDefaultLogOutputFunction =
   hs_bindgen_513e0ffa6c24153a
@@ -287,7 +287,7 @@
 --
 --     [See also]: 'sDL_GetDefaultLogOutputFunction', 'sDL_SetLogOutputFunction'
 --
---     [C declaration]: @SDL_GetLogOutputFunction@, defined at @SDL3\/SDL_log.h 516:34@
+--     [C declaration]: @SDL_GetLogOutputFunction@, defined at @SDL3\/SDL_log.h 517:34@
 sDL_GetLogOutputFunction
   :: BG.Ptr SDL_LogOutputFunction
   -- ^
@@ -324,7 +324,7 @@
 --
 --     [See also]: 'sDL_GetDefaultLogOutputFunction', 'sDL_GetLogOutputFunction'
 --
---     [C declaration]: @SDL_SetLogOutputFunction@, defined at @SDL3\/SDL_log.h 531:34@
+--     [C declaration]: @SDL_SetLogOutputFunction@, defined at @SDL3\/SDL_log.h 532:34@
 sDL_SetLogOutputFunction
   :: SDL_LogOutputFunction
   -- ^
diff --git a/src/SDL3/Sys/Bindgen/Main.hs b/src/SDL3/Sys/Bindgen/Main.hs
--- a/src/SDL3/Sys/Bindgen/Main.hs
+++ b/src/SDL3/Sys/Bindgen/Main.hs
@@ -28,7 +28,7 @@
 
 -- | Auxiliary type used by 'SDL_main_func'
 --
---     [C declaration]: @SDL_main_func@, defined at @SDL3\/SDL_main.h 498:23@
+--     [C declaration]: @SDL_main_func@, defined at @SDL3\/SDL_main.h 499:23@
 newtype SDL_main_func_Aux = SDL_main_func_Aux
   { unwrap :: BG.CInt -> BG.Ptr (IsA.Elem (IA.IncompleteArray (BG.Ptr BG.CChar))) -> IO BG.CInt
   }
@@ -105,7 +105,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_main_func@, defined at @SDL3\/SDL_main.h 498:23@
+--     [C declaration]: @SDL_main_func@, defined at @SDL3\/SDL_main.h 499:23@
 newtype SDL_main_func = SDL_main_func
   { unwrap :: BG.FunPtr SDL_main_func_Aux
   }
diff --git a/src/SDL3/Sys/Bindgen/Main/FunPtr.hs b/src/SDL3/Sys/Bindgen/Main/FunPtr.hs
--- a/src/SDL3/Sys/Bindgen/Main/FunPtr.hs
+++ b/src/SDL3/Sys/Bindgen/Main/FunPtr.hs
@@ -83,7 +83,7 @@
 --
 --     [See also]: SDL_Init
 --
---     [C declaration]: @SDL_SetMainReady@, defined at @SDL3\/SDL_main.h 548:34@
+--     [C declaration]: @SDL_SetMainReady@, defined at @SDL3\/SDL_main.h 549:34@
 sDL_SetMainReady :: BG.FunPtr (IO ())
 sDL_SetMainReady =
   BG.unsafePerformIO hs_bindgen_a748be6c08507093
@@ -129,7 +129,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_RunApp@, defined at @SDL3\/SDL_main.h 581:33@
+--     [C declaration]: @SDL_RunApp@, defined at @SDL3\/SDL_main.h 582:33@
 sDL_RunApp
   :: BG.FunPtr
        ( BG.CInt
@@ -188,7 +188,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_EnterAppMainCallbacks@, defined at @SDL3\/SDL_main.h 608:33@
+--     [C declaration]: @SDL_EnterAppMainCallbacks@, defined at @SDL3\/SDL_main.h 609:33@
 sDL_EnterAppMainCallbacks
   :: BG.FunPtr
        ( BG.CInt
@@ -216,13 +216,23 @@
 
 -- | Callback from the application to let the suspend continue.
 --
+--     This should be called from an event watch in response to an @SDL_EVENT_DID_ENTER_BACKGROUND@ event.
+--
+--     When using SDL_Render, your event watch should be added /after/ creating the @SDL_Renderer@; this allows the timing of the D3D12 command queue suspension to execute in the correct order.
+--
+--     When using SDL_GPU, this should be called after calling SDL_GDKSuspendGPU.
+--
+--     If you\'re writing your own D3D12 renderer, this should be called after calling @ID3D12CommandQueue::SuspendX@.
+--
 --     This function is only needed for Xbox GDK support; all other platforms will do nothing and set an \"unsupported\" error message.
 --
 --     [Thread safety]: This function is not thread safe.
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GDKSuspendComplete@, defined at @SDL3\/SDL_main.h 673:34@
+--     [See also]: SDL_AddEventWatch
+--
+--     [C declaration]: @SDL_GDKSuspendComplete@, defined at @SDL3\/SDL_main.h 688:34@
 sDL_GDKSuspendComplete :: BG.FunPtr (IO ())
 sDL_GDKSuspendComplete =
   BG.unsafePerformIO hs_bindgen_07ea6ee797596218
diff --git a/src/SDL3/Sys/Bindgen/Main/Safe.hs b/src/SDL3/Sys/Bindgen/Main/Safe.hs
--- a/src/SDL3/Sys/Bindgen/Main/Safe.hs
+++ b/src/SDL3/Sys/Bindgen/Main/Safe.hs
@@ -73,7 +73,7 @@
 --
 --     [See also]: SDL_Init
 --
---     [C declaration]: @SDL_SetMainReady@, defined at @SDL3\/SDL_main.h 548:34@
+--     [C declaration]: @SDL_SetMainReady@, defined at @SDL3\/SDL_main.h 549:34@
 sDL_SetMainReady :: IO ()
 sDL_SetMainReady = hs_bindgen_1c56a59892e2463e
 
@@ -108,7 +108,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_RunApp@, defined at @SDL3\/SDL_main.h 581:33@
+--     [C declaration]: @SDL_RunApp@, defined at @SDL3\/SDL_main.h 582:33@
 sDL_RunApp
   :: BG.CInt
   -- ^
@@ -164,7 +164,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_EnterAppMainCallbacks@, defined at @SDL3\/SDL_main.h 608:33@
+--     [C declaration]: @SDL_EnterAppMainCallbacks@, defined at @SDL3\/SDL_main.h 609:33@
 sDL_EnterAppMainCallbacks
   :: BG.CInt
   -- ^
@@ -206,12 +206,22 @@
 
 -- | Callback from the application to let the suspend continue.
 --
+--     This should be called from an event watch in response to an @SDL_EVENT_DID_ENTER_BACKGROUND@ event.
+--
+--     When using SDL_Render, your event watch should be added /after/ creating the @SDL_Renderer@; this allows the timing of the D3D12 command queue suspension to execute in the correct order.
+--
+--     When using SDL_GPU, this should be called after calling SDL_GDKSuspendGPU.
+--
+--     If you\'re writing your own D3D12 renderer, this should be called after calling @ID3D12CommandQueue::SuspendX@.
+--
 --     This function is only needed for Xbox GDK support; all other platforms will do nothing and set an \"unsupported\" error message.
 --
 --     [Thread safety]: This function is not thread safe.
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GDKSuspendComplete@, defined at @SDL3\/SDL_main.h 673:34@
+--     [See also]: SDL_AddEventWatch
+--
+--     [C declaration]: @SDL_GDKSuspendComplete@, defined at @SDL3\/SDL_main.h 688:34@
 sDL_GDKSuspendComplete :: IO ()
 sDL_GDKSuspendComplete = hs_bindgen_265bcc9d378e1bc4
diff --git a/src/SDL3/Sys/Bindgen/Main/Unsafe.hs b/src/SDL3/Sys/Bindgen/Main/Unsafe.hs
--- a/src/SDL3/Sys/Bindgen/Main/Unsafe.hs
+++ b/src/SDL3/Sys/Bindgen/Main/Unsafe.hs
@@ -73,7 +73,7 @@
 --
 --     [See also]: SDL_Init
 --
---     [C declaration]: @SDL_SetMainReady@, defined at @SDL3\/SDL_main.h 548:34@
+--     [C declaration]: @SDL_SetMainReady@, defined at @SDL3\/SDL_main.h 549:34@
 sDL_SetMainReady :: IO ()
 sDL_SetMainReady = hs_bindgen_330c7ba17652a449
 
@@ -108,7 +108,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_RunApp@, defined at @SDL3\/SDL_main.h 581:33@
+--     [C declaration]: @SDL_RunApp@, defined at @SDL3\/SDL_main.h 582:33@
 sDL_RunApp
   :: BG.CInt
   -- ^
@@ -164,7 +164,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_EnterAppMainCallbacks@, defined at @SDL3\/SDL_main.h 608:33@
+--     [C declaration]: @SDL_EnterAppMainCallbacks@, defined at @SDL3\/SDL_main.h 609:33@
 sDL_EnterAppMainCallbacks
   :: BG.CInt
   -- ^
@@ -206,12 +206,22 @@
 
 -- | Callback from the application to let the suspend continue.
 --
+--     This should be called from an event watch in response to an @SDL_EVENT_DID_ENTER_BACKGROUND@ event.
+--
+--     When using SDL_Render, your event watch should be added /after/ creating the @SDL_Renderer@; this allows the timing of the D3D12 command queue suspension to execute in the correct order.
+--
+--     When using SDL_GPU, this should be called after calling SDL_GDKSuspendGPU.
+--
+--     If you\'re writing your own D3D12 renderer, this should be called after calling @ID3D12CommandQueue::SuspendX@.
+--
 --     This function is only needed for Xbox GDK support; all other platforms will do nothing and set an \"unsupported\" error message.
 --
 --     [Thread safety]: This function is not thread safe.
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GDKSuspendComplete@, defined at @SDL3\/SDL_main.h 673:34@
+--     [See also]: SDL_AddEventWatch
+--
+--     [C declaration]: @SDL_GDKSuspendComplete@, defined at @SDL3\/SDL_main.h 688:34@
 sDL_GDKSuspendComplete :: IO ()
 sDL_GDKSuspendComplete = hs_bindgen_9f3d69665a0be341
diff --git a/src/SDL3/Sys/Bindgen/Mutex.hs b/src/SDL3/Sys/Bindgen/Mutex.hs
--- a/src/SDL3/Sys/Bindgen/Mutex.hs
+++ b/src/SDL3/Sys/Bindgen/Mutex.hs
@@ -63,7 +63,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @struct SDL_RWLock@, defined at @SDL3\/SDL_mutex.h 437:16@
+--     [C declaration]: @struct SDL_RWLock@, defined at @SDL3\/SDL_mutex.h 438:16@
 data SDL_RWLock
 
 -- | A means to manage access to a resource, by count, between threads.
@@ -76,7 +76,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @struct SDL_Semaphore@, defined at @SDL3\/SDL_mutex.h 682:16@
+--     [C declaration]: @struct SDL_Semaphore@, defined at @SDL3\/SDL_mutex.h 684:16@
 data SDL_Semaphore
 
 -- | A means to block multiple threads until a condition is satisfied.
@@ -89,14 +89,14 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @struct SDL_Condition@, defined at @SDL3\/SDL_mutex.h 839:16@
+--     [C declaration]: @struct SDL_Condition@, defined at @SDL3\/SDL_mutex.h 841:16@
 data SDL_Condition
 
 -- | The current status of an 'SDL_InitState' structure.
 --
 --     @since 3.2.0
 --
---     [C declaration]: @enum SDL_InitStatus@, defined at @SDL3\/SDL_mutex.h 973:14@
+--     [C declaration]: @enum SDL_InitStatus@, defined at @SDL3\/SDL_mutex.h 975:14@
 newtype SDL_InitStatus = SDL_InitStatus
   { unwrap :: BG.CUInt
   }
@@ -189,19 +189,19 @@
 
   offset# = \_ -> \_ -> 0
 
--- | [C declaration]: @SDL_INIT_STATUS_UNINITIALIZED@, defined at @SDL3\/SDL_mutex.h 975:5@
+-- | [C declaration]: @SDL_INIT_STATUS_UNINITIALIZED@, defined at @SDL3\/SDL_mutex.h 977:5@
 pattern SDL_INIT_STATUS_UNINITIALIZED :: SDL_InitStatus
 pattern SDL_INIT_STATUS_UNINITIALIZED = SDL_InitStatus 0
 
--- | [C declaration]: @SDL_INIT_STATUS_INITIALIZING@, defined at @SDL3\/SDL_mutex.h 976:5@
+-- | [C declaration]: @SDL_INIT_STATUS_INITIALIZING@, defined at @SDL3\/SDL_mutex.h 978:5@
 pattern SDL_INIT_STATUS_INITIALIZING :: SDL_InitStatus
 pattern SDL_INIT_STATUS_INITIALIZING = SDL_InitStatus 1
 
--- | [C declaration]: @SDL_INIT_STATUS_INITIALIZED@, defined at @SDL3\/SDL_mutex.h 977:5@
+-- | [C declaration]: @SDL_INIT_STATUS_INITIALIZED@, defined at @SDL3\/SDL_mutex.h 979:5@
 pattern SDL_INIT_STATUS_INITIALIZED :: SDL_InitStatus
 pattern SDL_INIT_STATUS_INITIALIZED = SDL_InitStatus 2
 
--- | [C declaration]: @SDL_INIT_STATUS_UNINITIALIZING@, defined at @SDL3\/SDL_mutex.h 978:5@
+-- | [C declaration]: @SDL_INIT_STATUS_UNINITIALIZING@, defined at @SDL3\/SDL_mutex.h 980:5@
 pattern SDL_INIT_STATUS_UNINITIALIZING :: SDL_InitStatus
 pattern SDL_INIT_STATUS_UNINITIALIZING = SDL_InitStatus 3
 
@@ -257,14 +257,14 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @struct SDL_InitState@, defined at @SDL3\/SDL_mutex.h 1037:16@
+--     [C declaration]: @struct SDL_InitState@, defined at @SDL3\/SDL_mutex.h 1039:16@
 data SDL_InitState = SDL_InitState
   { status :: SDL3.Sys.Bindgen.Atomic.SDL_AtomicInt
-  -- ^ [C declaration]: @status@, defined at @SDL3\/SDL_mutex.h 1039:19@
+  -- ^ [C declaration]: @status@, defined at @SDL3\/SDL_mutex.h 1041:19@
   , thread :: SDL3.Sys.Bindgen.Thread.SDL_ThreadID
-  -- ^ [C declaration]: @thread@, defined at @SDL3\/SDL_mutex.h 1040:18@
+  -- ^ [C declaration]: @thread@, defined at @SDL3\/SDL_mutex.h 1042:18@
   , reserved :: BG.Ptr BG.Void
-  -- ^ [C declaration]: @reserved@, defined at @SDL3\/SDL_mutex.h 1041:11@
+  -- ^ [C declaration]: @reserved@, defined at @SDL3\/SDL_mutex.h 1043:11@
   }
   deriving stock (BG.Generic, Eq, Show)
 
diff --git a/src/SDL3/Sys/Bindgen/Mutex/FunPtr.hs b/src/SDL3/Sys/Bindgen/Mutex/FunPtr.hs
--- a/src/SDL3/Sys/Bindgen/Mutex/FunPtr.hs
+++ b/src/SDL3/Sys/Bindgen/Mutex/FunPtr.hs
@@ -396,7 +396,7 @@
 --
 --     [See also]: 'sDL_LockMutex', 'sDL_TryLockMutex'
 --
---     [C declaration]: @SDL_UnlockMutex@, defined at @SDL3\/SDL_mutex.h 390:34@
+--     [C declaration]: @SDL_UnlockMutex@, defined at @SDL3\/SDL_mutex.h 391:34@
 sDL_UnlockMutex :: BG.FunPtr (BG.Ptr SDL_Mutex -> IO ())
 sDL_UnlockMutex =
   BG.unsafePerformIO hs_bindgen_279301ff47dc6a1f
@@ -425,7 +425,7 @@
 --
 --     [See also]: 'sDL_CreateMutex'
 --
---     [C declaration]: @SDL_DestroyMutex@, defined at @SDL3\/SDL_mutex.h 409:34@
+--     [C declaration]: @SDL_DestroyMutex@, defined at @SDL3\/SDL_mutex.h 410:34@
 sDL_DestroyMutex :: BG.FunPtr (BG.Ptr SDL_Mutex -> IO ())
 sDL_DestroyMutex =
   BG.unsafePerformIO hs_bindgen_41ed6e14b48302a3
@@ -462,7 +462,7 @@
 --
 --     [See also]: 'sDL_DestroyRWLock', 'sDL_LockRWLockForReading', 'sDL_LockRWLockForWriting', 'sDL_TryLockRWLockForReading', 'sDL_TryLockRWLockForWriting', 'sDL_UnlockRWLock'
 --
---     [C declaration]: @SDL_CreateRWLock@, defined at @SDL3\/SDL_mutex.h 481:42@
+--     [C declaration]: @SDL_CreateRWLock@, defined at @SDL3\/SDL_mutex.h 482:42@
 sDL_CreateRWLock :: BG.FunPtr (IO (BG.Ptr SDL_RWLock))
 sDL_CreateRWLock =
   BG.unsafePerformIO hs_bindgen_3eb0c1367593e404
@@ -499,7 +499,7 @@
 --
 --     [See also]: 'sDL_LockRWLockForWriting', 'sDL_TryLockRWLockForReading', 'sDL_UnlockRWLock'
 --
---     [C declaration]: @SDL_LockRWLockForReading@, defined at @SDL3\/SDL_mutex.h 520:34@
+--     [C declaration]: @SDL_LockRWLockForReading@, defined at @SDL3\/SDL_mutex.h 521:34@
 sDL_LockRWLockForReading :: BG.FunPtr (BG.Ptr SDL_RWLock -> IO ())
 sDL_LockRWLockForReading =
   BG.unsafePerformIO hs_bindgen_1d6189a38a9e5f28
@@ -534,7 +534,7 @@
 --
 --     [See also]: 'sDL_LockRWLockForReading', 'sDL_TryLockRWLockForWriting', 'sDL_UnlockRWLock'
 --
---     [C declaration]: @SDL_LockRWLockForWriting@, defined at @SDL3\/SDL_mutex.h 553:34@
+--     [C declaration]: @SDL_LockRWLockForWriting@, defined at @SDL3\/SDL_mutex.h 554:34@
 sDL_LockRWLockForWriting :: BG.FunPtr (BG.Ptr SDL_RWLock -> IO ())
 sDL_LockRWLockForWriting =
   BG.unsafePerformIO hs_bindgen_badbac25bb2ac3e5
@@ -571,7 +571,7 @@
 --
 --     [See also]: 'sDL_LockRWLockForReading', 'sDL_TryLockRWLockForWriting', 'sDL_UnlockRWLock'
 --
---     [C declaration]: @SDL_TryLockRWLockForReading@, defined at @SDL3\/SDL_mutex.h 580:34@
+--     [C declaration]: @SDL_TryLockRWLockForReading@, defined at @SDL3\/SDL_mutex.h 581:34@
 sDL_TryLockRWLockForReading :: BG.FunPtr (BG.Ptr SDL_RWLock -> IO BG.CBool)
 sDL_TryLockRWLockForReading =
   BG.unsafePerformIO hs_bindgen_1e5ea8850474c50f
@@ -610,7 +610,7 @@
 --
 --     [See also]: 'sDL_LockRWLockForWriting', 'sDL_TryLockRWLockForReading', 'sDL_UnlockRWLock'
 --
---     [C declaration]: @SDL_TryLockRWLockForWriting@, defined at @SDL3\/SDL_mutex.h 612:34@
+--     [C declaration]: @SDL_TryLockRWLockForWriting@, defined at @SDL3\/SDL_mutex.h 613:34@
 sDL_TryLockRWLockForWriting :: BG.FunPtr (BG.Ptr SDL_RWLock -> IO BG.CBool)
 sDL_TryLockRWLockForWriting =
   BG.unsafePerformIO hs_bindgen_a11f0d78039b31a7
@@ -643,7 +643,7 @@
 --
 --     [See also]: 'sDL_LockRWLockForReading', 'sDL_LockRWLockForWriting', 'sDL_TryLockRWLockForReading', 'sDL_TryLockRWLockForWriting'
 --
---     [C declaration]: @SDL_UnlockRWLock@, defined at @SDL3\/SDL_mutex.h 639:34@
+--     [C declaration]: @SDL_UnlockRWLock@, defined at @SDL3\/SDL_mutex.h 641:34@
 sDL_UnlockRWLock :: BG.FunPtr (BG.Ptr SDL_RWLock -> IO ())
 sDL_UnlockRWLock =
   BG.unsafePerformIO hs_bindgen_769c3da328a63de5
@@ -672,7 +672,7 @@
 --
 --     [See also]: 'sDL_CreateRWLock'
 --
---     [C declaration]: @SDL_DestroyRWLock@, defined at @SDL3\/SDL_mutex.h 658:34@
+--     [C declaration]: @SDL_DestroyRWLock@, defined at @SDL3\/SDL_mutex.h 660:34@
 sDL_DestroyRWLock :: BG.FunPtr (BG.Ptr SDL_RWLock -> IO ())
 sDL_DestroyRWLock =
   BG.unsafePerformIO hs_bindgen_7a7492595f34e502
@@ -704,7 +704,7 @@
 --
 --     [See also]: 'sDL_DestroySemaphore', 'sDL_SignalSemaphore', 'sDL_TryWaitSemaphore', 'sDL_GetSemaphoreValue', 'sDL_WaitSemaphore', 'sDL_WaitSemaphoreTimeout'
 --
---     [C declaration]: @SDL_CreateSemaphore@, defined at @SDL3\/SDL_mutex.h 708:45@
+--     [C declaration]: @SDL_CreateSemaphore@, defined at @SDL3\/SDL_mutex.h 710:45@
 sDL_CreateSemaphore :: BG.FunPtr (SDL3.Sys.Bindgen.Stdinc.Uint32 -> IO (BG.Ptr SDL_Semaphore))
 sDL_CreateSemaphore =
   BG.unsafePerformIO hs_bindgen_22509b0bb44ec2c1
@@ -733,7 +733,7 @@
 --
 --     [See also]: 'sDL_CreateSemaphore'
 --
---     [C declaration]: @SDL_DestroySemaphore@, defined at @SDL3\/SDL_mutex.h 724:34@
+--     [C declaration]: @SDL_DestroySemaphore@, defined at @SDL3\/SDL_mutex.h 726:34@
 sDL_DestroySemaphore :: BG.FunPtr (BG.Ptr SDL_Semaphore -> IO ())
 sDL_DestroySemaphore =
   BG.unsafePerformIO hs_bindgen_1f077a5303df061a
@@ -764,7 +764,7 @@
 --
 --     [See also]: 'sDL_SignalSemaphore', 'sDL_TryWaitSemaphore', 'sDL_WaitSemaphoreTimeout'
 --
---     [C declaration]: @SDL_WaitSemaphore@, defined at @SDL3\/SDL_mutex.h 746:34@
+--     [C declaration]: @SDL_WaitSemaphore@, defined at @SDL3\/SDL_mutex.h 748:34@
 sDL_WaitSemaphore :: BG.FunPtr (BG.Ptr SDL_Semaphore -> IO ())
 sDL_WaitSemaphore =
   BG.unsafePerformIO hs_bindgen_91a2349e7496eeae
@@ -795,7 +795,7 @@
 --
 --     [See also]: 'sDL_SignalSemaphore', 'sDL_WaitSemaphore', 'sDL_WaitSemaphoreTimeout'
 --
---     [C declaration]: @SDL_TryWaitSemaphore@, defined at @SDL3\/SDL_mutex.h 767:34@
+--     [C declaration]: @SDL_TryWaitSemaphore@, defined at @SDL3\/SDL_mutex.h 769:34@
 sDL_TryWaitSemaphore :: BG.FunPtr (BG.Ptr SDL_Semaphore -> IO BG.CBool)
 sDL_TryWaitSemaphore =
   BG.unsafePerformIO hs_bindgen_81872972bd3486d3
@@ -829,7 +829,7 @@
 --
 --     [See also]: 'sDL_SignalSemaphore', 'sDL_TryWaitSemaphore', 'sDL_WaitSemaphore'
 --
---     [C declaration]: @SDL_WaitSemaphoreTimeout@, defined at @SDL3\/SDL_mutex.h 789:34@
+--     [C declaration]: @SDL_WaitSemaphoreTimeout@, defined at @SDL3\/SDL_mutex.h 791:34@
 sDL_WaitSemaphoreTimeout
   :: BG.FunPtr (BG.Ptr SDL_Semaphore -> SDL3.Sys.Bindgen.Stdinc.Sint32 -> IO BG.CBool)
 sDL_WaitSemaphoreTimeout =
@@ -857,7 +857,7 @@
 --
 --     [See also]: 'sDL_TryWaitSemaphore', 'sDL_WaitSemaphore', 'sDL_WaitSemaphoreTimeout'
 --
---     [C declaration]: @SDL_SignalSemaphore@, defined at @SDL3\/SDL_mutex.h 804:34@
+--     [C declaration]: @SDL_SignalSemaphore@, defined at @SDL3\/SDL_mutex.h 806:34@
 sDL_SignalSemaphore :: BG.FunPtr (BG.Ptr SDL_Semaphore -> IO ())
 sDL_SignalSemaphore =
   BG.unsafePerformIO hs_bindgen_9af09ce180d458b9
@@ -885,7 +885,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetSemaphoreValue@, defined at @SDL3\/SDL_mutex.h 816:36@
+--     [C declaration]: @SDL_GetSemaphoreValue@, defined at @SDL3\/SDL_mutex.h 818:36@
 sDL_GetSemaphoreValue :: BG.FunPtr (BG.Ptr SDL_Semaphore -> IO SDL3.Sys.Bindgen.Stdinc.Uint32)
 sDL_GetSemaphoreValue =
   BG.unsafePerformIO hs_bindgen_5ee888052e9adc81
@@ -912,7 +912,7 @@
 --
 --     [See also]: 'sDL_BroadcastCondition', 'sDL_SignalCondition', 'sDL_WaitCondition', 'sDL_WaitConditionTimeout', 'sDL_DestroyCondition'
 --
---     [C declaration]: @SDL_CreateCondition@, defined at @SDL3\/SDL_mutex.h 857:45@
+--     [C declaration]: @SDL_CreateCondition@, defined at @SDL3\/SDL_mutex.h 859:45@
 sDL_CreateCondition :: BG.FunPtr (IO (BG.Ptr SDL_Condition))
 sDL_CreateCondition =
   BG.unsafePerformIO hs_bindgen_07cf0a76ca2c83d0
@@ -939,7 +939,7 @@
 --
 --     [See also]: 'sDL_CreateCondition'
 --
---     [C declaration]: @SDL_DestroyCondition@, defined at @SDL3\/SDL_mutex.h 870:34@
+--     [C declaration]: @SDL_DestroyCondition@, defined at @SDL3\/SDL_mutex.h 872:34@
 sDL_DestroyCondition :: BG.FunPtr (BG.Ptr SDL_Condition -> IO ())
 sDL_DestroyCondition =
   BG.unsafePerformIO hs_bindgen_99bba06553492457
@@ -966,7 +966,7 @@
 --
 --     [See also]: 'sDL_BroadcastCondition', 'sDL_WaitCondition', 'sDL_WaitConditionTimeout'
 --
---     [C declaration]: @SDL_SignalCondition@, defined at @SDL3\/SDL_mutex.h 885:34@
+--     [C declaration]: @SDL_SignalCondition@, defined at @SDL3\/SDL_mutex.h 887:34@
 sDL_SignalCondition :: BG.FunPtr (BG.Ptr SDL_Condition -> IO ())
 sDL_SignalCondition =
   BG.unsafePerformIO hs_bindgen_a9b4bfe1c85d2caa
@@ -993,7 +993,7 @@
 --
 --     [See also]: 'sDL_SignalCondition', 'sDL_WaitCondition', 'sDL_WaitConditionTimeout'
 --
---     [C declaration]: @SDL_BroadcastCondition@, defined at @SDL3\/SDL_mutex.h 900:34@
+--     [C declaration]: @SDL_BroadcastCondition@, defined at @SDL3\/SDL_mutex.h 902:34@
 sDL_BroadcastCondition :: BG.FunPtr (BG.Ptr SDL_Condition -> IO ())
 sDL_BroadcastCondition =
   BG.unsafePerformIO hs_bindgen_26d1393d70aa1e21
@@ -1028,7 +1028,7 @@
 --
 --     [See also]: 'sDL_BroadcastCondition', 'sDL_SignalCondition', 'sDL_WaitConditionTimeout'
 --
---     [C declaration]: @SDL_WaitCondition@, defined at @SDL3\/SDL_mutex.h 928:34@
+--     [C declaration]: @SDL_WaitCondition@, defined at @SDL3\/SDL_mutex.h 930:34@
 sDL_WaitCondition :: BG.FunPtr (BG.Ptr SDL_Condition -> BG.Ptr SDL_Mutex -> IO ())
 sDL_WaitCondition =
   BG.unsafePerformIO hs_bindgen_5c1581c6a748ae80
@@ -1069,7 +1069,7 @@
 --
 --     [See also]: 'sDL_BroadcastCondition', 'sDL_SignalCondition', 'sDL_WaitCondition'
 --
---     [C declaration]: @SDL_WaitConditionTimeout@, defined at @SDL3\/SDL_mutex.h 958:34@
+--     [C declaration]: @SDL_WaitConditionTimeout@, defined at @SDL3\/SDL_mutex.h 960:34@
 sDL_WaitConditionTimeout
   :: BG.FunPtr
        (BG.Ptr SDL_Condition -> BG.Ptr SDL_Mutex -> SDL3.Sys.Bindgen.Stdinc.Sint32 -> IO BG.CBool)
@@ -1104,7 +1104,7 @@
 --
 --     [See also]: 'sDL_SetInitialized', 'sDL_ShouldQuit'
 --
---     [C declaration]: @SDL_ShouldInit@, defined at @SDL3\/SDL_mutex.h 1065:34@
+--     [C declaration]: @SDL_ShouldInit@, defined at @SDL3\/SDL_mutex.h 1067:34@
 sDL_ShouldInit :: BG.FunPtr (BG.Ptr SDL_InitState -> IO BG.CBool)
 sDL_ShouldInit =
   BG.unsafePerformIO hs_bindgen_4da27525ce560809
@@ -1137,7 +1137,7 @@
 --
 --     [See also]: 'sDL_SetInitialized', 'sDL_ShouldInit'
 --
---     [C declaration]: @SDL_ShouldQuit@, defined at @SDL3\/SDL_mutex.h 1086:34@
+--     [C declaration]: @SDL_ShouldQuit@, defined at @SDL3\/SDL_mutex.h 1088:34@
 sDL_ShouldQuit :: BG.FunPtr (BG.Ptr SDL_InitState -> IO BG.CBool)
 sDL_ShouldQuit =
   BG.unsafePerformIO hs_bindgen_6877992dc5bc2120
@@ -1168,7 +1168,7 @@
 --
 --     [See also]: 'sDL_ShouldInit', 'sDL_ShouldQuit'
 --
---     [C declaration]: @SDL_SetInitialized@, defined at @SDL3\/SDL_mutex.h 1105:34@
+--     [C declaration]: @SDL_SetInitialized@, defined at @SDL3\/SDL_mutex.h 1107:34@
 sDL_SetInitialized :: BG.FunPtr (BG.Ptr SDL_InitState -> BG.CBool -> IO ())
 sDL_SetInitialized =
   BG.unsafePerformIO hs_bindgen_d08e1c271251d0d2
diff --git a/src/SDL3/Sys/Bindgen/Mutex/Safe.hs b/src/SDL3/Sys/Bindgen/Mutex/Safe.hs
--- a/src/SDL3/Sys/Bindgen/Mutex/Safe.hs
+++ b/src/SDL3/Sys/Bindgen/Mutex/Safe.hs
@@ -342,7 +342,7 @@
 --
 --     [See also]: 'sDL_LockMutex', 'sDL_TryLockMutex'
 --
---     [C declaration]: @SDL_UnlockMutex@, defined at @SDL3\/SDL_mutex.h 390:34@
+--     [C declaration]: @SDL_UnlockMutex@, defined at @SDL3\/SDL_mutex.h 391:34@
 sDL_UnlockMutex
   :: BG.Ptr SDL_Mutex
   -- ^
@@ -374,7 +374,7 @@
 --
 --     [See also]: 'sDL_CreateMutex'
 --
---     [C declaration]: @SDL_DestroyMutex@, defined at @SDL3\/SDL_mutex.h 409:34@
+--     [C declaration]: @SDL_DestroyMutex@, defined at @SDL3\/SDL_mutex.h 410:34@
 sDL_DestroyMutex
   :: BG.Ptr SDL_Mutex
   -- ^
@@ -413,7 +413,7 @@
 --
 --     [See also]: 'sDL_DestroyRWLock', 'sDL_LockRWLockForReading', 'sDL_LockRWLockForWriting', 'sDL_TryLockRWLockForReading', 'sDL_TryLockRWLockForWriting', 'sDL_UnlockRWLock'
 --
---     [C declaration]: @SDL_CreateRWLock@, defined at @SDL3\/SDL_mutex.h 481:42@
+--     [C declaration]: @SDL_CreateRWLock@, defined at @SDL3\/SDL_mutex.h 482:42@
 sDL_CreateRWLock :: IO (BG.Ptr SDL_RWLock)
 sDL_CreateRWLock = hs_bindgen_305069c9512cb61a
 
@@ -448,7 +448,7 @@
 --
 --     [See also]: 'sDL_LockRWLockForWriting', 'sDL_TryLockRWLockForReading', 'sDL_UnlockRWLock'
 --
---     [C declaration]: @SDL_LockRWLockForReading@, defined at @SDL3\/SDL_mutex.h 520:34@
+--     [C declaration]: @SDL_LockRWLockForReading@, defined at @SDL3\/SDL_mutex.h 521:34@
 sDL_LockRWLockForReading
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -487,7 +487,7 @@
 --
 --     [See also]: 'sDL_LockRWLockForReading', 'sDL_TryLockRWLockForWriting', 'sDL_UnlockRWLock'
 --
---     [C declaration]: @SDL_LockRWLockForWriting@, defined at @SDL3\/SDL_mutex.h 553:34@
+--     [C declaration]: @SDL_LockRWLockForWriting@, defined at @SDL3\/SDL_mutex.h 554:34@
 sDL_LockRWLockForWriting
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -528,7 +528,7 @@
 --
 --     [See also]: 'sDL_LockRWLockForReading', 'sDL_TryLockRWLockForWriting', 'sDL_UnlockRWLock'
 --
---     [C declaration]: @SDL_TryLockRWLockForReading@, defined at @SDL3\/SDL_mutex.h 580:34@
+--     [C declaration]: @SDL_TryLockRWLockForReading@, defined at @SDL3\/SDL_mutex.h 581:34@
 sDL_TryLockRWLockForReading
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -571,7 +571,7 @@
 --
 --     [See also]: 'sDL_LockRWLockForWriting', 'sDL_TryLockRWLockForReading', 'sDL_UnlockRWLock'
 --
---     [C declaration]: @SDL_TryLockRWLockForWriting@, defined at @SDL3\/SDL_mutex.h 612:34@
+--     [C declaration]: @SDL_TryLockRWLockForWriting@, defined at @SDL3\/SDL_mutex.h 613:34@
 sDL_TryLockRWLockForWriting
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -608,7 +608,7 @@
 --
 --     [See also]: 'sDL_LockRWLockForReading', 'sDL_LockRWLockForWriting', 'sDL_TryLockRWLockForReading', 'sDL_TryLockRWLockForWriting'
 --
---     [C declaration]: @SDL_UnlockRWLock@, defined at @SDL3\/SDL_mutex.h 639:34@
+--     [C declaration]: @SDL_UnlockRWLock@, defined at @SDL3\/SDL_mutex.h 641:34@
 sDL_UnlockRWLock
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -640,7 +640,7 @@
 --
 --     [See also]: 'sDL_CreateRWLock'
 --
---     [C declaration]: @SDL_DestroyRWLock@, defined at @SDL3\/SDL_mutex.h 658:34@
+--     [C declaration]: @SDL_DestroyRWLock@, defined at @SDL3\/SDL_mutex.h 660:34@
 sDL_DestroyRWLock
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -674,7 +674,7 @@
 --
 --     [See also]: 'sDL_DestroySemaphore', 'sDL_SignalSemaphore', 'sDL_TryWaitSemaphore', 'sDL_GetSemaphoreValue', 'sDL_WaitSemaphore', 'sDL_WaitSemaphoreTimeout'
 --
---     [C declaration]: @SDL_CreateSemaphore@, defined at @SDL3\/SDL_mutex.h 708:45@
+--     [C declaration]: @SDL_CreateSemaphore@, defined at @SDL3\/SDL_mutex.h 710:45@
 sDL_CreateSemaphore
   :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^
@@ -706,7 +706,7 @@
 --
 --     [See also]: 'sDL_CreateSemaphore'
 --
---     [C declaration]: @SDL_DestroySemaphore@, defined at @SDL3\/SDL_mutex.h 724:34@
+--     [C declaration]: @SDL_DestroySemaphore@, defined at @SDL3\/SDL_mutex.h 726:34@
 sDL_DestroySemaphore
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -740,7 +740,7 @@
 --
 --     [See also]: 'sDL_SignalSemaphore', 'sDL_TryWaitSemaphore', 'sDL_WaitSemaphoreTimeout'
 --
---     [C declaration]: @SDL_WaitSemaphore@, defined at @SDL3\/SDL_mutex.h 746:34@
+--     [C declaration]: @SDL_WaitSemaphore@, defined at @SDL3\/SDL_mutex.h 748:34@
 sDL_WaitSemaphore
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -774,7 +774,7 @@
 --
 --     [See also]: 'sDL_SignalSemaphore', 'sDL_WaitSemaphore', 'sDL_WaitSemaphoreTimeout'
 --
---     [C declaration]: @SDL_TryWaitSemaphore@, defined at @SDL3\/SDL_mutex.h 767:34@
+--     [C declaration]: @SDL_TryWaitSemaphore@, defined at @SDL3\/SDL_mutex.h 769:34@
 sDL_TryWaitSemaphore
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -810,7 +810,7 @@
 --
 --     [See also]: 'sDL_SignalSemaphore', 'sDL_TryWaitSemaphore', 'sDL_WaitSemaphore'
 --
---     [C declaration]: @SDL_WaitSemaphoreTimeout@, defined at @SDL3\/SDL_mutex.h 789:34@
+--     [C declaration]: @SDL_WaitSemaphoreTimeout@, defined at @SDL3\/SDL_mutex.h 791:34@
 sDL_WaitSemaphoreTimeout
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -845,7 +845,7 @@
 --
 --     [See also]: 'sDL_TryWaitSemaphore', 'sDL_WaitSemaphore', 'sDL_WaitSemaphoreTimeout'
 --
---     [C declaration]: @SDL_SignalSemaphore@, defined at @SDL3\/SDL_mutex.h 804:34@
+--     [C declaration]: @SDL_SignalSemaphore@, defined at @SDL3\/SDL_mutex.h 806:34@
 sDL_SignalSemaphore
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -875,7 +875,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetSemaphoreValue@, defined at @SDL3\/SDL_mutex.h 816:36@
+--     [C declaration]: @SDL_GetSemaphoreValue@, defined at @SDL3\/SDL_mutex.h 818:36@
 sDL_GetSemaphoreValue
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -904,7 +904,7 @@
 --
 --     [See also]: 'sDL_BroadcastCondition', 'sDL_SignalCondition', 'sDL_WaitCondition', 'sDL_WaitConditionTimeout', 'sDL_DestroyCondition'
 --
---     [C declaration]: @SDL_CreateCondition@, defined at @SDL3\/SDL_mutex.h 857:45@
+--     [C declaration]: @SDL_CreateCondition@, defined at @SDL3\/SDL_mutex.h 859:45@
 sDL_CreateCondition :: IO (BG.Ptr SDL_Condition)
 sDL_CreateCondition = hs_bindgen_f051c9d83065c51e
 
@@ -929,7 +929,7 @@
 --
 --     [See also]: 'sDL_CreateCondition'
 --
---     [C declaration]: @SDL_DestroyCondition@, defined at @SDL3\/SDL_mutex.h 870:34@
+--     [C declaration]: @SDL_DestroyCondition@, defined at @SDL3\/SDL_mutex.h 872:34@
 sDL_DestroyCondition
   :: BG.Ptr SDL_Condition
   -- ^
@@ -959,7 +959,7 @@
 --
 --     [See also]: 'sDL_BroadcastCondition', 'sDL_WaitCondition', 'sDL_WaitConditionTimeout'
 --
---     [C declaration]: @SDL_SignalCondition@, defined at @SDL3\/SDL_mutex.h 885:34@
+--     [C declaration]: @SDL_SignalCondition@, defined at @SDL3\/SDL_mutex.h 887:34@
 sDL_SignalCondition
   :: BG.Ptr SDL_Condition
   -- ^
@@ -989,7 +989,7 @@
 --
 --     [See also]: 'sDL_SignalCondition', 'sDL_WaitCondition', 'sDL_WaitConditionTimeout'
 --
---     [C declaration]: @SDL_BroadcastCondition@, defined at @SDL3\/SDL_mutex.h 900:34@
+--     [C declaration]: @SDL_BroadcastCondition@, defined at @SDL3\/SDL_mutex.h 902:34@
 sDL_BroadcastCondition
   :: BG.Ptr SDL_Condition
   -- ^
@@ -1027,7 +1027,7 @@
 --
 --     [See also]: 'sDL_BroadcastCondition', 'sDL_SignalCondition', 'sDL_WaitConditionTimeout'
 --
---     [C declaration]: @SDL_WaitCondition@, defined at @SDL3\/SDL_mutex.h 928:34@
+--     [C declaration]: @SDL_WaitCondition@, defined at @SDL3\/SDL_mutex.h 930:34@
 sDL_WaitCondition
   :: BG.Ptr SDL_Condition
   -- ^
@@ -1071,7 +1071,7 @@
 --
 --     [See also]: 'sDL_BroadcastCondition', 'sDL_SignalCondition', 'sDL_WaitCondition'
 --
---     [C declaration]: @SDL_WaitConditionTimeout@, defined at @SDL3\/SDL_mutex.h 958:34@
+--     [C declaration]: @SDL_WaitConditionTimeout@, defined at @SDL3\/SDL_mutex.h 960:34@
 sDL_WaitConditionTimeout
   :: BG.Ptr SDL_Condition
   -- ^
@@ -1116,7 +1116,7 @@
 --
 --     [See also]: 'sDL_SetInitialized', 'sDL_ShouldQuit'
 --
---     [C declaration]: @SDL_ShouldInit@, defined at @SDL3\/SDL_mutex.h 1065:34@
+--     [C declaration]: @SDL_ShouldInit@, defined at @SDL3\/SDL_mutex.h 1067:34@
 sDL_ShouldInit
   :: BG.Ptr SDL_InitState
   -- ^
@@ -1152,7 +1152,7 @@
 --
 --     [See also]: 'sDL_SetInitialized', 'sDL_ShouldInit'
 --
---     [C declaration]: @SDL_ShouldQuit@, defined at @SDL3\/SDL_mutex.h 1086:34@
+--     [C declaration]: @SDL_ShouldQuit@, defined at @SDL3\/SDL_mutex.h 1088:34@
 sDL_ShouldQuit
   :: BG.Ptr SDL_InitState
   -- ^
@@ -1186,7 +1186,7 @@
 --
 --     [See also]: 'sDL_ShouldInit', 'sDL_ShouldQuit'
 --
---     [C declaration]: @SDL_SetInitialized@, defined at @SDL3\/SDL_mutex.h 1105:34@
+--     [C declaration]: @SDL_SetInitialized@, defined at @SDL3\/SDL_mutex.h 1107:34@
 sDL_SetInitialized
   :: BG.Ptr SDL_InitState
   -- ^
diff --git a/src/SDL3/Sys/Bindgen/Mutex/Unsafe.hs b/src/SDL3/Sys/Bindgen/Mutex/Unsafe.hs
--- a/src/SDL3/Sys/Bindgen/Mutex/Unsafe.hs
+++ b/src/SDL3/Sys/Bindgen/Mutex/Unsafe.hs
@@ -342,7 +342,7 @@
 --
 --     [See also]: 'sDL_LockMutex', 'sDL_TryLockMutex'
 --
---     [C declaration]: @SDL_UnlockMutex@, defined at @SDL3\/SDL_mutex.h 390:34@
+--     [C declaration]: @SDL_UnlockMutex@, defined at @SDL3\/SDL_mutex.h 391:34@
 sDL_UnlockMutex
   :: BG.Ptr SDL_Mutex
   -- ^
@@ -374,7 +374,7 @@
 --
 --     [See also]: 'sDL_CreateMutex'
 --
---     [C declaration]: @SDL_DestroyMutex@, defined at @SDL3\/SDL_mutex.h 409:34@
+--     [C declaration]: @SDL_DestroyMutex@, defined at @SDL3\/SDL_mutex.h 410:34@
 sDL_DestroyMutex
   :: BG.Ptr SDL_Mutex
   -- ^
@@ -413,7 +413,7 @@
 --
 --     [See also]: 'sDL_DestroyRWLock', 'sDL_LockRWLockForReading', 'sDL_LockRWLockForWriting', 'sDL_TryLockRWLockForReading', 'sDL_TryLockRWLockForWriting', 'sDL_UnlockRWLock'
 --
---     [C declaration]: @SDL_CreateRWLock@, defined at @SDL3\/SDL_mutex.h 481:42@
+--     [C declaration]: @SDL_CreateRWLock@, defined at @SDL3\/SDL_mutex.h 482:42@
 sDL_CreateRWLock :: IO (BG.Ptr SDL_RWLock)
 sDL_CreateRWLock = hs_bindgen_7a80d9026c567dd4
 
@@ -448,7 +448,7 @@
 --
 --     [See also]: 'sDL_LockRWLockForWriting', 'sDL_TryLockRWLockForReading', 'sDL_UnlockRWLock'
 --
---     [C declaration]: @SDL_LockRWLockForReading@, defined at @SDL3\/SDL_mutex.h 520:34@
+--     [C declaration]: @SDL_LockRWLockForReading@, defined at @SDL3\/SDL_mutex.h 521:34@
 sDL_LockRWLockForReading
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -487,7 +487,7 @@
 --
 --     [See also]: 'sDL_LockRWLockForReading', 'sDL_TryLockRWLockForWriting', 'sDL_UnlockRWLock'
 --
---     [C declaration]: @SDL_LockRWLockForWriting@, defined at @SDL3\/SDL_mutex.h 553:34@
+--     [C declaration]: @SDL_LockRWLockForWriting@, defined at @SDL3\/SDL_mutex.h 554:34@
 sDL_LockRWLockForWriting
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -528,7 +528,7 @@
 --
 --     [See also]: 'sDL_LockRWLockForReading', 'sDL_TryLockRWLockForWriting', 'sDL_UnlockRWLock'
 --
---     [C declaration]: @SDL_TryLockRWLockForReading@, defined at @SDL3\/SDL_mutex.h 580:34@
+--     [C declaration]: @SDL_TryLockRWLockForReading@, defined at @SDL3\/SDL_mutex.h 581:34@
 sDL_TryLockRWLockForReading
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -571,7 +571,7 @@
 --
 --     [See also]: 'sDL_LockRWLockForWriting', 'sDL_TryLockRWLockForReading', 'sDL_UnlockRWLock'
 --
---     [C declaration]: @SDL_TryLockRWLockForWriting@, defined at @SDL3\/SDL_mutex.h 612:34@
+--     [C declaration]: @SDL_TryLockRWLockForWriting@, defined at @SDL3\/SDL_mutex.h 613:34@
 sDL_TryLockRWLockForWriting
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -608,7 +608,7 @@
 --
 --     [See also]: 'sDL_LockRWLockForReading', 'sDL_LockRWLockForWriting', 'sDL_TryLockRWLockForReading', 'sDL_TryLockRWLockForWriting'
 --
---     [C declaration]: @SDL_UnlockRWLock@, defined at @SDL3\/SDL_mutex.h 639:34@
+--     [C declaration]: @SDL_UnlockRWLock@, defined at @SDL3\/SDL_mutex.h 641:34@
 sDL_UnlockRWLock
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -640,7 +640,7 @@
 --
 --     [See also]: 'sDL_CreateRWLock'
 --
---     [C declaration]: @SDL_DestroyRWLock@, defined at @SDL3\/SDL_mutex.h 658:34@
+--     [C declaration]: @SDL_DestroyRWLock@, defined at @SDL3\/SDL_mutex.h 660:34@
 sDL_DestroyRWLock
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -674,7 +674,7 @@
 --
 --     [See also]: 'sDL_DestroySemaphore', 'sDL_SignalSemaphore', 'sDL_TryWaitSemaphore', 'sDL_GetSemaphoreValue', 'sDL_WaitSemaphore', 'sDL_WaitSemaphoreTimeout'
 --
---     [C declaration]: @SDL_CreateSemaphore@, defined at @SDL3\/SDL_mutex.h 708:45@
+--     [C declaration]: @SDL_CreateSemaphore@, defined at @SDL3\/SDL_mutex.h 710:45@
 sDL_CreateSemaphore
   :: SDL3.Sys.Bindgen.Stdinc.Uint32
   -- ^
@@ -706,7 +706,7 @@
 --
 --     [See also]: 'sDL_CreateSemaphore'
 --
---     [C declaration]: @SDL_DestroySemaphore@, defined at @SDL3\/SDL_mutex.h 724:34@
+--     [C declaration]: @SDL_DestroySemaphore@, defined at @SDL3\/SDL_mutex.h 726:34@
 sDL_DestroySemaphore
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -740,7 +740,7 @@
 --
 --     [See also]: 'sDL_SignalSemaphore', 'sDL_TryWaitSemaphore', 'sDL_WaitSemaphoreTimeout'
 --
---     [C declaration]: @SDL_WaitSemaphore@, defined at @SDL3\/SDL_mutex.h 746:34@
+--     [C declaration]: @SDL_WaitSemaphore@, defined at @SDL3\/SDL_mutex.h 748:34@
 sDL_WaitSemaphore
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -774,7 +774,7 @@
 --
 --     [See also]: 'sDL_SignalSemaphore', 'sDL_WaitSemaphore', 'sDL_WaitSemaphoreTimeout'
 --
---     [C declaration]: @SDL_TryWaitSemaphore@, defined at @SDL3\/SDL_mutex.h 767:34@
+--     [C declaration]: @SDL_TryWaitSemaphore@, defined at @SDL3\/SDL_mutex.h 769:34@
 sDL_TryWaitSemaphore
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -810,7 +810,7 @@
 --
 --     [See also]: 'sDL_SignalSemaphore', 'sDL_TryWaitSemaphore', 'sDL_WaitSemaphore'
 --
---     [C declaration]: @SDL_WaitSemaphoreTimeout@, defined at @SDL3\/SDL_mutex.h 789:34@
+--     [C declaration]: @SDL_WaitSemaphoreTimeout@, defined at @SDL3\/SDL_mutex.h 791:34@
 sDL_WaitSemaphoreTimeout
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -845,7 +845,7 @@
 --
 --     [See also]: 'sDL_TryWaitSemaphore', 'sDL_WaitSemaphore', 'sDL_WaitSemaphoreTimeout'
 --
---     [C declaration]: @SDL_SignalSemaphore@, defined at @SDL3\/SDL_mutex.h 804:34@
+--     [C declaration]: @SDL_SignalSemaphore@, defined at @SDL3\/SDL_mutex.h 806:34@
 sDL_SignalSemaphore
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -875,7 +875,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetSemaphoreValue@, defined at @SDL3\/SDL_mutex.h 816:36@
+--     [C declaration]: @SDL_GetSemaphoreValue@, defined at @SDL3\/SDL_mutex.h 818:36@
 sDL_GetSemaphoreValue
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -904,7 +904,7 @@
 --
 --     [See also]: 'sDL_BroadcastCondition', 'sDL_SignalCondition', 'sDL_WaitCondition', 'sDL_WaitConditionTimeout', 'sDL_DestroyCondition'
 --
---     [C declaration]: @SDL_CreateCondition@, defined at @SDL3\/SDL_mutex.h 857:45@
+--     [C declaration]: @SDL_CreateCondition@, defined at @SDL3\/SDL_mutex.h 859:45@
 sDL_CreateCondition :: IO (BG.Ptr SDL_Condition)
 sDL_CreateCondition = hs_bindgen_ddf6e8ed9edaee07
 
@@ -929,7 +929,7 @@
 --
 --     [See also]: 'sDL_CreateCondition'
 --
---     [C declaration]: @SDL_DestroyCondition@, defined at @SDL3\/SDL_mutex.h 870:34@
+--     [C declaration]: @SDL_DestroyCondition@, defined at @SDL3\/SDL_mutex.h 872:34@
 sDL_DestroyCondition
   :: BG.Ptr SDL_Condition
   -- ^
@@ -959,7 +959,7 @@
 --
 --     [See also]: 'sDL_BroadcastCondition', 'sDL_WaitCondition', 'sDL_WaitConditionTimeout'
 --
---     [C declaration]: @SDL_SignalCondition@, defined at @SDL3\/SDL_mutex.h 885:34@
+--     [C declaration]: @SDL_SignalCondition@, defined at @SDL3\/SDL_mutex.h 887:34@
 sDL_SignalCondition
   :: BG.Ptr SDL_Condition
   -- ^
@@ -989,7 +989,7 @@
 --
 --     [See also]: 'sDL_SignalCondition', 'sDL_WaitCondition', 'sDL_WaitConditionTimeout'
 --
---     [C declaration]: @SDL_BroadcastCondition@, defined at @SDL3\/SDL_mutex.h 900:34@
+--     [C declaration]: @SDL_BroadcastCondition@, defined at @SDL3\/SDL_mutex.h 902:34@
 sDL_BroadcastCondition
   :: BG.Ptr SDL_Condition
   -- ^
@@ -1027,7 +1027,7 @@
 --
 --     [See also]: 'sDL_BroadcastCondition', 'sDL_SignalCondition', 'sDL_WaitConditionTimeout'
 --
---     [C declaration]: @SDL_WaitCondition@, defined at @SDL3\/SDL_mutex.h 928:34@
+--     [C declaration]: @SDL_WaitCondition@, defined at @SDL3\/SDL_mutex.h 930:34@
 sDL_WaitCondition
   :: BG.Ptr SDL_Condition
   -- ^
@@ -1071,7 +1071,7 @@
 --
 --     [See also]: 'sDL_BroadcastCondition', 'sDL_SignalCondition', 'sDL_WaitCondition'
 --
---     [C declaration]: @SDL_WaitConditionTimeout@, defined at @SDL3\/SDL_mutex.h 958:34@
+--     [C declaration]: @SDL_WaitConditionTimeout@, defined at @SDL3\/SDL_mutex.h 960:34@
 sDL_WaitConditionTimeout
   :: BG.Ptr SDL_Condition
   -- ^
@@ -1116,7 +1116,7 @@
 --
 --     [See also]: 'sDL_SetInitialized', 'sDL_ShouldQuit'
 --
---     [C declaration]: @SDL_ShouldInit@, defined at @SDL3\/SDL_mutex.h 1065:34@
+--     [C declaration]: @SDL_ShouldInit@, defined at @SDL3\/SDL_mutex.h 1067:34@
 sDL_ShouldInit
   :: BG.Ptr SDL_InitState
   -- ^
@@ -1152,7 +1152,7 @@
 --
 --     [See also]: 'sDL_SetInitialized', 'sDL_ShouldInit'
 --
---     [C declaration]: @SDL_ShouldQuit@, defined at @SDL3\/SDL_mutex.h 1086:34@
+--     [C declaration]: @SDL_ShouldQuit@, defined at @SDL3\/SDL_mutex.h 1088:34@
 sDL_ShouldQuit
   :: BG.Ptr SDL_InitState
   -- ^
@@ -1186,7 +1186,7 @@
 --
 --     [See also]: 'sDL_ShouldInit', 'sDL_ShouldQuit'
 --
---     [C declaration]: @SDL_SetInitialized@, defined at @SDL3\/SDL_mutex.h 1105:34@
+--     [C declaration]: @SDL_SetInitialized@, defined at @SDL3\/SDL_mutex.h 1107:34@
 sDL_SetInitialized
   :: BG.Ptr SDL_InitState
   -- ^
diff --git a/src/SDL3/Sys/Bindgen/Pen.hs b/src/SDL3/Sys/Bindgen/Pen.hs
--- a/src/SDL3/Sys/Bindgen/Pen.hs
+++ b/src/SDL3/Sys/Bindgen/Pen.hs
@@ -38,7 +38,7 @@
 --
 --     When a pen starts providing input, SDL will assign it a unique 'SDL_PenID', which will remain for the life of the process, as long as the pen stays connected. A pen leaving proximity (being taken far enough away from the digitizer tablet that it no longer reponds) and then coming back should fire proximity events, but the 'SDL_PenID' should remain consistent. Unplugging the digitizer and reconnecting may cause future input to have a new 'SDL_PenID', as SDL may not know that this is the same hardware.
 --
---     Please note that various platforms vary wildly in how (and how well) they support pen input. If your pen supports some piece of functionality but SDL doesn\'t seem to, it might actually be the operating system\'s fault. For example, some platforms can manage multiple devices at the same time, but others will make any connected pens look like a single logical device, much how all USB mice connected to a computer will move the same system cursor. cursor. Other platforms might not support pen buttons, or the distance axis, etc. Very few platforms can even report /what/ functionality the pen supports in the first place, so best practices is to either build UI to let the user configure their pens, or be prepared to handle new functionality for a pen the first time an event is reported. SDL pen instance IDs.
+--     Please note that various platforms vary wildly in how (and how well) they support pen input. If your pen supports some piece of functionality but SDL doesn\'t seem to, it might actually be the operating system\'s fault. For example, some platforms can manage multiple devices at the same time, but others will make any connected pens look like a single logical device, much how all USB mice connected to a computer will move the same system cursor. Other platforms might not support pen buttons, or the distance axis, etc. Very few platforms can even report /what/ functionality the pen supports in the first place, so best practices is to either build UI to let the user configure their pens, or be prepared to handle new functionality for a pen the first time an event is reported. SDL pen instance IDs.
 --
 --     Zero is used to signify an invalid\/null device.
 --
diff --git a/src/SDL3/Sys/Bindgen/Rect/FunPtr.hs b/src/SDL3/Sys/Bindgen/Rect/FunPtr.hs
--- a/src/SDL3/Sys/Bindgen/Rect/FunPtr.hs
+++ b/src/SDL3/Sys/Bindgen/Rect/FunPtr.hs
@@ -729,7 +729,7 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'sDL_GetRectIntersection'
+--     [See also]: 'sDL_GetRectIntersectionFloat'
 --
 --     [C declaration]: @SDL_HasRectIntersectionFloat@, defined at @SDL3\/SDL_rect.h 440:34@
 sDL_HasRectIntersectionFloat
diff --git a/src/SDL3/Sys/Bindgen/Rect/Safe.hs b/src/SDL3/Sys/Bindgen/Rect/Safe.hs
--- a/src/SDL3/Sys/Bindgen/Rect/Safe.hs
+++ b/src/SDL3/Sys/Bindgen/Rect/Safe.hs
@@ -748,7 +748,7 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'sDL_GetRectIntersection'
+--     [See also]: 'sDL_GetRectIntersectionFloat'
 --
 --     [C declaration]: @SDL_HasRectIntersectionFloat@, defined at @SDL3\/SDL_rect.h 440:34@
 sDL_HasRectIntersectionFloat
diff --git a/src/SDL3/Sys/Bindgen/Rect/Unsafe.hs b/src/SDL3/Sys/Bindgen/Rect/Unsafe.hs
--- a/src/SDL3/Sys/Bindgen/Rect/Unsafe.hs
+++ b/src/SDL3/Sys/Bindgen/Rect/Unsafe.hs
@@ -748,7 +748,7 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'sDL_GetRectIntersection'
+--     [See also]: 'sDL_GetRectIntersectionFloat'
 --
 --     [C declaration]: @SDL_HasRectIntersectionFloat@, defined at @SDL3\/SDL_rect.h 440:34@
 sDL_HasRectIntersectionFloat
diff --git a/src/SDL3/Sys/Bindgen/Render.hs b/src/SDL3/Sys/Bindgen/Render.hs
--- a/src/SDL3/Sys/Bindgen/Render.hs
+++ b/src/SDL3/Sys/Bindgen/Render.hs
@@ -2349,7 +2349,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_COLORSPACE_NUMBER@, literal @\"SDL.texture.create.colorspace\"@, defined at @SDL3\/SDL_render.h 808:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_COLORSPACE_NUMBER@, literal @\"SDL.texture.create.colorspace\"@, defined at @SDL3\/SDL_render.h 806:9@
 sDL_PROP_TEXTURE_CREATE_COLORSPACE_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_COLORSPACE_NUMBER =
   BG.pack
@@ -2384,7 +2384,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_FORMAT_NUMBER@, literal @\"SDL.texture.create.format\"@, defined at @SDL3\/SDL_render.h 809:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_FORMAT_NUMBER@, literal @\"SDL.texture.create.format\"@, defined at @SDL3\/SDL_render.h 807:9@
 sDL_PROP_TEXTURE_CREATE_FORMAT_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_FORMAT_NUMBER =
   BG.pack
@@ -2415,7 +2415,7 @@
     , 0x74
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_ACCESS_NUMBER@, literal @\"SDL.texture.create.access\"@, defined at @SDL3\/SDL_render.h 810:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_ACCESS_NUMBER@, literal @\"SDL.texture.create.access\"@, defined at @SDL3\/SDL_render.h 808:9@
 sDL_PROP_TEXTURE_CREATE_ACCESS_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_ACCESS_NUMBER =
   BG.pack
@@ -2446,7 +2446,7 @@
     , 0x73
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_WIDTH_NUMBER@, literal @\"SDL.texture.create.width\"@, defined at @SDL3\/SDL_render.h 811:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_WIDTH_NUMBER@, literal @\"SDL.texture.create.width\"@, defined at @SDL3\/SDL_render.h 809:9@
 sDL_PROP_TEXTURE_CREATE_WIDTH_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_WIDTH_NUMBER =
   BG.pack
@@ -2476,7 +2476,7 @@
     , 0x68
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_HEIGHT_NUMBER@, literal @\"SDL.texture.create.height\"@, defined at @SDL3\/SDL_render.h 812:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_HEIGHT_NUMBER@, literal @\"SDL.texture.create.height\"@, defined at @SDL3\/SDL_render.h 810:9@
 sDL_PROP_TEXTURE_CREATE_HEIGHT_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_HEIGHT_NUMBER =
   BG.pack
@@ -2507,7 +2507,7 @@
     , 0x74
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_PALETTE_POINTER@, literal @\"SDL.texture.create.palette\"@, defined at @SDL3\/SDL_render.h 813:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_PALETTE_POINTER@, literal @\"SDL.texture.create.palette\"@, defined at @SDL3\/SDL_render.h 811:9@
 sDL_PROP_TEXTURE_CREATE_PALETTE_POINTER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_PALETTE_POINTER =
   BG.pack
@@ -2539,7 +2539,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_SDR_WHITE_POINT_FLOAT@, literal @\"SDL.texture.create.SDR_white_point\"@, defined at @SDL3\/SDL_render.h 814:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_SDR_WHITE_POINT_FLOAT@, literal @\"SDL.texture.create.SDR_white_point\"@, defined at @SDL3\/SDL_render.h 812:9@
 sDL_PROP_TEXTURE_CREATE_SDR_WHITE_POINT_FLOAT :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_SDR_WHITE_POINT_FLOAT =
   BG.pack
@@ -2579,7 +2579,7 @@
     , 0x74
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_HDR_HEADROOM_FLOAT@, literal @\"SDL.texture.create.HDR_headroom\"@, defined at @SDL3\/SDL_render.h 815:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_HDR_HEADROOM_FLOAT@, literal @\"SDL.texture.create.HDR_headroom\"@, defined at @SDL3\/SDL_render.h 813:9@
 sDL_PROP_TEXTURE_CREATE_HDR_HEADROOM_FLOAT :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_HDR_HEADROOM_FLOAT =
   BG.pack
@@ -2616,7 +2616,7 @@
     , 0x6D
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_POINTER@, literal @\"SDL.texture.create.d3d11.texture\"@, defined at @SDL3\/SDL_render.h 816:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_POINTER@, literal @\"SDL.texture.create.d3d11.texture\"@, defined at @SDL3\/SDL_render.h 814:9@
 sDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_POINTER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_POINTER =
   BG.pack
@@ -2654,7 +2654,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_U_POINTER@, literal @\"SDL.texture.create.d3d11.texture_u\"@, defined at @SDL3\/SDL_render.h 817:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_U_POINTER@, literal @\"SDL.texture.create.d3d11.texture_u\"@, defined at @SDL3\/SDL_render.h 815:9@
 sDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_U_POINTER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_U_POINTER =
   BG.pack
@@ -2694,7 +2694,7 @@
     , 0x75
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_V_POINTER@, literal @\"SDL.texture.create.d3d11.texture_v\"@, defined at @SDL3\/SDL_render.h 818:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_V_POINTER@, literal @\"SDL.texture.create.d3d11.texture_v\"@, defined at @SDL3\/SDL_render.h 816:9@
 sDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_V_POINTER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_D3D11_TEXTURE_V_POINTER =
   BG.pack
@@ -2734,7 +2734,7 @@
     , 0x76
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_POINTER@, literal @\"SDL.texture.create.d3d12.texture\"@, defined at @SDL3\/SDL_render.h 819:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_POINTER@, literal @\"SDL.texture.create.d3d12.texture\"@, defined at @SDL3\/SDL_render.h 817:9@
 sDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_POINTER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_POINTER =
   BG.pack
@@ -2772,7 +2772,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_U_POINTER@, literal @\"SDL.texture.create.d3d12.texture_u\"@, defined at @SDL3\/SDL_render.h 820:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_U_POINTER@, literal @\"SDL.texture.create.d3d12.texture_u\"@, defined at @SDL3\/SDL_render.h 818:9@
 sDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_U_POINTER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_U_POINTER =
   BG.pack
@@ -2812,7 +2812,7 @@
     , 0x75
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_V_POINTER@, literal @\"SDL.texture.create.d3d12.texture_v\"@, defined at @SDL3\/SDL_render.h 821:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_V_POINTER@, literal @\"SDL.texture.create.d3d12.texture_v\"@, defined at @SDL3\/SDL_render.h 819:9@
 sDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_V_POINTER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_D3D12_TEXTURE_V_POINTER =
   BG.pack
@@ -2852,7 +2852,7 @@
     , 0x76
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_METAL_PIXELBUFFER_POINTER@, literal @\"SDL.texture.create.metal.pixelbuffer\"@, defined at @SDL3\/SDL_render.h 822:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_METAL_PIXELBUFFER_POINTER@, literal @\"SDL.texture.create.metal.pixelbuffer\"@, defined at @SDL3\/SDL_render.h 820:9@
 sDL_PROP_TEXTURE_CREATE_METAL_PIXELBUFFER_POINTER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_METAL_PIXELBUFFER_POINTER =
   BG.pack
@@ -2894,7 +2894,7 @@
     , 0x72
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_NUMBER@, literal @\"SDL.texture.create.opengl.texture\"@, defined at @SDL3\/SDL_render.h 823:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_NUMBER@, literal @\"SDL.texture.create.opengl.texture\"@, defined at @SDL3\/SDL_render.h 821:9@
 sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_NUMBER =
   BG.pack
@@ -2933,7 +2933,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_UV_NUMBER@, literal @\"SDL.texture.create.opengl.texture_uv\"@, defined at @SDL3\/SDL_render.h 824:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_UV_NUMBER@, literal @\"SDL.texture.create.opengl.texture_uv\"@, defined at @SDL3\/SDL_render.h 822:9@
 sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_UV_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_UV_NUMBER =
   BG.pack
@@ -2975,7 +2975,7 @@
     , 0x76
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_U_NUMBER@, literal @\"SDL.texture.create.opengl.texture_u\"@, defined at @SDL3\/SDL_render.h 825:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_U_NUMBER@, literal @\"SDL.texture.create.opengl.texture_u\"@, defined at @SDL3\/SDL_render.h 823:9@
 sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_U_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_U_NUMBER =
   BG.pack
@@ -3016,7 +3016,7 @@
     , 0x75
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_V_NUMBER@, literal @\"SDL.texture.create.opengl.texture_v\"@, defined at @SDL3\/SDL_render.h 826:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_V_NUMBER@, literal @\"SDL.texture.create.opengl.texture_v\"@, defined at @SDL3\/SDL_render.h 824:9@
 sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_V_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_OPENGL_TEXTURE_V_NUMBER =
   BG.pack
@@ -3057,7 +3057,7 @@
     , 0x76
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER@, literal @\"SDL.texture.create.opengles2.texture\"@, defined at @SDL3\/SDL_render.h 827:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER@, literal @\"SDL.texture.create.opengles2.texture\"@, defined at @SDL3\/SDL_render.h 825:9@
 sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER =
   BG.pack
@@ -3099,7 +3099,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER@, literal @\"SDL.texture.create.opengles2.texture_uv\"@, defined at @SDL3\/SDL_render.h 828:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER@, literal @\"SDL.texture.create.opengles2.texture_uv\"@, defined at @SDL3\/SDL_render.h 826:9@
 sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER =
   BG.pack
@@ -3144,7 +3144,7 @@
     , 0x76
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_U_NUMBER@, literal @\"SDL.texture.create.opengles2.texture_u\"@, defined at @SDL3\/SDL_render.h 829:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_U_NUMBER@, literal @\"SDL.texture.create.opengles2.texture_u\"@, defined at @SDL3\/SDL_render.h 827:9@
 sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_U_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_U_NUMBER =
   BG.pack
@@ -3188,7 +3188,7 @@
     , 0x75
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_V_NUMBER@, literal @\"SDL.texture.create.opengles2.texture_v\"@, defined at @SDL3\/SDL_render.h 830:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_V_NUMBER@, literal @\"SDL.texture.create.opengles2.texture_v\"@, defined at @SDL3\/SDL_render.h 828:9@
 sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_V_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_V_NUMBER =
   BG.pack
@@ -3232,7 +3232,7 @@
     , 0x76
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_VULKAN_TEXTURE_NUMBER@, literal @\"SDL.texture.create.vulkan.texture\"@, defined at @SDL3\/SDL_render.h 831:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_VULKAN_TEXTURE_NUMBER@, literal @\"SDL.texture.create.vulkan.texture\"@, defined at @SDL3\/SDL_render.h 829:9@
 sDL_PROP_TEXTURE_CREATE_VULKAN_TEXTURE_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_VULKAN_TEXTURE_NUMBER =
   BG.pack
@@ -3271,7 +3271,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_VULKAN_LAYOUT_NUMBER@, literal @\"SDL.texture.create.vulkan.layout\"@, defined at @SDL3\/SDL_render.h 832:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_VULKAN_LAYOUT_NUMBER@, literal @\"SDL.texture.create.vulkan.layout\"@, defined at @SDL3\/SDL_render.h 830:9@
 sDL_PROP_TEXTURE_CREATE_VULKAN_LAYOUT_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_VULKAN_LAYOUT_NUMBER =
   BG.pack
@@ -3309,7 +3309,7 @@
     , 0x74
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER@, literal @\"SDL.texture.create.gpu.texture\"@, defined at @SDL3\/SDL_render.h 833:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER@, literal @\"SDL.texture.create.gpu.texture\"@, defined at @SDL3\/SDL_render.h 831:9@
 sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER =
   BG.pack
@@ -3345,7 +3345,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_UV_POINTER@, literal @\"SDL.texture.create.gpu.texture_uv\"@, defined at @SDL3\/SDL_render.h 834:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_UV_POINTER@, literal @\"SDL.texture.create.gpu.texture_uv\"@, defined at @SDL3\/SDL_render.h 832:9@
 sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_UV_POINTER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_UV_POINTER =
   BG.pack
@@ -3384,7 +3384,7 @@
     , 0x76
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_U_POINTER@, literal @\"SDL.texture.create.gpu.texture_u\"@, defined at @SDL3\/SDL_render.h 835:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_U_POINTER@, literal @\"SDL.texture.create.gpu.texture_u\"@, defined at @SDL3\/SDL_render.h 833:9@
 sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_U_POINTER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_U_POINTER =
   BG.pack
@@ -3422,7 +3422,7 @@
     , 0x75
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_V_POINTER@, literal @\"SDL.texture.create.gpu.texture_v\"@, defined at @SDL3\/SDL_render.h 836:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_V_POINTER@, literal @\"SDL.texture.create.gpu.texture_v\"@, defined at @SDL3\/SDL_render.h 834:9@
 sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_V_POINTER :: BG.ByteString
 sDL_PROP_TEXTURE_CREATE_GPU_TEXTURE_V_POINTER =
   BG.pack
@@ -3460,7 +3460,7 @@
     , 0x76
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_COLORSPACE_NUMBER@, literal @\"SDL.texture.colorspace\"@, defined at @SDL3\/SDL_render.h 937:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_COLORSPACE_NUMBER@, literal @\"SDL.texture.colorspace\"@, defined at @SDL3\/SDL_render.h 935:9@
 sDL_PROP_TEXTURE_COLORSPACE_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_COLORSPACE_NUMBER =
   BG.pack
@@ -3488,7 +3488,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_FORMAT_NUMBER@, literal @\"SDL.texture.format\"@, defined at @SDL3\/SDL_render.h 938:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_FORMAT_NUMBER@, literal @\"SDL.texture.format\"@, defined at @SDL3\/SDL_render.h 936:9@
 sDL_PROP_TEXTURE_FORMAT_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_FORMAT_NUMBER =
   BG.pack
@@ -3512,7 +3512,7 @@
     , 0x74
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_ACCESS_NUMBER@, literal @\"SDL.texture.access\"@, defined at @SDL3\/SDL_render.h 939:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_ACCESS_NUMBER@, literal @\"SDL.texture.access\"@, defined at @SDL3\/SDL_render.h 937:9@
 sDL_PROP_TEXTURE_ACCESS_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_ACCESS_NUMBER =
   BG.pack
@@ -3536,7 +3536,7 @@
     , 0x73
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_WIDTH_NUMBER@, literal @\"SDL.texture.width\"@, defined at @SDL3\/SDL_render.h 940:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_WIDTH_NUMBER@, literal @\"SDL.texture.width\"@, defined at @SDL3\/SDL_render.h 938:9@
 sDL_PROP_TEXTURE_WIDTH_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_WIDTH_NUMBER =
   BG.pack
@@ -3559,7 +3559,7 @@
     , 0x68
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_HEIGHT_NUMBER@, literal @\"SDL.texture.height\"@, defined at @SDL3\/SDL_render.h 941:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_HEIGHT_NUMBER@, literal @\"SDL.texture.height\"@, defined at @SDL3\/SDL_render.h 939:9@
 sDL_PROP_TEXTURE_HEIGHT_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_HEIGHT_NUMBER =
   BG.pack
@@ -3583,7 +3583,7 @@
     , 0x74
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_SDR_WHITE_POINT_FLOAT@, literal @\"SDL.texture.SDR_white_point\"@, defined at @SDL3\/SDL_render.h 942:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_SDR_WHITE_POINT_FLOAT@, literal @\"SDL.texture.SDR_white_point\"@, defined at @SDL3\/SDL_render.h 940:9@
 sDL_PROP_TEXTURE_SDR_WHITE_POINT_FLOAT :: BG.ByteString
 sDL_PROP_TEXTURE_SDR_WHITE_POINT_FLOAT =
   BG.pack
@@ -3616,7 +3616,7 @@
     , 0x74
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_HDR_HEADROOM_FLOAT@, literal @\"SDL.texture.HDR_headroom\"@, defined at @SDL3\/SDL_render.h 943:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_HDR_HEADROOM_FLOAT@, literal @\"SDL.texture.HDR_headroom\"@, defined at @SDL3\/SDL_render.h 941:9@
 sDL_PROP_TEXTURE_HDR_HEADROOM_FLOAT :: BG.ByteString
 sDL_PROP_TEXTURE_HDR_HEADROOM_FLOAT =
   BG.pack
@@ -3646,7 +3646,7 @@
     , 0x6D
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_D3D11_TEXTURE_POINTER@, literal @\"SDL.texture.d3d11.texture\"@, defined at @SDL3\/SDL_render.h 944:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_D3D11_TEXTURE_POINTER@, literal @\"SDL.texture.d3d11.texture\"@, defined at @SDL3\/SDL_render.h 942:9@
 sDL_PROP_TEXTURE_D3D11_TEXTURE_POINTER :: BG.ByteString
 sDL_PROP_TEXTURE_D3D11_TEXTURE_POINTER =
   BG.pack
@@ -3677,7 +3677,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_D3D11_TEXTURE_U_POINTER@, literal @\"SDL.texture.d3d11.texture_u\"@, defined at @SDL3\/SDL_render.h 945:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_D3D11_TEXTURE_U_POINTER@, literal @\"SDL.texture.d3d11.texture_u\"@, defined at @SDL3\/SDL_render.h 943:9@
 sDL_PROP_TEXTURE_D3D11_TEXTURE_U_POINTER :: BG.ByteString
 sDL_PROP_TEXTURE_D3D11_TEXTURE_U_POINTER =
   BG.pack
@@ -3710,7 +3710,7 @@
     , 0x75
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_D3D11_TEXTURE_V_POINTER@, literal @\"SDL.texture.d3d11.texture_v\"@, defined at @SDL3\/SDL_render.h 946:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_D3D11_TEXTURE_V_POINTER@, literal @\"SDL.texture.d3d11.texture_v\"@, defined at @SDL3\/SDL_render.h 944:9@
 sDL_PROP_TEXTURE_D3D11_TEXTURE_V_POINTER :: BG.ByteString
 sDL_PROP_TEXTURE_D3D11_TEXTURE_V_POINTER =
   BG.pack
@@ -3743,7 +3743,7 @@
     , 0x76
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_D3D12_TEXTURE_POINTER@, literal @\"SDL.texture.d3d12.texture\"@, defined at @SDL3\/SDL_render.h 947:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_D3D12_TEXTURE_POINTER@, literal @\"SDL.texture.d3d12.texture\"@, defined at @SDL3\/SDL_render.h 945:9@
 sDL_PROP_TEXTURE_D3D12_TEXTURE_POINTER :: BG.ByteString
 sDL_PROP_TEXTURE_D3D12_TEXTURE_POINTER =
   BG.pack
@@ -3774,7 +3774,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_D3D12_TEXTURE_U_POINTER@, literal @\"SDL.texture.d3d12.texture_u\"@, defined at @SDL3\/SDL_render.h 948:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_D3D12_TEXTURE_U_POINTER@, literal @\"SDL.texture.d3d12.texture_u\"@, defined at @SDL3\/SDL_render.h 946:9@
 sDL_PROP_TEXTURE_D3D12_TEXTURE_U_POINTER :: BG.ByteString
 sDL_PROP_TEXTURE_D3D12_TEXTURE_U_POINTER =
   BG.pack
@@ -3807,7 +3807,7 @@
     , 0x75
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_D3D12_TEXTURE_V_POINTER@, literal @\"SDL.texture.d3d12.texture_v\"@, defined at @SDL3\/SDL_render.h 949:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_D3D12_TEXTURE_V_POINTER@, literal @\"SDL.texture.d3d12.texture_v\"@, defined at @SDL3\/SDL_render.h 947:9@
 sDL_PROP_TEXTURE_D3D12_TEXTURE_V_POINTER :: BG.ByteString
 sDL_PROP_TEXTURE_D3D12_TEXTURE_V_POINTER =
   BG.pack
@@ -3840,7 +3840,7 @@
     , 0x76
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGL_TEXTURE_NUMBER@, literal @\"SDL.texture.opengl.texture\"@, defined at @SDL3\/SDL_render.h 950:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGL_TEXTURE_NUMBER@, literal @\"SDL.texture.opengl.texture\"@, defined at @SDL3\/SDL_render.h 948:9@
 sDL_PROP_TEXTURE_OPENGL_TEXTURE_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_OPENGL_TEXTURE_NUMBER =
   BG.pack
@@ -3872,7 +3872,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGL_TEXTURE_UV_NUMBER@, literal @\"SDL.texture.opengl.texture_uv\"@, defined at @SDL3\/SDL_render.h 951:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGL_TEXTURE_UV_NUMBER@, literal @\"SDL.texture.opengl.texture_uv\"@, defined at @SDL3\/SDL_render.h 949:9@
 sDL_PROP_TEXTURE_OPENGL_TEXTURE_UV_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_OPENGL_TEXTURE_UV_NUMBER =
   BG.pack
@@ -3907,7 +3907,7 @@
     , 0x76
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGL_TEXTURE_U_NUMBER@, literal @\"SDL.texture.opengl.texture_u\"@, defined at @SDL3\/SDL_render.h 952:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGL_TEXTURE_U_NUMBER@, literal @\"SDL.texture.opengl.texture_u\"@, defined at @SDL3\/SDL_render.h 950:9@
 sDL_PROP_TEXTURE_OPENGL_TEXTURE_U_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_OPENGL_TEXTURE_U_NUMBER =
   BG.pack
@@ -3941,7 +3941,7 @@
     , 0x75
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGL_TEXTURE_V_NUMBER@, literal @\"SDL.texture.opengl.texture_v\"@, defined at @SDL3\/SDL_render.h 953:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGL_TEXTURE_V_NUMBER@, literal @\"SDL.texture.opengl.texture_v\"@, defined at @SDL3\/SDL_render.h 951:9@
 sDL_PROP_TEXTURE_OPENGL_TEXTURE_V_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_OPENGL_TEXTURE_V_NUMBER =
   BG.pack
@@ -3975,7 +3975,7 @@
     , 0x76
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGL_TEXTURE_TARGET_NUMBER@, literal @\"SDL.texture.opengl.target\"@, defined at @SDL3\/SDL_render.h 954:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGL_TEXTURE_TARGET_NUMBER@, literal @\"SDL.texture.opengl.target\"@, defined at @SDL3\/SDL_render.h 952:9@
 sDL_PROP_TEXTURE_OPENGL_TEXTURE_TARGET_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_OPENGL_TEXTURE_TARGET_NUMBER =
   BG.pack
@@ -4006,7 +4006,7 @@
     , 0x74
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGL_TEX_W_FLOAT@, literal @\"SDL.texture.opengl.tex_w\"@, defined at @SDL3\/SDL_render.h 955:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGL_TEX_W_FLOAT@, literal @\"SDL.texture.opengl.tex_w\"@, defined at @SDL3\/SDL_render.h 953:9@
 sDL_PROP_TEXTURE_OPENGL_TEX_W_FLOAT :: BG.ByteString
 sDL_PROP_TEXTURE_OPENGL_TEX_W_FLOAT =
   BG.pack
@@ -4036,7 +4036,7 @@
     , 0x77
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGL_TEX_H_FLOAT@, literal @\"SDL.texture.opengl.tex_h\"@, defined at @SDL3\/SDL_render.h 956:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGL_TEX_H_FLOAT@, literal @\"SDL.texture.opengl.tex_h\"@, defined at @SDL3\/SDL_render.h 954:9@
 sDL_PROP_TEXTURE_OPENGL_TEX_H_FLOAT :: BG.ByteString
 sDL_PROP_TEXTURE_OPENGL_TEX_H_FLOAT =
   BG.pack
@@ -4066,7 +4066,7 @@
     , 0x68
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_NUMBER@, literal @\"SDL.texture.opengles2.texture\"@, defined at @SDL3\/SDL_render.h 957:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_NUMBER@, literal @\"SDL.texture.opengles2.texture\"@, defined at @SDL3\/SDL_render.h 955:9@
 sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_NUMBER =
   BG.pack
@@ -4101,7 +4101,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_UV_NUMBER@, literal @\"SDL.texture.opengles2.texture_uv\"@, defined at @SDL3\/SDL_render.h 958:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_UV_NUMBER@, literal @\"SDL.texture.opengles2.texture_uv\"@, defined at @SDL3\/SDL_render.h 956:9@
 sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_UV_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_UV_NUMBER =
   BG.pack
@@ -4139,7 +4139,7 @@
     , 0x76
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_U_NUMBER@, literal @\"SDL.texture.opengles2.texture_u\"@, defined at @SDL3\/SDL_render.h 959:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_U_NUMBER@, literal @\"SDL.texture.opengles2.texture_u\"@, defined at @SDL3\/SDL_render.h 957:9@
 sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_U_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_U_NUMBER =
   BG.pack
@@ -4176,7 +4176,7 @@
     , 0x75
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_V_NUMBER@, literal @\"SDL.texture.opengles2.texture_v\"@, defined at @SDL3\/SDL_render.h 960:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_V_NUMBER@, literal @\"SDL.texture.opengles2.texture_v\"@, defined at @SDL3\/SDL_render.h 958:9@
 sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_V_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_V_NUMBER =
   BG.pack
@@ -4213,7 +4213,7 @@
     , 0x76
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_TARGET_NUMBER@, literal @\"SDL.texture.opengles2.target\"@, defined at @SDL3\/SDL_render.h 961:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_OPENGLES2_TEXTURE_TARGET_NUMBER@, literal @\"SDL.texture.opengles2.target\"@, defined at @SDL3\/SDL_render.h 959:9@
 sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_TARGET_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_OPENGLES2_TEXTURE_TARGET_NUMBER =
   BG.pack
@@ -4247,7 +4247,7 @@
     , 0x74
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_VULKAN_TEXTURE_NUMBER@, literal @\"SDL.texture.vulkan.texture\"@, defined at @SDL3\/SDL_render.h 962:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_VULKAN_TEXTURE_NUMBER@, literal @\"SDL.texture.vulkan.texture\"@, defined at @SDL3\/SDL_render.h 960:9@
 sDL_PROP_TEXTURE_VULKAN_TEXTURE_NUMBER :: BG.ByteString
 sDL_PROP_TEXTURE_VULKAN_TEXTURE_NUMBER =
   BG.pack
@@ -4279,7 +4279,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER@, literal @\"SDL.texture.gpu.texture\"@, defined at @SDL3\/SDL_render.h 963:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_GPU_TEXTURE_POINTER@, literal @\"SDL.texture.gpu.texture\"@, defined at @SDL3\/SDL_render.h 961:9@
 sDL_PROP_TEXTURE_GPU_TEXTURE_POINTER :: BG.ByteString
 sDL_PROP_TEXTURE_GPU_TEXTURE_POINTER =
   BG.pack
@@ -4308,7 +4308,7 @@
     , 0x65
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_GPU_TEXTURE_UV_POINTER@, literal @\"SDL.texture.gpu.texture_uv\"@, defined at @SDL3\/SDL_render.h 964:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_GPU_TEXTURE_UV_POINTER@, literal @\"SDL.texture.gpu.texture_uv\"@, defined at @SDL3\/SDL_render.h 962:9@
 sDL_PROP_TEXTURE_GPU_TEXTURE_UV_POINTER :: BG.ByteString
 sDL_PROP_TEXTURE_GPU_TEXTURE_UV_POINTER =
   BG.pack
@@ -4340,7 +4340,7 @@
     , 0x76
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_GPU_TEXTURE_U_POINTER@, literal @\"SDL.texture.gpu.texture_u\"@, defined at @SDL3\/SDL_render.h 965:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_GPU_TEXTURE_U_POINTER@, literal @\"SDL.texture.gpu.texture_u\"@, defined at @SDL3\/SDL_render.h 963:9@
 sDL_PROP_TEXTURE_GPU_TEXTURE_U_POINTER :: BG.ByteString
 sDL_PROP_TEXTURE_GPU_TEXTURE_U_POINTER =
   BG.pack
@@ -4371,7 +4371,7 @@
     , 0x75
     ]
 
--- | [C declaration]: @macro SDL_PROP_TEXTURE_GPU_TEXTURE_V_POINTER@, literal @\"SDL.texture.gpu.texture_v\"@, defined at @SDL3\/SDL_render.h 966:9@
+-- | [C declaration]: @macro SDL_PROP_TEXTURE_GPU_TEXTURE_V_POINTER@, literal @\"SDL.texture.gpu.texture_v\"@, defined at @SDL3\/SDL_render.h 964:9@
 sDL_PROP_TEXTURE_GPU_TEXTURE_V_POINTER :: BG.ByteString
 sDL_PROP_TEXTURE_GPU_TEXTURE_V_POINTER =
   BG.pack
@@ -4402,11 +4402,11 @@
     , 0x76
     ]
 
--- | [C declaration]: @macro SDL_RENDERER_VSYNC_DISABLED@, defined at @SDL3\/SDL_render.h 2782:9@
+-- | [C declaration]: @macro SDL_RENDERER_VSYNC_DISABLED@, defined at @SDL3\/SDL_render.h 2786:9@
 sDL_RENDERER_VSYNC_DISABLED :: BG.CInt
 sDL_RENDERER_VSYNC_DISABLED = (0 :: BG.CInt)
 
--- | [C declaration]: @macro SDL_RENDERER_VSYNC_ADAPTIVE@, defined at @SDL3\/SDL_render.h 2783:9@
+-- | [C declaration]: @macro SDL_RENDERER_VSYNC_ADAPTIVE@, defined at @SDL3\/SDL_render.h 2787:9@
 sDL_RENDERER_VSYNC_ADAPTIVE :: BG.CInt
 sDL_RENDERER_VSYNC_ADAPTIVE =
   C.Expr.HostPlatform.negate (1 :: BG.CInt)
@@ -4419,7 +4419,7 @@
 --
 --     [See also]: 'sDL_RenderDebugText'
 --
---     [C declaration]: @macro SDL_DEBUG_TEXT_FONT_CHARACTER_SIZE@, defined at @SDL3\/SDL_render.h 2811:9@
+--     [C declaration]: @macro SDL_DEBUG_TEXT_FONT_CHARACTER_SIZE@, defined at @SDL3\/SDL_render.h 2815:9@
 sDL_DEBUG_TEXT_FONT_CHARACTER_SIZE :: BG.CInt
 sDL_DEBUG_TEXT_FONT_CHARACTER_SIZE = (8 :: BG.CInt)
 
@@ -4429,40 +4429,40 @@
 --
 --     [See also]: 'sDL_CreateGPURenderState'
 --
---     [C declaration]: @struct SDL_GPURenderStateCreateInfo@, defined at @SDL3\/SDL_render.h 2925:16@
+--     [C declaration]: @struct SDL_GPURenderStateCreateInfo@, defined at @SDL3\/SDL_render.h 2929:16@
 data SDL_GPURenderStateCreateInfo = SDL_GPURenderStateCreateInfo
   { fragment_shader :: BG.Ptr SDL3.Sys.Bindgen.Gpu.SDL_GPUShader
   -- ^ The fragment shader to use when this render state is active
   --
-  --          [C declaration]: @fragment_shader@, defined at @SDL3\/SDL_render.h 2927:20@
+  --          [C declaration]: @fragment_shader@, defined at @SDL3\/SDL_render.h 2931:20@
   , num_sampler_bindings :: SDL3.Sys.Bindgen.Stdinc.Sint32
   -- ^ The number of additional fragment samplers to bind when this render state is active
   --
-  --          [C declaration]: @num_sampler_bindings@, defined at @SDL3\/SDL_render.h 2929:12@
+  --          [C declaration]: @num_sampler_bindings@, defined at @SDL3\/SDL_render.h 2933:12@
   , sampler_bindings :: PtrConst.PtrConst SDL3.Sys.Bindgen.Gpu.SDL_GPUTextureSamplerBinding
   -- ^ Additional fragment samplers to bind when this render state is active
   --
-  --          [C declaration]: @sampler_bindings@, defined at @SDL3\/SDL_render.h 2930:41@
+  --          [C declaration]: @sampler_bindings@, defined at @SDL3\/SDL_render.h 2934:41@
   , num_storage_textures :: SDL3.Sys.Bindgen.Stdinc.Sint32
   -- ^ The number of storage textures to bind when this render state is active
   --
-  --          [C declaration]: @num_storage_textures@, defined at @SDL3\/SDL_render.h 2932:12@
+  --          [C declaration]: @num_storage_textures@, defined at @SDL3\/SDL_render.h 2936:12@
   , storage_textures :: PtrConst.PtrConst (BG.Ptr SDL3.Sys.Bindgen.Gpu.SDL_GPUTexture)
   -- ^ Storage textures to bind when this render state is active
   --
-  --          [C declaration]: @storage_textures@, defined at @SDL3\/SDL_render.h 2933:28@
+  --          [C declaration]: @storage_textures@, defined at @SDL3\/SDL_render.h 2937:28@
   , num_storage_buffers :: SDL3.Sys.Bindgen.Stdinc.Sint32
   -- ^ The number of storage buffers to bind when this render state is active
   --
-  --          [C declaration]: @num_storage_buffers@, defined at @SDL3\/SDL_render.h 2935:12@
+  --          [C declaration]: @num_storage_buffers@, defined at @SDL3\/SDL_render.h 2939:12@
   , storage_buffers :: PtrConst.PtrConst (BG.Ptr SDL3.Sys.Bindgen.Gpu.SDL_GPUBuffer)
   -- ^ Storage buffers to bind when this render state is active
   --
-  --          [C declaration]: @storage_buffers@, defined at @SDL3\/SDL_render.h 2936:27@
+  --          [C declaration]: @storage_buffers@, defined at @SDL3\/SDL_render.h 2940:27@
   , props :: SDL3.Sys.Bindgen.Properties.SDL_PropertiesID
   -- ^ A properties ID for extensions. Should be 0 if no extensions are needed.
   --
-  --          [C declaration]: @props@, defined at @SDL3\/SDL_render.h 2938:22@
+  --          [C declaration]: @props@, defined at @SDL3\/SDL_render.h 2942:22@
   }
   deriving stock (BG.Generic, Eq, Show)
 
@@ -4789,5 +4789,5 @@
 --
 --     [See also]: 'sDL_CreateGPURenderState', 'sDL_SetGPURenderStateFragmentUniforms', 'sDL_SetGPURenderState', 'sDL_DestroyGPURenderState'
 --
---     [C declaration]: @struct SDL_GPURenderState@, defined at @SDL3\/SDL_render.h 2951:16@
+--     [C declaration]: @struct SDL_GPURenderState@, defined at @SDL3\/SDL_render.h 2955:16@
 data SDL_GPURenderState
diff --git a/src/SDL3/Sys/Bindgen/Render/FunPtr.hs b/src/SDL3/Sys/Bindgen/Render/FunPtr.hs
--- a/src/SDL3/Sys/Bindgen/Render/FunPtr.hs
+++ b/src/SDL3/Sys/Bindgen/Render/FunPtr.hs
@@ -1585,7 +1585,7 @@
 
 -- | Create a 2D software rendering context for a surface.
 --
---     Two other API which can be used to create 'SDL_Renderer': @SDL_CreateRenderer()@ and @SDL_CreateWindowAndRenderer()@. These can /also/ create a software renderer, but they are intended to be used with an SDL_Window as the final destination and not an SDL_Surface.
+--     Two other APIs which can be used to create 'SDL_Renderer': @SDL_CreateRenderer()@ and @SDL_CreateWindowAndRenderer()@. These can /also/ create a software renderer, but they are intended to be used with an SDL_Window as the final destination and not an SDL_Surface.
 --
 --     [@surface@]: the SDL_Surface structure representing the surface where rendering is done.
 --
@@ -2029,8 +2029,6 @@
 --
 --     * @'sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER'@: the GLuint texture associated with the texture, if you want to wrap an existing texture.
 --
---     * @'sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER'@: the GLuint texture associated with the texture, if you want to wrap an existing texture.
---
 --     * @'sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER'@: the GLuint texture associated with the UV plane of an NV12 texture, if you want to wrap an existing texture.
 --
 --     * @'sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_U_NUMBER'@: the GLuint texture associated with the U plane of a YUV texture, if you want to wrap an existing texture.
@@ -2065,7 +2063,7 @@
 --
 --     [See also]: SDL_CreateProperties, 'sDL_CreateTexture', 'sDL_CreateTextureFromSurface', 'sDL_DestroyTexture', 'sDL_GetTextureSize', 'sDL_UpdateTexture'
 --
---     [C declaration]: @SDL_CreateTextureWithProperties@, defined at @SDL3\/SDL_render.h 806:43@
+--     [C declaration]: @SDL_CreateTextureWithProperties@, defined at @SDL3\/SDL_render.h 804:43@
 sDL_CreateTextureWithProperties
   :: BG.FunPtr
        (BG.Ptr SDL_Renderer -> SDL3.Sys.Bindgen.Properties.SDL_PropertiesID -> IO (BG.Ptr SDL_Texture))
@@ -2169,7 +2167,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetTextureProperties@, defined at @SDL3\/SDL_render.h 935:46@
+--     [C declaration]: @SDL_GetTextureProperties@, defined at @SDL3\/SDL_render.h 933:46@
 sDL_GetTextureProperties
   :: BG.FunPtr (BG.Ptr SDL_Texture -> IO SDL3.Sys.Bindgen.Properties.SDL_PropertiesID)
 sDL_GetTextureProperties =
@@ -2197,7 +2195,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetRendererFromTexture@, defined at @SDL3\/SDL_render.h 979:44@
+--     [C declaration]: @SDL_GetRendererFromTexture@, defined at @SDL3\/SDL_render.h 977:44@
 sDL_GetRendererFromTexture :: BG.FunPtr (BG.Ptr SDL_Texture -> IO (BG.Ptr SDL_Renderer))
 sDL_GetRendererFromTexture =
   BG.unsafePerformIO hs_bindgen_49dcd52c4c1d2b81
@@ -2229,7 +2227,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetTextureSize@, defined at @SDL3\/SDL_render.h 996:34@
+--     [C declaration]: @SDL_GetTextureSize@, defined at @SDL3\/SDL_render.h 994:34@
 sDL_GetTextureSize
   :: BG.FunPtr (BG.Ptr SDL_Texture -> BG.Ptr BG.CFloat -> BG.Ptr BG.CFloat -> IO BG.CBool)
 sDL_GetTextureSize =
@@ -2266,7 +2264,7 @@
 --
 --     [See also]: SDL_CreatePalette, 'sDL_GetTexturePalette'
 --
---     [C declaration]: @SDL_SetTexturePalette@, defined at @SDL3\/SDL_render.h 1018:34@
+--     [C declaration]: @SDL_SetTexturePalette@, defined at @SDL3\/SDL_render.h 1016:34@
 sDL_SetTexturePalette
   :: BG.FunPtr (BG.Ptr SDL_Texture -> BG.Ptr SDL3.Sys.Bindgen.Pixels.SDL_Palette -> IO BG.CBool)
 sDL_SetTexturePalette =
@@ -2297,7 +2295,7 @@
 --
 --     [See also]: 'sDL_SetTexturePalette'
 --
---     [C declaration]: @SDL_GetTexturePalette@, defined at @SDL3\/SDL_render.h 1033:43@
+--     [C declaration]: @SDL_GetTexturePalette@, defined at @SDL3\/SDL_render.h 1031:43@
 sDL_GetTexturePalette
   :: BG.FunPtr (BG.Ptr SDL_Texture -> IO (BG.Ptr SDL3.Sys.Bindgen.Pixels.SDL_Palette))
 sDL_GetTexturePalette =
@@ -2348,7 +2346,7 @@
 --
 --     [See also]: 'sDL_GetTextureColorMod', 'sDL_SetTextureAlphaMod', 'sDL_SetTextureColorModFloat'
 --
---     [C declaration]: @SDL_SetTextureColorMod@, defined at @SDL3\/SDL_render.h 1062:34@
+--     [C declaration]: @SDL_SetTextureColorMod@, defined at @SDL3\/SDL_render.h 1060:34@
 sDL_SetTextureColorMod
   :: BG.FunPtr
        ( BG.Ptr SDL_Texture
@@ -2397,7 +2395,7 @@
 --
 --     [See also]: 'sDL_GetTextureColorModFloat', 'sDL_SetTextureAlphaModFloat', 'sDL_SetTextureColorMod'
 --
---     [C declaration]: @SDL_SetTextureColorModFloat@, defined at @SDL3\/SDL_render.h 1092:34@
+--     [C declaration]: @SDL_SetTextureColorModFloat@, defined at @SDL3\/SDL_render.h 1090:34@
 sDL_SetTextureColorModFloat
   :: BG.FunPtr (BG.Ptr SDL_Texture -> BG.CFloat -> BG.CFloat -> BG.CFloat -> IO BG.CBool)
 sDL_SetTextureColorModFloat =
@@ -2442,7 +2440,7 @@
 --
 --     [See also]: 'sDL_GetTextureAlphaMod', 'sDL_GetTextureColorModFloat', 'sDL_SetTextureColorMod'
 --
---     [C declaration]: @SDL_GetTextureColorMod@, defined at @SDL3\/SDL_render.h 1113:34@
+--     [C declaration]: @SDL_GetTextureColorMod@, defined at @SDL3\/SDL_render.h 1111:34@
 sDL_GetTextureColorMod
   :: BG.FunPtr
        ( BG.Ptr SDL_Texture
@@ -2488,7 +2486,7 @@
 --
 --     [See also]: 'sDL_GetTextureAlphaModFloat', 'sDL_GetTextureColorMod', 'sDL_SetTextureColorModFloat'
 --
---     [C declaration]: @SDL_GetTextureColorModFloat@, defined at @SDL3\/SDL_render.h 1133:34@
+--     [C declaration]: @SDL_GetTextureColorModFloat@, defined at @SDL3\/SDL_render.h 1131:34@
 sDL_GetTextureColorModFloat
   :: BG.FunPtr
        (BG.Ptr SDL_Texture -> BG.Ptr BG.CFloat -> BG.Ptr BG.CFloat -> BG.Ptr BG.CFloat -> IO BG.CBool)
@@ -2528,7 +2526,7 @@
 --
 --     [See also]: 'sDL_GetTextureAlphaMod', 'sDL_SetTextureAlphaModFloat', 'sDL_SetTextureColorMod'
 --
---     [C declaration]: @SDL_SetTextureAlphaMod@, defined at @SDL3\/SDL_render.h 1159:34@
+--     [C declaration]: @SDL_SetTextureAlphaMod@, defined at @SDL3\/SDL_render.h 1157:34@
 sDL_SetTextureAlphaMod
   :: BG.FunPtr (BG.Ptr SDL_Texture -> SDL3.Sys.Bindgen.Stdinc.Uint8 -> IO BG.CBool)
 sDL_SetTextureAlphaMod =
@@ -2566,7 +2564,7 @@
 --
 --     [See also]: 'sDL_GetTextureAlphaModFloat', 'sDL_SetTextureAlphaMod', 'sDL_SetTextureColorModFloat'
 --
---     [C declaration]: @SDL_SetTextureAlphaModFloat@, defined at @SDL3\/SDL_render.h 1185:34@
+--     [C declaration]: @SDL_SetTextureAlphaModFloat@, defined at @SDL3\/SDL_render.h 1183:34@
 sDL_SetTextureAlphaModFloat :: BG.FunPtr (BG.Ptr SDL_Texture -> BG.CFloat -> IO BG.CBool)
 sDL_SetTextureAlphaModFloat =
   BG.unsafePerformIO hs_bindgen_497b70cfcdb285b3
@@ -2598,7 +2596,7 @@
 --
 --     [See also]: 'sDL_GetTextureAlphaModFloat', 'sDL_GetTextureColorMod', 'sDL_SetTextureAlphaMod'
 --
---     [C declaration]: @SDL_GetTextureAlphaMod@, defined at @SDL3\/SDL_render.h 1203:34@
+--     [C declaration]: @SDL_GetTextureAlphaMod@, defined at @SDL3\/SDL_render.h 1201:34@
 sDL_GetTextureAlphaMod
   :: BG.FunPtr (BG.Ptr SDL_Texture -> BG.Ptr SDL3.Sys.Bindgen.Stdinc.Uint8 -> IO BG.CBool)
 sDL_GetTextureAlphaMod =
@@ -2631,7 +2629,7 @@
 --
 --     [See also]: 'sDL_GetTextureAlphaMod', 'sDL_GetTextureColorModFloat', 'sDL_SetTextureAlphaModFloat'
 --
---     [C declaration]: @SDL_GetTextureAlphaModFloat@, defined at @SDL3\/SDL_render.h 1221:34@
+--     [C declaration]: @SDL_GetTextureAlphaModFloat@, defined at @SDL3\/SDL_render.h 1219:34@
 sDL_GetTextureAlphaModFloat :: BG.FunPtr (BG.Ptr SDL_Texture -> BG.Ptr BG.CFloat -> IO BG.CBool)
 sDL_GetTextureAlphaModFloat =
   BG.unsafePerformIO hs_bindgen_00ee88c364b7b54b
@@ -2651,6 +2649,8 @@
 
 -- | Set the blend mode for a texture, used by @SDL_RenderTexture()@.
 --
+--     This blend mode is used for any drawing that involves this texture.
+--
 --     If the blend mode is not supported, the closest supported mode is chosen and this function returns false.
 --
 --     [@texture@]: the texture to update.
@@ -2663,9 +2663,9 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'sDL_GetTextureBlendMode'
+--     [See also]: 'sDL_GetTextureBlendMode', 'sDL_SetRenderDrawBlendMode'
 --
---     [C declaration]: @SDL_SetTextureBlendMode@, defined at @SDL3\/SDL_render.h 1240:34@
+--     [C declaration]: @SDL_SetTextureBlendMode@, defined at @SDL3\/SDL_render.h 1241:34@
 sDL_SetTextureBlendMode
   :: BG.FunPtr (BG.Ptr SDL_Texture -> SDL3.Sys.Bindgen.Blendmode.SDL_BlendMode -> IO BG.CBool)
 sDL_SetTextureBlendMode =
@@ -2699,7 +2699,7 @@
 --
 --     [See also]: 'sDL_SetTextureBlendMode'
 --
---     [C declaration]: @SDL_GetTextureBlendMode@, defined at @SDL3\/SDL_render.h 1256:34@
+--     [C declaration]: @SDL_GetTextureBlendMode@, defined at @SDL3\/SDL_render.h 1257:34@
 sDL_GetTextureBlendMode
   :: BG.FunPtr (BG.Ptr SDL_Texture -> BG.Ptr SDL3.Sys.Bindgen.Blendmode.SDL_BlendMode -> IO BG.CBool)
 sDL_GetTextureBlendMode =
@@ -2736,7 +2736,7 @@
 --
 --     [See also]: 'sDL_GetTextureScaleMode'
 --
---     [C declaration]: @SDL_SetTextureScaleMode@, defined at @SDL3\/SDL_render.h 1276:34@
+--     [C declaration]: @SDL_SetTextureScaleMode@, defined at @SDL3\/SDL_render.h 1277:34@
 sDL_SetTextureScaleMode
   :: BG.FunPtr (BG.Ptr SDL_Texture -> SDL3.Sys.Bindgen.Surface.SDL_ScaleMode -> IO BG.CBool)
 sDL_SetTextureScaleMode =
@@ -2769,7 +2769,7 @@
 --
 --     [See also]: 'sDL_SetTextureScaleMode'
 --
---     [C declaration]: @SDL_GetTextureScaleMode@, defined at @SDL3\/SDL_render.h 1292:34@
+--     [C declaration]: @SDL_GetTextureScaleMode@, defined at @SDL3\/SDL_render.h 1293:34@
 sDL_GetTextureScaleMode
   :: BG.FunPtr (BG.Ptr SDL_Texture -> BG.Ptr SDL3.Sys.Bindgen.Surface.SDL_ScaleMode -> IO BG.CBool)
 sDL_GetTextureScaleMode =
@@ -2820,7 +2820,7 @@
 --
 --     [See also]: 'sDL_LockTexture', 'sDL_UnlockTexture', 'sDL_UpdateNVTexture', 'sDL_UpdateYUVTexture'
 --
---     [C declaration]: @SDL_UpdateTexture@, defined at @SDL3\/SDL_render.h 1326:34@
+--     [C declaration]: @SDL_UpdateTexture@, defined at @SDL3\/SDL_render.h 1327:34@
 sDL_UpdateTexture
   :: BG.FunPtr
        ( BG.Ptr SDL_Texture
@@ -2885,7 +2885,7 @@
 --
 --     [See also]: 'sDL_UpdateNVTexture', 'sDL_UpdateTexture'
 --
---     [C declaration]: @SDL_UpdateYUVTexture@, defined at @SDL3\/SDL_render.h 1358:34@
+--     [C declaration]: @SDL_UpdateYUVTexture@, defined at @SDL3\/SDL_render.h 1359:34@
 sDL_UpdateYUVTexture
   :: BG.FunPtr
        ( BG.Ptr SDL_Texture
@@ -2948,7 +2948,7 @@
 --
 --     [See also]: 'sDL_UpdateTexture', 'sDL_UpdateYUVTexture'
 --
---     [C declaration]: @SDL_UpdateNVTexture@, defined at @SDL3\/SDL_render.h 1390:34@
+--     [C declaration]: @SDL_UpdateNVTexture@, defined at @SDL3\/SDL_render.h 1391:34@
 sDL_UpdateNVTexture
   :: BG.FunPtr
        ( BG.Ptr SDL_Texture
@@ -3005,7 +3005,7 @@
 --
 --     [See also]: 'sDL_LockTextureToSurface', 'sDL_UnlockTexture'
 --
---     [C declaration]: @SDL_LockTexture@, defined at @SDL3\/SDL_render.h 1425:34@
+--     [C declaration]: @SDL_LockTexture@, defined at @SDL3\/SDL_render.h 1426:34@
 sDL_LockTexture
   :: BG.FunPtr
        ( BG.Ptr SDL_Texture
@@ -3061,7 +3061,7 @@
 --
 --     [See also]: 'sDL_LockTexture', 'sDL_UnlockTexture'
 --
---     [C declaration]: @SDL_LockTextureToSurface@, defined at @SDL3\/SDL_render.h 1463:34@
+--     [C declaration]: @SDL_LockTextureToSurface@, defined at @SDL3\/SDL_render.h 1464:34@
 sDL_LockTextureToSurface
   :: BG.FunPtr
        ( BG.Ptr SDL_Texture
@@ -3098,7 +3098,7 @@
 --
 --     [See also]: 'sDL_LockTexture'
 --
---     [C declaration]: @SDL_UnlockTexture@, defined at @SDL3\/SDL_render.h 1484:34@
+--     [C declaration]: @SDL_UnlockTexture@, defined at @SDL3\/SDL_render.h 1485:34@
 sDL_UnlockTexture :: BG.FunPtr (BG.Ptr SDL_Texture -> IO ())
 sDL_UnlockTexture =
   BG.unsafePerformIO hs_bindgen_13908e9a60424294
@@ -3134,7 +3134,7 @@
 --
 --     [See also]: 'sDL_GetRenderTarget'
 --
---     [C declaration]: @SDL_SetRenderTarget@, defined at @SDL3\/SDL_render.h 1511:34@
+--     [C declaration]: @SDL_SetRenderTarget@, defined at @SDL3\/SDL_render.h 1512:34@
 sDL_SetRenderTarget :: BG.FunPtr (BG.Ptr SDL_Renderer -> BG.Ptr SDL_Texture -> IO BG.CBool)
 sDL_SetRenderTarget =
   BG.unsafePerformIO hs_bindgen_bf0b26dd5575e7f4
@@ -3165,7 +3165,7 @@
 --
 --     [See also]: 'sDL_SetRenderTarget'
 --
---     [C declaration]: @SDL_GetRenderTarget@, defined at @SDL3\/SDL_render.h 1528:43@
+--     [C declaration]: @SDL_GetRenderTarget@, defined at @SDL3\/SDL_render.h 1529:43@
 sDL_GetRenderTarget :: BG.FunPtr (BG.Ptr SDL_Renderer -> IO (BG.Ptr SDL_Texture))
 sDL_GetRenderTarget =
   BG.unsafePerformIO hs_bindgen_1e8b9f67ad2f60e0
@@ -3214,7 +3214,7 @@
 --
 --     [See also]: 'sDL_ConvertEventToRenderCoordinates', 'sDL_GetRenderLogicalPresentation', 'sDL_GetRenderLogicalPresentationRect'
 --
---     [C declaration]: @SDL_SetRenderLogicalPresentation@, defined at @SDL3\/SDL_render.h 1575:34@
+--     [C declaration]: @SDL_SetRenderLogicalPresentation@, defined at @SDL3\/SDL_render.h 1576:34@
 sDL_SetRenderLogicalPresentation
   :: BG.FunPtr
        (BG.Ptr SDL_Renderer -> BG.CInt -> BG.CInt -> SDL_RendererLogicalPresentation -> IO BG.CBool)
@@ -3264,7 +3264,7 @@
 --
 --     [See also]: 'sDL_SetRenderLogicalPresentation'
 --
---     [C declaration]: @SDL_GetRenderLogicalPresentation@, defined at @SDL3\/SDL_render.h 1600:34@
+--     [C declaration]: @SDL_GetRenderLogicalPresentation@, defined at @SDL3\/SDL_render.h 1601:34@
 sDL_GetRenderLogicalPresentation
   :: BG.FunPtr
        ( BG.Ptr SDL_Renderer
@@ -3307,7 +3307,7 @@
 --
 --     [See also]: 'sDL_SetRenderLogicalPresentation'
 --
---     [C declaration]: @SDL_GetRenderLogicalPresentationRect@, defined at @SDL3\/SDL_render.h 1625:34@
+--     [C declaration]: @SDL_GetRenderLogicalPresentationRect@, defined at @SDL3\/SDL_render.h 1626:34@
 sDL_GetRenderLogicalPresentationRect
   :: BG.FunPtr (BG.Ptr SDL_Renderer -> BG.Ptr SDL3.Sys.Bindgen.Rect.SDL_FRect -> IO BG.CBool)
 sDL_GetRenderLogicalPresentationRect =
@@ -3359,7 +3359,7 @@
 --
 --     [See also]: 'sDL_SetRenderLogicalPresentation', 'sDL_SetRenderScale'
 --
---     [C declaration]: @SDL_RenderCoordinatesFromWindow@, defined at @SDL3\/SDL_render.h 1652:34@
+--     [C declaration]: @SDL_RenderCoordinatesFromWindow@, defined at @SDL3\/SDL_render.h 1653:34@
 sDL_RenderCoordinatesFromWindow
   :: BG.FunPtr
        (BG.Ptr SDL_Renderer -> BG.CFloat -> BG.CFloat -> BG.Ptr BG.CFloat -> BG.Ptr BG.CFloat -> IO BG.CBool)
@@ -3412,7 +3412,7 @@
 --
 --     [See also]: 'sDL_SetRenderLogicalPresentation', 'sDL_SetRenderScale', 'sDL_SetRenderViewport'
 --
---     [C declaration]: @SDL_RenderCoordinatesToWindow@, defined at @SDL3\/SDL_render.h 1682:34@
+--     [C declaration]: @SDL_RenderCoordinatesToWindow@, defined at @SDL3\/SDL_render.h 1683:34@
 sDL_RenderCoordinatesToWindow
   :: BG.FunPtr
        (BG.Ptr SDL_Renderer -> BG.CFloat -> BG.CFloat -> BG.Ptr BG.CFloat -> BG.Ptr BG.CFloat -> IO BG.CBool)
@@ -3464,7 +3464,7 @@
 --
 --     [See also]: 'sDL_RenderCoordinatesFromWindow'
 --
---     [C declaration]: @SDL_ConvertEventToRenderCoordinates@, defined at @SDL3\/SDL_render.h 1718:34@
+--     [C declaration]: @SDL_ConvertEventToRenderCoordinates@, defined at @SDL3\/SDL_render.h 1719:34@
 sDL_ConvertEventToRenderCoordinates
   :: BG.FunPtr (BG.Ptr SDL_Renderer -> BG.Ptr SDL3.Sys.Bindgen.Events.SDL_Event -> IO BG.CBool)
 sDL_ConvertEventToRenderCoordinates =
@@ -3504,7 +3504,7 @@
 --
 --     [See also]: 'sDL_GetRenderViewport', 'sDL_RenderViewportSet'
 --
---     [C declaration]: @SDL_SetRenderViewport@, defined at @SDL3\/SDL_render.h 1745:34@
+--     [C declaration]: @SDL_SetRenderViewport@, defined at @SDL3\/SDL_render.h 1746:34@
 sDL_SetRenderViewport
   :: BG.FunPtr (BG.Ptr SDL_Renderer -> PtrConst.PtrConst SDL3.Sys.Bindgen.Rect.SDL_Rect -> IO BG.CBool)
 sDL_SetRenderViewport =
@@ -3539,7 +3539,7 @@
 --
 --     [See also]: 'sDL_RenderViewportSet', 'sDL_SetRenderViewport'
 --
---     [C declaration]: @SDL_GetRenderViewport@, defined at @SDL3\/SDL_render.h 1765:34@
+--     [C declaration]: @SDL_GetRenderViewport@, defined at @SDL3\/SDL_render.h 1766:34@
 sDL_GetRenderViewport
   :: BG.FunPtr (BG.Ptr SDL_Renderer -> BG.Ptr SDL3.Sys.Bindgen.Rect.SDL_Rect -> IO BG.CBool)
 sDL_GetRenderViewport =
@@ -3573,7 +3573,7 @@
 --
 --     [See also]: 'sDL_GetRenderViewport', 'sDL_SetRenderViewport'
 --
---     [C declaration]: @SDL_RenderViewportSet@, defined at @SDL3\/SDL_render.h 1787:34@
+--     [C declaration]: @SDL_RenderViewportSet@, defined at @SDL3\/SDL_render.h 1788:34@
 sDL_RenderViewportSet :: BG.FunPtr (BG.Ptr SDL_Renderer -> IO BG.CBool)
 sDL_RenderViewportSet =
   BG.unsafePerformIO hs_bindgen_9ea268631b7b5e5b
@@ -3605,7 +3605,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetRenderSafeArea@, defined at @SDL3\/SDL_render.h 1809:34@
+--     [C declaration]: @SDL_GetRenderSafeArea@, defined at @SDL3\/SDL_render.h 1810:34@
 sDL_GetRenderSafeArea
   :: BG.FunPtr (BG.Ptr SDL_Renderer -> BG.Ptr SDL3.Sys.Bindgen.Rect.SDL_Rect -> IO BG.CBool)
 sDL_GetRenderSafeArea =
@@ -3641,7 +3641,7 @@
 --
 --     [See also]: 'sDL_GetRenderClipRect', 'sDL_RenderClipEnabled'
 --
---     [C declaration]: @SDL_SetRenderClipRect@, defined at @SDL3\/SDL_render.h 1830:34@
+--     [C declaration]: @SDL_SetRenderClipRect@, defined at @SDL3\/SDL_render.h 1831:34@
 sDL_SetRenderClipRect
   :: BG.FunPtr (BG.Ptr SDL_Renderer -> PtrConst.PtrConst SDL3.Sys.Bindgen.Rect.SDL_Rect -> IO BG.CBool)
 sDL_SetRenderClipRect =
@@ -3676,7 +3676,7 @@
 --
 --     [See also]: 'sDL_RenderClipEnabled', 'sDL_SetRenderClipRect'
 --
---     [C declaration]: @SDL_GetRenderClipRect@, defined at @SDL3\/SDL_render.h 1851:34@
+--     [C declaration]: @SDL_GetRenderClipRect@, defined at @SDL3\/SDL_render.h 1852:34@
 sDL_GetRenderClipRect
   :: BG.FunPtr (BG.Ptr SDL_Renderer -> BG.Ptr SDL3.Sys.Bindgen.Rect.SDL_Rect -> IO BG.CBool)
 sDL_GetRenderClipRect =
@@ -3708,7 +3708,7 @@
 --
 --     [See also]: 'sDL_GetRenderClipRect', 'sDL_SetRenderClipRect'
 --
---     [C declaration]: @SDL_RenderClipEnabled@, defined at @SDL3\/SDL_render.h 1870:34@
+--     [C declaration]: @SDL_RenderClipEnabled@, defined at @SDL3\/SDL_render.h 1871:34@
 sDL_RenderClipEnabled :: BG.FunPtr (BG.Ptr SDL_Renderer -> IO BG.CBool)
 sDL_RenderClipEnabled =
   BG.unsafePerformIO hs_bindgen_b0a5efaab13d3303
@@ -3748,7 +3748,7 @@
 --
 --     [See also]: 'sDL_GetRenderScale'
 --
---     [C declaration]: @SDL_SetRenderScale@, defined at @SDL3\/SDL_render.h 1898:34@
+--     [C declaration]: @SDL_SetRenderScale@, defined at @SDL3\/SDL_render.h 1899:34@
 sDL_SetRenderScale :: BG.FunPtr (BG.Ptr SDL_Renderer -> BG.CFloat -> BG.CFloat -> IO BG.CBool)
 sDL_SetRenderScale =
   BG.unsafePerformIO hs_bindgen_938869c5ff233e71
@@ -3784,7 +3784,7 @@
 --
 --     [See also]: 'sDL_SetRenderScale'
 --
---     [C declaration]: @SDL_GetRenderScale@, defined at @SDL3\/SDL_render.h 1918:34@
+--     [C declaration]: @SDL_GetRenderScale@, defined at @SDL3\/SDL_render.h 1919:34@
 sDL_GetRenderScale
   :: BG.FunPtr (BG.Ptr SDL_Renderer -> BG.Ptr BG.CFloat -> BG.Ptr BG.CFloat -> IO BG.CBool)
 sDL_GetRenderScale =
@@ -3834,7 +3834,7 @@
 --
 --     [See also]: 'sDL_GetRenderDrawColor', 'sDL_SetRenderDrawColorFloat'
 --
---     [C declaration]: @SDL_SetRenderDrawColor@, defined at @SDL3\/SDL_render.h 1943:34@
+--     [C declaration]: @SDL_SetRenderDrawColor@, defined at @SDL3\/SDL_render.h 1944:34@
 sDL_SetRenderDrawColor
   :: BG.FunPtr
        ( BG.Ptr SDL_Renderer
@@ -3883,7 +3883,7 @@
 --
 --     [See also]: 'sDL_GetRenderDrawColorFloat', 'sDL_SetRenderDrawColor'
 --
---     [C declaration]: @SDL_SetRenderDrawColorFloat@, defined at @SDL3\/SDL_render.h 1968:34@
+--     [C declaration]: @SDL_SetRenderDrawColorFloat@, defined at @SDL3\/SDL_render.h 1969:34@
 sDL_SetRenderDrawColorFloat
   :: BG.FunPtr (BG.Ptr SDL_Renderer -> BG.CFloat -> BG.CFloat -> BG.CFloat -> BG.CFloat -> IO BG.CBool)
 sDL_SetRenderDrawColorFloat =
@@ -3931,7 +3931,7 @@
 --
 --     [See also]: 'sDL_GetRenderDrawColorFloat', 'sDL_SetRenderDrawColor'
 --
---     [C declaration]: @SDL_GetRenderDrawColor@, defined at @SDL3\/SDL_render.h 1992:34@
+--     [C declaration]: @SDL_GetRenderDrawColor@, defined at @SDL3\/SDL_render.h 1993:34@
 sDL_GetRenderDrawColor
   :: BG.FunPtr
        ( BG.Ptr SDL_Renderer
@@ -3986,7 +3986,7 @@
 --
 --     [See also]: 'sDL_SetRenderDrawColorFloat', 'sDL_GetRenderDrawColor'
 --
---     [C declaration]: @SDL_GetRenderDrawColorFloat@, defined at @SDL3\/SDL_render.h 2016:34@
+--     [C declaration]: @SDL_GetRenderDrawColorFloat@, defined at @SDL3\/SDL_render.h 2017:34@
 sDL_GetRenderDrawColorFloat
   :: BG.FunPtr
        ( BG.Ptr SDL_Renderer
@@ -4029,7 +4029,7 @@
 --
 --     [See also]: 'sDL_GetRenderColorScale'
 --
---     [C declaration]: @SDL_SetRenderColorScale@, defined at @SDL3\/SDL_render.h 2040:34@
+--     [C declaration]: @SDL_SetRenderColorScale@, defined at @SDL3\/SDL_render.h 2041:34@
 sDL_SetRenderColorScale :: BG.FunPtr (BG.Ptr SDL_Renderer -> BG.CFloat -> IO BG.CBool)
 sDL_SetRenderColorScale =
   BG.unsafePerformIO hs_bindgen_35d6252a1c594c7c
@@ -4061,7 +4061,7 @@
 --
 --     [See also]: 'sDL_SetRenderColorScale'
 --
---     [C declaration]: @SDL_GetRenderColorScale@, defined at @SDL3\/SDL_render.h 2056:34@
+--     [C declaration]: @SDL_GetRenderColorScale@, defined at @SDL3\/SDL_render.h 2057:34@
 sDL_GetRenderColorScale :: BG.FunPtr (BG.Ptr SDL_Renderer -> BG.Ptr BG.CFloat -> IO BG.CBool)
 sDL_GetRenderColorScale =
   BG.unsafePerformIO hs_bindgen_77d1cf7afcbd4164
@@ -4079,8 +4079,10 @@
 
 {-# NOINLINE sDL_SetRenderDrawBlendMode #-}
 
--- | Set the blend mode used for drawing operations (Fill and Line).
+-- | Set the blend mode used for drawing operations.
 --
+--     This blend mode is used for any drawing that doesn\'t involve textures.
+--
 --     If the blend mode is not supported, the closest supported mode is chosen.
 --
 --     [@renderer@]: the rendering context.
@@ -4093,9 +4095,9 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'sDL_GetRenderDrawBlendMode'
+--     [See also]: 'sDL_GetRenderDrawBlendMode', 'sDL_SetTextureBlendMode'
 --
---     [C declaration]: @SDL_SetRenderDrawBlendMode@, defined at @SDL3\/SDL_render.h 2074:34@
+--     [C declaration]: @SDL_SetRenderDrawBlendMode@, defined at @SDL3\/SDL_render.h 2078:34@
 sDL_SetRenderDrawBlendMode
   :: BG.FunPtr (BG.Ptr SDL_Renderer -> SDL3.Sys.Bindgen.Blendmode.SDL_BlendMode -> IO BG.CBool)
 sDL_SetRenderDrawBlendMode =
@@ -4129,7 +4131,7 @@
 --
 --     [See also]: 'sDL_SetRenderDrawBlendMode'
 --
---     [C declaration]: @SDL_GetRenderDrawBlendMode@, defined at @SDL3\/SDL_render.h 2090:34@
+--     [C declaration]: @SDL_GetRenderDrawBlendMode@, defined at @SDL3\/SDL_render.h 2094:34@
 sDL_GetRenderDrawBlendMode
   :: BG.FunPtr (BG.Ptr SDL_Renderer -> BG.Ptr SDL3.Sys.Bindgen.Blendmode.SDL_BlendMode -> IO BG.CBool)
 sDL_GetRenderDrawBlendMode =
@@ -4161,7 +4163,7 @@
 --
 --     [See also]: 'sDL_SetRenderDrawColor'
 --
---     [C declaration]: @SDL_RenderClear@, defined at @SDL3\/SDL_render.h 2110:34@
+--     [C declaration]: @SDL_RenderClear@, defined at @SDL3\/SDL_render.h 2114:34@
 sDL_RenderClear :: BG.FunPtr (BG.Ptr SDL_Renderer -> IO BG.CBool)
 sDL_RenderClear =
   BG.unsafePerformIO hs_bindgen_9a11c0e709a2af5e
@@ -4195,7 +4197,7 @@
 --
 --     [See also]: 'sDL_RenderPoints'
 --
---     [C declaration]: @SDL_RenderPoint@, defined at @SDL3\/SDL_render.h 2127:34@
+--     [C declaration]: @SDL_RenderPoint@, defined at @SDL3\/SDL_render.h 2131:34@
 sDL_RenderPoint :: BG.FunPtr (BG.Ptr SDL_Renderer -> BG.CFloat -> BG.CFloat -> IO BG.CBool)
 sDL_RenderPoint =
   BG.unsafePerformIO hs_bindgen_429122691f4ce0fc
@@ -4232,7 +4234,7 @@
 --
 --     [See also]: 'sDL_RenderPoint'
 --
---     [C declaration]: @SDL_RenderPoints@, defined at @SDL3\/SDL_render.h 2144:34@
+--     [C declaration]: @SDL_RenderPoints@, defined at @SDL3\/SDL_render.h 2148:34@
 sDL_RenderPoints
   :: BG.FunPtr
        (BG.Ptr SDL_Renderer -> PtrConst.PtrConst SDL3.Sys.Bindgen.Rect.SDL_FPoint -> BG.CInt -> IO BG.CBool)
@@ -4273,7 +4275,7 @@
 --
 --     [See also]: 'sDL_RenderLines'
 --
---     [C declaration]: @SDL_RenderLine@, defined at @SDL3\/SDL_render.h 2163:34@
+--     [C declaration]: @SDL_RenderLine@, defined at @SDL3\/SDL_render.h 2167:34@
 sDL_RenderLine
   :: BG.FunPtr (BG.Ptr SDL_Renderer -> BG.CFloat -> BG.CFloat -> BG.CFloat -> BG.CFloat -> IO BG.CBool)
 sDL_RenderLine =
@@ -4311,7 +4313,7 @@
 --
 --     [See also]: 'sDL_RenderLine'
 --
---     [C declaration]: @SDL_RenderLines@, defined at @SDL3\/SDL_render.h 2181:34@
+--     [C declaration]: @SDL_RenderLines@, defined at @SDL3\/SDL_render.h 2185:34@
 sDL_RenderLines
   :: BG.FunPtr
        (BG.Ptr SDL_Renderer -> PtrConst.PtrConst SDL3.Sys.Bindgen.Rect.SDL_FPoint -> BG.CInt -> IO BG.CBool)
@@ -4346,7 +4348,7 @@
 --
 --     [See also]: 'sDL_RenderRects'
 --
---     [C declaration]: @SDL_RenderRect@, defined at @SDL3\/SDL_render.h 2198:34@
+--     [C declaration]: @SDL_RenderRect@, defined at @SDL3\/SDL_render.h 2202:34@
 sDL_RenderRect
   :: BG.FunPtr (BG.Ptr SDL_Renderer -> PtrConst.PtrConst SDL3.Sys.Bindgen.Rect.SDL_FRect -> IO BG.CBool)
 sDL_RenderRect =
@@ -4384,7 +4386,7 @@
 --
 --     [See also]: 'sDL_RenderRect'
 --
---     [C declaration]: @SDL_RenderRects@, defined at @SDL3\/SDL_render.h 2216:34@
+--     [C declaration]: @SDL_RenderRects@, defined at @SDL3\/SDL_render.h 2220:34@
 sDL_RenderRects
   :: BG.FunPtr
        (BG.Ptr SDL_Renderer -> PtrConst.PtrConst SDL3.Sys.Bindgen.Rect.SDL_FRect -> BG.CInt -> IO BG.CBool)
@@ -4419,7 +4421,7 @@
 --
 --     [See also]: 'sDL_RenderFillRects'
 --
---     [C declaration]: @SDL_RenderFillRect@, defined at @SDL3\/SDL_render.h 2234:34@
+--     [C declaration]: @SDL_RenderFillRect@, defined at @SDL3\/SDL_render.h 2238:34@
 sDL_RenderFillRect
   :: BG.FunPtr (BG.Ptr SDL_Renderer -> PtrConst.PtrConst SDL3.Sys.Bindgen.Rect.SDL_FRect -> IO BG.CBool)
 sDL_RenderFillRect =
@@ -4457,7 +4459,7 @@
 --
 --     [See also]: 'sDL_RenderFillRect'
 --
---     [C declaration]: @SDL_RenderFillRects@, defined at @SDL3\/SDL_render.h 2252:34@
+--     [C declaration]: @SDL_RenderFillRects@, defined at @SDL3\/SDL_render.h 2256:34@
 sDL_RenderFillRects
   :: BG.FunPtr
        (BG.Ptr SDL_Renderer -> PtrConst.PtrConst SDL3.Sys.Bindgen.Rect.SDL_FRect -> BG.CInt -> IO BG.CBool)
@@ -4503,7 +4505,7 @@
 --
 --     [See also]: 'sDL_RenderTextureRotated', 'sDL_RenderTextureTiled'
 --
---     [C declaration]: @SDL_RenderTexture@, defined at @SDL3\/SDL_render.h 2274:34@
+--     [C declaration]: @SDL_RenderTexture@, defined at @SDL3\/SDL_render.h 2278:34@
 sDL_RenderTexture
   :: BG.FunPtr
        ( BG.Ptr SDL_Renderer
@@ -4563,7 +4565,7 @@
 --
 --     [See also]: 'sDL_RenderTexture'
 --
---     [C declaration]: @SDL_RenderTextureRotated@, defined at @SDL3\/SDL_render.h 2302:34@
+--     [C declaration]: @SDL_RenderTextureRotated@, defined at @SDL3\/SDL_render.h 2306:34@
 sDL_RenderTextureRotated
   :: BG.FunPtr
        ( BG.Ptr SDL_Renderer
@@ -4623,7 +4625,7 @@
 --
 --     [See also]: 'sDL_RenderTexture'
 --
---     [C declaration]: @SDL_RenderTextureAffine@, defined at @SDL3\/SDL_render.h 2333:34@
+--     [C declaration]: @SDL_RenderTextureAffine@, defined at @SDL3\/SDL_render.h 2337:34@
 sDL_RenderTextureAffine
   :: BG.FunPtr
        ( BG.Ptr SDL_Renderer
@@ -4681,7 +4683,7 @@
 --
 --     [See also]: 'sDL_RenderTexture'
 --
---     [C declaration]: @SDL_RenderTextureTiled@, defined at @SDL3\/SDL_render.h 2362:34@
+--     [C declaration]: @SDL_RenderTextureTiled@, defined at @SDL3\/SDL_render.h 2366:34@
 sDL_RenderTextureTiled
   :: BG.FunPtr
        ( BG.Ptr SDL_Renderer
@@ -4750,7 +4752,7 @@
 --
 --     [See also]: 'sDL_RenderTexture', 'sDL_RenderTexture9GridTiled'
 --
---     [C declaration]: @SDL_RenderTexture9Grid@, defined at @SDL3\/SDL_render.h 2397:34@
+--     [C declaration]: @SDL_RenderTexture9Grid@, defined at @SDL3\/SDL_render.h 2401:34@
 sDL_RenderTexture9Grid
   :: BG.FunPtr
        ( BG.Ptr SDL_Renderer
@@ -4826,7 +4828,7 @@
 --
 --     [See also]: 'sDL_RenderTexture', 'sDL_RenderTexture9Grid'
 --
---     [C declaration]: @SDL_RenderTexture9GridTiled@, defined at @SDL3\/SDL_render.h 2435:34@
+--     [C declaration]: @SDL_RenderTexture9GridTiled@, defined at @SDL3\/SDL_render.h 2439:34@
 sDL_RenderTexture9GridTiled
   :: BG.FunPtr
        ( BG.Ptr SDL_Renderer
@@ -4889,7 +4891,7 @@
 --
 --     [See also]: 'sDL_RenderGeometryRaw', 'sDL_SetRenderTextureAddressMode'
 --
---     [C declaration]: @SDL_RenderGeometry@, defined at @SDL3\/SDL_render.h 2460:34@
+--     [C declaration]: @SDL_RenderGeometry@, defined at @SDL3\/SDL_render.h 2464:34@
 sDL_RenderGeometry
   :: BG.FunPtr
        ( BG.Ptr SDL_Renderer
@@ -4966,7 +4968,7 @@
 --
 --     [See also]: 'sDL_RenderGeometry', 'sDL_SetRenderTextureAddressMode'
 --
---     [C declaration]: @SDL_RenderGeometryRaw@, defined at @SDL3\/SDL_render.h 2493:34@
+--     [C declaration]: @SDL_RenderGeometryRaw@, defined at @SDL3\/SDL_render.h 2497:34@
 sDL_RenderGeometryRaw
   :: BG.FunPtr
        ( BG.Ptr SDL_Renderer
@@ -5016,7 +5018,7 @@
 --
 --     [See also]: 'sDL_RenderGeometry', 'sDL_RenderGeometryRaw', 'sDL_GetRenderTextureAddressMode'
 --
---     [C declaration]: @SDL_SetRenderTextureAddressMode@, defined at @SDL3\/SDL_render.h 2520:34@
+--     [C declaration]: @SDL_SetRenderTextureAddressMode@, defined at @SDL3\/SDL_render.h 2524:34@
 sDL_SetRenderTextureAddressMode
   :: BG.FunPtr (BG.Ptr SDL_Renderer -> SDL_TextureAddressMode -> SDL_TextureAddressMode -> IO BG.CBool)
 sDL_SetRenderTextureAddressMode =
@@ -5054,7 +5056,7 @@
 --
 --     [See also]: 'sDL_SetRenderTextureAddressMode'
 --
---     [C declaration]: @SDL_GetRenderTextureAddressMode@, defined at @SDL3\/SDL_render.h 2541:34@
+--     [C declaration]: @SDL_GetRenderTextureAddressMode@, defined at @SDL3\/SDL_render.h 2545:34@
 sDL_GetRenderTextureAddressMode
   :: BG.FunPtr
        (BG.Ptr SDL_Renderer -> BG.Ptr SDL_TextureAddressMode -> BG.Ptr SDL_TextureAddressMode -> IO BG.CBool)
@@ -5098,7 +5100,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_RenderReadPixels@, defined at @SDL3\/SDL_render.h 2568:43@
+--     [C declaration]: @SDL_RenderReadPixels@, defined at @SDL3\/SDL_render.h 2572:43@
 sDL_RenderReadPixels
   :: BG.FunPtr
        ( BG.Ptr SDL_Renderer
@@ -5140,7 +5142,7 @@
 --
 --     [See also]: 'sDL_CreateRenderer', 'sDL_RenderClear', 'sDL_RenderFillRect', 'sDL_RenderFillRects', 'sDL_RenderLine', 'sDL_RenderLines', 'sDL_RenderPoint', 'sDL_RenderPoints', 'sDL_RenderRect', 'sDL_RenderRects', 'sDL_SetRenderDrawBlendMode', 'sDL_SetRenderDrawColor'
 --
---     [C declaration]: @SDL_RenderPresent@, defined at @SDL3\/SDL_render.h 2617:34@
+--     [C declaration]: @SDL_RenderPresent@, defined at @SDL3\/SDL_render.h 2621:34@
 sDL_RenderPresent :: BG.FunPtr (BG.Ptr SDL_Renderer -> IO BG.CBool)
 sDL_RenderPresent =
   BG.unsafePerformIO hs_bindgen_2bafff2cb8bebc00
@@ -5169,7 +5171,7 @@
 --
 --     [See also]: 'sDL_CreateTexture', 'sDL_CreateTextureFromSurface'
 --
---     [C declaration]: @SDL_DestroyTexture@, defined at @SDL3\/SDL_render.h 2634:34@
+--     [C declaration]: @SDL_DestroyTexture@, defined at @SDL3\/SDL_render.h 2638:34@
 sDL_DestroyTexture :: BG.FunPtr (BG.Ptr SDL_Texture -> IO ())
 sDL_DestroyTexture =
   BG.unsafePerformIO hs_bindgen_4497bf4e9bdd42b9
@@ -5198,7 +5200,7 @@
 --
 --     [See also]: 'sDL_CreateRenderer'
 --
---     [C declaration]: @SDL_DestroyRenderer@, defined at @SDL3\/SDL_render.h 2650:34@
+--     [C declaration]: @SDL_DestroyRenderer@, defined at @SDL3\/SDL_render.h 2654:34@
 sDL_DestroyRenderer :: BG.FunPtr (BG.Ptr SDL_Renderer -> IO ())
 sDL_DestroyRenderer =
   BG.unsafePerformIO hs_bindgen_011b10f177cafc47
@@ -5235,7 +5237,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_FlushRenderer@, defined at @SDL3\/SDL_render.h 2683:34@
+--     [C declaration]: @SDL_FlushRenderer@, defined at @SDL3\/SDL_render.h 2687:34@
 sDL_FlushRenderer :: BG.FunPtr (BG.Ptr SDL_Renderer -> IO BG.CBool)
 sDL_FlushRenderer =
   BG.unsafePerformIO hs_bindgen_0ee776d39090d2fd
@@ -5266,7 +5268,7 @@
 --
 --     [See also]: 'sDL_GetRenderMetalCommandEncoder'
 --
---     [C declaration]: @SDL_GetRenderMetalLayer@, defined at @SDL3\/SDL_render.h 2701:36@
+--     [C declaration]: @SDL_GetRenderMetalLayer@, defined at @SDL3\/SDL_render.h 2705:36@
 sDL_GetRenderMetalLayer :: BG.FunPtr (BG.Ptr SDL_Renderer -> IO (BG.Ptr BG.Void))
 sDL_GetRenderMetalLayer =
   BG.unsafePerformIO hs_bindgen_f52f9cb5238155f3
@@ -5299,7 +5301,7 @@
 --
 --     [See also]: 'sDL_GetRenderMetalLayer'
 --
---     [C declaration]: @SDL_GetRenderMetalCommandEncoder@, defined at @SDL3\/SDL_render.h 2724:36@
+--     [C declaration]: @SDL_GetRenderMetalCommandEncoder@, defined at @SDL3\/SDL_render.h 2728:36@
 sDL_GetRenderMetalCommandEncoder :: BG.FunPtr (BG.Ptr SDL_Renderer -> IO (BG.Ptr BG.Void))
 sDL_GetRenderMetalCommandEncoder =
   BG.unsafePerformIO hs_bindgen_0e330f87af225f8b
@@ -5345,7 +5347,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_AddVulkanRenderSemaphores@, defined at @SDL3\/SDL_render.h 2755:34@
+--     [C declaration]: @SDL_AddVulkanRenderSemaphores@, defined at @SDL3\/SDL_render.h 2759:34@
 sDL_AddVulkanRenderSemaphores
   :: BG.FunPtr
        ( BG.Ptr SDL_Renderer
@@ -5387,7 +5389,7 @@
 --
 --     [See also]: 'sDL_GetRenderVSync'
 --
---     [C declaration]: @SDL_SetRenderVSync@, defined at @SDL3\/SDL_render.h 2780:34@
+--     [C declaration]: @SDL_SetRenderVSync@, defined at @SDL3\/SDL_render.h 2784:34@
 sDL_SetRenderVSync :: BG.FunPtr (BG.Ptr SDL_Renderer -> BG.CInt -> IO BG.CBool)
 sDL_SetRenderVSync =
   BG.unsafePerformIO hs_bindgen_964c717567cbb3b7
@@ -5418,7 +5420,7 @@
 --
 --     [See also]: 'sDL_SetRenderVSync'
 --
---     [C declaration]: @SDL_GetRenderVSync@, defined at @SDL3\/SDL_render.h 2800:34@
+--     [C declaration]: @SDL_GetRenderVSync@, defined at @SDL3\/SDL_render.h 2804:34@
 sDL_GetRenderVSync :: BG.FunPtr (BG.Ptr SDL_Renderer -> BG.Ptr BG.CInt -> IO BG.CBool)
 sDL_GetRenderVSync =
   BG.unsafePerformIO hs_bindgen_ea48e8e1fe227495
@@ -5475,7 +5477,7 @@
 --
 --     [See also]: @SDL_RenderDebugTextFormat@, 'sDL_DEBUG_TEXT_FONT_CHARACTER_SIZE'
 --
---     [C declaration]: @SDL_RenderDebugText@, defined at @SDL3\/SDL_render.h 2852:34@
+--     [C declaration]: @SDL_RenderDebugText@, defined at @SDL3\/SDL_render.h 2856:34@
 sDL_RenderDebugText
   :: BG.FunPtr
        (BG.Ptr SDL_Renderer -> BG.CFloat -> BG.CFloat -> PtrConst.PtrConst BG.CChar -> IO BG.CBool)
@@ -5511,7 +5513,7 @@
 --
 --     [See also]: 'sDL_GetDefaultTextureScaleMode'
 --
---     [C declaration]: @SDL_SetDefaultTextureScaleMode@, defined at @SDL3\/SDL_render.h 2898:34@
+--     [C declaration]: @SDL_SetDefaultTextureScaleMode@, defined at @SDL3\/SDL_render.h 2902:34@
 sDL_SetDefaultTextureScaleMode
   :: BG.FunPtr (BG.Ptr SDL_Renderer -> SDL3.Sys.Bindgen.Surface.SDL_ScaleMode -> IO BG.CBool)
 sDL_SetDefaultTextureScaleMode =
@@ -5544,7 +5546,7 @@
 --
 --     [See also]: 'sDL_SetDefaultTextureScaleMode'
 --
---     [C declaration]: @SDL_GetDefaultTextureScaleMode@, defined at @SDL3\/SDL_render.h 2916:34@
+--     [C declaration]: @SDL_GetDefaultTextureScaleMode@, defined at @SDL3\/SDL_render.h 2920:34@
 sDL_GetDefaultTextureScaleMode
   :: BG.FunPtr (BG.Ptr SDL_Renderer -> BG.Ptr SDL3.Sys.Bindgen.Surface.SDL_ScaleMode -> IO BG.CBool)
 sDL_GetDefaultTextureScaleMode =
@@ -5583,7 +5585,7 @@
 --
 --     [See also]: 'sDL_SetGPURenderStateFragmentUniforms', 'sDL_SetGPURenderState', 'sDL_DestroyGPURenderState'
 --
---     [C declaration]: @SDL_CreateGPURenderState@, defined at @SDL3\/SDL_render.h 2970:50@
+--     [C declaration]: @SDL_CreateGPURenderState@, defined at @SDL3\/SDL_render.h 2974:50@
 sDL_CreateGPURenderState
   :: BG.FunPtr
        ( BG.Ptr SDL_Renderer
@@ -5632,7 +5634,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @SDL_SetGPURenderStateFragmentUniforms@, defined at @SDL3\/SDL_render.h 2990:34@
+--     [C declaration]: @SDL_SetGPURenderStateFragmentUniforms@, defined at @SDL3\/SDL_render.h 2994:34@
 sDL_SetGPURenderStateFragmentUniforms
   :: BG.FunPtr
        ( BG.Ptr SDL_GPURenderState
@@ -5671,7 +5673,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @SDL_SetGPURenderState@, defined at @SDL3\/SDL_render.h 3008:34@
+--     [C declaration]: @SDL_SetGPURenderState@, defined at @SDL3\/SDL_render.h 3012:34@
 sDL_SetGPURenderState :: BG.FunPtr (BG.Ptr SDL_Renderer -> BG.Ptr SDL_GPURenderState -> IO BG.CBool)
 sDL_SetGPURenderState =
   BG.unsafePerformIO hs_bindgen_440f7dac948d9e3d
@@ -5698,7 +5700,7 @@
 --
 --     [See also]: 'sDL_CreateGPURenderState'
 --
---     [C declaration]: @SDL_DestroyGPURenderState@, defined at @SDL3\/SDL_render.h 3022:34@
+--     [C declaration]: @SDL_DestroyGPURenderState@, defined at @SDL3\/SDL_render.h 3026:34@
 sDL_DestroyGPURenderState :: BG.FunPtr (BG.Ptr SDL_GPURenderState -> IO ())
 sDL_DestroyGPURenderState =
   BG.unsafePerformIO hs_bindgen_dc4da5de025a8ba9
diff --git a/src/SDL3/Sys/Bindgen/Render/Safe.hs b/src/SDL3/Sys/Bindgen/Render/Safe.hs
--- a/src/SDL3/Sys/Bindgen/Render/Safe.hs
+++ b/src/SDL3/Sys/Bindgen/Render/Safe.hs
@@ -1387,7 +1387,7 @@
 
 -- | Create a 2D software rendering context for a surface.
 --
---     Two other API which can be used to create 'SDL_Renderer': @SDL_CreateRenderer()@ and @SDL_CreateWindowAndRenderer()@. These can /also/ create a software renderer, but they are intended to be used with an SDL_Window as the final destination and not an SDL_Surface.
+--     Two other APIs which can be used to create 'SDL_Renderer': @SDL_CreateRenderer()@ and @SDL_CreateWindowAndRenderer()@. These can /also/ create a software renderer, but they are intended to be used with an SDL_Window as the final destination and not an SDL_Surface.
 --
 --     [Returns]: a valid rendering context or NULL if there was an error; call SDL_GetError() for more information.
 --
@@ -1861,8 +1861,6 @@
 --
 --     * @'sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER'@: the GLuint texture associated with the texture, if you want to wrap an existing texture.
 --
---     * @'sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER'@: the GLuint texture associated with the texture, if you want to wrap an existing texture.
---
 --     * @'sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER'@: the GLuint texture associated with the UV plane of an NV12 texture, if you want to wrap an existing texture.
 --
 --     * @'sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_U_NUMBER'@: the GLuint texture associated with the U plane of a YUV texture, if you want to wrap an existing texture.
@@ -1893,7 +1891,7 @@
 --
 --     [See also]: SDL_CreateProperties, 'sDL_CreateTexture', 'sDL_CreateTextureFromSurface', 'sDL_DestroyTexture', 'sDL_GetTextureSize', 'sDL_UpdateTexture'
 --
---     [C declaration]: @SDL_CreateTextureWithProperties@, defined at @SDL3\/SDL_render.h 806:43@
+--     [C declaration]: @SDL_CreateTextureWithProperties@, defined at @SDL3\/SDL_render.h 804:43@
 sDL_CreateTextureWithProperties
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -2002,7 +2000,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetTextureProperties@, defined at @SDL3\/SDL_render.h 935:46@
+--     [C declaration]: @SDL_GetTextureProperties@, defined at @SDL3\/SDL_render.h 933:46@
 sDL_GetTextureProperties
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2033,7 +2031,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetRendererFromTexture@, defined at @SDL3\/SDL_render.h 979:44@
+--     [C declaration]: @SDL_GetRendererFromTexture@, defined at @SDL3\/SDL_render.h 977:44@
 sDL_GetRendererFromTexture
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2068,7 +2066,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetTextureSize@, defined at @SDL3\/SDL_render.h 996:34@
+--     [C declaration]: @SDL_GetTextureSize@, defined at @SDL3\/SDL_render.h 994:34@
 sDL_GetTextureSize
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2114,7 +2112,7 @@
 --
 --     [See also]: SDL_CreatePalette, 'sDL_GetTexturePalette'
 --
---     [C declaration]: @SDL_SetTexturePalette@, defined at @SDL3\/SDL_render.h 1018:34@
+--     [C declaration]: @SDL_SetTexturePalette@, defined at @SDL3\/SDL_render.h 1016:34@
 sDL_SetTexturePalette
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2150,7 +2148,7 @@
 --
 --     [See also]: 'sDL_SetTexturePalette'
 --
---     [C declaration]: @SDL_GetTexturePalette@, defined at @SDL3\/SDL_render.h 1033:43@
+--     [C declaration]: @SDL_GetTexturePalette@, defined at @SDL3\/SDL_render.h 1031:43@
 sDL_GetTexturePalette
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2194,7 +2192,7 @@
 --
 --     [See also]: 'sDL_GetTextureColorMod', 'sDL_SetTextureAlphaMod', 'sDL_SetTextureColorModFloat'
 --
---     [C declaration]: @SDL_SetTextureColorMod@, defined at @SDL3\/SDL_render.h 1062:34@
+--     [C declaration]: @SDL_SetTextureColorMod@, defined at @SDL3\/SDL_render.h 1060:34@
 sDL_SetTextureColorMod
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2250,7 +2248,7 @@
 --
 --     [See also]: 'sDL_GetTextureColorModFloat', 'sDL_SetTextureAlphaModFloat', 'sDL_SetTextureColorMod'
 --
---     [C declaration]: @SDL_SetTextureColorModFloat@, defined at @SDL3\/SDL_render.h 1092:34@
+--     [C declaration]: @SDL_SetTextureColorModFloat@, defined at @SDL3\/SDL_render.h 1090:34@
 sDL_SetTextureColorModFloat
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2301,7 +2299,7 @@
 --
 --     [See also]: 'sDL_GetTextureAlphaMod', 'sDL_GetTextureColorModFloat', 'sDL_SetTextureColorMod'
 --
---     [C declaration]: @SDL_GetTextureColorMod@, defined at @SDL3\/SDL_render.h 1113:34@
+--     [C declaration]: @SDL_GetTextureColorMod@, defined at @SDL3\/SDL_render.h 1111:34@
 sDL_GetTextureColorMod
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2351,7 +2349,7 @@
 --
 --     [See also]: 'sDL_GetTextureAlphaModFloat', 'sDL_GetTextureColorMod', 'sDL_SetTextureColorModFloat'
 --
---     [C declaration]: @SDL_GetTextureColorModFloat@, defined at @SDL3\/SDL_render.h 1133:34@
+--     [C declaration]: @SDL_GetTextureColorModFloat@, defined at @SDL3\/SDL_render.h 1131:34@
 sDL_GetTextureColorModFloat
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2404,7 +2402,7 @@
 --
 --     [See also]: 'sDL_GetTextureAlphaMod', 'sDL_SetTextureAlphaModFloat', 'sDL_SetTextureColorMod'
 --
---     [C declaration]: @SDL_SetTextureAlphaMod@, defined at @SDL3\/SDL_render.h 1159:34@
+--     [C declaration]: @SDL_SetTextureAlphaMod@, defined at @SDL3\/SDL_render.h 1157:34@
 sDL_SetTextureAlphaMod
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2448,7 +2446,7 @@
 --
 --     [See also]: 'sDL_GetTextureAlphaModFloat', 'sDL_SetTextureAlphaMod', 'sDL_SetTextureColorModFloat'
 --
---     [C declaration]: @SDL_SetTextureAlphaModFloat@, defined at @SDL3\/SDL_render.h 1185:34@
+--     [C declaration]: @SDL_SetTextureAlphaModFloat@, defined at @SDL3\/SDL_render.h 1183:34@
 sDL_SetTextureAlphaModFloat
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2487,7 +2485,7 @@
 --
 --     [See also]: 'sDL_GetTextureAlphaModFloat', 'sDL_GetTextureColorMod', 'sDL_SetTextureAlphaMod'
 --
---     [C declaration]: @SDL_GetTextureAlphaMod@, defined at @SDL3\/SDL_render.h 1203:34@
+--     [C declaration]: @SDL_GetTextureAlphaMod@, defined at @SDL3\/SDL_render.h 1201:34@
 sDL_GetTextureAlphaMod
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2525,7 +2523,7 @@
 --
 --     [See also]: 'sDL_GetTextureAlphaMod', 'sDL_GetTextureColorModFloat', 'sDL_SetTextureAlphaModFloat'
 --
---     [C declaration]: @SDL_GetTextureAlphaModFloat@, defined at @SDL3\/SDL_render.h 1221:34@
+--     [C declaration]: @SDL_GetTextureAlphaModFloat@, defined at @SDL3\/SDL_render.h 1219:34@
 sDL_GetTextureAlphaModFloat
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2556,6 +2554,8 @@
 
 -- | Set the blend mode for a texture, used by @SDL_RenderTexture()@.
 --
+--     This blend mode is used for any drawing that involves this texture.
+--
 --     If the blend mode is not supported, the closest supported mode is chosen and this function returns false.
 --
 --     [Returns]: true on success or false on failure; call SDL_GetError() for more information.
@@ -2564,9 +2564,9 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'sDL_GetTextureBlendMode'
+--     [See also]: 'sDL_GetTextureBlendMode', 'sDL_SetRenderDrawBlendMode'
 --
---     [C declaration]: @SDL_SetTextureBlendMode@, defined at @SDL3\/SDL_render.h 1240:34@
+--     [C declaration]: @SDL_SetTextureBlendMode@, defined at @SDL3\/SDL_render.h 1241:34@
 sDL_SetTextureBlendMode
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2604,7 +2604,7 @@
 --
 --     [See also]: 'sDL_SetTextureBlendMode'
 --
---     [C declaration]: @SDL_GetTextureBlendMode@, defined at @SDL3\/SDL_render.h 1256:34@
+--     [C declaration]: @SDL_GetTextureBlendMode@, defined at @SDL3\/SDL_render.h 1257:34@
 sDL_GetTextureBlendMode
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2646,7 +2646,7 @@
 --
 --     [See also]: 'sDL_GetTextureScaleMode'
 --
---     [C declaration]: @SDL_SetTextureScaleMode@, defined at @SDL3\/SDL_render.h 1276:34@
+--     [C declaration]: @SDL_SetTextureScaleMode@, defined at @SDL3\/SDL_render.h 1277:34@
 sDL_SetTextureScaleMode
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2684,7 +2684,7 @@
 --
 --     [See also]: 'sDL_SetTextureScaleMode'
 --
---     [C declaration]: @SDL_GetTextureScaleMode@, defined at @SDL3\/SDL_render.h 1292:34@
+--     [C declaration]: @SDL_GetTextureScaleMode@, defined at @SDL3\/SDL_render.h 1293:34@
 sDL_GetTextureScaleMode
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2732,7 +2732,7 @@
 --
 --     [See also]: 'sDL_LockTexture', 'sDL_UnlockTexture', 'sDL_UpdateNVTexture', 'sDL_UpdateYUVTexture'
 --
---     [C declaration]: @SDL_UpdateTexture@, defined at @SDL3\/SDL_render.h 1326:34@
+--     [C declaration]: @SDL_UpdateTexture@, defined at @SDL3\/SDL_render.h 1327:34@
 sDL_UpdateTexture
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2792,7 +2792,7 @@
 --
 --     [See also]: 'sDL_UpdateNVTexture', 'sDL_UpdateTexture'
 --
---     [C declaration]: @SDL_UpdateYUVTexture@, defined at @SDL3\/SDL_render.h 1358:34@
+--     [C declaration]: @SDL_UpdateYUVTexture@, defined at @SDL3\/SDL_render.h 1359:34@
 sDL_UpdateYUVTexture
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2864,7 +2864,7 @@
 --
 --     [See also]: 'sDL_UpdateTexture', 'sDL_UpdateYUVTexture'
 --
---     [C declaration]: @SDL_UpdateNVTexture@, defined at @SDL3\/SDL_render.h 1390:34@
+--     [C declaration]: @SDL_UpdateNVTexture@, defined at @SDL3\/SDL_render.h 1391:34@
 sDL_UpdateNVTexture
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2926,7 +2926,7 @@
 --
 --     [See also]: 'sDL_LockTextureToSurface', 'sDL_UnlockTexture'
 --
---     [C declaration]: @SDL_LockTexture@, defined at @SDL3\/SDL_render.h 1425:34@
+--     [C declaration]: @SDL_LockTexture@, defined at @SDL3\/SDL_render.h 1426:34@
 sDL_LockTexture
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2982,7 +2982,7 @@
 --
 --     [See also]: 'sDL_LockTexture', 'sDL_UnlockTexture'
 --
---     [C declaration]: @SDL_LockTextureToSurface@, defined at @SDL3\/SDL_render.h 1463:34@
+--     [C declaration]: @SDL_LockTextureToSurface@, defined at @SDL3\/SDL_render.h 1464:34@
 sDL_LockTextureToSurface
   :: BG.Ptr SDL_Texture
   -- ^
@@ -3025,7 +3025,7 @@
 --
 --     [See also]: 'sDL_LockTexture'
 --
---     [C declaration]: @SDL_UnlockTexture@, defined at @SDL3\/SDL_render.h 1484:34@
+--     [C declaration]: @SDL_UnlockTexture@, defined at @SDL3\/SDL_render.h 1485:34@
 sDL_UnlockTexture
   :: BG.Ptr SDL_Texture
   -- ^
@@ -3063,7 +3063,7 @@
 --
 --     [See also]: 'sDL_GetRenderTarget'
 --
---     [C declaration]: @SDL_SetRenderTarget@, defined at @SDL3\/SDL_render.h 1511:34@
+--     [C declaration]: @SDL_SetRenderTarget@, defined at @SDL3\/SDL_render.h 1512:34@
 sDL_SetRenderTarget
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3101,7 +3101,7 @@
 --
 --     [See also]: 'sDL_SetRenderTarget'
 --
---     [C declaration]: @SDL_GetRenderTarget@, defined at @SDL3\/SDL_render.h 1528:43@
+--     [C declaration]: @SDL_GetRenderTarget@, defined at @SDL3\/SDL_render.h 1529:43@
 sDL_GetRenderTarget
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3149,7 +3149,7 @@
 --
 --     [See also]: 'sDL_ConvertEventToRenderCoordinates', 'sDL_GetRenderLogicalPresentation', 'sDL_GetRenderLogicalPresentationRect'
 --
---     [C declaration]: @SDL_SetRenderLogicalPresentation@, defined at @SDL3\/SDL_render.h 1575:34@
+--     [C declaration]: @SDL_SetRenderLogicalPresentation@, defined at @SDL3\/SDL_render.h 1576:34@
 sDL_SetRenderLogicalPresentation
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3204,7 +3204,7 @@
 --
 --     [See also]: 'sDL_SetRenderLogicalPresentation'
 --
---     [C declaration]: @SDL_GetRenderLogicalPresentation@, defined at @SDL3\/SDL_render.h 1600:34@
+--     [C declaration]: @SDL_GetRenderLogicalPresentation@, defined at @SDL3\/SDL_render.h 1601:34@
 sDL_GetRenderLogicalPresentation
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3255,7 +3255,7 @@
 --
 --     [See also]: 'sDL_SetRenderLogicalPresentation'
 --
---     [C declaration]: @SDL_GetRenderLogicalPresentationRect@, defined at @SDL3\/SDL_render.h 1625:34@
+--     [C declaration]: @SDL_GetRenderLogicalPresentationRect@, defined at @SDL3\/SDL_render.h 1626:34@
 sDL_GetRenderLogicalPresentationRect
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3310,7 +3310,7 @@
 --
 --     [See also]: 'sDL_SetRenderLogicalPresentation', 'sDL_SetRenderScale'
 --
---     [C declaration]: @SDL_RenderCoordinatesFromWindow@, defined at @SDL3\/SDL_render.h 1652:34@
+--     [C declaration]: @SDL_RenderCoordinatesFromWindow@, defined at @SDL3\/SDL_render.h 1653:34@
 sDL_RenderCoordinatesFromWindow
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3377,7 +3377,7 @@
 --
 --     [See also]: 'sDL_SetRenderLogicalPresentation', 'sDL_SetRenderScale', 'sDL_SetRenderViewport'
 --
---     [C declaration]: @SDL_RenderCoordinatesToWindow@, defined at @SDL3\/SDL_render.h 1682:34@
+--     [C declaration]: @SDL_RenderCoordinatesToWindow@, defined at @SDL3\/SDL_render.h 1683:34@
 sDL_RenderCoordinatesToWindow
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3446,7 +3446,7 @@
 --
 --     [See also]: 'sDL_RenderCoordinatesFromWindow'
 --
---     [C declaration]: @SDL_ConvertEventToRenderCoordinates@, defined at @SDL3\/SDL_render.h 1718:34@
+--     [C declaration]: @SDL_ConvertEventToRenderCoordinates@, defined at @SDL3\/SDL_render.h 1719:34@
 sDL_ConvertEventToRenderCoordinates
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3491,7 +3491,7 @@
 --
 --     [See also]: 'sDL_GetRenderViewport', 'sDL_RenderViewportSet'
 --
---     [C declaration]: @SDL_SetRenderViewport@, defined at @SDL3\/SDL_render.h 1745:34@
+--     [C declaration]: @SDL_SetRenderViewport@, defined at @SDL3\/SDL_render.h 1746:34@
 sDL_SetRenderViewport
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3531,7 +3531,7 @@
 --
 --     [See also]: 'sDL_RenderViewportSet', 'sDL_SetRenderViewport'
 --
---     [C declaration]: @SDL_GetRenderViewport@, defined at @SDL3\/SDL_render.h 1765:34@
+--     [C declaration]: @SDL_GetRenderViewport@, defined at @SDL3\/SDL_render.h 1766:34@
 sDL_GetRenderViewport
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3571,7 +3571,7 @@
 --
 --     [See also]: 'sDL_GetRenderViewport', 'sDL_SetRenderViewport'
 --
---     [C declaration]: @SDL_RenderViewportSet@, defined at @SDL3\/SDL_render.h 1787:34@
+--     [C declaration]: @SDL_RenderViewportSet@, defined at @SDL3\/SDL_render.h 1788:34@
 sDL_RenderViewportSet
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3605,7 +3605,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetRenderSafeArea@, defined at @SDL3\/SDL_render.h 1809:34@
+--     [C declaration]: @SDL_GetRenderSafeArea@, defined at @SDL3\/SDL_render.h 1810:34@
 sDL_GetRenderSafeArea
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3645,7 +3645,7 @@
 --
 --     [See also]: 'sDL_GetRenderClipRect', 'sDL_RenderClipEnabled'
 --
---     [C declaration]: @SDL_SetRenderClipRect@, defined at @SDL3\/SDL_render.h 1830:34@
+--     [C declaration]: @SDL_SetRenderClipRect@, defined at @SDL3\/SDL_render.h 1831:34@
 sDL_SetRenderClipRect
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3685,7 +3685,7 @@
 --
 --     [See also]: 'sDL_RenderClipEnabled', 'sDL_SetRenderClipRect'
 --
---     [C declaration]: @SDL_GetRenderClipRect@, defined at @SDL3\/SDL_render.h 1851:34@
+--     [C declaration]: @SDL_GetRenderClipRect@, defined at @SDL3\/SDL_render.h 1852:34@
 sDL_GetRenderClipRect
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3723,7 +3723,7 @@
 --
 --     [See also]: 'sDL_GetRenderClipRect', 'sDL_SetRenderClipRect'
 --
---     [C declaration]: @SDL_RenderClipEnabled@, defined at @SDL3\/SDL_render.h 1870:34@
+--     [C declaration]: @SDL_RenderClipEnabled@, defined at @SDL3\/SDL_render.h 1871:34@
 sDL_RenderClipEnabled
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3765,7 +3765,7 @@
 --
 --     [See also]: 'sDL_GetRenderScale'
 --
---     [C declaration]: @SDL_SetRenderScale@, defined at @SDL3\/SDL_render.h 1898:34@
+--     [C declaration]: @SDL_SetRenderScale@, defined at @SDL3\/SDL_render.h 1899:34@
 sDL_SetRenderScale
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3811,7 +3811,7 @@
 --
 --     [See also]: 'sDL_SetRenderScale'
 --
---     [C declaration]: @SDL_GetRenderScale@, defined at @SDL3\/SDL_render.h 1918:34@
+--     [C declaration]: @SDL_GetRenderScale@, defined at @SDL3\/SDL_render.h 1919:34@
 sDL_GetRenderScale
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3861,7 +3861,7 @@
 --
 --     [See also]: 'sDL_GetRenderDrawColor', 'sDL_SetRenderDrawColorFloat'
 --
---     [C declaration]: @SDL_SetRenderDrawColor@, defined at @SDL3\/SDL_render.h 1943:34@
+--     [C declaration]: @SDL_SetRenderDrawColor@, defined at @SDL3\/SDL_render.h 1944:34@
 sDL_SetRenderDrawColor
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3919,7 +3919,7 @@
 --
 --     [See also]: 'sDL_GetRenderDrawColorFloat', 'sDL_SetRenderDrawColor'
 --
---     [C declaration]: @SDL_SetRenderDrawColorFloat@, defined at @SDL3\/SDL_render.h 1968:34@
+--     [C declaration]: @SDL_SetRenderDrawColorFloat@, defined at @SDL3\/SDL_render.h 1969:34@
 sDL_SetRenderDrawColorFloat
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3976,7 +3976,7 @@
 --
 --     [See also]: 'sDL_GetRenderDrawColorFloat', 'sDL_SetRenderDrawColor'
 --
---     [C declaration]: @SDL_GetRenderDrawColor@, defined at @SDL3\/SDL_render.h 1992:34@
+--     [C declaration]: @SDL_GetRenderDrawColor@, defined at @SDL3\/SDL_render.h 1993:34@
 sDL_GetRenderDrawColor
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4032,7 +4032,7 @@
 --
 --     [See also]: 'sDL_SetRenderDrawColorFloat', 'sDL_GetRenderDrawColor'
 --
---     [C declaration]: @SDL_GetRenderDrawColorFloat@, defined at @SDL3\/SDL_render.h 2016:34@
+--     [C declaration]: @SDL_GetRenderDrawColorFloat@, defined at @SDL3\/SDL_render.h 2017:34@
 sDL_GetRenderDrawColorFloat
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4087,7 +4087,7 @@
 --
 --     [See also]: 'sDL_GetRenderColorScale'
 --
---     [C declaration]: @SDL_SetRenderColorScale@, defined at @SDL3\/SDL_render.h 2040:34@
+--     [C declaration]: @SDL_SetRenderColorScale@, defined at @SDL3\/SDL_render.h 2041:34@
 sDL_SetRenderColorScale
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4125,7 +4125,7 @@
 --
 --     [See also]: 'sDL_SetRenderColorScale'
 --
---     [C declaration]: @SDL_GetRenderColorScale@, defined at @SDL3\/SDL_render.h 2056:34@
+--     [C declaration]: @SDL_GetRenderColorScale@, defined at @SDL3\/SDL_render.h 2057:34@
 sDL_GetRenderColorScale
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4153,8 +4153,10 @@
 hs_bindgen_b9c067d52917b47d =
   BG.fromFFIType hs_bindgen_b9c067d52917b47d_base
 
--- | Set the blend mode used for drawing operations (Fill and Line).
+-- | Set the blend mode used for drawing operations.
 --
+--     This blend mode is used for any drawing that doesn\'t involve textures.
+--
 --     If the blend mode is not supported, the closest supported mode is chosen.
 --
 --     [Returns]: true on success or false on failure; call SDL_GetError() for more information.
@@ -4163,9 +4165,9 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'sDL_GetRenderDrawBlendMode'
+--     [See also]: 'sDL_GetRenderDrawBlendMode', 'sDL_SetTextureBlendMode'
 --
---     [C declaration]: @SDL_SetRenderDrawBlendMode@, defined at @SDL3\/SDL_render.h 2074:34@
+--     [C declaration]: @SDL_SetRenderDrawBlendMode@, defined at @SDL3\/SDL_render.h 2078:34@
 sDL_SetRenderDrawBlendMode
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4204,7 +4206,7 @@
 --
 --     [See also]: 'sDL_SetRenderDrawBlendMode'
 --
---     [C declaration]: @SDL_GetRenderDrawBlendMode@, defined at @SDL3\/SDL_render.h 2090:34@
+--     [C declaration]: @SDL_GetRenderDrawBlendMode@, defined at @SDL3\/SDL_render.h 2094:34@
 sDL_GetRenderDrawBlendMode
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4243,7 +4245,7 @@
 --
 --     [See also]: 'sDL_SetRenderDrawColor'
 --
---     [C declaration]: @SDL_RenderClear@, defined at @SDL3\/SDL_render.h 2110:34@
+--     [C declaration]: @SDL_RenderClear@, defined at @SDL3\/SDL_render.h 2114:34@
 sDL_RenderClear
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4279,7 +4281,7 @@
 --
 --     [See also]: 'sDL_RenderPoints'
 --
---     [C declaration]: @SDL_RenderPoint@, defined at @SDL3\/SDL_render.h 2127:34@
+--     [C declaration]: @SDL_RenderPoint@, defined at @SDL3\/SDL_render.h 2131:34@
 sDL_RenderPoint
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4323,7 +4325,7 @@
 --
 --     [See also]: 'sDL_RenderPoint'
 --
---     [C declaration]: @SDL_RenderPoints@, defined at @SDL3\/SDL_render.h 2144:34@
+--     [C declaration]: @SDL_RenderPoints@, defined at @SDL3\/SDL_render.h 2148:34@
 sDL_RenderPoints
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4371,7 +4373,7 @@
 --
 --     [See also]: 'sDL_RenderLines'
 --
---     [C declaration]: @SDL_RenderLine@, defined at @SDL3\/SDL_render.h 2163:34@
+--     [C declaration]: @SDL_RenderLine@, defined at @SDL3\/SDL_render.h 2167:34@
 sDL_RenderLine
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4423,7 +4425,7 @@
 --
 --     [See also]: 'sDL_RenderLine'
 --
---     [C declaration]: @SDL_RenderLines@, defined at @SDL3\/SDL_render.h 2181:34@
+--     [C declaration]: @SDL_RenderLines@, defined at @SDL3\/SDL_render.h 2185:34@
 sDL_RenderLines
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4465,7 +4467,7 @@
 --
 --     [See also]: 'sDL_RenderRects'
 --
---     [C declaration]: @SDL_RenderRect@, defined at @SDL3\/SDL_render.h 2198:34@
+--     [C declaration]: @SDL_RenderRect@, defined at @SDL3\/SDL_render.h 2202:34@
 sDL_RenderRect
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4505,7 +4507,7 @@
 --
 --     [See also]: 'sDL_RenderRect'
 --
---     [C declaration]: @SDL_RenderRects@, defined at @SDL3\/SDL_render.h 2216:34@
+--     [C declaration]: @SDL_RenderRects@, defined at @SDL3\/SDL_render.h 2220:34@
 sDL_RenderRects
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4547,7 +4549,7 @@
 --
 --     [See also]: 'sDL_RenderFillRects'
 --
---     [C declaration]: @SDL_RenderFillRect@, defined at @SDL3\/SDL_render.h 2234:34@
+--     [C declaration]: @SDL_RenderFillRect@, defined at @SDL3\/SDL_render.h 2238:34@
 sDL_RenderFillRect
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4587,7 +4589,7 @@
 --
 --     [See also]: 'sDL_RenderFillRect'
 --
---     [C declaration]: @SDL_RenderFillRects@, defined at @SDL3\/SDL_render.h 2252:34@
+--     [C declaration]: @SDL_RenderFillRects@, defined at @SDL3\/SDL_render.h 2256:34@
 sDL_RenderFillRects
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4633,7 +4635,7 @@
 --
 --     [See also]: 'sDL_RenderTextureRotated', 'sDL_RenderTextureTiled'
 --
---     [C declaration]: @SDL_RenderTexture@, defined at @SDL3\/SDL_render.h 2274:34@
+--     [C declaration]: @SDL_RenderTexture@, defined at @SDL3\/SDL_render.h 2278:34@
 sDL_RenderTexture
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4689,7 +4691,7 @@
 --
 --     [See also]: 'sDL_RenderTexture'
 --
---     [C declaration]: @SDL_RenderTextureRotated@, defined at @SDL3\/SDL_render.h 2302:34@
+--     [C declaration]: @SDL_RenderTextureRotated@, defined at @SDL3\/SDL_render.h 2306:34@
 sDL_RenderTextureRotated
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4756,7 +4758,7 @@
 --
 --     [See also]: 'sDL_RenderTexture'
 --
---     [C declaration]: @SDL_RenderTextureAffine@, defined at @SDL3\/SDL_render.h 2333:34@
+--     [C declaration]: @SDL_RenderTextureAffine@, defined at @SDL3\/SDL_render.h 2337:34@
 sDL_RenderTextureAffine
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4818,7 +4820,7 @@
 --
 --     [See also]: 'sDL_RenderTexture'
 --
---     [C declaration]: @SDL_RenderTextureTiled@, defined at @SDL3\/SDL_render.h 2362:34@
+--     [C declaration]: @SDL_RenderTextureTiled@, defined at @SDL3\/SDL_render.h 2366:34@
 sDL_RenderTextureTiled
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4884,7 +4886,7 @@
 --
 --     [See also]: 'sDL_RenderTexture', 'sDL_RenderTexture9GridTiled'
 --
---     [C declaration]: @SDL_RenderTexture9Grid@, defined at @SDL3\/SDL_render.h 2397:34@
+--     [C declaration]: @SDL_RenderTexture9Grid@, defined at @SDL3\/SDL_render.h 2401:34@
 sDL_RenderTexture9Grid
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4968,7 +4970,7 @@
 --
 --     [See also]: 'sDL_RenderTexture', 'sDL_RenderTexture9Grid'
 --
---     [C declaration]: @SDL_RenderTexture9GridTiled@, defined at @SDL3\/SDL_render.h 2435:34@
+--     [C declaration]: @SDL_RenderTexture9GridTiled@, defined at @SDL3\/SDL_render.h 2439:34@
 sDL_RenderTexture9GridTiled
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5047,7 +5049,7 @@
 --
 --     [See also]: 'sDL_RenderGeometryRaw', 'sDL_SetRenderTextureAddressMode'
 --
---     [C declaration]: @SDL_RenderGeometry@, defined at @SDL3\/SDL_render.h 2460:34@
+--     [C declaration]: @SDL_RenderGeometry@, defined at @SDL3\/SDL_render.h 2464:34@
 sDL_RenderGeometry
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5121,7 +5123,7 @@
 --
 --     [See also]: 'sDL_RenderGeometry', 'sDL_SetRenderTextureAddressMode'
 --
---     [C declaration]: @SDL_RenderGeometryRaw@, defined at @SDL3\/SDL_render.h 2493:34@
+--     [C declaration]: @SDL_RenderGeometryRaw@, defined at @SDL3\/SDL_render.h 2497:34@
 sDL_RenderGeometryRaw
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5201,7 +5203,7 @@
 --
 --     [See also]: 'sDL_RenderGeometry', 'sDL_RenderGeometryRaw', 'sDL_GetRenderTextureAddressMode'
 --
---     [C declaration]: @SDL_SetRenderTextureAddressMode@, defined at @SDL3\/SDL_render.h 2520:34@
+--     [C declaration]: @SDL_SetRenderTextureAddressMode@, defined at @SDL3\/SDL_render.h 2524:34@
 sDL_SetRenderTextureAddressMode
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5246,7 +5248,7 @@
 --
 --     [See also]: 'sDL_SetRenderTextureAddressMode'
 --
---     [C declaration]: @SDL_GetRenderTextureAddressMode@, defined at @SDL3\/SDL_render.h 2541:34@
+--     [C declaration]: @SDL_GetRenderTextureAddressMode@, defined at @SDL3\/SDL_render.h 2545:34@
 sDL_GetRenderTextureAddressMode
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5293,7 +5295,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_RenderReadPixels@, defined at @SDL3\/SDL_render.h 2568:43@
+--     [C declaration]: @SDL_RenderReadPixels@, defined at @SDL3\/SDL_render.h 2572:43@
 sDL_RenderReadPixels
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5337,7 +5339,7 @@
 --
 --     [See also]: 'sDL_CreateRenderer', 'sDL_RenderClear', 'sDL_RenderFillRect', 'sDL_RenderFillRects', 'sDL_RenderLine', 'sDL_RenderLines', 'sDL_RenderPoint', 'sDL_RenderPoints', 'sDL_RenderRect', 'sDL_RenderRects', 'sDL_SetRenderDrawBlendMode', 'sDL_SetRenderDrawColor'
 --
---     [C declaration]: @SDL_RenderPresent@, defined at @SDL3\/SDL_render.h 2617:34@
+--     [C declaration]: @SDL_RenderPresent@, defined at @SDL3\/SDL_render.h 2621:34@
 sDL_RenderPresent
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5369,7 +5371,7 @@
 --
 --     [See also]: 'sDL_CreateTexture', 'sDL_CreateTextureFromSurface'
 --
---     [C declaration]: @SDL_DestroyTexture@, defined at @SDL3\/SDL_render.h 2634:34@
+--     [C declaration]: @SDL_DestroyTexture@, defined at @SDL3\/SDL_render.h 2638:34@
 sDL_DestroyTexture
   :: BG.Ptr SDL_Texture
   -- ^
@@ -5401,7 +5403,7 @@
 --
 --     [See also]: 'sDL_CreateRenderer'
 --
---     [C declaration]: @SDL_DestroyRenderer@, defined at @SDL3\/SDL_render.h 2650:34@
+--     [C declaration]: @SDL_DestroyRenderer@, defined at @SDL3\/SDL_render.h 2654:34@
 sDL_DestroyRenderer
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5441,7 +5443,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_FlushRenderer@, defined at @SDL3\/SDL_render.h 2683:34@
+--     [C declaration]: @SDL_FlushRenderer@, defined at @SDL3\/SDL_render.h 2687:34@
 sDL_FlushRenderer
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5475,7 +5477,7 @@
 --
 --     [See also]: 'sDL_GetRenderMetalCommandEncoder'
 --
---     [C declaration]: @SDL_GetRenderMetalLayer@, defined at @SDL3\/SDL_render.h 2701:36@
+--     [C declaration]: @SDL_GetRenderMetalLayer@, defined at @SDL3\/SDL_render.h 2705:36@
 sDL_GetRenderMetalLayer
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5511,7 +5513,7 @@
 --
 --     [See also]: 'sDL_GetRenderMetalLayer'
 --
---     [C declaration]: @SDL_GetRenderMetalCommandEncoder@, defined at @SDL3\/SDL_render.h 2724:36@
+--     [C declaration]: @SDL_GetRenderMetalCommandEncoder@, defined at @SDL3\/SDL_render.h 2728:36@
 sDL_GetRenderMetalCommandEncoder
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5552,7 +5554,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_AddVulkanRenderSemaphores@, defined at @SDL3\/SDL_render.h 2755:34@
+--     [C declaration]: @SDL_AddVulkanRenderSemaphores@, defined at @SDL3\/SDL_render.h 2759:34@
 sDL_AddVulkanRenderSemaphores
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5603,7 +5605,7 @@
 --
 --     [See also]: 'sDL_GetRenderVSync'
 --
---     [C declaration]: @SDL_SetRenderVSync@, defined at @SDL3\/SDL_render.h 2780:34@
+--     [C declaration]: @SDL_SetRenderVSync@, defined at @SDL3\/SDL_render.h 2784:34@
 sDL_SetRenderVSync
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5641,7 +5643,7 @@
 --
 --     [See also]: 'sDL_SetRenderVSync'
 --
---     [C declaration]: @SDL_GetRenderVSync@, defined at @SDL3\/SDL_render.h 2800:34@
+--     [C declaration]: @SDL_GetRenderVSync@, defined at @SDL3\/SDL_render.h 2804:34@
 sDL_GetRenderVSync
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5701,7 +5703,7 @@
 --
 --     [See also]: @SDL_RenderDebugTextFormat@, 'sDL_DEBUG_TEXT_FONT_CHARACTER_SIZE'
 --
---     [C declaration]: @SDL_RenderDebugText@, defined at @SDL3\/SDL_render.h 2852:34@
+--     [C declaration]: @SDL_RenderDebugText@, defined at @SDL3\/SDL_render.h 2856:34@
 sDL_RenderDebugText
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5749,7 +5751,7 @@
 --
 --     [See also]: 'sDL_GetDefaultTextureScaleMode'
 --
---     [C declaration]: @SDL_SetDefaultTextureScaleMode@, defined at @SDL3\/SDL_render.h 2898:34@
+--     [C declaration]: @SDL_SetDefaultTextureScaleMode@, defined at @SDL3\/SDL_render.h 2902:34@
 sDL_SetDefaultTextureScaleMode
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5788,7 +5790,7 @@
 --
 --     [See also]: 'sDL_SetDefaultTextureScaleMode'
 --
---     [C declaration]: @SDL_GetDefaultTextureScaleMode@, defined at @SDL3\/SDL_render.h 2916:34@
+--     [C declaration]: @SDL_GetDefaultTextureScaleMode@, defined at @SDL3\/SDL_render.h 2920:34@
 sDL_GetDefaultTextureScaleMode
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5827,7 +5829,7 @@
 --
 --     [See also]: 'sDL_SetGPURenderStateFragmentUniforms', 'sDL_SetGPURenderState', 'sDL_DestroyGPURenderState'
 --
---     [C declaration]: @SDL_CreateGPURenderState@, defined at @SDL3\/SDL_render.h 2970:50@
+--     [C declaration]: @SDL_CreateGPURenderState@, defined at @SDL3\/SDL_render.h 2974:50@
 sDL_CreateGPURenderState
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5870,7 +5872,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @SDL_SetGPURenderStateFragmentUniforms@, defined at @SDL3\/SDL_render.h 2990:34@
+--     [C declaration]: @SDL_SetGPURenderStateFragmentUniforms@, defined at @SDL3\/SDL_render.h 2994:34@
 sDL_SetGPURenderStateFragmentUniforms
   :: BG.Ptr SDL_GPURenderState
   -- ^
@@ -5917,7 +5919,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @SDL_SetGPURenderState@, defined at @SDL3\/SDL_render.h 3008:34@
+--     [C declaration]: @SDL_SetGPURenderState@, defined at @SDL3\/SDL_render.h 3012:34@
 sDL_SetGPURenderState
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5951,7 +5953,7 @@
 --
 --     [See also]: 'sDL_CreateGPURenderState'
 --
---     [C declaration]: @SDL_DestroyGPURenderState@, defined at @SDL3\/SDL_render.h 3022:34@
+--     [C declaration]: @SDL_DestroyGPURenderState@, defined at @SDL3\/SDL_render.h 3026:34@
 sDL_DestroyGPURenderState
   :: BG.Ptr SDL_GPURenderState
   -- ^
diff --git a/src/SDL3/Sys/Bindgen/Render/Unsafe.hs b/src/SDL3/Sys/Bindgen/Render/Unsafe.hs
--- a/src/SDL3/Sys/Bindgen/Render/Unsafe.hs
+++ b/src/SDL3/Sys/Bindgen/Render/Unsafe.hs
@@ -1387,7 +1387,7 @@
 
 -- | Create a 2D software rendering context for a surface.
 --
---     Two other API which can be used to create 'SDL_Renderer': @SDL_CreateRenderer()@ and @SDL_CreateWindowAndRenderer()@. These can /also/ create a software renderer, but they are intended to be used with an SDL_Window as the final destination and not an SDL_Surface.
+--     Two other APIs which can be used to create 'SDL_Renderer': @SDL_CreateRenderer()@ and @SDL_CreateWindowAndRenderer()@. These can /also/ create a software renderer, but they are intended to be used with an SDL_Window as the final destination and not an SDL_Surface.
 --
 --     [Returns]: a valid rendering context or NULL if there was an error; call SDL_GetError() for more information.
 --
@@ -1861,8 +1861,6 @@
 --
 --     * @'sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER'@: the GLuint texture associated with the texture, if you want to wrap an existing texture.
 --
---     * @'sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER'@: the GLuint texture associated with the texture, if you want to wrap an existing texture.
---
 --     * @'sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER'@: the GLuint texture associated with the UV plane of an NV12 texture, if you want to wrap an existing texture.
 --
 --     * @'sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_U_NUMBER'@: the GLuint texture associated with the U plane of a YUV texture, if you want to wrap an existing texture.
@@ -1893,7 +1891,7 @@
 --
 --     [See also]: SDL_CreateProperties, 'sDL_CreateTexture', 'sDL_CreateTextureFromSurface', 'sDL_DestroyTexture', 'sDL_GetTextureSize', 'sDL_UpdateTexture'
 --
---     [C declaration]: @SDL_CreateTextureWithProperties@, defined at @SDL3\/SDL_render.h 806:43@
+--     [C declaration]: @SDL_CreateTextureWithProperties@, defined at @SDL3\/SDL_render.h 804:43@
 sDL_CreateTextureWithProperties
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -2002,7 +2000,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetTextureProperties@, defined at @SDL3\/SDL_render.h 935:46@
+--     [C declaration]: @SDL_GetTextureProperties@, defined at @SDL3\/SDL_render.h 933:46@
 sDL_GetTextureProperties
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2033,7 +2031,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetRendererFromTexture@, defined at @SDL3\/SDL_render.h 979:44@
+--     [C declaration]: @SDL_GetRendererFromTexture@, defined at @SDL3\/SDL_render.h 977:44@
 sDL_GetRendererFromTexture
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2068,7 +2066,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetTextureSize@, defined at @SDL3\/SDL_render.h 996:34@
+--     [C declaration]: @SDL_GetTextureSize@, defined at @SDL3\/SDL_render.h 994:34@
 sDL_GetTextureSize
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2114,7 +2112,7 @@
 --
 --     [See also]: SDL_CreatePalette, 'sDL_GetTexturePalette'
 --
---     [C declaration]: @SDL_SetTexturePalette@, defined at @SDL3\/SDL_render.h 1018:34@
+--     [C declaration]: @SDL_SetTexturePalette@, defined at @SDL3\/SDL_render.h 1016:34@
 sDL_SetTexturePalette
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2150,7 +2148,7 @@
 --
 --     [See also]: 'sDL_SetTexturePalette'
 --
---     [C declaration]: @SDL_GetTexturePalette@, defined at @SDL3\/SDL_render.h 1033:43@
+--     [C declaration]: @SDL_GetTexturePalette@, defined at @SDL3\/SDL_render.h 1031:43@
 sDL_GetTexturePalette
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2194,7 +2192,7 @@
 --
 --     [See also]: 'sDL_GetTextureColorMod', 'sDL_SetTextureAlphaMod', 'sDL_SetTextureColorModFloat'
 --
---     [C declaration]: @SDL_SetTextureColorMod@, defined at @SDL3\/SDL_render.h 1062:34@
+--     [C declaration]: @SDL_SetTextureColorMod@, defined at @SDL3\/SDL_render.h 1060:34@
 sDL_SetTextureColorMod
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2250,7 +2248,7 @@
 --
 --     [See also]: 'sDL_GetTextureColorModFloat', 'sDL_SetTextureAlphaModFloat', 'sDL_SetTextureColorMod'
 --
---     [C declaration]: @SDL_SetTextureColorModFloat@, defined at @SDL3\/SDL_render.h 1092:34@
+--     [C declaration]: @SDL_SetTextureColorModFloat@, defined at @SDL3\/SDL_render.h 1090:34@
 sDL_SetTextureColorModFloat
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2301,7 +2299,7 @@
 --
 --     [See also]: 'sDL_GetTextureAlphaMod', 'sDL_GetTextureColorModFloat', 'sDL_SetTextureColorMod'
 --
---     [C declaration]: @SDL_GetTextureColorMod@, defined at @SDL3\/SDL_render.h 1113:34@
+--     [C declaration]: @SDL_GetTextureColorMod@, defined at @SDL3\/SDL_render.h 1111:34@
 sDL_GetTextureColorMod
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2351,7 +2349,7 @@
 --
 --     [See also]: 'sDL_GetTextureAlphaModFloat', 'sDL_GetTextureColorMod', 'sDL_SetTextureColorModFloat'
 --
---     [C declaration]: @SDL_GetTextureColorModFloat@, defined at @SDL3\/SDL_render.h 1133:34@
+--     [C declaration]: @SDL_GetTextureColorModFloat@, defined at @SDL3\/SDL_render.h 1131:34@
 sDL_GetTextureColorModFloat
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2404,7 +2402,7 @@
 --
 --     [See also]: 'sDL_GetTextureAlphaMod', 'sDL_SetTextureAlphaModFloat', 'sDL_SetTextureColorMod'
 --
---     [C declaration]: @SDL_SetTextureAlphaMod@, defined at @SDL3\/SDL_render.h 1159:34@
+--     [C declaration]: @SDL_SetTextureAlphaMod@, defined at @SDL3\/SDL_render.h 1157:34@
 sDL_SetTextureAlphaMod
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2448,7 +2446,7 @@
 --
 --     [See also]: 'sDL_GetTextureAlphaModFloat', 'sDL_SetTextureAlphaMod', 'sDL_SetTextureColorModFloat'
 --
---     [C declaration]: @SDL_SetTextureAlphaModFloat@, defined at @SDL3\/SDL_render.h 1185:34@
+--     [C declaration]: @SDL_SetTextureAlphaModFloat@, defined at @SDL3\/SDL_render.h 1183:34@
 sDL_SetTextureAlphaModFloat
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2487,7 +2485,7 @@
 --
 --     [See also]: 'sDL_GetTextureAlphaModFloat', 'sDL_GetTextureColorMod', 'sDL_SetTextureAlphaMod'
 --
---     [C declaration]: @SDL_GetTextureAlphaMod@, defined at @SDL3\/SDL_render.h 1203:34@
+--     [C declaration]: @SDL_GetTextureAlphaMod@, defined at @SDL3\/SDL_render.h 1201:34@
 sDL_GetTextureAlphaMod
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2525,7 +2523,7 @@
 --
 --     [See also]: 'sDL_GetTextureAlphaMod', 'sDL_GetTextureColorModFloat', 'sDL_SetTextureAlphaModFloat'
 --
---     [C declaration]: @SDL_GetTextureAlphaModFloat@, defined at @SDL3\/SDL_render.h 1221:34@
+--     [C declaration]: @SDL_GetTextureAlphaModFloat@, defined at @SDL3\/SDL_render.h 1219:34@
 sDL_GetTextureAlphaModFloat
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2556,6 +2554,8 @@
 
 -- | Set the blend mode for a texture, used by @SDL_RenderTexture()@.
 --
+--     This blend mode is used for any drawing that involves this texture.
+--
 --     If the blend mode is not supported, the closest supported mode is chosen and this function returns false.
 --
 --     [Returns]: true on success or false on failure; call SDL_GetError() for more information.
@@ -2564,9 +2564,9 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'sDL_GetTextureBlendMode'
+--     [See also]: 'sDL_GetTextureBlendMode', 'sDL_SetRenderDrawBlendMode'
 --
---     [C declaration]: @SDL_SetTextureBlendMode@, defined at @SDL3\/SDL_render.h 1240:34@
+--     [C declaration]: @SDL_SetTextureBlendMode@, defined at @SDL3\/SDL_render.h 1241:34@
 sDL_SetTextureBlendMode
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2604,7 +2604,7 @@
 --
 --     [See also]: 'sDL_SetTextureBlendMode'
 --
---     [C declaration]: @SDL_GetTextureBlendMode@, defined at @SDL3\/SDL_render.h 1256:34@
+--     [C declaration]: @SDL_GetTextureBlendMode@, defined at @SDL3\/SDL_render.h 1257:34@
 sDL_GetTextureBlendMode
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2646,7 +2646,7 @@
 --
 --     [See also]: 'sDL_GetTextureScaleMode'
 --
---     [C declaration]: @SDL_SetTextureScaleMode@, defined at @SDL3\/SDL_render.h 1276:34@
+--     [C declaration]: @SDL_SetTextureScaleMode@, defined at @SDL3\/SDL_render.h 1277:34@
 sDL_SetTextureScaleMode
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2684,7 +2684,7 @@
 --
 --     [See also]: 'sDL_SetTextureScaleMode'
 --
---     [C declaration]: @SDL_GetTextureScaleMode@, defined at @SDL3\/SDL_render.h 1292:34@
+--     [C declaration]: @SDL_GetTextureScaleMode@, defined at @SDL3\/SDL_render.h 1293:34@
 sDL_GetTextureScaleMode
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2732,7 +2732,7 @@
 --
 --     [See also]: 'sDL_LockTexture', 'sDL_UnlockTexture', 'sDL_UpdateNVTexture', 'sDL_UpdateYUVTexture'
 --
---     [C declaration]: @SDL_UpdateTexture@, defined at @SDL3\/SDL_render.h 1326:34@
+--     [C declaration]: @SDL_UpdateTexture@, defined at @SDL3\/SDL_render.h 1327:34@
 sDL_UpdateTexture
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2792,7 +2792,7 @@
 --
 --     [See also]: 'sDL_UpdateNVTexture', 'sDL_UpdateTexture'
 --
---     [C declaration]: @SDL_UpdateYUVTexture@, defined at @SDL3\/SDL_render.h 1358:34@
+--     [C declaration]: @SDL_UpdateYUVTexture@, defined at @SDL3\/SDL_render.h 1359:34@
 sDL_UpdateYUVTexture
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2864,7 +2864,7 @@
 --
 --     [See also]: 'sDL_UpdateTexture', 'sDL_UpdateYUVTexture'
 --
---     [C declaration]: @SDL_UpdateNVTexture@, defined at @SDL3\/SDL_render.h 1390:34@
+--     [C declaration]: @SDL_UpdateNVTexture@, defined at @SDL3\/SDL_render.h 1391:34@
 sDL_UpdateNVTexture
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2926,7 +2926,7 @@
 --
 --     [See also]: 'sDL_LockTextureToSurface', 'sDL_UnlockTexture'
 --
---     [C declaration]: @SDL_LockTexture@, defined at @SDL3\/SDL_render.h 1425:34@
+--     [C declaration]: @SDL_LockTexture@, defined at @SDL3\/SDL_render.h 1426:34@
 sDL_LockTexture
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2982,7 +2982,7 @@
 --
 --     [See also]: 'sDL_LockTexture', 'sDL_UnlockTexture'
 --
---     [C declaration]: @SDL_LockTextureToSurface@, defined at @SDL3\/SDL_render.h 1463:34@
+--     [C declaration]: @SDL_LockTextureToSurface@, defined at @SDL3\/SDL_render.h 1464:34@
 sDL_LockTextureToSurface
   :: BG.Ptr SDL_Texture
   -- ^
@@ -3025,7 +3025,7 @@
 --
 --     [See also]: 'sDL_LockTexture'
 --
---     [C declaration]: @SDL_UnlockTexture@, defined at @SDL3\/SDL_render.h 1484:34@
+--     [C declaration]: @SDL_UnlockTexture@, defined at @SDL3\/SDL_render.h 1485:34@
 sDL_UnlockTexture
   :: BG.Ptr SDL_Texture
   -- ^
@@ -3063,7 +3063,7 @@
 --
 --     [See also]: 'sDL_GetRenderTarget'
 --
---     [C declaration]: @SDL_SetRenderTarget@, defined at @SDL3\/SDL_render.h 1511:34@
+--     [C declaration]: @SDL_SetRenderTarget@, defined at @SDL3\/SDL_render.h 1512:34@
 sDL_SetRenderTarget
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3101,7 +3101,7 @@
 --
 --     [See also]: 'sDL_SetRenderTarget'
 --
---     [C declaration]: @SDL_GetRenderTarget@, defined at @SDL3\/SDL_render.h 1528:43@
+--     [C declaration]: @SDL_GetRenderTarget@, defined at @SDL3\/SDL_render.h 1529:43@
 sDL_GetRenderTarget
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3149,7 +3149,7 @@
 --
 --     [See also]: 'sDL_ConvertEventToRenderCoordinates', 'sDL_GetRenderLogicalPresentation', 'sDL_GetRenderLogicalPresentationRect'
 --
---     [C declaration]: @SDL_SetRenderLogicalPresentation@, defined at @SDL3\/SDL_render.h 1575:34@
+--     [C declaration]: @SDL_SetRenderLogicalPresentation@, defined at @SDL3\/SDL_render.h 1576:34@
 sDL_SetRenderLogicalPresentation
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3204,7 +3204,7 @@
 --
 --     [See also]: 'sDL_SetRenderLogicalPresentation'
 --
---     [C declaration]: @SDL_GetRenderLogicalPresentation@, defined at @SDL3\/SDL_render.h 1600:34@
+--     [C declaration]: @SDL_GetRenderLogicalPresentation@, defined at @SDL3\/SDL_render.h 1601:34@
 sDL_GetRenderLogicalPresentation
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3255,7 +3255,7 @@
 --
 --     [See also]: 'sDL_SetRenderLogicalPresentation'
 --
---     [C declaration]: @SDL_GetRenderLogicalPresentationRect@, defined at @SDL3\/SDL_render.h 1625:34@
+--     [C declaration]: @SDL_GetRenderLogicalPresentationRect@, defined at @SDL3\/SDL_render.h 1626:34@
 sDL_GetRenderLogicalPresentationRect
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3310,7 +3310,7 @@
 --
 --     [See also]: 'sDL_SetRenderLogicalPresentation', 'sDL_SetRenderScale'
 --
---     [C declaration]: @SDL_RenderCoordinatesFromWindow@, defined at @SDL3\/SDL_render.h 1652:34@
+--     [C declaration]: @SDL_RenderCoordinatesFromWindow@, defined at @SDL3\/SDL_render.h 1653:34@
 sDL_RenderCoordinatesFromWindow
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3377,7 +3377,7 @@
 --
 --     [See also]: 'sDL_SetRenderLogicalPresentation', 'sDL_SetRenderScale', 'sDL_SetRenderViewport'
 --
---     [C declaration]: @SDL_RenderCoordinatesToWindow@, defined at @SDL3\/SDL_render.h 1682:34@
+--     [C declaration]: @SDL_RenderCoordinatesToWindow@, defined at @SDL3\/SDL_render.h 1683:34@
 sDL_RenderCoordinatesToWindow
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3446,7 +3446,7 @@
 --
 --     [See also]: 'sDL_RenderCoordinatesFromWindow'
 --
---     [C declaration]: @SDL_ConvertEventToRenderCoordinates@, defined at @SDL3\/SDL_render.h 1718:34@
+--     [C declaration]: @SDL_ConvertEventToRenderCoordinates@, defined at @SDL3\/SDL_render.h 1719:34@
 sDL_ConvertEventToRenderCoordinates
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3491,7 +3491,7 @@
 --
 --     [See also]: 'sDL_GetRenderViewport', 'sDL_RenderViewportSet'
 --
---     [C declaration]: @SDL_SetRenderViewport@, defined at @SDL3\/SDL_render.h 1745:34@
+--     [C declaration]: @SDL_SetRenderViewport@, defined at @SDL3\/SDL_render.h 1746:34@
 sDL_SetRenderViewport
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3531,7 +3531,7 @@
 --
 --     [See also]: 'sDL_RenderViewportSet', 'sDL_SetRenderViewport'
 --
---     [C declaration]: @SDL_GetRenderViewport@, defined at @SDL3\/SDL_render.h 1765:34@
+--     [C declaration]: @SDL_GetRenderViewport@, defined at @SDL3\/SDL_render.h 1766:34@
 sDL_GetRenderViewport
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3571,7 +3571,7 @@
 --
 --     [See also]: 'sDL_GetRenderViewport', 'sDL_SetRenderViewport'
 --
---     [C declaration]: @SDL_RenderViewportSet@, defined at @SDL3\/SDL_render.h 1787:34@
+--     [C declaration]: @SDL_RenderViewportSet@, defined at @SDL3\/SDL_render.h 1788:34@
 sDL_RenderViewportSet
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3605,7 +3605,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetRenderSafeArea@, defined at @SDL3\/SDL_render.h 1809:34@
+--     [C declaration]: @SDL_GetRenderSafeArea@, defined at @SDL3\/SDL_render.h 1810:34@
 sDL_GetRenderSafeArea
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3645,7 +3645,7 @@
 --
 --     [See also]: 'sDL_GetRenderClipRect', 'sDL_RenderClipEnabled'
 --
---     [C declaration]: @SDL_SetRenderClipRect@, defined at @SDL3\/SDL_render.h 1830:34@
+--     [C declaration]: @SDL_SetRenderClipRect@, defined at @SDL3\/SDL_render.h 1831:34@
 sDL_SetRenderClipRect
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3685,7 +3685,7 @@
 --
 --     [See also]: 'sDL_RenderClipEnabled', 'sDL_SetRenderClipRect'
 --
---     [C declaration]: @SDL_GetRenderClipRect@, defined at @SDL3\/SDL_render.h 1851:34@
+--     [C declaration]: @SDL_GetRenderClipRect@, defined at @SDL3\/SDL_render.h 1852:34@
 sDL_GetRenderClipRect
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3723,7 +3723,7 @@
 --
 --     [See also]: 'sDL_GetRenderClipRect', 'sDL_SetRenderClipRect'
 --
---     [C declaration]: @SDL_RenderClipEnabled@, defined at @SDL3\/SDL_render.h 1870:34@
+--     [C declaration]: @SDL_RenderClipEnabled@, defined at @SDL3\/SDL_render.h 1871:34@
 sDL_RenderClipEnabled
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3765,7 +3765,7 @@
 --
 --     [See also]: 'sDL_GetRenderScale'
 --
---     [C declaration]: @SDL_SetRenderScale@, defined at @SDL3\/SDL_render.h 1898:34@
+--     [C declaration]: @SDL_SetRenderScale@, defined at @SDL3\/SDL_render.h 1899:34@
 sDL_SetRenderScale
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3811,7 +3811,7 @@
 --
 --     [See also]: 'sDL_SetRenderScale'
 --
---     [C declaration]: @SDL_GetRenderScale@, defined at @SDL3\/SDL_render.h 1918:34@
+--     [C declaration]: @SDL_GetRenderScale@, defined at @SDL3\/SDL_render.h 1919:34@
 sDL_GetRenderScale
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3861,7 +3861,7 @@
 --
 --     [See also]: 'sDL_GetRenderDrawColor', 'sDL_SetRenderDrawColorFloat'
 --
---     [C declaration]: @SDL_SetRenderDrawColor@, defined at @SDL3\/SDL_render.h 1943:34@
+--     [C declaration]: @SDL_SetRenderDrawColor@, defined at @SDL3\/SDL_render.h 1944:34@
 sDL_SetRenderDrawColor
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3919,7 +3919,7 @@
 --
 --     [See also]: 'sDL_GetRenderDrawColorFloat', 'sDL_SetRenderDrawColor'
 --
---     [C declaration]: @SDL_SetRenderDrawColorFloat@, defined at @SDL3\/SDL_render.h 1968:34@
+--     [C declaration]: @SDL_SetRenderDrawColorFloat@, defined at @SDL3\/SDL_render.h 1969:34@
 sDL_SetRenderDrawColorFloat
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3976,7 +3976,7 @@
 --
 --     [See also]: 'sDL_GetRenderDrawColorFloat', 'sDL_SetRenderDrawColor'
 --
---     [C declaration]: @SDL_GetRenderDrawColor@, defined at @SDL3\/SDL_render.h 1992:34@
+--     [C declaration]: @SDL_GetRenderDrawColor@, defined at @SDL3\/SDL_render.h 1993:34@
 sDL_GetRenderDrawColor
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4032,7 +4032,7 @@
 --
 --     [See also]: 'sDL_SetRenderDrawColorFloat', 'sDL_GetRenderDrawColor'
 --
---     [C declaration]: @SDL_GetRenderDrawColorFloat@, defined at @SDL3\/SDL_render.h 2016:34@
+--     [C declaration]: @SDL_GetRenderDrawColorFloat@, defined at @SDL3\/SDL_render.h 2017:34@
 sDL_GetRenderDrawColorFloat
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4087,7 +4087,7 @@
 --
 --     [See also]: 'sDL_GetRenderColorScale'
 --
---     [C declaration]: @SDL_SetRenderColorScale@, defined at @SDL3\/SDL_render.h 2040:34@
+--     [C declaration]: @SDL_SetRenderColorScale@, defined at @SDL3\/SDL_render.h 2041:34@
 sDL_SetRenderColorScale
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4125,7 +4125,7 @@
 --
 --     [See also]: 'sDL_SetRenderColorScale'
 --
---     [C declaration]: @SDL_GetRenderColorScale@, defined at @SDL3\/SDL_render.h 2056:34@
+--     [C declaration]: @SDL_GetRenderColorScale@, defined at @SDL3\/SDL_render.h 2057:34@
 sDL_GetRenderColorScale
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4153,8 +4153,10 @@
 hs_bindgen_1885ca90cb47d78c =
   BG.fromFFIType hs_bindgen_1885ca90cb47d78c_base
 
--- | Set the blend mode used for drawing operations (Fill and Line).
+-- | Set the blend mode used for drawing operations.
 --
+--     This blend mode is used for any drawing that doesn\'t involve textures.
+--
 --     If the blend mode is not supported, the closest supported mode is chosen.
 --
 --     [Returns]: true on success or false on failure; call SDL_GetError() for more information.
@@ -4163,9 +4165,9 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'sDL_GetRenderDrawBlendMode'
+--     [See also]: 'sDL_GetRenderDrawBlendMode', 'sDL_SetTextureBlendMode'
 --
---     [C declaration]: @SDL_SetRenderDrawBlendMode@, defined at @SDL3\/SDL_render.h 2074:34@
+--     [C declaration]: @SDL_SetRenderDrawBlendMode@, defined at @SDL3\/SDL_render.h 2078:34@
 sDL_SetRenderDrawBlendMode
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4204,7 +4206,7 @@
 --
 --     [See also]: 'sDL_SetRenderDrawBlendMode'
 --
---     [C declaration]: @SDL_GetRenderDrawBlendMode@, defined at @SDL3\/SDL_render.h 2090:34@
+--     [C declaration]: @SDL_GetRenderDrawBlendMode@, defined at @SDL3\/SDL_render.h 2094:34@
 sDL_GetRenderDrawBlendMode
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4243,7 +4245,7 @@
 --
 --     [See also]: 'sDL_SetRenderDrawColor'
 --
---     [C declaration]: @SDL_RenderClear@, defined at @SDL3\/SDL_render.h 2110:34@
+--     [C declaration]: @SDL_RenderClear@, defined at @SDL3\/SDL_render.h 2114:34@
 sDL_RenderClear
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4279,7 +4281,7 @@
 --
 --     [See also]: 'sDL_RenderPoints'
 --
---     [C declaration]: @SDL_RenderPoint@, defined at @SDL3\/SDL_render.h 2127:34@
+--     [C declaration]: @SDL_RenderPoint@, defined at @SDL3\/SDL_render.h 2131:34@
 sDL_RenderPoint
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4323,7 +4325,7 @@
 --
 --     [See also]: 'sDL_RenderPoint'
 --
---     [C declaration]: @SDL_RenderPoints@, defined at @SDL3\/SDL_render.h 2144:34@
+--     [C declaration]: @SDL_RenderPoints@, defined at @SDL3\/SDL_render.h 2148:34@
 sDL_RenderPoints
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4371,7 +4373,7 @@
 --
 --     [See also]: 'sDL_RenderLines'
 --
---     [C declaration]: @SDL_RenderLine@, defined at @SDL3\/SDL_render.h 2163:34@
+--     [C declaration]: @SDL_RenderLine@, defined at @SDL3\/SDL_render.h 2167:34@
 sDL_RenderLine
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4423,7 +4425,7 @@
 --
 --     [See also]: 'sDL_RenderLine'
 --
---     [C declaration]: @SDL_RenderLines@, defined at @SDL3\/SDL_render.h 2181:34@
+--     [C declaration]: @SDL_RenderLines@, defined at @SDL3\/SDL_render.h 2185:34@
 sDL_RenderLines
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4465,7 +4467,7 @@
 --
 --     [See also]: 'sDL_RenderRects'
 --
---     [C declaration]: @SDL_RenderRect@, defined at @SDL3\/SDL_render.h 2198:34@
+--     [C declaration]: @SDL_RenderRect@, defined at @SDL3\/SDL_render.h 2202:34@
 sDL_RenderRect
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4505,7 +4507,7 @@
 --
 --     [See also]: 'sDL_RenderRect'
 --
---     [C declaration]: @SDL_RenderRects@, defined at @SDL3\/SDL_render.h 2216:34@
+--     [C declaration]: @SDL_RenderRects@, defined at @SDL3\/SDL_render.h 2220:34@
 sDL_RenderRects
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4547,7 +4549,7 @@
 --
 --     [See also]: 'sDL_RenderFillRects'
 --
---     [C declaration]: @SDL_RenderFillRect@, defined at @SDL3\/SDL_render.h 2234:34@
+--     [C declaration]: @SDL_RenderFillRect@, defined at @SDL3\/SDL_render.h 2238:34@
 sDL_RenderFillRect
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4587,7 +4589,7 @@
 --
 --     [See also]: 'sDL_RenderFillRect'
 --
---     [C declaration]: @SDL_RenderFillRects@, defined at @SDL3\/SDL_render.h 2252:34@
+--     [C declaration]: @SDL_RenderFillRects@, defined at @SDL3\/SDL_render.h 2256:34@
 sDL_RenderFillRects
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4633,7 +4635,7 @@
 --
 --     [See also]: 'sDL_RenderTextureRotated', 'sDL_RenderTextureTiled'
 --
---     [C declaration]: @SDL_RenderTexture@, defined at @SDL3\/SDL_render.h 2274:34@
+--     [C declaration]: @SDL_RenderTexture@, defined at @SDL3\/SDL_render.h 2278:34@
 sDL_RenderTexture
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4689,7 +4691,7 @@
 --
 --     [See also]: 'sDL_RenderTexture'
 --
---     [C declaration]: @SDL_RenderTextureRotated@, defined at @SDL3\/SDL_render.h 2302:34@
+--     [C declaration]: @SDL_RenderTextureRotated@, defined at @SDL3\/SDL_render.h 2306:34@
 sDL_RenderTextureRotated
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4756,7 +4758,7 @@
 --
 --     [See also]: 'sDL_RenderTexture'
 --
---     [C declaration]: @SDL_RenderTextureAffine@, defined at @SDL3\/SDL_render.h 2333:34@
+--     [C declaration]: @SDL_RenderTextureAffine@, defined at @SDL3\/SDL_render.h 2337:34@
 sDL_RenderTextureAffine
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4818,7 +4820,7 @@
 --
 --     [See also]: 'sDL_RenderTexture'
 --
---     [C declaration]: @SDL_RenderTextureTiled@, defined at @SDL3\/SDL_render.h 2362:34@
+--     [C declaration]: @SDL_RenderTextureTiled@, defined at @SDL3\/SDL_render.h 2366:34@
 sDL_RenderTextureTiled
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4884,7 +4886,7 @@
 --
 --     [See also]: 'sDL_RenderTexture', 'sDL_RenderTexture9GridTiled'
 --
---     [C declaration]: @SDL_RenderTexture9Grid@, defined at @SDL3\/SDL_render.h 2397:34@
+--     [C declaration]: @SDL_RenderTexture9Grid@, defined at @SDL3\/SDL_render.h 2401:34@
 sDL_RenderTexture9Grid
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4968,7 +4970,7 @@
 --
 --     [See also]: 'sDL_RenderTexture', 'sDL_RenderTexture9Grid'
 --
---     [C declaration]: @SDL_RenderTexture9GridTiled@, defined at @SDL3\/SDL_render.h 2435:34@
+--     [C declaration]: @SDL_RenderTexture9GridTiled@, defined at @SDL3\/SDL_render.h 2439:34@
 sDL_RenderTexture9GridTiled
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5047,7 +5049,7 @@
 --
 --     [See also]: 'sDL_RenderGeometryRaw', 'sDL_SetRenderTextureAddressMode'
 --
---     [C declaration]: @SDL_RenderGeometry@, defined at @SDL3\/SDL_render.h 2460:34@
+--     [C declaration]: @SDL_RenderGeometry@, defined at @SDL3\/SDL_render.h 2464:34@
 sDL_RenderGeometry
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5121,7 +5123,7 @@
 --
 --     [See also]: 'sDL_RenderGeometry', 'sDL_SetRenderTextureAddressMode'
 --
---     [C declaration]: @SDL_RenderGeometryRaw@, defined at @SDL3\/SDL_render.h 2493:34@
+--     [C declaration]: @SDL_RenderGeometryRaw@, defined at @SDL3\/SDL_render.h 2497:34@
 sDL_RenderGeometryRaw
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5201,7 +5203,7 @@
 --
 --     [See also]: 'sDL_RenderGeometry', 'sDL_RenderGeometryRaw', 'sDL_GetRenderTextureAddressMode'
 --
---     [C declaration]: @SDL_SetRenderTextureAddressMode@, defined at @SDL3\/SDL_render.h 2520:34@
+--     [C declaration]: @SDL_SetRenderTextureAddressMode@, defined at @SDL3\/SDL_render.h 2524:34@
 sDL_SetRenderTextureAddressMode
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5246,7 +5248,7 @@
 --
 --     [See also]: 'sDL_SetRenderTextureAddressMode'
 --
---     [C declaration]: @SDL_GetRenderTextureAddressMode@, defined at @SDL3\/SDL_render.h 2541:34@
+--     [C declaration]: @SDL_GetRenderTextureAddressMode@, defined at @SDL3\/SDL_render.h 2545:34@
 sDL_GetRenderTextureAddressMode
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5293,7 +5295,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_RenderReadPixels@, defined at @SDL3\/SDL_render.h 2568:43@
+--     [C declaration]: @SDL_RenderReadPixels@, defined at @SDL3\/SDL_render.h 2572:43@
 sDL_RenderReadPixels
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5337,7 +5339,7 @@
 --
 --     [See also]: 'sDL_CreateRenderer', 'sDL_RenderClear', 'sDL_RenderFillRect', 'sDL_RenderFillRects', 'sDL_RenderLine', 'sDL_RenderLines', 'sDL_RenderPoint', 'sDL_RenderPoints', 'sDL_RenderRect', 'sDL_RenderRects', 'sDL_SetRenderDrawBlendMode', 'sDL_SetRenderDrawColor'
 --
---     [C declaration]: @SDL_RenderPresent@, defined at @SDL3\/SDL_render.h 2617:34@
+--     [C declaration]: @SDL_RenderPresent@, defined at @SDL3\/SDL_render.h 2621:34@
 sDL_RenderPresent
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5369,7 +5371,7 @@
 --
 --     [See also]: 'sDL_CreateTexture', 'sDL_CreateTextureFromSurface'
 --
---     [C declaration]: @SDL_DestroyTexture@, defined at @SDL3\/SDL_render.h 2634:34@
+--     [C declaration]: @SDL_DestroyTexture@, defined at @SDL3\/SDL_render.h 2638:34@
 sDL_DestroyTexture
   :: BG.Ptr SDL_Texture
   -- ^
@@ -5401,7 +5403,7 @@
 --
 --     [See also]: 'sDL_CreateRenderer'
 --
---     [C declaration]: @SDL_DestroyRenderer@, defined at @SDL3\/SDL_render.h 2650:34@
+--     [C declaration]: @SDL_DestroyRenderer@, defined at @SDL3\/SDL_render.h 2654:34@
 sDL_DestroyRenderer
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5441,7 +5443,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_FlushRenderer@, defined at @SDL3\/SDL_render.h 2683:34@
+--     [C declaration]: @SDL_FlushRenderer@, defined at @SDL3\/SDL_render.h 2687:34@
 sDL_FlushRenderer
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5475,7 +5477,7 @@
 --
 --     [See also]: 'sDL_GetRenderMetalCommandEncoder'
 --
---     [C declaration]: @SDL_GetRenderMetalLayer@, defined at @SDL3\/SDL_render.h 2701:36@
+--     [C declaration]: @SDL_GetRenderMetalLayer@, defined at @SDL3\/SDL_render.h 2705:36@
 sDL_GetRenderMetalLayer
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5511,7 +5513,7 @@
 --
 --     [See also]: 'sDL_GetRenderMetalLayer'
 --
---     [C declaration]: @SDL_GetRenderMetalCommandEncoder@, defined at @SDL3\/SDL_render.h 2724:36@
+--     [C declaration]: @SDL_GetRenderMetalCommandEncoder@, defined at @SDL3\/SDL_render.h 2728:36@
 sDL_GetRenderMetalCommandEncoder
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5552,7 +5554,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_AddVulkanRenderSemaphores@, defined at @SDL3\/SDL_render.h 2755:34@
+--     [C declaration]: @SDL_AddVulkanRenderSemaphores@, defined at @SDL3\/SDL_render.h 2759:34@
 sDL_AddVulkanRenderSemaphores
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5603,7 +5605,7 @@
 --
 --     [See also]: 'sDL_GetRenderVSync'
 --
---     [C declaration]: @SDL_SetRenderVSync@, defined at @SDL3\/SDL_render.h 2780:34@
+--     [C declaration]: @SDL_SetRenderVSync@, defined at @SDL3\/SDL_render.h 2784:34@
 sDL_SetRenderVSync
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5641,7 +5643,7 @@
 --
 --     [See also]: 'sDL_SetRenderVSync'
 --
---     [C declaration]: @SDL_GetRenderVSync@, defined at @SDL3\/SDL_render.h 2800:34@
+--     [C declaration]: @SDL_GetRenderVSync@, defined at @SDL3\/SDL_render.h 2804:34@
 sDL_GetRenderVSync
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5701,7 +5703,7 @@
 --
 --     [See also]: @SDL_RenderDebugTextFormat@, 'sDL_DEBUG_TEXT_FONT_CHARACTER_SIZE'
 --
---     [C declaration]: @SDL_RenderDebugText@, defined at @SDL3\/SDL_render.h 2852:34@
+--     [C declaration]: @SDL_RenderDebugText@, defined at @SDL3\/SDL_render.h 2856:34@
 sDL_RenderDebugText
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5749,7 +5751,7 @@
 --
 --     [See also]: 'sDL_GetDefaultTextureScaleMode'
 --
---     [C declaration]: @SDL_SetDefaultTextureScaleMode@, defined at @SDL3\/SDL_render.h 2898:34@
+--     [C declaration]: @SDL_SetDefaultTextureScaleMode@, defined at @SDL3\/SDL_render.h 2902:34@
 sDL_SetDefaultTextureScaleMode
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5788,7 +5790,7 @@
 --
 --     [See also]: 'sDL_SetDefaultTextureScaleMode'
 --
---     [C declaration]: @SDL_GetDefaultTextureScaleMode@, defined at @SDL3\/SDL_render.h 2916:34@
+--     [C declaration]: @SDL_GetDefaultTextureScaleMode@, defined at @SDL3\/SDL_render.h 2920:34@
 sDL_GetDefaultTextureScaleMode
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5827,7 +5829,7 @@
 --
 --     [See also]: 'sDL_SetGPURenderStateFragmentUniforms', 'sDL_SetGPURenderState', 'sDL_DestroyGPURenderState'
 --
---     [C declaration]: @SDL_CreateGPURenderState@, defined at @SDL3\/SDL_render.h 2970:50@
+--     [C declaration]: @SDL_CreateGPURenderState@, defined at @SDL3\/SDL_render.h 2974:50@
 sDL_CreateGPURenderState
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5870,7 +5872,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @SDL_SetGPURenderStateFragmentUniforms@, defined at @SDL3\/SDL_render.h 2990:34@
+--     [C declaration]: @SDL_SetGPURenderStateFragmentUniforms@, defined at @SDL3\/SDL_render.h 2994:34@
 sDL_SetGPURenderStateFragmentUniforms
   :: BG.Ptr SDL_GPURenderState
   -- ^
@@ -5917,7 +5919,7 @@
 --
 --     @since 3.4.0
 --
---     [C declaration]: @SDL_SetGPURenderState@, defined at @SDL3\/SDL_render.h 3008:34@
+--     [C declaration]: @SDL_SetGPURenderState@, defined at @SDL3\/SDL_render.h 3012:34@
 sDL_SetGPURenderState
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5951,7 +5953,7 @@
 --
 --     [See also]: 'sDL_CreateGPURenderState'
 --
---     [C declaration]: @SDL_DestroyGPURenderState@, defined at @SDL3\/SDL_render.h 3022:34@
+--     [C declaration]: @SDL_DestroyGPURenderState@, defined at @SDL3\/SDL_render.h 3026:34@
 sDL_DestroyGPURenderState
   :: BG.Ptr SDL_GPURenderState
   -- ^
diff --git a/src/SDL3/Sys/Bindgen/Stdinc.hs b/src/SDL3/Sys/Bindgen/Stdinc.hs
--- a/src/SDL3/Sys/Bindgen/Stdinc.hs
+++ b/src/SDL3/Sys/Bindgen/Stdinc.hs
@@ -713,7 +713,7 @@
 
 -- | Auxiliary type used by 'SDL_malloc_func'
 --
---     [C declaration]: @SDL_malloc_func@, defined at @SDL3\/SDL_stdinc.h 1445:25@
+--     [C declaration]: @SDL_malloc_func@, defined at @SDL3\/SDL_stdinc.h 1446:25@
 newtype SDL_malloc_func_Aux = SDL_malloc_func_Aux
   { unwrap :: HsBindgen.Runtime.LibC.CSize -> IO (BG.Ptr BG.Void)
   }
@@ -793,7 +793,7 @@
 --
 --     [See also]: 'sDL_malloc', 'sDL_GetOriginalMemoryFunctions', 'sDL_GetMemoryFunctions', 'sDL_SetMemoryFunctions'
 --
---     [C declaration]: @SDL_malloc_func@, defined at @SDL3\/SDL_stdinc.h 1445:25@
+--     [C declaration]: @SDL_malloc_func@, defined at @SDL3\/SDL_stdinc.h 1446:25@
 newtype SDL_malloc_func = SDL_malloc_func
   { unwrap :: BG.FunPtr SDL_malloc_func_Aux
   }
@@ -832,7 +832,7 @@
 
 -- | Auxiliary type used by 'SDL_calloc_func'
 --
---     [C declaration]: @SDL_calloc_func@, defined at @SDL3\/SDL_stdinc.h 1466:25@
+--     [C declaration]: @SDL_calloc_func@, defined at @SDL3\/SDL_stdinc.h 1467:25@
 newtype SDL_calloc_func_Aux = SDL_calloc_func_Aux
   { unwrap :: HsBindgen.Runtime.LibC.CSize -> HsBindgen.Runtime.LibC.CSize -> IO (BG.Ptr BG.Void)
   }
@@ -915,7 +915,7 @@
 --
 --     [See also]: SDL_calloc, 'sDL_GetOriginalMemoryFunctions', 'sDL_GetMemoryFunctions', 'sDL_SetMemoryFunctions'
 --
---     [C declaration]: @SDL_calloc_func@, defined at @SDL3\/SDL_stdinc.h 1466:25@
+--     [C declaration]: @SDL_calloc_func@, defined at @SDL3\/SDL_stdinc.h 1467:25@
 newtype SDL_calloc_func = SDL_calloc_func
   { unwrap :: BG.FunPtr SDL_calloc_func_Aux
   }
@@ -954,7 +954,7 @@
 
 -- | Auxiliary type used by 'SDL_realloc_func'
 --
---     [C declaration]: @SDL_realloc_func@, defined at @SDL3\/SDL_stdinc.h 1487:25@
+--     [C declaration]: @SDL_realloc_func@, defined at @SDL3\/SDL_stdinc.h 1488:25@
 newtype SDL_realloc_func_Aux = SDL_realloc_func_Aux
   { unwrap :: BG.Ptr BG.Void -> HsBindgen.Runtime.LibC.CSize -> IO (BG.Ptr BG.Void)
   }
@@ -1037,7 +1037,7 @@
 --
 --     [See also]: SDL_realloc, 'sDL_GetOriginalMemoryFunctions', 'sDL_GetMemoryFunctions', 'sDL_SetMemoryFunctions'
 --
---     [C declaration]: @SDL_realloc_func@, defined at @SDL3\/SDL_stdinc.h 1487:25@
+--     [C declaration]: @SDL_realloc_func@, defined at @SDL3\/SDL_stdinc.h 1488:25@
 newtype SDL_realloc_func = SDL_realloc_func
   { unwrap :: BG.FunPtr SDL_realloc_func_Aux
   }
@@ -1076,7 +1076,7 @@
 
 -- | Auxiliary type used by 'SDL_free_func'
 --
---     [C declaration]: @SDL_free_func@, defined at @SDL3\/SDL_stdinc.h 1505:24@
+--     [C declaration]: @SDL_free_func@, defined at @SDL3\/SDL_stdinc.h 1506:24@
 newtype SDL_free_func_Aux = SDL_free_func_Aux
   { unwrap :: BG.Ptr BG.Void -> IO ()
   }
@@ -1154,7 +1154,7 @@
 --
 --     [See also]: 'sDL_free', 'sDL_GetOriginalMemoryFunctions', 'sDL_GetMemoryFunctions', 'sDL_SetMemoryFunctions'
 --
---     [C declaration]: @SDL_free_func@, defined at @SDL3\/SDL_stdinc.h 1505:24@
+--     [C declaration]: @SDL_free_func@, defined at @SDL3\/SDL_stdinc.h 1506:24@
 newtype SDL_free_func = SDL_free_func
   { unwrap :: BG.FunPtr SDL_free_func_Aux
   }
@@ -1197,12 +1197,12 @@
 --
 --     [See also]: 'sDL_GetEnvironment', 'sDL_CreateEnvironment', 'sDL_GetEnvironmentVariable', 'sDL_GetEnvironmentVariables', 'sDL_SetEnvironmentVariable', 'sDL_UnsetEnvironmentVariable', 'sDL_DestroyEnvironment'
 --
---     [C declaration]: @struct SDL_Environment@, defined at @SDL3\/SDL_stdinc.h 1649:16@
+--     [C declaration]: @struct SDL_Environment@, defined at @SDL3\/SDL_stdinc.h 1650:16@
 data SDL_Environment
 
 -- | Auxiliary type used by 'SDL_CompareCallback'
 --
---     [C declaration]: @SDL_CompareCallback@, defined at @SDL3\/SDL_stdinc.h 1877:23@
+--     [C declaration]: @SDL_CompareCallback@, defined at @SDL3\/SDL_stdinc.h 1885:23@
 newtype SDL_CompareCallback_Aux = SDL_CompareCallback_Aux
   { unwrap :: PtrConst.PtrConst BG.Void -> PtrConst.PtrConst BG.Void -> IO BG.CInt
   }
@@ -1281,7 +1281,7 @@
 --
 --     [See also]: 'sDL_bsearch', 'sDL_qsort'
 --
---     [C declaration]: @SDL_CompareCallback@, defined at @SDL3\/SDL_stdinc.h 1877:23@
+--     [C declaration]: @SDL_CompareCallback@, defined at @SDL3\/SDL_stdinc.h 1885:23@
 newtype SDL_CompareCallback = SDL_CompareCallback
   { unwrap :: BG.FunPtr SDL_CompareCallback_Aux
   }
@@ -1320,7 +1320,7 @@
 
 -- | Auxiliary type used by 'SDL_CompareCallback_r'
 --
---     [C declaration]: @SDL_CompareCallback_r@, defined at @SDL3\/SDL_stdinc.h 1990:23@
+--     [C declaration]: @SDL_CompareCallback_r@, defined at @SDL3\/SDL_stdinc.h 1998:23@
 newtype SDL_CompareCallback_r_Aux = SDL_CompareCallback_r_Aux
   { unwrap :: BG.Ptr BG.Void -> PtrConst.PtrConst BG.Void -> PtrConst.PtrConst BG.Void -> IO BG.CInt
   }
@@ -1402,7 +1402,7 @@
 --
 --     [See also]: 'sDL_qsort_r', 'sDL_bsearch_r'
 --
---     [C declaration]: @SDL_CompareCallback_r@, defined at @SDL3\/SDL_stdinc.h 1990:23@
+--     [C declaration]: @SDL_CompareCallback_r@, defined at @SDL3\/SDL_stdinc.h 1998:23@
 newtype SDL_CompareCallback_r = SDL_CompareCallback_r
   { unwrap :: BG.FunPtr SDL_CompareCallback_r_Aux
   }
@@ -1449,7 +1449,7 @@
 --
 --     [See also]: 'sDL_StepBackUTF8', 'sDL_StepUTF8'
 --
---     [C declaration]: @macro SDL_INVALID_UNICODE_CODEPOINT@, defined at @SDL3\/SDL_stdinc.h 3977:9@
+--     [C declaration]: @macro SDL_INVALID_UNICODE_CODEPOINT@, defined at @SDL3\/SDL_stdinc.h 3985:9@
 sDL_INVALID_UNICODE_CODEPOINT :: BG.CInt
 sDL_INVALID_UNICODE_CODEPOINT = (65533 :: BG.CInt)
 
@@ -1459,7 +1459,7 @@
 --
 --     [See also]: 'sDL_PI_F' pi (double)
 --
---     [C declaration]: @macro SDL_PI_D@, defined at @SDL3\/SDL_stdinc.h 4472:9@
+--     [C declaration]: @macro SDL_PI_D@, defined at @SDL3\/SDL_stdinc.h 4480:9@
 sDL_PI_D :: BG.CDouble
 sDL_PI_D = (3.141592653589793 :: BG.CDouble)
 
@@ -1469,11 +1469,11 @@
 --
 --     [See also]: 'sDL_PI_D' pi (float)
 --
---     [C declaration]: @macro SDL_PI_F@, defined at @SDL3\/SDL_stdinc.h 4484:9@
+--     [C declaration]: @macro SDL_PI_F@, defined at @SDL3\/SDL_stdinc.h 4492:9@
 sDL_PI_F :: BG.CFloat
 sDL_PI_F = (3.1415927 :: BG.CFloat)
 
--- | [C declaration]: @struct SDL_iconv_data_t@, defined at @SDL3\/SDL_stdinc.h 5807:16@
+-- | [C declaration]: @struct SDL_iconv_data_t@, defined at @SDL3\/SDL_stdinc.h 5815:16@
 data SDL_iconv_data_t
 
 -- | An opaque handle representing string encoding conversion state.
@@ -1482,7 +1482,7 @@
 --
 --     [See also]: 'sDL_iconv_open'
 --
---     [C declaration]: @SDL_iconv_t@, defined at @SDL3\/SDL_stdinc.h 5807:34@
+--     [C declaration]: @SDL_iconv_t@, defined at @SDL3\/SDL_stdinc.h 5815:34@
 newtype SDL_iconv_t = SDL_iconv_t
   { unwrap :: BG.Ptr SDL_iconv_data_t
   }
@@ -1521,7 +1521,7 @@
 
 -- | Auxiliary type used by 'SDL_FunctionPointer'
 --
---     [C declaration]: @SDL_FunctionPointer@, defined at @SDL3\/SDL_stdinc.h 6169:16@
+--     [C declaration]: @SDL_FunctionPointer@, defined at @SDL3\/SDL_stdinc.h 6177:16@
 newtype SDL_FunctionPointer_Aux = SDL_FunctionPointer_Aux
   { unwrap :: IO ()
   }
@@ -1586,7 +1586,7 @@
 
   offset# = \_ -> \_ -> 0
 
--- | [C declaration]: @SDL_FunctionPointer@, defined at @SDL3\/SDL_stdinc.h 6169:16@
+-- | [C declaration]: @SDL_FunctionPointer@, defined at @SDL3\/SDL_stdinc.h 6177:16@
 newtype SDL_FunctionPointer = SDL_FunctionPointer
   { unwrap :: BG.FunPtr SDL_FunctionPointer_Aux
   }
diff --git a/src/SDL3/Sys/Bindgen/Stdinc/FunPtr.hs b/src/SDL3/Sys/Bindgen/Stdinc/FunPtr.hs
--- a/src/SDL3/Sys/Bindgen/Stdinc/FunPtr.hs
+++ b/src/SDL3/Sys/Bindgen/Stdinc/FunPtr.hs
@@ -1515,7 +1515,7 @@
 --
 --     [See also]: 'sDL_free', SDL_calloc, SDL_realloc, 'sDL_aligned_alloc'
 --
---     [C declaration]: @SDL_malloc@, defined at @SDL3\/SDL_stdinc.h 1341:47@
+--     [C declaration]: @SDL_malloc@, defined at @SDL3\/SDL_stdinc.h 1342:47@
 sDL_malloc :: BG.FunPtr (HsBindgen.Runtime.LibC.CSize -> IO (BG.Ptr BG.Void))
 sDL_malloc =
   BG.unsafePerformIO hs_bindgen_9722441ea82cf670
@@ -1533,7 +1533,7 @@
 
 {-# NOINLINE sDL_calloc #-}
 
--- | [C declaration]: @SDL_calloc@, defined at @SDL3\/SDL_stdinc.h 1366:69@
+-- | [C declaration]: @SDL_calloc@, defined at @SDL3\/SDL_stdinc.h 1367:69@
 sDL_calloc
   :: BG.FunPtr (HsBindgen.Runtime.LibC.CSize -> HsBindgen.Runtime.LibC.CSize -> IO (BG.Ptr BG.Void))
 sDL_calloc =
@@ -1552,7 +1552,7 @@
 
 {-# NOINLINE sDL_realloc #-}
 
--- | [C declaration]: @SDL_realloc@, defined at @SDL3\/SDL_stdinc.h 1406:54@
+-- | [C declaration]: @SDL_realloc@, defined at @SDL3\/SDL_stdinc.h 1407:54@
 sDL_realloc :: BG.FunPtr (BG.Ptr BG.Void -> HsBindgen.Runtime.LibC.CSize -> IO (BG.Ptr BG.Void))
 sDL_realloc =
   BG.unsafePerformIO hs_bindgen_bbae567861825a2b
@@ -1583,7 +1583,7 @@
 --
 --     [See also]: 'sDL_malloc', SDL_calloc, SDL_realloc
 --
---     [C declaration]: @SDL_free@, defined at @SDL3\/SDL_stdinc.h 1426:34@
+--     [C declaration]: @SDL_free@, defined at @SDL3\/SDL_stdinc.h 1427:34@
 sDL_free :: BG.FunPtr (BG.Ptr BG.Void -> IO ())
 sDL_free =
   BG.unsafePerformIO hs_bindgen_0f3dfcf2ab9d228a
@@ -1625,7 +1625,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetOriginalMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1524:34@
+--     [C declaration]: @SDL_GetOriginalMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1525:34@
 sDL_GetOriginalMemoryFunctions
   :: BG.FunPtr
        ( BG.Ptr SDL_malloc_func
@@ -1674,7 +1674,7 @@
 --
 --     [See also]: 'sDL_SetMemoryFunctions', 'sDL_GetOriginalMemoryFunctions'
 --
---     [C declaration]: @SDL_GetMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1546:34@
+--     [C declaration]: @SDL_GetMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1547:34@
 sDL_GetMemoryFunctions
   :: BG.FunPtr
        ( BG.Ptr SDL_malloc_func
@@ -1722,7 +1722,7 @@
 --
 --     [See also]: 'sDL_GetMemoryFunctions', 'sDL_GetOriginalMemoryFunctions'
 --
---     [C declaration]: @SDL_SetMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1577:34@
+--     [C declaration]: @SDL_SetMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1578:34@
 sDL_SetMemoryFunctions
   :: BG.FunPtr (SDL_malloc_func -> SDL_calloc_func -> SDL_realloc_func -> SDL_free_func -> IO BG.CBool)
 sDL_SetMemoryFunctions =
@@ -1761,7 +1761,7 @@
 --
 --     [See also]: 'sDL_aligned_free'
 --
---     [C declaration]: @SDL_aligned_alloc@, defined at @SDL3\/SDL_stdinc.h 1604:47@
+--     [C declaration]: @SDL_aligned_alloc@, defined at @SDL3\/SDL_stdinc.h 1605:47@
 sDL_aligned_alloc
   :: BG.FunPtr (HsBindgen.Runtime.LibC.CSize -> HsBindgen.Runtime.LibC.CSize -> IO (BG.Ptr BG.Void))
 sDL_aligned_alloc =
@@ -1793,7 +1793,7 @@
 --
 --     [See also]: 'sDL_aligned_alloc'
 --
---     [C declaration]: @SDL_aligned_free@, defined at @SDL3\/SDL_stdinc.h 1622:34@
+--     [C declaration]: @SDL_aligned_free@, defined at @SDL3\/SDL_stdinc.h 1623:34@
 sDL_aligned_free :: BG.FunPtr (BG.Ptr BG.Void -> IO ())
 sDL_aligned_free =
   BG.unsafePerformIO hs_bindgen_dd6b53bc3c6f96ea
@@ -1818,7 +1818,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetNumAllocations@, defined at @SDL3\/SDL_stdinc.h 1634:33@
+--     [C declaration]: @SDL_GetNumAllocations@, defined at @SDL3\/SDL_stdinc.h 1635:33@
 sDL_GetNumAllocations :: BG.FunPtr (IO BG.CInt)
 sDL_GetNumAllocations =
   BG.unsafePerformIO hs_bindgen_fe81cad123788733
@@ -1847,7 +1847,7 @@
 --
 --     [See also]: 'sDL_GetEnvironmentVariable', 'sDL_GetEnvironmentVariables', 'sDL_SetEnvironmentVariable', 'sDL_UnsetEnvironmentVariable'
 --
---     [C declaration]: @SDL_GetEnvironment@, defined at @SDL3\/SDL_stdinc.h 1672:47@
+--     [C declaration]: @SDL_GetEnvironment@, defined at @SDL3\/SDL_stdinc.h 1673:47@
 sDL_GetEnvironment :: BG.FunPtr (IO (BG.Ptr SDL_Environment))
 sDL_GetEnvironment =
   BG.unsafePerformIO hs_bindgen_9a656c04aab82f9e
@@ -1876,7 +1876,7 @@
 --
 --     [See also]: 'sDL_GetEnvironmentVariable', 'sDL_GetEnvironmentVariables', 'sDL_SetEnvironmentVariable', 'sDL_UnsetEnvironmentVariable', 'sDL_DestroyEnvironment'
 --
---     [C declaration]: @SDL_CreateEnvironment@, defined at @SDL3\/SDL_stdinc.h 1694:47@
+--     [C declaration]: @SDL_CreateEnvironment@, defined at @SDL3\/SDL_stdinc.h 1695:47@
 sDL_CreateEnvironment :: BG.FunPtr (BG.CBool -> IO (BG.Ptr SDL_Environment))
 sDL_CreateEnvironment =
   BG.unsafePerformIO hs_bindgen_c0820759e235b8e4
@@ -1909,7 +1909,7 @@
 --
 --     [See also]: 'sDL_GetEnvironment', 'sDL_CreateEnvironment', 'sDL_GetEnvironmentVariables', 'sDL_SetEnvironmentVariable', 'sDL_UnsetEnvironmentVariable'
 --
---     [C declaration]: @SDL_GetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1714:42@
+--     [C declaration]: @SDL_GetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1715:42@
 sDL_GetEnvironmentVariable
   :: BG.FunPtr (BG.Ptr SDL_Environment -> PtrConst.PtrConst BG.CChar -> IO (PtrConst.PtrConst BG.CChar))
 sDL_GetEnvironmentVariable =
@@ -1940,7 +1940,7 @@
 --
 --     [See also]: 'sDL_GetEnvironment', 'sDL_CreateEnvironment', 'sDL_GetEnvironmentVariables', 'sDL_SetEnvironmentVariable', 'sDL_UnsetEnvironmentVariable'
 --
---     [C declaration]: @SDL_GetEnvironmentVariables@, defined at @SDL3\/SDL_stdinc.h 1735:37@
+--     [C declaration]: @SDL_GetEnvironmentVariables@, defined at @SDL3\/SDL_stdinc.h 1736:37@
 sDL_GetEnvironmentVariables :: BG.FunPtr (BG.Ptr SDL_Environment -> IO (BG.Ptr (BG.Ptr BG.CChar)))
 sDL_GetEnvironmentVariables =
   BG.unsafePerformIO hs_bindgen_9fb7038d3656b96c
@@ -1984,7 +1984,7 @@
 --
 --     [See also]: 'sDL_GetEnvironment', 'sDL_CreateEnvironment', 'sDL_GetEnvironmentVariable', 'sDL_GetEnvironmentVariables', 'sDL_UnsetEnvironmentVariable'
 --
---     [C declaration]: @SDL_SetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1759:34@
+--     [C declaration]: @SDL_SetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1760:34@
 sDL_SetEnvironmentVariable
   :: BG.FunPtr
        ( BG.Ptr SDL_Environment
@@ -2023,7 +2023,7 @@
 --
 --     [See also]: 'sDL_GetEnvironment', 'sDL_CreateEnvironment', 'sDL_GetEnvironmentVariable', 'sDL_GetEnvironmentVariables', 'sDL_SetEnvironmentVariable', 'sDL_UnsetEnvironmentVariable'
 --
---     [C declaration]: @SDL_UnsetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1780:34@
+--     [C declaration]: @SDL_UnsetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1781:34@
 sDL_UnsetEnvironmentVariable
   :: BG.FunPtr (BG.Ptr SDL_Environment -> PtrConst.PtrConst BG.CChar -> IO BG.CBool)
 sDL_UnsetEnvironmentVariable =
@@ -2051,7 +2051,7 @@
 --
 --     [See also]: 'sDL_CreateEnvironment'
 --
---     [C declaration]: @SDL_DestroyEnvironment@, defined at @SDL3\/SDL_stdinc.h 1794:34@
+--     [C declaration]: @SDL_DestroyEnvironment@, defined at @SDL3\/SDL_stdinc.h 1795:34@
 sDL_DestroyEnvironment :: BG.FunPtr (BG.Ptr SDL_Environment -> IO ())
 sDL_DestroyEnvironment =
   BG.unsafePerformIO hs_bindgen_e750bb904f747388
@@ -2071,6 +2071,8 @@
 
 -- | Get the value of a variable in the environment.
 --
+--     The name of the variable is case sensitive on all platforms.
+--
 --     This function uses SDL\'s cached copy of the environment and is thread-safe.
 --
 --     [@name@]: the name of the variable to get.
@@ -2081,7 +2083,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_getenv@, defined at @SDL3\/SDL_stdinc.h 1809:42@
+--     [C declaration]: @SDL_getenv@, defined at @SDL3\/SDL_stdinc.h 1812:42@
 sDL_getenv :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> IO (PtrConst.PtrConst BG.CChar))
 sDL_getenv =
   BG.unsafePerformIO hs_bindgen_b563cf6799d5c876
@@ -2103,6 +2105,8 @@
 --
 --     This function bypasses SDL\'s cached copy of the environment and is not thread-safe.
 --
+--     On some platforms, this may make case-insensitive matches, while other platforms are case-sensitive. It is best to be precise with strings used for queries through this interface. SDL_getenv is always case-sensitive, however.
+--
 --     [@name@]: the name of the variable to get.
 --
 --     [Returns]: a pointer to the value of the variable or NULL if it can\'t be found.
@@ -2113,7 +2117,7 @@
 --
 --     [See also]: 'sDL_getenv'
 --
---     [C declaration]: @SDL_getenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1828:42@
+--     [C declaration]: @SDL_getenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1836:42@
 sDL_getenv_unsafe :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> IO (PtrConst.PtrConst BG.CChar))
 sDL_getenv_unsafe =
   BG.unsafePerformIO hs_bindgen_e6077a375be5ae63
@@ -2147,7 +2151,7 @@
 --
 --     [See also]: 'sDL_SetEnvironmentVariable'
 --
---     [C declaration]: @SDL_setenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1846:33@
+--     [C declaration]: @SDL_setenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1854:33@
 sDL_setenv_unsafe
   :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> PtrConst.PtrConst BG.CChar -> BG.CInt -> IO BG.CInt)
 sDL_setenv_unsafe =
@@ -2177,7 +2181,7 @@
 --
 --     [See also]: 'sDL_UnsetEnvironmentVariable'
 --
---     [C declaration]: @SDL_unsetenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1861:33@
+--     [C declaration]: @SDL_unsetenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1869:33@
 sDL_unsetenv_unsafe :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> IO BG.CInt)
 sDL_unsetenv_unsafe =
   BG.unsafePerformIO hs_bindgen_519fb9e8ee876013
@@ -2248,7 +2252,7 @@
 --
 --     [See also]: 'sDL_bsearch', 'sDL_qsort_r'
 --
---     [C declaration]: @SDL_qsort@, defined at @SDL3\/SDL_stdinc.h 1923:34@
+--     [C declaration]: @SDL_qsort@, defined at @SDL3\/SDL_stdinc.h 1931:34@
 sDL_qsort
   :: BG.FunPtr
        ( BG.Ptr BG.Void
@@ -2332,7 +2336,7 @@
 --
 --     [See also]: 'sDL_bsearch_r', 'sDL_qsort'
 --
---     [C declaration]: @SDL_bsearch@, defined at @SDL3\/SDL_stdinc.h 1973:36@
+--     [C declaration]: @SDL_bsearch@, defined at @SDL3\/SDL_stdinc.h 1981:36@
 sDL_bsearch
   :: BG.FunPtr
        ( PtrConst.PtrConst BG.Void
@@ -2420,7 +2424,7 @@
 --
 --     [See also]: 'sDL_bsearch_r', 'sDL_qsort'
 --
---     [C declaration]: @SDL_qsort_r@, defined at @SDL3\/SDL_stdinc.h 2043:34@
+--     [C declaration]: @SDL_qsort_r@, defined at @SDL3\/SDL_stdinc.h 2051:34@
 sDL_qsort_r
   :: BG.FunPtr
        ( BG.Ptr BG.Void
@@ -2514,7 +2518,7 @@
 --
 --     [See also]: 'sDL_bsearch', 'sDL_qsort_r'
 --
---     [C declaration]: @SDL_bsearch_r@, defined at @SDL3\/SDL_stdinc.h 2101:36@
+--     [C declaration]: @SDL_bsearch_r@, defined at @SDL3\/SDL_stdinc.h 2109:36@
 sDL_bsearch_r
   :: BG.FunPtr
        ( PtrConst.PtrConst BG.Void
@@ -2550,7 +2554,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_abs@, defined at @SDL3\/SDL_stdinc.h 2113:33@
+--     [C declaration]: @SDL_abs@, defined at @SDL3\/SDL_stdinc.h 2121:33@
 sDL_abs :: BG.FunPtr (BG.CInt -> IO BG.CInt)
 sDL_abs =
   BG.unsafePerformIO hs_bindgen_955d92475ad359d8
@@ -2579,7 +2583,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isalpha@, defined at @SDL3\/SDL_stdinc.h 2188:33@
+--     [C declaration]: @SDL_isalpha@, defined at @SDL3\/SDL_stdinc.h 2196:33@
 sDL_isalpha :: BG.FunPtr (BG.CInt -> IO BG.CInt)
 sDL_isalpha =
   BG.unsafePerformIO hs_bindgen_8e8018b5d5d8d98f
@@ -2608,7 +2612,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isalnum@, defined at @SDL3\/SDL_stdinc.h 2203:33@
+--     [C declaration]: @SDL_isalnum@, defined at @SDL3\/SDL_stdinc.h 2211:33@
 sDL_isalnum :: BG.FunPtr (BG.CInt -> IO BG.CInt)
 sDL_isalnum =
   BG.unsafePerformIO hs_bindgen_a52d45d106787b27
@@ -2637,7 +2641,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isblank@, defined at @SDL3\/SDL_stdinc.h 2218:33@
+--     [C declaration]: @SDL_isblank@, defined at @SDL3\/SDL_stdinc.h 2226:33@
 sDL_isblank :: BG.FunPtr (BG.CInt -> IO BG.CInt)
 sDL_isblank =
   BG.unsafePerformIO hs_bindgen_0c075721ec100ff5
@@ -2666,7 +2670,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_iscntrl@, defined at @SDL3\/SDL_stdinc.h 2233:33@
+--     [C declaration]: @SDL_iscntrl@, defined at @SDL3\/SDL_stdinc.h 2241:33@
 sDL_iscntrl :: BG.FunPtr (BG.CInt -> IO BG.CInt)
 sDL_iscntrl =
   BG.unsafePerformIO hs_bindgen_de902558496e469f
@@ -2695,7 +2699,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isdigit@, defined at @SDL3\/SDL_stdinc.h 2248:33@
+--     [C declaration]: @SDL_isdigit@, defined at @SDL3\/SDL_stdinc.h 2256:33@
 sDL_isdigit :: BG.FunPtr (BG.CInt -> IO BG.CInt)
 sDL_isdigit =
   BG.unsafePerformIO hs_bindgen_61af141b860ceb41
@@ -2724,7 +2728,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isxdigit@, defined at @SDL3\/SDL_stdinc.h 2263:33@
+--     [C declaration]: @SDL_isxdigit@, defined at @SDL3\/SDL_stdinc.h 2271:33@
 sDL_isxdigit :: BG.FunPtr (BG.CInt -> IO BG.CInt)
 sDL_isxdigit =
   BG.unsafePerformIO hs_bindgen_c17beb32f0f1fd52
@@ -2755,7 +2759,7 @@
 --
 --     [See also]: 'sDL_isgraph', 'sDL_isalnum'
 --
---     [C declaration]: @SDL_ispunct@, defined at @SDL3\/SDL_stdinc.h 2281:33@
+--     [C declaration]: @SDL_ispunct@, defined at @SDL3\/SDL_stdinc.h 2289:33@
 sDL_ispunct :: BG.FunPtr (BG.CInt -> IO BG.CInt)
 sDL_ispunct =
   BG.unsafePerformIO hs_bindgen_a88a9667ca4e8aa7
@@ -2796,7 +2800,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isspace@, defined at @SDL3\/SDL_stdinc.h 2303:33@
+--     [C declaration]: @SDL_isspace@, defined at @SDL3\/SDL_stdinc.h 2311:33@
 sDL_isspace :: BG.FunPtr (BG.CInt -> IO BG.CInt)
 sDL_isspace =
   BG.unsafePerformIO hs_bindgen_02457e0c40d5e057
@@ -2825,7 +2829,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isupper@, defined at @SDL3\/SDL_stdinc.h 2318:33@
+--     [C declaration]: @SDL_isupper@, defined at @SDL3\/SDL_stdinc.h 2326:33@
 sDL_isupper :: BG.FunPtr (BG.CInt -> IO BG.CInt)
 sDL_isupper =
   BG.unsafePerformIO hs_bindgen_0f55cc5ba611a3f2
@@ -2854,7 +2858,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_islower@, defined at @SDL3\/SDL_stdinc.h 2333:33@
+--     [C declaration]: @SDL_islower@, defined at @SDL3\/SDL_stdinc.h 2341:33@
 sDL_islower :: BG.FunPtr (BG.CInt -> IO BG.CInt)
 sDL_islower =
   BG.unsafePerformIO hs_bindgen_f681ed21a8e1349a
@@ -2885,7 +2889,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isprint@, defined at @SDL3\/SDL_stdinc.h 2352:33@
+--     [C declaration]: @SDL_isprint@, defined at @SDL3\/SDL_stdinc.h 2360:33@
 sDL_isprint :: BG.FunPtr (BG.CInt -> IO BG.CInt)
 sDL_isprint =
   BG.unsafePerformIO hs_bindgen_991fe49732021ccb
@@ -2918,7 +2922,7 @@
 --
 --     [See also]: 'sDL_isprint'
 --
---     [C declaration]: @SDL_isgraph@, defined at @SDL3\/SDL_stdinc.h 2373:33@
+--     [C declaration]: @SDL_isgraph@, defined at @SDL3\/SDL_stdinc.h 2381:33@
 sDL_isgraph :: BG.FunPtr (BG.CInt -> IO BG.CInt)
 sDL_isgraph =
   BG.unsafePerformIO hs_bindgen_192487d885c8ab5a
@@ -2949,7 +2953,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_toupper@, defined at @SDL3\/SDL_stdinc.h 2391:33@
+--     [C declaration]: @SDL_toupper@, defined at @SDL3\/SDL_stdinc.h 2399:33@
 sDL_toupper :: BG.FunPtr (BG.CInt -> IO BG.CInt)
 sDL_toupper =
   BG.unsafePerformIO hs_bindgen_ffb5de4d18c52c67
@@ -2980,7 +2984,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_tolower@, defined at @SDL3\/SDL_stdinc.h 2409:33@
+--     [C declaration]: @SDL_tolower@, defined at @SDL3\/SDL_stdinc.h 2417:33@
 sDL_tolower :: BG.FunPtr (BG.CInt -> IO BG.CInt)
 sDL_tolower =
   BG.unsafePerformIO hs_bindgen_9f7c4f835baa2ffa
@@ -3016,7 +3020,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_crc16@, defined at @SDL3\/SDL_stdinc.h 2430:36@
+--     [C declaration]: @SDL_crc16@, defined at @SDL3\/SDL_stdinc.h 2438:36@
 sDL_crc16
   :: BG.FunPtr (Uint16 -> PtrConst.PtrConst BG.Void -> HsBindgen.Runtime.LibC.CSize -> IO Uint16)
 sDL_crc16 =
@@ -3053,7 +3057,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_crc32@, defined at @SDL3\/SDL_stdinc.h 2451:36@
+--     [C declaration]: @SDL_crc32@, defined at @SDL3\/SDL_stdinc.h 2459:36@
 sDL_crc32
   :: BG.FunPtr (Uint32 -> PtrConst.PtrConst BG.Void -> HsBindgen.Runtime.LibC.CSize -> IO Uint32)
 sDL_crc32 =
@@ -3092,7 +3096,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_murmur3_32@, defined at @SDL3\/SDL_stdinc.h 2477:36@
+--     [C declaration]: @SDL_murmur3_32@, defined at @SDL3\/SDL_stdinc.h 2485:36@
 sDL_murmur3_32
   :: BG.FunPtr (PtrConst.PtrConst BG.Void -> HsBindgen.Runtime.LibC.CSize -> Uint32 -> IO Uint32)
 sDL_murmur3_32 =
@@ -3129,7 +3133,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_memset4@, defined at @SDL3\/SDL_stdinc.h 2601:36@
+--     [C declaration]: @SDL_memset4@, defined at @SDL3\/SDL_stdinc.h 2609:36@
 sDL_memset4
   :: BG.FunPtr (BG.Ptr BG.Void -> Uint32 -> HsBindgen.Runtime.LibC.CSize -> IO (BG.Ptr BG.Void))
 sDL_memset4 =
@@ -3165,7 +3169,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_memcmp@, defined at @SDL3\/SDL_stdinc.h 2683:33@
+--     [C declaration]: @SDL_memcmp@, defined at @SDL3\/SDL_stdinc.h 2691:33@
 sDL_memcmp
   :: BG.FunPtr
        (PtrConst.PtrConst BG.Void -> PtrConst.PtrConst BG.Void -> HsBindgen.Runtime.LibC.CSize -> IO BG.CInt)
@@ -3203,7 +3207,7 @@
 --
 --     [See also]: 'sDL_wcsnlen', 'sDL_utf8strlen', 'sDL_utf8strnlen'
 --
---     [C declaration]: @SDL_wcslen@, defined at @SDL3\/SDL_stdinc.h 2710:36@
+--     [C declaration]: @SDL_wcslen@, defined at @SDL3\/SDL_stdinc.h 2718:36@
 sDL_wcslen
   :: BG.FunPtr (PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar -> IO HsBindgen.Runtime.LibC.CSize)
 sDL_wcslen =
@@ -3250,7 +3254,7 @@
 --
 --     [See also]: 'sDL_wcslen', 'sDL_utf8strlen', 'sDL_utf8strnlen'
 --
---     [C declaration]: @SDL_wcsnlen@, defined at @SDL3\/SDL_stdinc.h 2741:36@
+--     [C declaration]: @SDL_wcsnlen@, defined at @SDL3\/SDL_stdinc.h 2749:36@
 sDL_wcsnlen
   :: BG.FunPtr
        ( PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
@@ -3302,7 +3306,7 @@
 --
 --     [See also]: 'sDL_wcslcat'
 --
---     [C declaration]: @SDL_wcslcpy@, defined at @SDL3\/SDL_stdinc.h 2768:36@
+--     [C declaration]: @SDL_wcslcpy@, defined at @SDL3\/SDL_stdinc.h 2776:36@
 sDL_wcslcpy
   :: BG.FunPtr
        ( BG.Ptr HsBindgen.Runtime.LibC.CWchar
@@ -3355,7 +3359,7 @@
 --
 --     [See also]: 'sDL_wcslcpy'
 --
---     [C declaration]: @SDL_wcslcat@, defined at @SDL3\/SDL_stdinc.h 2797:36@
+--     [C declaration]: @SDL_wcslcat@, defined at @SDL3\/SDL_stdinc.h 2805:36@
 sDL_wcslcat
   :: BG.FunPtr
        ( BG.Ptr HsBindgen.Runtime.LibC.CWchar
@@ -3396,7 +3400,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_wcsdup@, defined at @SDL3\/SDL_stdinc.h 2815:39@
+--     [C declaration]: @SDL_wcsdup@, defined at @SDL3\/SDL_stdinc.h 2823:39@
 sDL_wcsdup
   :: BG.FunPtr
        (PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar -> IO (BG.Ptr HsBindgen.Runtime.LibC.CWchar))
@@ -3438,7 +3442,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_wcsstr@, defined at @SDL3\/SDL_stdinc.h 2835:39@
+--     [C declaration]: @SDL_wcsstr@, defined at @SDL3\/SDL_stdinc.h 2843:39@
 sDL_wcsstr
   :: BG.FunPtr
        ( PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
@@ -3486,7 +3490,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_wcsnstr@, defined at @SDL3\/SDL_stdinc.h 2860:39@
+--     [C declaration]: @SDL_wcsnstr@, defined at @SDL3\/SDL_stdinc.h 2868:39@
 sDL_wcsnstr
   :: BG.FunPtr
        ( PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
@@ -3530,7 +3534,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_wcscmp@, defined at @SDL3\/SDL_stdinc.h 2879:33@
+--     [C declaration]: @SDL_wcscmp@, defined at @SDL3\/SDL_stdinc.h 2887:33@
 sDL_wcscmp
   :: BG.FunPtr
        ( PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
@@ -3580,7 +3584,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_wcsncmp@, defined at @SDL3\/SDL_stdinc.h 2910:33@
+--     [C declaration]: @SDL_wcsncmp@, defined at @SDL3\/SDL_stdinc.h 2918:33@
 sDL_wcsncmp
   :: BG.FunPtr
        ( PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
@@ -3626,7 +3630,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_wcscasecmp@, defined at @SDL3\/SDL_stdinc.h 2940:33@
+--     [C declaration]: @SDL_wcscasecmp@, defined at @SDL3\/SDL_stdinc.h 2948:33@
 sDL_wcscasecmp
   :: BG.FunPtr
        ( PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
@@ -3678,7 +3682,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_wcsncasecmp@, defined at @SDL3\/SDL_stdinc.h 2982:33@
+--     [C declaration]: @SDL_wcsncasecmp@, defined at @SDL3\/SDL_stdinc.h 2990:33@
 sDL_wcsncasecmp
   :: BG.FunPtr
        ( PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
@@ -3718,7 +3722,7 @@
 --
 --     [See also]: 'sDL_strnlen', 'sDL_utf8strlen', 'sDL_utf8strnlen'
 --
---     [C declaration]: @SDL_strlen@, defined at @SDL3\/SDL_stdinc.h 3029:36@
+--     [C declaration]: @SDL_strlen@, defined at @SDL3\/SDL_stdinc.h 3037:36@
 sDL_strlen :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> IO HsBindgen.Runtime.LibC.CSize)
 sDL_strlen =
   BG.unsafePerformIO hs_bindgen_7f2511e625836c60
@@ -3757,7 +3761,7 @@
 --
 --     [See also]: 'sDL_strlen', 'sDL_utf8strlen', 'sDL_utf8strnlen'
 --
---     [C declaration]: @SDL_strnlen@, defined at @SDL3\/SDL_stdinc.h 3053:36@
+--     [C declaration]: @SDL_strnlen@, defined at @SDL3\/SDL_stdinc.h 3061:36@
 sDL_strnlen
   :: BG.FunPtr
        (PtrConst.PtrConst BG.CChar -> HsBindgen.Runtime.LibC.CSize -> IO HsBindgen.Runtime.LibC.CSize)
@@ -3806,7 +3810,7 @@
 --
 --     [See also]: 'sDL_strlcat', 'sDL_utf8strlcpy'
 --
---     [C declaration]: @SDL_strlcpy@, defined at @SDL3\/SDL_stdinc.h 3082:36@
+--     [C declaration]: @SDL_strlcpy@, defined at @SDL3\/SDL_stdinc.h 3090:36@
 sDL_strlcpy
   :: BG.FunPtr
        ( BG.Ptr BG.CChar
@@ -3859,7 +3863,7 @@
 --
 --     [See also]: 'sDL_strlcpy'
 --
---     [C declaration]: @SDL_utf8strlcpy@, defined at @SDL3\/SDL_stdinc.h 3110:36@
+--     [C declaration]: @SDL_utf8strlcpy@, defined at @SDL3\/SDL_stdinc.h 3118:36@
 sDL_utf8strlcpy
   :: BG.FunPtr
        ( BG.Ptr BG.CChar
@@ -3912,7 +3916,7 @@
 --
 --     [See also]: 'sDL_strlcpy'
 --
---     [C declaration]: @SDL_strlcat@, defined at @SDL3\/SDL_stdinc.h 3138:36@
+--     [C declaration]: @SDL_strlcat@, defined at @SDL3\/SDL_stdinc.h 3146:36@
 sDL_strlcat
   :: BG.FunPtr
        ( BG.Ptr BG.CChar
@@ -3949,7 +3953,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strdup@, defined at @SDL3\/SDL_stdinc.h 3156:47@
+--     [C declaration]: @SDL_strdup@, defined at @SDL3\/SDL_stdinc.h 3164:47@
 sDL_strdup :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> IO (BG.Ptr BG.CChar))
 sDL_strdup =
   BG.unsafePerformIO hs_bindgen_71b06acdd2d314be
@@ -3985,7 +3989,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strndup@, defined at @SDL3\/SDL_stdinc.h 3181:47@
+--     [C declaration]: @SDL_strndup@, defined at @SDL3\/SDL_stdinc.h 3189:47@
 sDL_strndup
   :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> HsBindgen.Runtime.LibC.CSize -> IO (BG.Ptr BG.CChar))
 sDL_strndup =
@@ -4017,7 +4021,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strrev@, defined at @SDL3\/SDL_stdinc.h 3202:36@
+--     [C declaration]: @SDL_strrev@, defined at @SDL3\/SDL_stdinc.h 3210:36@
 sDL_strrev :: BG.FunPtr (BG.Ptr BG.CChar -> IO (BG.Ptr BG.CChar))
 sDL_strrev =
   BG.unsafePerformIO hs_bindgen_ffc5b79b6b976433
@@ -4050,7 +4054,7 @@
 --
 --     [See also]: 'sDL_strlwr'
 --
---     [C declaration]: @SDL_strupr@, defined at @SDL3\/SDL_stdinc.h 3223:36@
+--     [C declaration]: @SDL_strupr@, defined at @SDL3\/SDL_stdinc.h 3231:36@
 sDL_strupr :: BG.FunPtr (BG.Ptr BG.CChar -> IO (BG.Ptr BG.CChar))
 sDL_strupr =
   BG.unsafePerformIO hs_bindgen_ca97edf7bfcb6705
@@ -4083,7 +4087,7 @@
 --
 --     [See also]: 'sDL_strupr'
 --
---     [C declaration]: @SDL_strlwr@, defined at @SDL3\/SDL_stdinc.h 3244:36@
+--     [C declaration]: @SDL_strlwr@, defined at @SDL3\/SDL_stdinc.h 3252:36@
 sDL_strlwr :: BG.FunPtr (BG.Ptr BG.CChar -> IO (BG.Ptr BG.CChar))
 sDL_strlwr =
   BG.unsafePerformIO hs_bindgen_d78a5116cc6d3f71
@@ -4117,7 +4121,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strchr@, defined at @SDL3\/SDL_stdinc.h 3264:36@
+--     [C declaration]: @SDL_strchr@, defined at @SDL3\/SDL_stdinc.h 3272:36@
 sDL_strchr :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> BG.CInt -> IO (BG.Ptr BG.CChar))
 sDL_strchr =
   BG.unsafePerformIO hs_bindgen_6ce9f7bacdf27653
@@ -4151,7 +4155,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strrchr@, defined at @SDL3\/SDL_stdinc.h 3283:36@
+--     [C declaration]: @SDL_strrchr@, defined at @SDL3\/SDL_stdinc.h 3291:36@
 sDL_strrchr :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> BG.CInt -> IO (BG.Ptr BG.CChar))
 sDL_strrchr =
   BG.unsafePerformIO hs_bindgen_d2538022eb73bf53
@@ -4185,7 +4189,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strstr@, defined at @SDL3\/SDL_stdinc.h 3303:36@
+--     [C declaration]: @SDL_strstr@, defined at @SDL3\/SDL_stdinc.h 3311:36@
 sDL_strstr
   :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> PtrConst.PtrConst BG.CChar -> IO (BG.Ptr BG.CChar))
 sDL_strstr =
@@ -4229,7 +4233,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strnstr@, defined at @SDL3\/SDL_stdinc.h 3326:36@
+--     [C declaration]: @SDL_strnstr@, defined at @SDL3\/SDL_stdinc.h 3334:36@
 sDL_strnstr
   :: BG.FunPtr
        ( PtrConst.PtrConst BG.CChar
@@ -4269,7 +4273,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strcasestr@, defined at @SDL3\/SDL_stdinc.h 3354:36@
+--     [C declaration]: @SDL_strcasestr@, defined at @SDL3\/SDL_stdinc.h 3362:36@
 sDL_strcasestr
   :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> PtrConst.PtrConst BG.CChar -> IO (BG.Ptr BG.CChar))
 sDL_strcasestr =
@@ -4313,7 +4317,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strtok_r@, defined at @SDL3\/SDL_stdinc.h 3383:36@
+--     [C declaration]: @SDL_strtok_r@, defined at @SDL3\/SDL_stdinc.h 3391:36@
 sDL_strtok_r
   :: BG.FunPtr
        (BG.Ptr BG.CChar -> PtrConst.PtrConst BG.CChar -> BG.Ptr (BG.Ptr BG.CChar) -> IO (BG.Ptr BG.CChar))
@@ -4351,7 +4355,7 @@
 --
 --     [See also]: 'sDL_utf8strnlen', 'sDL_strlen'
 --
---     [C declaration]: @SDL_utf8strlen@, defined at @SDL3\/SDL_stdinc.h 3411:36@
+--     [C declaration]: @SDL_utf8strlen@, defined at @SDL3\/SDL_stdinc.h 3419:36@
 sDL_utf8strlen :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> IO HsBindgen.Runtime.LibC.CSize)
 sDL_utf8strlen =
   BG.unsafePerformIO hs_bindgen_fdd33f5a5e9573d8
@@ -4394,7 +4398,7 @@
 --
 --     [See also]: 'sDL_utf8strlen', 'sDL_strnlen'
 --
---     [C declaration]: @SDL_utf8strnlen@, defined at @SDL3\/SDL_stdinc.h 3444:36@
+--     [C declaration]: @SDL_utf8strnlen@, defined at @SDL3\/SDL_stdinc.h 3452:36@
 sDL_utf8strnlen
   :: BG.FunPtr
        (PtrConst.PtrConst BG.CChar -> HsBindgen.Runtime.LibC.CSize -> IO HsBindgen.Runtime.LibC.CSize)
@@ -4434,7 +4438,7 @@
 --
 --     [See also]: 'sDL_uitoa', @SDL_ltoa@, 'sDL_lltoa'
 --
---     [C declaration]: @SDL_itoa@, defined at @SDL3\/SDL_stdinc.h 3472:36@
+--     [C declaration]: @SDL_itoa@, defined at @SDL3\/SDL_stdinc.h 3480:36@
 sDL_itoa :: BG.FunPtr (BG.CInt -> BG.Ptr BG.CChar -> BG.CInt -> IO (BG.Ptr BG.CChar))
 sDL_itoa =
   BG.unsafePerformIO hs_bindgen_4cfc9a356cf1014c
@@ -4472,7 +4476,7 @@
 --
 --     [See also]: 'sDL_itoa', @SDL_ultoa@, 'sDL_ulltoa'
 --
---     [C declaration]: @SDL_uitoa@, defined at @SDL3\/SDL_stdinc.h 3500:36@
+--     [C declaration]: @SDL_uitoa@, defined at @SDL3\/SDL_stdinc.h 3508:36@
 sDL_uitoa :: BG.FunPtr (BG.CUInt -> BG.Ptr BG.CChar -> BG.CInt -> IO (BG.Ptr BG.CChar))
 sDL_uitoa =
   BG.unsafePerformIO hs_bindgen_e052861370ec1ea4
@@ -4510,7 +4514,7 @@
 --
 --     [See also]: 'sDL_ulltoa', 'sDL_itoa', @SDL_ltoa@
 --
---     [C declaration]: @SDL_lltoa@, defined at @SDL3\/SDL_stdinc.h 3586:36@
+--     [C declaration]: @SDL_lltoa@, defined at @SDL3\/SDL_stdinc.h 3594:36@
 sDL_lltoa :: BG.FunPtr (BG.CLLong -> BG.Ptr BG.CChar -> BG.CInt -> IO (BG.Ptr BG.CChar))
 sDL_lltoa =
   BG.unsafePerformIO hs_bindgen_9c5155b926feaa3f
@@ -4548,7 +4552,7 @@
 --
 --     [See also]: 'sDL_lltoa', 'sDL_uitoa', @SDL_ultoa@
 --
---     [C declaration]: @SDL_ulltoa@, defined at @SDL3\/SDL_stdinc.h 3614:36@
+--     [C declaration]: @SDL_ulltoa@, defined at @SDL3\/SDL_stdinc.h 3622:36@
 sDL_ulltoa :: BG.FunPtr (BG.CULLong -> BG.Ptr BG.CChar -> BG.CInt -> IO (BG.Ptr BG.CChar))
 sDL_ulltoa =
   BG.unsafePerformIO hs_bindgen_a3b3fdde6f9a0142
@@ -4579,7 +4583,7 @@
 --
 --     [See also]: 'sDL_atof', @SDL_strtol@, @SDL_strtoul@, 'sDL_strtoll', 'sDL_strtoull', 'sDL_strtod', 'sDL_itoa'
 --
---     [C declaration]: @SDL_atoi@, defined at @SDL3\/SDL_stdinc.h 3638:33@
+--     [C declaration]: @SDL_atoi@, defined at @SDL3\/SDL_stdinc.h 3646:33@
 sDL_atoi :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> IO BG.CInt)
 sDL_atoi =
   BG.unsafePerformIO hs_bindgen_9a3e9e2b67b916a2
@@ -4610,7 +4614,7 @@
 --
 --     [See also]: 'sDL_atoi', @SDL_strtol@, @SDL_strtoul@, 'sDL_strtoll', 'sDL_strtoull', 'sDL_strtod'
 --
---     [C declaration]: @SDL_atof@, defined at @SDL3\/SDL_stdinc.h 3660:36@
+--     [C declaration]: @SDL_atof@, defined at @SDL3\/SDL_stdinc.h 3668:36@
 sDL_atof :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> IO BG.CDouble)
 sDL_atof =
   BG.unsafePerformIO hs_bindgen_2804d8be78ed3cae
@@ -4648,7 +4652,7 @@
 --
 --     [See also]: 'sDL_atoi', 'sDL_atof', @SDL_strtol@, @SDL_strtoul@, 'sDL_strtoull', 'sDL_strtod', 'sDL_lltoa'
 --
---     [C declaration]: @SDL_strtoll@, defined at @SDL3\/SDL_stdinc.h 3762:39@
+--     [C declaration]: @SDL_strtoll@, defined at @SDL3\/SDL_stdinc.h 3770:39@
 sDL_strtoll
   :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> BG.Ptr (BG.Ptr BG.CChar) -> BG.CInt -> IO BG.CLLong)
 sDL_strtoll =
@@ -4687,7 +4691,7 @@
 --
 --     [See also]: 'sDL_atoi', 'sDL_atof', @SDL_strtol@, 'sDL_strtoll', @SDL_strtoul@, 'sDL_strtod', 'sDL_ulltoa'
 --
---     [C declaration]: @SDL_strtoull@, defined at @SDL3\/SDL_stdinc.h 3796:48@
+--     [C declaration]: @SDL_strtoull@, defined at @SDL3\/SDL_stdinc.h 3804:48@
 sDL_strtoull
   :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> BG.Ptr (BG.Ptr BG.CChar) -> BG.CInt -> IO BG.CULLong)
 sDL_strtoull =
@@ -4728,7 +4732,7 @@
 --
 --     [See also]: 'sDL_atoi', 'sDL_atof', @SDL_strtol@, 'sDL_strtoll', @SDL_strtoul@, 'sDL_strtoull'
 --
---     [C declaration]: @SDL_strtod@, defined at @SDL3\/SDL_stdinc.h 3826:36@
+--     [C declaration]: @SDL_strtod@, defined at @SDL3\/SDL_stdinc.h 3834:36@
 sDL_strtod :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> BG.Ptr (BG.Ptr BG.CChar) -> IO BG.CDouble)
 sDL_strtod =
   BG.unsafePerformIO hs_bindgen_6ab6327bbf86f171
@@ -4760,7 +4764,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strcmp@, defined at @SDL3\/SDL_stdinc.h 3846:33@
+--     [C declaration]: @SDL_strcmp@, defined at @SDL3\/SDL_stdinc.h 3854:33@
 sDL_strcmp :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> PtrConst.PtrConst BG.CChar -> IO BG.CInt)
 sDL_strcmp =
   BG.unsafePerformIO hs_bindgen_fc45ddd2c1f0219e
@@ -4805,7 +4809,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strncmp@, defined at @SDL3\/SDL_stdinc.h 3876:33@
+--     [C declaration]: @SDL_strncmp@, defined at @SDL3\/SDL_stdinc.h 3884:33@
 sDL_strncmp
   :: BG.FunPtr
        ( PtrConst.PtrConst BG.CChar
@@ -4845,7 +4849,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strcasecmp@, defined at @SDL3\/SDL_stdinc.h 3904:33@
+--     [C declaration]: @SDL_strcasecmp@, defined at @SDL3\/SDL_stdinc.h 3912:33@
 sDL_strcasecmp :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> PtrConst.PtrConst BG.CChar -> IO BG.CInt)
 sDL_strcasecmp =
   BG.unsafePerformIO hs_bindgen_2996562bf0a4585e
@@ -4892,7 +4896,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strncasecmp@, defined at @SDL3\/SDL_stdinc.h 3944:33@
+--     [C declaration]: @SDL_strncasecmp@, defined at @SDL3\/SDL_stdinc.h 3952:33@
 sDL_strncasecmp
   :: BG.FunPtr
        ( PtrConst.PtrConst BG.CChar
@@ -4928,7 +4932,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strpbrk@, defined at @SDL3\/SDL_stdinc.h 3962:36@
+--     [C declaration]: @SDL_strpbrk@, defined at @SDL3\/SDL_stdinc.h 3970:36@
 sDL_strpbrk
   :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> PtrConst.PtrConst BG.CChar -> IO (BG.Ptr BG.CChar))
 sDL_strpbrk =
@@ -4976,7 +4980,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_StepUTF8@, defined at @SDL3\/SDL_stdinc.h 4022:36@
+--     [C declaration]: @SDL_StepUTF8@, defined at @SDL3\/SDL_stdinc.h 4030:36@
 sDL_StepUTF8
   :: BG.FunPtr (BG.Ptr (PtrConst.PtrConst BG.CChar) -> BG.Ptr HsBindgen.Runtime.LibC.CSize -> IO Uint32)
 sDL_StepUTF8 =
@@ -5017,7 +5021,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_StepBackUTF8@, defined at @SDL3\/SDL_stdinc.h 4053:36@
+--     [C declaration]: @SDL_StepBackUTF8@, defined at @SDL3\/SDL_stdinc.h 4061:36@
 sDL_StepBackUTF8
   :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> BG.Ptr (PtrConst.PtrConst BG.CChar) -> IO Uint32)
 sDL_StepBackUTF8 =
@@ -5055,7 +5059,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_UCS4ToUTF8@, defined at @SDL3\/SDL_stdinc.h 4082:36@
+--     [C declaration]: @SDL_UCS4ToUTF8@, defined at @SDL3\/SDL_stdinc.h 4090:36@
 sDL_UCS4ToUTF8 :: BG.FunPtr (Uint32 -> BG.Ptr BG.CChar -> IO (BG.Ptr BG.CChar))
 sDL_UCS4ToUTF8 =
   BG.unsafePerformIO hs_bindgen_d8d90fbed44bffa4
@@ -5084,7 +5088,7 @@
 --
 --     [See also]: 'sDL_rand', 'sDL_rand_bits', 'sDL_randf'
 --
---     [C declaration]: @SDL_srand@, defined at @SDL3\/SDL_stdinc.h 4294:34@
+--     [C declaration]: @SDL_srand@, defined at @SDL3\/SDL_stdinc.h 4302:34@
 sDL_srand :: BG.FunPtr (Uint64 -> IO ())
 sDL_srand =
   BG.unsafePerformIO hs_bindgen_da73119d08a07679
@@ -5123,7 +5127,7 @@
 --
 --     [See also]: 'sDL_srand', 'sDL_randf'
 --
---     [C declaration]: @SDL_rand@, defined at @SDL3\/SDL_stdinc.h 4328:36@
+--     [C declaration]: @SDL_rand@, defined at @SDL3\/SDL_stdinc.h 4336:36@
 sDL_rand :: BG.FunPtr (Sint32 -> IO Sint32)
 sDL_rand =
   BG.unsafePerformIO hs_bindgen_4e5afaafc53503d2
@@ -5154,7 +5158,7 @@
 --
 --     [See also]: 'sDL_srand', 'sDL_rand'
 --
---     [C declaration]: @SDL_randf@, defined at @SDL3\/SDL_stdinc.h 4351:35@
+--     [C declaration]: @SDL_randf@, defined at @SDL3\/SDL_stdinc.h 4359:35@
 sDL_randf :: BG.FunPtr (IO BG.CFloat)
 sDL_randf =
   BG.unsafePerformIO hs_bindgen_e6a11f5c2731e306
@@ -5185,7 +5189,7 @@
 --
 --     [See also]: 'sDL_rand', 'sDL_randf', 'sDL_srand'
 --
---     [C declaration]: @SDL_rand_bits@, defined at @SDL3\/SDL_stdinc.h 4374:36@
+--     [C declaration]: @SDL_rand_bits@, defined at @SDL3\/SDL_stdinc.h 4382:36@
 sDL_rand_bits :: BG.FunPtr (IO Uint32)
 sDL_rand_bits =
   BG.unsafePerformIO hs_bindgen_1b4a072c67be4b47
@@ -5224,7 +5228,7 @@
 --
 --     [See also]: 'sDL_rand', 'sDL_rand_bits_r', 'sDL_randf_r'
 --
---     [C declaration]: @SDL_rand_r@, defined at @SDL3\/SDL_stdinc.h 4409:36@
+--     [C declaration]: @SDL_rand_r@, defined at @SDL3\/SDL_stdinc.h 4417:36@
 sDL_rand_r :: BG.FunPtr (BG.Ptr Uint64 -> Sint32 -> IO Sint32)
 sDL_rand_r =
   BG.unsafePerformIO hs_bindgen_b7805b04f67ee663
@@ -5257,7 +5261,7 @@
 --
 --     [See also]: 'sDL_rand_bits_r', 'sDL_rand_r', 'sDL_randf'
 --
---     [C declaration]: @SDL_randf_r@, defined at @SDL3\/SDL_stdinc.h 4436:35@
+--     [C declaration]: @SDL_randf_r@, defined at @SDL3\/SDL_stdinc.h 4444:35@
 sDL_randf_r :: BG.FunPtr (BG.Ptr Uint64 -> IO BG.CFloat)
 sDL_randf_r =
   BG.unsafePerformIO hs_bindgen_2868c0dca829c12d
@@ -5290,7 +5294,7 @@
 --
 --     [See also]: 'sDL_rand_r', 'sDL_randf_r'
 --
---     [C declaration]: @SDL_rand_bits_r@, defined at @SDL3\/SDL_stdinc.h 4461:36@
+--     [C declaration]: @SDL_rand_bits_r@, defined at @SDL3\/SDL_stdinc.h 4469:36@
 sDL_rand_bits_r :: BG.FunPtr (BG.Ptr Uint64 -> IO Uint32)
 sDL_rand_bits_r =
   BG.unsafePerformIO hs_bindgen_4f041e8bf307388e
@@ -5329,7 +5333,7 @@
 --
 --     [See also]: 'sDL_acosf', 'sDL_asin', 'sDL_cos'
 --
---     [C declaration]: @SDL_acos@, defined at @SDL3\/SDL_stdinc.h 4515:36@
+--     [C declaration]: @SDL_acos@, defined at @SDL3\/SDL_stdinc.h 4523:36@
 sDL_acos :: BG.FunPtr (BG.CDouble -> IO BG.CDouble)
 sDL_acos =
   BG.unsafePerformIO hs_bindgen_fc7fee2483850ab3
@@ -5368,7 +5372,7 @@
 --
 --     [See also]: 'sDL_acos', 'sDL_asinf', 'sDL_cosf'
 --
---     [C declaration]: @SDL_acosf@, defined at @SDL3\/SDL_stdinc.h 4545:35@
+--     [C declaration]: @SDL_acosf@, defined at @SDL3\/SDL_stdinc.h 4553:35@
 sDL_acosf :: BG.FunPtr (BG.CFloat -> IO BG.CFloat)
 sDL_acosf =
   BG.unsafePerformIO hs_bindgen_521ecf135cd97997
@@ -5407,7 +5411,7 @@
 --
 --     [See also]: 'sDL_asinf', 'sDL_acos', 'sDL_sin'
 --
---     [C declaration]: @SDL_asin@, defined at @SDL3\/SDL_stdinc.h 4575:36@
+--     [C declaration]: @SDL_asin@, defined at @SDL3\/SDL_stdinc.h 4583:36@
 sDL_asin :: BG.FunPtr (BG.CDouble -> IO BG.CDouble)
 sDL_asin =
   BG.unsafePerformIO hs_bindgen_0446975347dc0e74
@@ -5446,7 +5450,7 @@
 --
 --     [See also]: 'sDL_asin', 'sDL_acosf', 'sDL_sinf'
 --
---     [C declaration]: @SDL_asinf@, defined at @SDL3\/SDL_stdinc.h 4605:35@
+--     [C declaration]: @SDL_asinf@, defined at @SDL3\/SDL_stdinc.h 4613:35@
 sDL_asinf :: BG.FunPtr (BG.CFloat -> IO BG.CFloat)
 sDL_asinf =
   BG.unsafePerformIO hs_bindgen_6069a6cbf645d9a4
@@ -5487,7 +5491,7 @@
 --
 --     [See also]: 'sDL_atanf', 'sDL_atan2', 'sDL_tan'
 --
---     [C declaration]: @SDL_atan@, defined at @SDL3\/SDL_stdinc.h 4637:36@
+--     [C declaration]: @SDL_atan@, defined at @SDL3\/SDL_stdinc.h 4645:36@
 sDL_atan :: BG.FunPtr (BG.CDouble -> IO BG.CDouble)
 sDL_atan =
   BG.unsafePerformIO hs_bindgen_eb9c094d5b8cc44a
@@ -5528,7 +5532,7 @@
 --
 --     [See also]: 'sDL_atan', 'sDL_atan2f', 'sDL_tanf'
 --
---     [C declaration]: @SDL_atanf@, defined at @SDL3\/SDL_stdinc.h 4669:35@
+--     [C declaration]: @SDL_atanf@, defined at @SDL3\/SDL_stdinc.h 4677:35@
 sDL_atanf :: BG.FunPtr (BG.CFloat -> IO BG.CFloat)
 sDL_atanf =
   BG.unsafePerformIO hs_bindgen_9807f179a4fbb908
@@ -5571,7 +5575,7 @@
 --
 --     [See also]: 'sDL_atan2f', 'sDL_atan', 'sDL_tan'
 --
---     [C declaration]: @SDL_atan2@, defined at @SDL3\/SDL_stdinc.h 4705:36@
+--     [C declaration]: @SDL_atan2@, defined at @SDL3\/SDL_stdinc.h 4713:36@
 sDL_atan2 :: BG.FunPtr (BG.CDouble -> BG.CDouble -> IO BG.CDouble)
 sDL_atan2 =
   BG.unsafePerformIO hs_bindgen_c868e29b9251ada8
@@ -5614,7 +5618,7 @@
 --
 --     [See also]: 'sDL_atan2', 'sDL_atan', 'sDL_tan'
 --
---     [C declaration]: @SDL_atan2f@, defined at @SDL3\/SDL_stdinc.h 4741:35@
+--     [C declaration]: @SDL_atan2f@, defined at @SDL3\/SDL_stdinc.h 4749:35@
 sDL_atan2f :: BG.FunPtr (BG.CFloat -> BG.CFloat -> IO BG.CFloat)
 sDL_atan2f =
   BG.unsafePerformIO hs_bindgen_357a95d359b4aaad
@@ -5651,7 +5655,7 @@
 --
 --     [See also]: 'sDL_ceilf', 'sDL_floor', 'sDL_trunc', 'sDL_round', @SDL_lround@
 --
---     [C declaration]: @SDL_ceil@, defined at @SDL3\/SDL_stdinc.h 4769:36@
+--     [C declaration]: @SDL_ceil@, defined at @SDL3\/SDL_stdinc.h 4777:36@
 sDL_ceil :: BG.FunPtr (BG.CDouble -> IO BG.CDouble)
 sDL_ceil =
   BG.unsafePerformIO hs_bindgen_51763cbf0b798de3
@@ -5688,7 +5692,7 @@
 --
 --     [See also]: 'sDL_ceil', 'sDL_floorf', 'sDL_truncf', 'sDL_roundf', @SDL_lroundf@
 --
---     [C declaration]: @SDL_ceilf@, defined at @SDL3\/SDL_stdinc.h 4797:35@
+--     [C declaration]: @SDL_ceilf@, defined at @SDL3\/SDL_stdinc.h 4805:35@
 sDL_ceilf :: BG.FunPtr (BG.CFloat -> IO BG.CFloat)
 sDL_ceilf =
   BG.unsafePerformIO hs_bindgen_362325253c9b19f8
@@ -5727,7 +5731,7 @@
 --
 --     [See also]: 'sDL_copysignf', 'sDL_fabs'
 --
---     [C declaration]: @SDL_copysign@, defined at @SDL3\/SDL_stdinc.h 4823:36@
+--     [C declaration]: @SDL_copysign@, defined at @SDL3\/SDL_stdinc.h 4831:36@
 sDL_copysign :: BG.FunPtr (BG.CDouble -> BG.CDouble -> IO BG.CDouble)
 sDL_copysign =
   BG.unsafePerformIO hs_bindgen_df3beaabf480a0d3
@@ -5766,7 +5770,7 @@
 --
 --     [See also]: 'sDL_copysign', 'sDL_fabsf'
 --
---     [C declaration]: @SDL_copysignf@, defined at @SDL3\/SDL_stdinc.h 4849:35@
+--     [C declaration]: @SDL_copysignf@, defined at @SDL3\/SDL_stdinc.h 4857:35@
 sDL_copysignf :: BG.FunPtr (BG.CFloat -> BG.CFloat -> IO BG.CFloat)
 sDL_copysignf =
   BG.unsafePerformIO hs_bindgen_e6af77974ed5435f
@@ -5803,7 +5807,7 @@
 --
 --     [See also]: 'sDL_cosf', 'sDL_acos', 'sDL_sin'
 --
---     [C declaration]: @SDL_cos@, defined at @SDL3\/SDL_stdinc.h 4877:36@
+--     [C declaration]: @SDL_cos@, defined at @SDL3\/SDL_stdinc.h 4885:36@
 sDL_cos :: BG.FunPtr (BG.CDouble -> IO BG.CDouble)
 sDL_cos =
   BG.unsafePerformIO hs_bindgen_3d9b0e8a53288293
@@ -5840,7 +5844,7 @@
 --
 --     [See also]: 'sDL_cos', 'sDL_acosf', 'sDL_sinf'
 --
---     [C declaration]: @SDL_cosf@, defined at @SDL3\/SDL_stdinc.h 4905:35@
+--     [C declaration]: @SDL_cosf@, defined at @SDL3\/SDL_stdinc.h 4913:35@
 sDL_cosf :: BG.FunPtr (BG.CFloat -> IO BG.CFloat)
 sDL_cosf =
   BG.unsafePerformIO hs_bindgen_8a6d19c21d08744f
@@ -5881,7 +5885,7 @@
 --
 --     [See also]: 'sDL_expf', 'sDL_log'
 --
---     [C declaration]: @SDL_exp@, defined at @SDL3\/SDL_stdinc.h 4937:36@
+--     [C declaration]: @SDL_exp@, defined at @SDL3\/SDL_stdinc.h 4945:36@
 sDL_exp :: BG.FunPtr (BG.CDouble -> IO BG.CDouble)
 sDL_exp =
   BG.unsafePerformIO hs_bindgen_32a0ab5c8aca638e
@@ -5922,7 +5926,7 @@
 --
 --     [See also]: 'sDL_exp', 'sDL_logf'
 --
---     [C declaration]: @SDL_expf@, defined at @SDL3\/SDL_stdinc.h 4969:35@
+--     [C declaration]: @SDL_expf@, defined at @SDL3\/SDL_stdinc.h 4977:35@
 sDL_expf :: BG.FunPtr (BG.CFloat -> IO BG.CFloat)
 sDL_expf =
   BG.unsafePerformIO hs_bindgen_e734b446bd66b310
@@ -5957,7 +5961,7 @@
 --
 --     [See also]: 'sDL_fabsf'
 --
---     [C declaration]: @SDL_fabs@, defined at @SDL3\/SDL_stdinc.h 4990:36@
+--     [C declaration]: @SDL_fabs@, defined at @SDL3\/SDL_stdinc.h 4998:36@
 sDL_fabs :: BG.FunPtr (BG.CDouble -> IO BG.CDouble)
 sDL_fabs =
   BG.unsafePerformIO hs_bindgen_0fe1f848b90d29bc
@@ -5992,7 +5996,7 @@
 --
 --     [See also]: 'sDL_fabs'
 --
---     [C declaration]: @SDL_fabsf@, defined at @SDL3\/SDL_stdinc.h 5011:35@
+--     [C declaration]: @SDL_fabsf@, defined at @SDL3\/SDL_stdinc.h 5019:35@
 sDL_fabsf :: BG.FunPtr (BG.CFloat -> IO BG.CFloat)
 sDL_fabsf =
   BG.unsafePerformIO hs_bindgen_1e189b3e959f375b
@@ -6029,7 +6033,7 @@
 --
 --     [See also]: 'sDL_floorf', 'sDL_ceil', 'sDL_trunc', 'sDL_round', @SDL_lround@
 --
---     [C declaration]: @SDL_floor@, defined at @SDL3\/SDL_stdinc.h 5039:36@
+--     [C declaration]: @SDL_floor@, defined at @SDL3\/SDL_stdinc.h 5047:36@
 sDL_floor :: BG.FunPtr (BG.CDouble -> IO BG.CDouble)
 sDL_floor =
   BG.unsafePerformIO hs_bindgen_ae709679ac231e3a
@@ -6066,7 +6070,7 @@
 --
 --     [See also]: 'sDL_floor', 'sDL_ceilf', 'sDL_truncf', 'sDL_roundf', @SDL_lroundf@
 --
---     [C declaration]: @SDL_floorf@, defined at @SDL3\/SDL_stdinc.h 5067:35@
+--     [C declaration]: @SDL_floorf@, defined at @SDL3\/SDL_stdinc.h 5075:35@
 sDL_floorf :: BG.FunPtr (BG.CFloat -> IO BG.CFloat)
 sDL_floorf =
   BG.unsafePerformIO hs_bindgen_6bcbc045e8590408
@@ -6103,7 +6107,7 @@
 --
 --     [See also]: 'sDL_truncf', 'sDL_fmod', 'sDL_ceil', 'sDL_floor', 'sDL_round', @SDL_lround@
 --
---     [C declaration]: @SDL_trunc@, defined at @SDL3\/SDL_stdinc.h 5096:36@
+--     [C declaration]: @SDL_trunc@, defined at @SDL3\/SDL_stdinc.h 5104:36@
 sDL_trunc :: BG.FunPtr (BG.CDouble -> IO BG.CDouble)
 sDL_trunc =
   BG.unsafePerformIO hs_bindgen_9ff826562c85b6db
@@ -6140,7 +6144,7 @@
 --
 --     [See also]: 'sDL_trunc', 'sDL_fmodf', 'sDL_ceilf', 'sDL_floorf', 'sDL_roundf', @SDL_lroundf@
 --
---     [C declaration]: @SDL_truncf@, defined at @SDL3\/SDL_stdinc.h 5125:35@
+--     [C declaration]: @SDL_truncf@, defined at @SDL3\/SDL_stdinc.h 5133:35@
 sDL_truncf :: BG.FunPtr (BG.CFloat -> IO BG.CFloat)
 sDL_truncf =
   BG.unsafePerformIO hs_bindgen_5afacbe63e710528
@@ -6179,7 +6183,7 @@
 --
 --     [See also]: 'sDL_fmodf', 'sDL_modf', 'sDL_trunc', 'sDL_ceil', 'sDL_floor', 'sDL_round', @SDL_lround@
 --
---     [C declaration]: @SDL_fmod@, defined at @SDL3\/SDL_stdinc.h 5155:36@
+--     [C declaration]: @SDL_fmod@, defined at @SDL3\/SDL_stdinc.h 5163:36@
 sDL_fmod :: BG.FunPtr (BG.CDouble -> BG.CDouble -> IO BG.CDouble)
 sDL_fmod =
   BG.unsafePerformIO hs_bindgen_3a93d2030ffd9ef3
@@ -6218,7 +6222,7 @@
 --
 --     [See also]: 'sDL_fmod', 'sDL_truncf', 'sDL_modff', 'sDL_ceilf', 'sDL_floorf', 'sDL_roundf', @SDL_lroundf@
 --
---     [C declaration]: @SDL_fmodf@, defined at @SDL3\/SDL_stdinc.h 5185:35@
+--     [C declaration]: @SDL_fmodf@, defined at @SDL3\/SDL_stdinc.h 5193:35@
 sDL_fmodf :: BG.FunPtr (BG.CFloat -> BG.CFloat -> IO BG.CFloat)
 sDL_fmodf =
   BG.unsafePerformIO hs_bindgen_a851844ef04e542d
@@ -6247,7 +6251,7 @@
 --
 --     [See also]: 'sDL_isinff'
 --
---     [C declaration]: @SDL_isinf@, defined at @SDL3\/SDL_stdinc.h 5199:33@
+--     [C declaration]: @SDL_isinf@, defined at @SDL3\/SDL_stdinc.h 5207:33@
 sDL_isinf :: BG.FunPtr (BG.CDouble -> IO BG.CInt)
 sDL_isinf =
   BG.unsafePerformIO hs_bindgen_d9346ba385534fdd
@@ -6276,7 +6280,7 @@
 --
 --     [See also]: 'sDL_isinf'
 --
---     [C declaration]: @SDL_isinff@, defined at @SDL3\/SDL_stdinc.h 5213:33@
+--     [C declaration]: @SDL_isinff@, defined at @SDL3\/SDL_stdinc.h 5221:33@
 sDL_isinff :: BG.FunPtr (BG.CFloat -> IO BG.CInt)
 sDL_isinff =
   BG.unsafePerformIO hs_bindgen_bfaf6777c1c350c3
@@ -6305,7 +6309,7 @@
 --
 --     [See also]: 'sDL_isnanf'
 --
---     [C declaration]: @SDL_isnan@, defined at @SDL3\/SDL_stdinc.h 5227:33@
+--     [C declaration]: @SDL_isnan@, defined at @SDL3\/SDL_stdinc.h 5235:33@
 sDL_isnan :: BG.FunPtr (BG.CDouble -> IO BG.CInt)
 sDL_isnan =
   BG.unsafePerformIO hs_bindgen_006f33027be22f99
@@ -6334,7 +6338,7 @@
 --
 --     [See also]: 'sDL_isnan'
 --
---     [C declaration]: @SDL_isnanf@, defined at @SDL3\/SDL_stdinc.h 5241:33@
+--     [C declaration]: @SDL_isnanf@, defined at @SDL3\/SDL_stdinc.h 5249:33@
 sDL_isnanf :: BG.FunPtr (BG.CFloat -> IO BG.CInt)
 sDL_isnanf =
   BG.unsafePerformIO hs_bindgen_308e1efef7090245
@@ -6373,7 +6377,7 @@
 --
 --     [See also]: 'sDL_logf', 'sDL_log10', 'sDL_exp'
 --
---     [C declaration]: @SDL_log@, defined at @SDL3\/SDL_stdinc.h 5271:36@
+--     [C declaration]: @SDL_log@, defined at @SDL3\/SDL_stdinc.h 5279:36@
 sDL_log :: BG.FunPtr (BG.CDouble -> IO BG.CDouble)
 sDL_log =
   BG.unsafePerformIO hs_bindgen_4f9418e7e4267684
@@ -6412,7 +6416,7 @@
 --
 --     [See also]: 'sDL_log', 'sDL_expf'
 --
---     [C declaration]: @SDL_logf@, defined at @SDL3\/SDL_stdinc.h 5300:35@
+--     [C declaration]: @SDL_logf@, defined at @SDL3\/SDL_stdinc.h 5308:35@
 sDL_logf :: BG.FunPtr (BG.CFloat -> IO BG.CFloat)
 sDL_logf =
   BG.unsafePerformIO hs_bindgen_ab81f791c1e3e516
@@ -6451,7 +6455,7 @@
 --
 --     [See also]: 'sDL_log10f', 'sDL_log', 'sDL_pow'
 --
---     [C declaration]: @SDL_log10@, defined at @SDL3\/SDL_stdinc.h 5330:36@
+--     [C declaration]: @SDL_log10@, defined at @SDL3\/SDL_stdinc.h 5338:36@
 sDL_log10 :: BG.FunPtr (BG.CDouble -> IO BG.CDouble)
 sDL_log10 =
   BG.unsafePerformIO hs_bindgen_c9a4b45a046047ba
@@ -6490,7 +6494,7 @@
 --
 --     [See also]: 'sDL_log10', 'sDL_logf', 'sDL_powf'
 --
---     [C declaration]: @SDL_log10f@, defined at @SDL3\/SDL_stdinc.h 5360:35@
+--     [C declaration]: @SDL_log10f@, defined at @SDL3\/SDL_stdinc.h 5368:35@
 sDL_log10f :: BG.FunPtr (BG.CFloat -> IO BG.CFloat)
 sDL_log10f =
   BG.unsafePerformIO hs_bindgen_72ace8de925eb690
@@ -6523,7 +6527,7 @@
 --
 --     [See also]: 'sDL_modff', 'sDL_trunc', 'sDL_fmod'
 --
---     [C declaration]: @SDL_modf@, defined at @SDL3\/SDL_stdinc.h 5380:36@
+--     [C declaration]: @SDL_modf@, defined at @SDL3\/SDL_stdinc.h 5388:36@
 sDL_modf :: BG.FunPtr (BG.CDouble -> BG.Ptr BG.CDouble -> IO BG.CDouble)
 sDL_modf =
   BG.unsafePerformIO hs_bindgen_b05adeb0cad2dab6
@@ -6556,7 +6560,7 @@
 --
 --     [See also]: 'sDL_modf', 'sDL_truncf', 'sDL_fmodf'
 --
---     [C declaration]: @SDL_modff@, defined at @SDL3\/SDL_stdinc.h 5400:35@
+--     [C declaration]: @SDL_modff@, defined at @SDL3\/SDL_stdinc.h 5408:35@
 sDL_modff :: BG.FunPtr (BG.CFloat -> BG.Ptr BG.CFloat -> IO BG.CFloat)
 sDL_modff =
   BG.unsafePerformIO hs_bindgen_59f3b87137ea46cd
@@ -6597,7 +6601,7 @@
 --
 --     [See also]: 'sDL_powf', 'sDL_exp', 'sDL_log'
 --
---     [C declaration]: @SDL_pow@, defined at @SDL3\/SDL_stdinc.h 5432:36@
+--     [C declaration]: @SDL_pow@, defined at @SDL3\/SDL_stdinc.h 5440:36@
 sDL_pow :: BG.FunPtr (BG.CDouble -> BG.CDouble -> IO BG.CDouble)
 sDL_pow =
   BG.unsafePerformIO hs_bindgen_75e5e5b712af4971
@@ -6638,7 +6642,7 @@
 --
 --     [See also]: 'sDL_pow', 'sDL_expf', 'sDL_logf'
 --
---     [C declaration]: @SDL_powf@, defined at @SDL3\/SDL_stdinc.h 5464:35@
+--     [C declaration]: @SDL_powf@, defined at @SDL3\/SDL_stdinc.h 5472:35@
 sDL_powf :: BG.FunPtr (BG.CFloat -> BG.CFloat -> IO BG.CFloat)
 sDL_powf =
   BG.unsafePerformIO hs_bindgen_deb1ba3db460136c
@@ -6675,7 +6679,7 @@
 --
 --     [See also]: 'sDL_roundf', @SDL_lround@, 'sDL_floor', 'sDL_ceil', 'sDL_trunc'
 --
---     [C declaration]: @SDL_round@, defined at @SDL3\/SDL_stdinc.h 5493:36@
+--     [C declaration]: @SDL_round@, defined at @SDL3\/SDL_stdinc.h 5501:36@
 sDL_round :: BG.FunPtr (BG.CDouble -> IO BG.CDouble)
 sDL_round =
   BG.unsafePerformIO hs_bindgen_e8841dcdfaff32de
@@ -6712,7 +6716,7 @@
 --
 --     [See also]: 'sDL_round', @SDL_lroundf@, 'sDL_floorf', 'sDL_ceilf', 'sDL_truncf'
 --
---     [C declaration]: @SDL_roundf@, defined at @SDL3\/SDL_stdinc.h 5522:35@
+--     [C declaration]: @SDL_roundf@, defined at @SDL3\/SDL_stdinc.h 5530:35@
 sDL_roundf :: BG.FunPtr (BG.CFloat -> IO BG.CFloat)
 sDL_roundf =
   BG.unsafePerformIO hs_bindgen_57450d2f082e285c
@@ -6751,7 +6755,7 @@
 --
 --     [See also]: 'sDL_scalbnf', 'sDL_pow'
 --
---     [C declaration]: @SDL_scalbn@, defined at @SDL3\/SDL_stdinc.h 5605:36@
+--     [C declaration]: @SDL_scalbn@, defined at @SDL3\/SDL_stdinc.h 5613:36@
 sDL_scalbn :: BG.FunPtr (BG.CDouble -> BG.CInt -> IO BG.CDouble)
 sDL_scalbn =
   BG.unsafePerformIO hs_bindgen_6fc1ebd971ec8157
@@ -6790,7 +6794,7 @@
 --
 --     [See also]: 'sDL_scalbn', 'sDL_powf'
 --
---     [C declaration]: @SDL_scalbnf@, defined at @SDL3\/SDL_stdinc.h 5630:35@
+--     [C declaration]: @SDL_scalbnf@, defined at @SDL3\/SDL_stdinc.h 5638:35@
 sDL_scalbnf :: BG.FunPtr (BG.CFloat -> BG.CInt -> IO BG.CFloat)
 sDL_scalbnf =
   BG.unsafePerformIO hs_bindgen_706cd6213dd8d69d
@@ -6827,7 +6831,7 @@
 --
 --     [See also]: 'sDL_sinf', 'sDL_asin', 'sDL_cos'
 --
---     [C declaration]: @SDL_sin@, defined at @SDL3\/SDL_stdinc.h 5658:36@
+--     [C declaration]: @SDL_sin@, defined at @SDL3\/SDL_stdinc.h 5666:36@
 sDL_sin :: BG.FunPtr (BG.CDouble -> IO BG.CDouble)
 sDL_sin =
   BG.unsafePerformIO hs_bindgen_e4b1725cdd38afe4
@@ -6864,7 +6868,7 @@
 --
 --     [See also]: 'sDL_sin', 'sDL_asinf', 'sDL_cosf'
 --
---     [C declaration]: @SDL_sinf@, defined at @SDL3\/SDL_stdinc.h 5686:35@
+--     [C declaration]: @SDL_sinf@, defined at @SDL3\/SDL_stdinc.h 5694:35@
 sDL_sinf :: BG.FunPtr (BG.CFloat -> IO BG.CFloat)
 sDL_sinf =
   BG.unsafePerformIO hs_bindgen_4d400d672d200ac9
@@ -6901,7 +6905,7 @@
 --
 --     [See also]: 'sDL_sqrtf'
 --
---     [C declaration]: @SDL_sqrt@, defined at @SDL3\/SDL_stdinc.h 5712:36@
+--     [C declaration]: @SDL_sqrt@, defined at @SDL3\/SDL_stdinc.h 5720:36@
 sDL_sqrt :: BG.FunPtr (BG.CDouble -> IO BG.CDouble)
 sDL_sqrt =
   BG.unsafePerformIO hs_bindgen_8352f3e6d4755f65
@@ -6938,7 +6942,7 @@
 --
 --     [See also]: 'sDL_sqrt'
 --
---     [C declaration]: @SDL_sqrtf@, defined at @SDL3\/SDL_stdinc.h 5738:35@
+--     [C declaration]: @SDL_sqrtf@, defined at @SDL3\/SDL_stdinc.h 5746:35@
 sDL_sqrtf :: BG.FunPtr (BG.CFloat -> IO BG.CFloat)
 sDL_sqrtf =
   BG.unsafePerformIO hs_bindgen_87f1efd0a9654c58
@@ -6975,7 +6979,7 @@
 --
 --     [See also]: 'sDL_tanf', 'sDL_sin', 'sDL_cos', 'sDL_atan', 'sDL_atan2'
 --
---     [C declaration]: @SDL_tan@, defined at @SDL3\/SDL_stdinc.h 5768:36@
+--     [C declaration]: @SDL_tan@, defined at @SDL3\/SDL_stdinc.h 5776:36@
 sDL_tan :: BG.FunPtr (BG.CDouble -> IO BG.CDouble)
 sDL_tan =
   BG.unsafePerformIO hs_bindgen_4a65c95891312c30
@@ -7012,7 +7016,7 @@
 --
 --     [See also]: 'sDL_tan', 'sDL_sinf', 'sDL_cosf', 'sDL_atanf', 'sDL_atan2f'
 --
---     [C declaration]: @SDL_tanf@, defined at @SDL3\/SDL_stdinc.h 5798:35@
+--     [C declaration]: @SDL_tanf@, defined at @SDL3\/SDL_stdinc.h 5806:35@
 sDL_tanf :: BG.FunPtr (BG.CFloat -> IO BG.CFloat)
 sDL_tanf =
   BG.unsafePerformIO hs_bindgen_094dc8b00c4ee010
@@ -7044,7 +7048,7 @@
 --
 --     [See also]: 'sDL_iconv', 'sDL_iconv_close', 'sDL_iconv_string'
 --
---     [C declaration]: @SDL_iconv_open@, defined at @SDL3\/SDL_stdinc.h 5826:41@
+--     [C declaration]: @SDL_iconv_open@, defined at @SDL3\/SDL_stdinc.h 5834:41@
 sDL_iconv_open
   :: BG.FunPtr (PtrConst.PtrConst BG.CChar -> PtrConst.PtrConst BG.CChar -> IO SDL_iconv_t)
 sDL_iconv_open =
@@ -7074,7 +7078,7 @@
 --
 --     [See also]: 'sDL_iconv', 'sDL_iconv_open', 'sDL_iconv_string'
 --
---     [C declaration]: @SDL_iconv_close@, defined at @SDL3\/SDL_stdinc.h 5843:33@
+--     [C declaration]: @SDL_iconv_close@, defined at @SDL3\/SDL_stdinc.h 5851:33@
 sDL_iconv_close :: BG.FunPtr (SDL_iconv_t -> IO BG.CInt)
 sDL_iconv_close =
   BG.unsafePerformIO hs_bindgen_2c0a62f403d4446c
@@ -7133,7 +7137,7 @@
 --
 --     [See also]: 'sDL_iconv_open', 'sDL_iconv_close', 'sDL_iconv_string'
 --
---     [C declaration]: @SDL_iconv@, defined at @SDL3\/SDL_stdinc.h 5883:36@
+--     [C declaration]: @SDL_iconv@, defined at @SDL3\/SDL_stdinc.h 5891:36@
 sDL_iconv
   :: BG.FunPtr
        ( SDL_iconv_t
@@ -7191,7 +7195,7 @@
 --
 --     [See also]: 'sDL_iconv_open', 'sDL_iconv_close', 'sDL_iconv'
 --
---     [C declaration]: @SDL_iconv_string@, defined at @SDL3\/SDL_stdinc.h 5920:36@
+--     [C declaration]: @SDL_iconv_string@, defined at @SDL3\/SDL_stdinc.h 5928:36@
 sDL_iconv_string
   :: BG.FunPtr
        ( PtrConst.PtrConst BG.CChar
@@ -7223,7 +7227,7 @@
 
 {-# NOINLINE sDL_size_mul_check_overflow_builtin #-}
 
--- | [C declaration]: @SDL_size_mul_check_overflow_builtin@, defined at @SDL3\/SDL_stdinc.h 6101:23@
+-- | [C declaration]: @SDL_size_mul_check_overflow_builtin@, defined at @SDL3\/SDL_stdinc.h 6109:23@
 sDL_size_mul_check_overflow_builtin
   :: BG.FunPtr
        ( HsBindgen.Runtime.LibC.CSize
@@ -7254,7 +7258,7 @@
 
 {-# NOINLINE sDL_size_add_check_overflow_builtin #-}
 
--- | [C declaration]: @SDL_size_add_check_overflow_builtin@, defined at @SDL3\/SDL_stdinc.h 6139:23@
+-- | [C declaration]: @SDL_size_add_check_overflow_builtin@, defined at @SDL3\/SDL_stdinc.h 6147:23@
 sDL_size_add_check_overflow_builtin
   :: BG.FunPtr
        ( HsBindgen.Runtime.LibC.CSize
diff --git a/src/SDL3/Sys/Bindgen/Stdinc/Safe.hs b/src/SDL3/Sys/Bindgen/Stdinc/Safe.hs
--- a/src/SDL3/Sys/Bindgen/Stdinc/Safe.hs
+++ b/src/SDL3/Sys/Bindgen/Stdinc/Safe.hs
@@ -1214,7 +1214,7 @@
 --
 --     [See also]: 'sDL_free', SDL_calloc, SDL_realloc, 'sDL_aligned_alloc'
 --
---     [C declaration]: @SDL_malloc@, defined at @SDL3\/SDL_stdinc.h 1341:47@
+--     [C declaration]: @SDL_malloc@, defined at @SDL3\/SDL_stdinc.h 1342:47@
 sDL_malloc
   :: HsBindgen.Runtime.LibC.CSize
   -- ^
@@ -1238,7 +1238,7 @@
 hs_bindgen_12a69b8549cd3a89 =
   BG.fromFFIType hs_bindgen_12a69b8549cd3a89_base
 
--- | [C declaration]: @SDL_calloc@, defined at @SDL3\/SDL_stdinc.h 1366:69@
+-- | [C declaration]: @SDL_calloc@, defined at @SDL3\/SDL_stdinc.h 1367:69@
 sDL_calloc
   :: HsBindgen.Runtime.LibC.CSize
   -- ^ [C declaration]: @nmemb@
@@ -1262,7 +1262,7 @@
 hs_bindgen_749e3624b605eca6 =
   BG.fromFFIType hs_bindgen_749e3624b605eca6_base
 
--- | [C declaration]: @SDL_realloc@, defined at @SDL3\/SDL_stdinc.h 1406:54@
+-- | [C declaration]: @SDL_realloc@, defined at @SDL3\/SDL_stdinc.h 1407:54@
 sDL_realloc
   :: BG.Ptr BG.Void
   -- ^ [C declaration]: @mem@
@@ -1296,7 +1296,7 @@
 --
 --     [See also]: 'sDL_malloc', SDL_calloc, SDL_realloc
 --
---     [C declaration]: @SDL_free@, defined at @SDL3\/SDL_stdinc.h 1426:34@
+--     [C declaration]: @SDL_free@, defined at @SDL3\/SDL_stdinc.h 1427:34@
 sDL_free
   :: BG.Ptr BG.Void
   -- ^
@@ -1332,7 +1332,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetOriginalMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1524:34@
+--     [C declaration]: @SDL_GetOriginalMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1525:34@
 sDL_GetOriginalMemoryFunctions
   :: BG.Ptr SDL_malloc_func
   -- ^
@@ -1381,7 +1381,7 @@
 --
 --     [See also]: 'sDL_SetMemoryFunctions', 'sDL_GetOriginalMemoryFunctions'
 --
---     [C declaration]: @SDL_GetMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1546:34@
+--     [C declaration]: @SDL_GetMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1547:34@
 sDL_GetMemoryFunctions
   :: BG.Ptr SDL_malloc_func
   -- ^
@@ -1435,7 +1435,7 @@
 --
 --     [See also]: 'sDL_GetMemoryFunctions', 'sDL_GetOriginalMemoryFunctions'
 --
---     [C declaration]: @SDL_SetMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1577:34@
+--     [C declaration]: @SDL_SetMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1578:34@
 sDL_SetMemoryFunctions
   :: SDL_malloc_func
   -- ^
@@ -1487,7 +1487,7 @@
 --
 --     [See also]: 'sDL_aligned_free'
 --
---     [C declaration]: @SDL_aligned_alloc@, defined at @SDL3\/SDL_stdinc.h 1604:47@
+--     [C declaration]: @SDL_aligned_alloc@, defined at @SDL3\/SDL_stdinc.h 1605:47@
 sDL_aligned_alloc
   :: HsBindgen.Runtime.LibC.CSize
   -- ^
@@ -1525,7 +1525,7 @@
 --
 --     [See also]: 'sDL_aligned_alloc'
 --
---     [C declaration]: @SDL_aligned_free@, defined at @SDL3\/SDL_stdinc.h 1622:34@
+--     [C declaration]: @SDL_aligned_free@, defined at @SDL3\/SDL_stdinc.h 1623:34@
 sDL_aligned_free
   :: BG.Ptr BG.Void
   -- ^
@@ -1552,7 +1552,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetNumAllocations@, defined at @SDL3\/SDL_stdinc.h 1634:33@
+--     [C declaration]: @SDL_GetNumAllocations@, defined at @SDL3\/SDL_stdinc.h 1635:33@
 sDL_GetNumAllocations :: IO BG.CInt
 sDL_GetNumAllocations = hs_bindgen_f0e7f10898be7ba4
 
@@ -1578,7 +1578,7 @@
 --
 --     [See also]: 'sDL_GetEnvironmentVariable', 'sDL_GetEnvironmentVariables', 'sDL_SetEnvironmentVariable', 'sDL_UnsetEnvironmentVariable'
 --
---     [C declaration]: @SDL_GetEnvironment@, defined at @SDL3\/SDL_stdinc.h 1672:47@
+--     [C declaration]: @SDL_GetEnvironment@, defined at @SDL3\/SDL_stdinc.h 1673:47@
 sDL_GetEnvironment :: IO (BG.Ptr SDL_Environment)
 sDL_GetEnvironment = hs_bindgen_e44727dd9f944e0a
 
@@ -1605,7 +1605,7 @@
 --
 --     [See also]: 'sDL_GetEnvironmentVariable', 'sDL_GetEnvironmentVariables', 'sDL_SetEnvironmentVariable', 'sDL_UnsetEnvironmentVariable', 'sDL_DestroyEnvironment'
 --
---     [C declaration]: @SDL_CreateEnvironment@, defined at @SDL3\/SDL_stdinc.h 1694:47@
+--     [C declaration]: @SDL_CreateEnvironment@, defined at @SDL3\/SDL_stdinc.h 1695:47@
 sDL_CreateEnvironment
   :: BG.CBool
   -- ^
@@ -1639,7 +1639,7 @@
 --
 --     [See also]: 'sDL_GetEnvironment', 'sDL_CreateEnvironment', 'sDL_GetEnvironmentVariables', 'sDL_SetEnvironmentVariable', 'sDL_UnsetEnvironmentVariable'
 --
---     [C declaration]: @SDL_GetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1714:42@
+--     [C declaration]: @SDL_GetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1715:42@
 sDL_GetEnvironmentVariable
   :: BG.Ptr SDL_Environment
   -- ^
@@ -1676,7 +1676,7 @@
 --
 --     [See also]: 'sDL_GetEnvironment', 'sDL_CreateEnvironment', 'sDL_GetEnvironmentVariables', 'sDL_SetEnvironmentVariable', 'sDL_UnsetEnvironmentVariable'
 --
---     [C declaration]: @SDL_GetEnvironmentVariables@, defined at @SDL3\/SDL_stdinc.h 1735:37@
+--     [C declaration]: @SDL_GetEnvironmentVariables@, defined at @SDL3\/SDL_stdinc.h 1736:37@
 sDL_GetEnvironmentVariables
   :: BG.Ptr SDL_Environment
   -- ^
@@ -1715,7 +1715,7 @@
 --
 --     [See also]: 'sDL_GetEnvironment', 'sDL_CreateEnvironment', 'sDL_GetEnvironmentVariable', 'sDL_GetEnvironmentVariables', 'sDL_UnsetEnvironmentVariable'
 --
---     [C declaration]: @SDL_SetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1759:34@
+--     [C declaration]: @SDL_SetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1760:34@
 sDL_SetEnvironmentVariable
   :: BG.Ptr SDL_Environment
   -- ^
@@ -1762,7 +1762,7 @@
 --
 --     [See also]: 'sDL_GetEnvironment', 'sDL_CreateEnvironment', 'sDL_GetEnvironmentVariable', 'sDL_GetEnvironmentVariables', 'sDL_SetEnvironmentVariable', 'sDL_UnsetEnvironmentVariable'
 --
---     [C declaration]: @SDL_UnsetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1780:34@
+--     [C declaration]: @SDL_UnsetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1781:34@
 sDL_UnsetEnvironmentVariable
   :: BG.Ptr SDL_Environment
   -- ^
@@ -1797,7 +1797,7 @@
 --
 --     [See also]: 'sDL_CreateEnvironment'
 --
---     [C declaration]: @SDL_DestroyEnvironment@, defined at @SDL3\/SDL_stdinc.h 1794:34@
+--     [C declaration]: @SDL_DestroyEnvironment@, defined at @SDL3\/SDL_stdinc.h 1795:34@
 sDL_DestroyEnvironment
   :: BG.Ptr SDL_Environment
   -- ^
@@ -1821,6 +1821,8 @@
 
 -- | Get the value of a variable in the environment.
 --
+--     The name of the variable is case sensitive on all platforms.
+--
 --     This function uses SDL\'s cached copy of the environment and is thread-safe.
 --
 --     [Returns]: a pointer to the value of the variable or NULL if it can\'t be found.
@@ -1829,7 +1831,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_getenv@, defined at @SDL3\/SDL_stdinc.h 1809:42@
+--     [C declaration]: @SDL_getenv@, defined at @SDL3\/SDL_stdinc.h 1812:42@
 sDL_getenv
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -1855,6 +1857,8 @@
 --
 --     This function bypasses SDL\'s cached copy of the environment and is not thread-safe.
 --
+--     On some platforms, this may make case-insensitive matches, while other platforms are case-sensitive. It is best to be precise with strings used for queries through this interface. SDL_getenv is always case-sensitive, however.
+--
 --     [Returns]: a pointer to the value of the variable or NULL if it can\'t be found.
 --
 --     [Thread safety]: This function is not thread safe, consider using @SDL_getenv()@ instead.
@@ -1863,7 +1867,7 @@
 --
 --     [See also]: 'sDL_getenv'
 --
---     [C declaration]: @SDL_getenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1828:42@
+--     [C declaration]: @SDL_getenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1836:42@
 sDL_getenv_unsafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -1899,7 +1903,7 @@
 --
 --     [See also]: 'sDL_SetEnvironmentVariable'
 --
---     [C declaration]: @SDL_setenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1846:33@
+--     [C declaration]: @SDL_setenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1854:33@
 sDL_setenv_unsafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -1939,7 +1943,7 @@
 --
 --     [See also]: 'sDL_UnsetEnvironmentVariable'
 --
---     [C declaration]: @SDL_unsetenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1861:33@
+--     [C declaration]: @SDL_unsetenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1869:33@
 sDL_unsetenv_unsafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -2004,7 +2008,7 @@
 --
 --     [See also]: 'sDL_bsearch', 'sDL_qsort_r'
 --
---     [C declaration]: @SDL_qsort@, defined at @SDL3\/SDL_stdinc.h 1923:34@
+--     [C declaration]: @SDL_qsort@, defined at @SDL3\/SDL_stdinc.h 1931:34@
 sDL_qsort
   :: BG.Ptr BG.Void
   -- ^
@@ -2086,7 +2090,7 @@
 --
 --     [See also]: 'sDL_bsearch_r', 'sDL_qsort'
 --
---     [C declaration]: @SDL_bsearch@, defined at @SDL3\/SDL_stdinc.h 1973:36@
+--     [C declaration]: @SDL_bsearch@, defined at @SDL3\/SDL_stdinc.h 1981:36@
 sDL_bsearch
   :: PtrConst.PtrConst BG.Void
   -- ^
@@ -2175,7 +2179,7 @@
 --
 --     [See also]: 'sDL_bsearch_r', 'sDL_qsort'
 --
---     [C declaration]: @SDL_qsort_r@, defined at @SDL3\/SDL_stdinc.h 2043:34@
+--     [C declaration]: @SDL_qsort_r@, defined at @SDL3\/SDL_stdinc.h 2051:34@
 sDL_qsort_r
   :: BG.Ptr BG.Void
   -- ^
@@ -2269,7 +2273,7 @@
 --
 --     [See also]: 'sDL_bsearch', 'sDL_qsort_r'
 --
---     [C declaration]: @SDL_bsearch_r@, defined at @SDL3\/SDL_stdinc.h 2101:36@
+--     [C declaration]: @SDL_bsearch_r@, defined at @SDL3\/SDL_stdinc.h 2109:36@
 sDL_bsearch_r
   :: PtrConst.PtrConst BG.Void
   -- ^
@@ -2319,7 +2323,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_abs@, defined at @SDL3\/SDL_stdinc.h 2113:33@
+--     [C declaration]: @SDL_abs@, defined at @SDL3\/SDL_stdinc.h 2121:33@
 sDL_abs
   :: BG.CInt
   -- ^
@@ -2351,7 +2355,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isalpha@, defined at @SDL3\/SDL_stdinc.h 2188:33@
+--     [C declaration]: @SDL_isalpha@, defined at @SDL3\/SDL_stdinc.h 2196:33@
 sDL_isalpha
   :: BG.CInt
   -- ^
@@ -2383,7 +2387,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isalnum@, defined at @SDL3\/SDL_stdinc.h 2203:33@
+--     [C declaration]: @SDL_isalnum@, defined at @SDL3\/SDL_stdinc.h 2211:33@
 sDL_isalnum
   :: BG.CInt
   -- ^
@@ -2415,7 +2419,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isblank@, defined at @SDL3\/SDL_stdinc.h 2218:33@
+--     [C declaration]: @SDL_isblank@, defined at @SDL3\/SDL_stdinc.h 2226:33@
 sDL_isblank
   :: BG.CInt
   -- ^
@@ -2447,7 +2451,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_iscntrl@, defined at @SDL3\/SDL_stdinc.h 2233:33@
+--     [C declaration]: @SDL_iscntrl@, defined at @SDL3\/SDL_stdinc.h 2241:33@
 sDL_iscntrl
   :: BG.CInt
   -- ^
@@ -2479,7 +2483,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isdigit@, defined at @SDL3\/SDL_stdinc.h 2248:33@
+--     [C declaration]: @SDL_isdigit@, defined at @SDL3\/SDL_stdinc.h 2256:33@
 sDL_isdigit
   :: BG.CInt
   -- ^
@@ -2511,7 +2515,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isxdigit@, defined at @SDL3\/SDL_stdinc.h 2263:33@
+--     [C declaration]: @SDL_isxdigit@, defined at @SDL3\/SDL_stdinc.h 2271:33@
 sDL_isxdigit
   :: BG.CInt
   -- ^
@@ -2545,7 +2549,7 @@
 --
 --     [See also]: 'sDL_isgraph', 'sDL_isalnum'
 --
---     [C declaration]: @SDL_ispunct@, defined at @SDL3\/SDL_stdinc.h 2281:33@
+--     [C declaration]: @SDL_ispunct@, defined at @SDL3\/SDL_stdinc.h 2289:33@
 sDL_ispunct
   :: BG.CInt
   -- ^
@@ -2589,7 +2593,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isspace@, defined at @SDL3\/SDL_stdinc.h 2303:33@
+--     [C declaration]: @SDL_isspace@, defined at @SDL3\/SDL_stdinc.h 2311:33@
 sDL_isspace
   :: BG.CInt
   -- ^
@@ -2621,7 +2625,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isupper@, defined at @SDL3\/SDL_stdinc.h 2318:33@
+--     [C declaration]: @SDL_isupper@, defined at @SDL3\/SDL_stdinc.h 2326:33@
 sDL_isupper
   :: BG.CInt
   -- ^
@@ -2653,7 +2657,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_islower@, defined at @SDL3\/SDL_stdinc.h 2333:33@
+--     [C declaration]: @SDL_islower@, defined at @SDL3\/SDL_stdinc.h 2341:33@
 sDL_islower
   :: BG.CInt
   -- ^
@@ -2687,7 +2691,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isprint@, defined at @SDL3\/SDL_stdinc.h 2352:33@
+--     [C declaration]: @SDL_isprint@, defined at @SDL3\/SDL_stdinc.h 2360:33@
 sDL_isprint
   :: BG.CInt
   -- ^
@@ -2723,7 +2727,7 @@
 --
 --     [See also]: 'sDL_isprint'
 --
---     [C declaration]: @SDL_isgraph@, defined at @SDL3\/SDL_stdinc.h 2373:33@
+--     [C declaration]: @SDL_isgraph@, defined at @SDL3\/SDL_stdinc.h 2381:33@
 sDL_isgraph
   :: BG.CInt
   -- ^
@@ -2757,7 +2761,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_toupper@, defined at @SDL3\/SDL_stdinc.h 2391:33@
+--     [C declaration]: @SDL_toupper@, defined at @SDL3\/SDL_stdinc.h 2399:33@
 sDL_toupper
   :: BG.CInt
   -- ^
@@ -2791,7 +2795,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_tolower@, defined at @SDL3\/SDL_stdinc.h 2409:33@
+--     [C declaration]: @SDL_tolower@, defined at @SDL3\/SDL_stdinc.h 2417:33@
 sDL_tolower
   :: BG.CInt
   -- ^
@@ -2829,7 +2833,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_crc16@, defined at @SDL3\/SDL_stdinc.h 2430:36@
+--     [C declaration]: @SDL_crc16@, defined at @SDL3\/SDL_stdinc.h 2438:36@
 sDL_crc16
   :: Uint16
   -- ^
@@ -2875,7 +2879,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_crc32@, defined at @SDL3\/SDL_stdinc.h 2451:36@
+--     [C declaration]: @SDL_crc32@, defined at @SDL3\/SDL_stdinc.h 2459:36@
 sDL_crc32
   :: Uint32
   -- ^
@@ -2923,7 +2927,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_murmur3_32@, defined at @SDL3\/SDL_stdinc.h 2477:36@
+--     [C declaration]: @SDL_murmur3_32@, defined at @SDL3\/SDL_stdinc.h 2485:36@
 sDL_murmur3_32
   :: PtrConst.PtrConst BG.Void
   -- ^
@@ -2969,7 +2973,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_memset4@, defined at @SDL3\/SDL_stdinc.h 2601:36@
+--     [C declaration]: @SDL_memset4@, defined at @SDL3\/SDL_stdinc.h 2609:36@
 sDL_memset4
   :: BG.Ptr BG.Void
   -- ^
@@ -3011,7 +3015,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_memcmp@, defined at @SDL3\/SDL_stdinc.h 2683:33@
+--     [C declaration]: @SDL_memcmp@, defined at @SDL3\/SDL_stdinc.h 2691:33@
 sDL_memcmp
   :: PtrConst.PtrConst BG.Void
   -- ^
@@ -3057,7 +3061,7 @@
 --
 --     [See also]: 'sDL_wcsnlen', 'sDL_utf8strlen', 'sDL_utf8strnlen'
 --
---     [C declaration]: @SDL_wcslen@, defined at @SDL3\/SDL_stdinc.h 2710:36@
+--     [C declaration]: @SDL_wcslen@, defined at @SDL3\/SDL_stdinc.h 2718:36@
 sDL_wcslen
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3099,7 +3103,7 @@
 --
 --     [See also]: 'sDL_wcslen', 'sDL_utf8strlen', 'sDL_utf8strnlen'
 --
---     [C declaration]: @SDL_wcsnlen@, defined at @SDL3\/SDL_stdinc.h 2741:36@
+--     [C declaration]: @SDL_wcsnlen@, defined at @SDL3\/SDL_stdinc.h 2749:36@
 sDL_wcsnlen
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3145,7 +3149,7 @@
 --
 --     [See also]: 'sDL_wcslcat'
 --
---     [C declaration]: @SDL_wcslcpy@, defined at @SDL3\/SDL_stdinc.h 2768:36@
+--     [C declaration]: @SDL_wcslcpy@, defined at @SDL3\/SDL_stdinc.h 2776:36@
 sDL_wcslcpy
   :: BG.Ptr HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3195,7 +3199,7 @@
 --
 --     [See also]: 'sDL_wcslcpy'
 --
---     [C declaration]: @SDL_wcslcat@, defined at @SDL3\/SDL_stdinc.h 2797:36@
+--     [C declaration]: @SDL_wcslcat@, defined at @SDL3\/SDL_stdinc.h 2805:36@
 sDL_wcslcat
   :: BG.Ptr HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3237,7 +3241,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_wcsdup@, defined at @SDL3\/SDL_stdinc.h 2815:39@
+--     [C declaration]: @SDL_wcsdup@, defined at @SDL3\/SDL_stdinc.h 2823:39@
 sDL_wcsdup
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3273,7 +3277,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_wcsstr@, defined at @SDL3\/SDL_stdinc.h 2835:39@
+--     [C declaration]: @SDL_wcsstr@, defined at @SDL3\/SDL_stdinc.h 2843:39@
 sDL_wcsstr
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3315,7 +3319,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_wcsnstr@, defined at @SDL3\/SDL_stdinc.h 2860:39@
+--     [C declaration]: @SDL_wcsnstr@, defined at @SDL3\/SDL_stdinc.h 2868:39@
 sDL_wcsnstr
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3357,7 +3361,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_wcscmp@, defined at @SDL3\/SDL_stdinc.h 2879:33@
+--     [C declaration]: @SDL_wcscmp@, defined at @SDL3\/SDL_stdinc.h 2887:33@
 sDL_wcscmp
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3401,7 +3405,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_wcsncmp@, defined at @SDL3\/SDL_stdinc.h 2910:33@
+--     [C declaration]: @SDL_wcsncmp@, defined at @SDL3\/SDL_stdinc.h 2918:33@
 sDL_wcsncmp
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3445,7 +3449,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_wcscasecmp@, defined at @SDL3\/SDL_stdinc.h 2940:33@
+--     [C declaration]: @SDL_wcscasecmp@, defined at @SDL3\/SDL_stdinc.h 2948:33@
 sDL_wcscasecmp
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3491,7 +3495,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_wcsncasecmp@, defined at @SDL3\/SDL_stdinc.h 2982:33@
+--     [C declaration]: @SDL_wcsncasecmp@, defined at @SDL3\/SDL_stdinc.h 2990:33@
 sDL_wcsncasecmp
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3535,7 +3539,7 @@
 --
 --     [See also]: 'sDL_strnlen', 'sDL_utf8strlen', 'sDL_utf8strnlen'
 --
---     [C declaration]: @SDL_strlen@, defined at @SDL3\/SDL_stdinc.h 3029:36@
+--     [C declaration]: @SDL_strlen@, defined at @SDL3\/SDL_stdinc.h 3037:36@
 sDL_strlen
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3573,7 +3577,7 @@
 --
 --     [See also]: 'sDL_strlen', 'sDL_utf8strlen', 'sDL_utf8strnlen'
 --
---     [C declaration]: @SDL_strnlen@, defined at @SDL3\/SDL_stdinc.h 3053:36@
+--     [C declaration]: @SDL_strnlen@, defined at @SDL3\/SDL_stdinc.h 3061:36@
 sDL_strnlen
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3619,7 +3623,7 @@
 --
 --     [See also]: 'sDL_strlcat', 'sDL_utf8strlcpy'
 --
---     [C declaration]: @SDL_strlcpy@, defined at @SDL3\/SDL_stdinc.h 3082:36@
+--     [C declaration]: @SDL_strlcpy@, defined at @SDL3\/SDL_stdinc.h 3090:36@
 sDL_strlcpy
   :: BG.Ptr BG.CChar
   -- ^
@@ -3669,7 +3673,7 @@
 --
 --     [See also]: 'sDL_strlcpy'
 --
---     [C declaration]: @SDL_utf8strlcpy@, defined at @SDL3\/SDL_stdinc.h 3110:36@
+--     [C declaration]: @SDL_utf8strlcpy@, defined at @SDL3\/SDL_stdinc.h 3118:36@
 sDL_utf8strlcpy
   :: BG.Ptr BG.CChar
   -- ^
@@ -3719,7 +3723,7 @@
 --
 --     [See also]: 'sDL_strlcpy'
 --
---     [C declaration]: @SDL_strlcat@, defined at @SDL3\/SDL_stdinc.h 3138:36@
+--     [C declaration]: @SDL_strlcat@, defined at @SDL3\/SDL_stdinc.h 3146:36@
 sDL_strlcat
   :: BG.Ptr BG.CChar
   -- ^
@@ -3761,7 +3765,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strdup@, defined at @SDL3\/SDL_stdinc.h 3156:47@
+--     [C declaration]: @SDL_strdup@, defined at @SDL3\/SDL_stdinc.h 3164:47@
 sDL_strdup
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3799,7 +3803,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strndup@, defined at @SDL3\/SDL_stdinc.h 3181:47@
+--     [C declaration]: @SDL_strndup@, defined at @SDL3\/SDL_stdinc.h 3189:47@
 sDL_strndup
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3837,7 +3841,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strrev@, defined at @SDL3\/SDL_stdinc.h 3202:36@
+--     [C declaration]: @SDL_strrev@, defined at @SDL3\/SDL_stdinc.h 3210:36@
 sDL_strrev
   :: BG.Ptr BG.CChar
   -- ^
@@ -3873,7 +3877,7 @@
 --
 --     [See also]: 'sDL_strlwr'
 --
---     [C declaration]: @SDL_strupr@, defined at @SDL3\/SDL_stdinc.h 3223:36@
+--     [C declaration]: @SDL_strupr@, defined at @SDL3\/SDL_stdinc.h 3231:36@
 sDL_strupr
   :: BG.Ptr BG.CChar
   -- ^
@@ -3909,7 +3913,7 @@
 --
 --     [See also]: 'sDL_strupr'
 --
---     [C declaration]: @SDL_strlwr@, defined at @SDL3\/SDL_stdinc.h 3244:36@
+--     [C declaration]: @SDL_strlwr@, defined at @SDL3\/SDL_stdinc.h 3252:36@
 sDL_strlwr
   :: BG.Ptr BG.CChar
   -- ^
@@ -3945,7 +3949,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strchr@, defined at @SDL3\/SDL_stdinc.h 3264:36@
+--     [C declaration]: @SDL_strchr@, defined at @SDL3\/SDL_stdinc.h 3272:36@
 sDL_strchr
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3985,7 +3989,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strrchr@, defined at @SDL3\/SDL_stdinc.h 3283:36@
+--     [C declaration]: @SDL_strrchr@, defined at @SDL3\/SDL_stdinc.h 3291:36@
 sDL_strrchr
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4025,7 +4029,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strstr@, defined at @SDL3\/SDL_stdinc.h 3303:36@
+--     [C declaration]: @SDL_strstr@, defined at @SDL3\/SDL_stdinc.h 3311:36@
 sDL_strstr
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4067,7 +4071,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strnstr@, defined at @SDL3\/SDL_stdinc.h 3326:36@
+--     [C declaration]: @SDL_strnstr@, defined at @SDL3\/SDL_stdinc.h 3334:36@
 sDL_strnstr
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4111,7 +4115,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strcasestr@, defined at @SDL3\/SDL_stdinc.h 3354:36@
+--     [C declaration]: @SDL_strcasestr@, defined at @SDL3\/SDL_stdinc.h 3362:36@
 sDL_strcasestr
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4157,7 +4161,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strtok_r@, defined at @SDL3\/SDL_stdinc.h 3383:36@
+--     [C declaration]: @SDL_strtok_r@, defined at @SDL3\/SDL_stdinc.h 3391:36@
 sDL_strtok_r
   :: BG.Ptr BG.CChar
   -- ^
@@ -4203,7 +4207,7 @@
 --
 --     [See also]: 'sDL_utf8strnlen', 'sDL_strlen'
 --
---     [C declaration]: @SDL_utf8strlen@, defined at @SDL3\/SDL_stdinc.h 3411:36@
+--     [C declaration]: @SDL_utf8strlen@, defined at @SDL3\/SDL_stdinc.h 3419:36@
 sDL_utf8strlen
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4245,7 +4249,7 @@
 --
 --     [See also]: 'sDL_utf8strlen', 'sDL_strnlen'
 --
---     [C declaration]: @SDL_utf8strnlen@, defined at @SDL3\/SDL_stdinc.h 3444:36@
+--     [C declaration]: @SDL_utf8strnlen@, defined at @SDL3\/SDL_stdinc.h 3452:36@
 sDL_utf8strnlen
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4289,7 +4293,7 @@
 --
 --     [See also]: 'sDL_uitoa', @SDL_ltoa@, 'sDL_lltoa'
 --
---     [C declaration]: @SDL_itoa@, defined at @SDL3\/SDL_stdinc.h 3472:36@
+--     [C declaration]: @SDL_itoa@, defined at @SDL3\/SDL_stdinc.h 3480:36@
 sDL_itoa
   :: BG.CInt
   -- ^
@@ -4337,7 +4341,7 @@
 --
 --     [See also]: 'sDL_itoa', @SDL_ultoa@, 'sDL_ulltoa'
 --
---     [C declaration]: @SDL_uitoa@, defined at @SDL3\/SDL_stdinc.h 3500:36@
+--     [C declaration]: @SDL_uitoa@, defined at @SDL3\/SDL_stdinc.h 3508:36@
 sDL_uitoa
   :: BG.CUInt
   -- ^
@@ -4385,7 +4389,7 @@
 --
 --     [See also]: 'sDL_ulltoa', 'sDL_itoa', @SDL_ltoa@
 --
---     [C declaration]: @SDL_lltoa@, defined at @SDL3\/SDL_stdinc.h 3586:36@
+--     [C declaration]: @SDL_lltoa@, defined at @SDL3\/SDL_stdinc.h 3594:36@
 sDL_lltoa
   :: BG.CLLong
   -- ^
@@ -4433,7 +4437,7 @@
 --
 --     [See also]: 'sDL_lltoa', 'sDL_uitoa', @SDL_ultoa@
 --
---     [C declaration]: @SDL_ulltoa@, defined at @SDL3\/SDL_stdinc.h 3614:36@
+--     [C declaration]: @SDL_ulltoa@, defined at @SDL3\/SDL_stdinc.h 3622:36@
 sDL_ulltoa
   :: BG.CULLong
   -- ^
@@ -4475,7 +4479,7 @@
 --
 --     [See also]: 'sDL_atof', @SDL_strtol@, @SDL_strtoul@, 'sDL_strtoll', 'sDL_strtoull', 'sDL_strtod', 'sDL_itoa'
 --
---     [C declaration]: @SDL_atoi@, defined at @SDL3\/SDL_stdinc.h 3638:33@
+--     [C declaration]: @SDL_atoi@, defined at @SDL3\/SDL_stdinc.h 3646:33@
 sDL_atoi
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4509,7 +4513,7 @@
 --
 --     [See also]: 'sDL_atoi', @SDL_strtol@, @SDL_strtoul@, 'sDL_strtoll', 'sDL_strtoull', 'sDL_strtod'
 --
---     [C declaration]: @SDL_atof@, defined at @SDL3\/SDL_stdinc.h 3660:36@
+--     [C declaration]: @SDL_atof@, defined at @SDL3\/SDL_stdinc.h 3668:36@
 sDL_atof
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4549,7 +4553,7 @@
 --
 --     [See also]: 'sDL_atoi', 'sDL_atof', @SDL_strtol@, @SDL_strtoul@, 'sDL_strtoull', 'sDL_strtod', 'sDL_lltoa'
 --
---     [C declaration]: @SDL_strtoll@, defined at @SDL3\/SDL_stdinc.h 3762:39@
+--     [C declaration]: @SDL_strtoll@, defined at @SDL3\/SDL_stdinc.h 3770:39@
 sDL_strtoll
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4597,7 +4601,7 @@
 --
 --     [See also]: 'sDL_atoi', 'sDL_atof', @SDL_strtol@, 'sDL_strtoll', @SDL_strtoul@, 'sDL_strtod', 'sDL_ulltoa'
 --
---     [C declaration]: @SDL_strtoull@, defined at @SDL3\/SDL_stdinc.h 3796:48@
+--     [C declaration]: @SDL_strtoull@, defined at @SDL3\/SDL_stdinc.h 3804:48@
 sDL_strtoull
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4647,7 +4651,7 @@
 --
 --     [See also]: 'sDL_atoi', 'sDL_atof', @SDL_strtol@, 'sDL_strtoll', @SDL_strtoul@, 'sDL_strtoull'
 --
---     [C declaration]: @SDL_strtod@, defined at @SDL3\/SDL_stdinc.h 3826:36@
+--     [C declaration]: @SDL_strtod@, defined at @SDL3\/SDL_stdinc.h 3834:36@
 sDL_strtod
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4685,7 +4689,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strcmp@, defined at @SDL3\/SDL_stdinc.h 3846:33@
+--     [C declaration]: @SDL_strcmp@, defined at @SDL3\/SDL_stdinc.h 3854:33@
 sDL_strcmp
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4729,7 +4733,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strncmp@, defined at @SDL3\/SDL_stdinc.h 3876:33@
+--     [C declaration]: @SDL_strncmp@, defined at @SDL3\/SDL_stdinc.h 3884:33@
 sDL_strncmp
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4773,7 +4777,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strcasecmp@, defined at @SDL3\/SDL_stdinc.h 3904:33@
+--     [C declaration]: @SDL_strcasecmp@, defined at @SDL3\/SDL_stdinc.h 3912:33@
 sDL_strcasecmp
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4819,7 +4823,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strncasecmp@, defined at @SDL3\/SDL_stdinc.h 3944:33@
+--     [C declaration]: @SDL_strncasecmp@, defined at @SDL3\/SDL_stdinc.h 3952:33@
 sDL_strncasecmp
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4859,7 +4863,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strpbrk@, defined at @SDL3\/SDL_stdinc.h 3962:36@
+--     [C declaration]: @SDL_strpbrk@, defined at @SDL3\/SDL_stdinc.h 3970:36@
 sDL_strpbrk
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4911,7 +4915,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_StepUTF8@, defined at @SDL3\/SDL_stdinc.h 4022:36@
+--     [C declaration]: @SDL_StepUTF8@, defined at @SDL3\/SDL_stdinc.h 4030:36@
 sDL_StepUTF8
   :: BG.Ptr (PtrConst.PtrConst BG.CChar)
   -- ^
@@ -4957,7 +4961,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_StepBackUTF8@, defined at @SDL3\/SDL_stdinc.h 4053:36@
+--     [C declaration]: @SDL_StepBackUTF8@, defined at @SDL3\/SDL_stdinc.h 4061:36@
 sDL_StepBackUTF8
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -5001,7 +5005,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_UCS4ToUTF8@, defined at @SDL3\/SDL_stdinc.h 4082:36@
+--     [C declaration]: @SDL_UCS4ToUTF8@, defined at @SDL3\/SDL_stdinc.h 4090:36@
 sDL_UCS4ToUTF8
   :: Uint32
   -- ^
@@ -5037,7 +5041,7 @@
 --
 --     [See also]: 'sDL_rand', 'sDL_rand_bits', 'sDL_randf'
 --
---     [C declaration]: @SDL_srand@, defined at @SDL3\/SDL_stdinc.h 4294:34@
+--     [C declaration]: @SDL_srand@, defined at @SDL3\/SDL_stdinc.h 4302:34@
 sDL_srand
   :: Uint64
   -- ^
@@ -5079,7 +5083,7 @@
 --
 --     [See also]: 'sDL_srand', 'sDL_randf'
 --
---     [C declaration]: @SDL_rand@, defined at @SDL3\/SDL_stdinc.h 4328:36@
+--     [C declaration]: @SDL_rand@, defined at @SDL3\/SDL_stdinc.h 4336:36@
 sDL_rand
   :: Sint32
   -- ^
@@ -5112,7 +5116,7 @@
 --
 --     [See also]: 'sDL_srand', 'sDL_rand'
 --
---     [C declaration]: @SDL_randf@, defined at @SDL3\/SDL_stdinc.h 4351:35@
+--     [C declaration]: @SDL_randf@, defined at @SDL3\/SDL_stdinc.h 4359:35@
 sDL_randf :: IO BG.CFloat
 sDL_randf = hs_bindgen_91fe5edd016e0570
 
@@ -5140,7 +5144,7 @@
 --
 --     [See also]: 'sDL_rand', 'sDL_randf', 'sDL_srand'
 --
---     [C declaration]: @SDL_rand_bits@, defined at @SDL3\/SDL_stdinc.h 4374:36@
+--     [C declaration]: @SDL_rand_bits@, defined at @SDL3\/SDL_stdinc.h 4382:36@
 sDL_rand_bits :: IO Uint32
 sDL_rand_bits = hs_bindgen_5d81c1c12775308d
 
@@ -5177,7 +5181,7 @@
 --
 --     [See also]: 'sDL_rand', 'sDL_rand_bits_r', 'sDL_randf_r'
 --
---     [C declaration]: @SDL_rand_r@, defined at @SDL3\/SDL_stdinc.h 4409:36@
+--     [C declaration]: @SDL_rand_r@, defined at @SDL3\/SDL_stdinc.h 4417:36@
 sDL_rand_r
   :: BG.Ptr Uint64
   -- ^
@@ -5217,7 +5221,7 @@
 --
 --     [See also]: 'sDL_rand_bits_r', 'sDL_rand_r', 'sDL_randf'
 --
---     [C declaration]: @SDL_randf_r@, defined at @SDL3\/SDL_stdinc.h 4436:35@
+--     [C declaration]: @SDL_randf_r@, defined at @SDL3\/SDL_stdinc.h 4444:35@
 sDL_randf_r
   :: BG.Ptr Uint64
   -- ^
@@ -5253,7 +5257,7 @@
 --
 --     [See also]: 'sDL_rand_r', 'sDL_randf_r'
 --
---     [C declaration]: @SDL_rand_bits_r@, defined at @SDL3\/SDL_stdinc.h 4461:36@
+--     [C declaration]: @SDL_rand_bits_r@, defined at @SDL3\/SDL_stdinc.h 4469:36@
 sDL_rand_bits_r
   :: BG.Ptr Uint64
   -- ^
@@ -5295,7 +5299,7 @@
 --
 --     [See also]: 'sDL_acosf', 'sDL_asin', 'sDL_cos'
 --
---     [C declaration]: @SDL_acos@, defined at @SDL3\/SDL_stdinc.h 4515:36@
+--     [C declaration]: @SDL_acos@, defined at @SDL3\/SDL_stdinc.h 4523:36@
 sDL_acos
   :: BG.CDouble
   -- ^
@@ -5337,7 +5341,7 @@
 --
 --     [See also]: 'sDL_acos', 'sDL_asinf', 'sDL_cosf'
 --
---     [C declaration]: @SDL_acosf@, defined at @SDL3\/SDL_stdinc.h 4545:35@
+--     [C declaration]: @SDL_acosf@, defined at @SDL3\/SDL_stdinc.h 4553:35@
 sDL_acosf
   :: BG.CFloat
   -- ^
@@ -5379,7 +5383,7 @@
 --
 --     [See also]: 'sDL_asinf', 'sDL_acos', 'sDL_sin'
 --
---     [C declaration]: @SDL_asin@, defined at @SDL3\/SDL_stdinc.h 4575:36@
+--     [C declaration]: @SDL_asin@, defined at @SDL3\/SDL_stdinc.h 4583:36@
 sDL_asin
   :: BG.CDouble
   -- ^
@@ -5421,7 +5425,7 @@
 --
 --     [See also]: 'sDL_asin', 'sDL_acosf', 'sDL_sinf'
 --
---     [C declaration]: @SDL_asinf@, defined at @SDL3\/SDL_stdinc.h 4605:35@
+--     [C declaration]: @SDL_asinf@, defined at @SDL3\/SDL_stdinc.h 4613:35@
 sDL_asinf
   :: BG.CFloat
   -- ^
@@ -5465,7 +5469,7 @@
 --
 --     [See also]: 'sDL_atanf', 'sDL_atan2', 'sDL_tan'
 --
---     [C declaration]: @SDL_atan@, defined at @SDL3\/SDL_stdinc.h 4637:36@
+--     [C declaration]: @SDL_atan@, defined at @SDL3\/SDL_stdinc.h 4645:36@
 sDL_atan
   :: BG.CDouble
   -- ^
@@ -5509,7 +5513,7 @@
 --
 --     [See also]: 'sDL_atan', 'sDL_atan2f', 'sDL_tanf'
 --
---     [C declaration]: @SDL_atanf@, defined at @SDL3\/SDL_stdinc.h 4669:35@
+--     [C declaration]: @SDL_atanf@, defined at @SDL3\/SDL_stdinc.h 4677:35@
 sDL_atanf
   :: BG.CFloat
   -- ^
@@ -5555,7 +5559,7 @@
 --
 --     [See also]: 'sDL_atan2f', 'sDL_atan', 'sDL_tan'
 --
---     [C declaration]: @SDL_atan2@, defined at @SDL3\/SDL_stdinc.h 4705:36@
+--     [C declaration]: @SDL_atan2@, defined at @SDL3\/SDL_stdinc.h 4713:36@
 sDL_atan2
   :: BG.CDouble
   -- ^
@@ -5605,7 +5609,7 @@
 --
 --     [See also]: 'sDL_atan2', 'sDL_atan', 'sDL_tan'
 --
---     [C declaration]: @SDL_atan2f@, defined at @SDL3\/SDL_stdinc.h 4741:35@
+--     [C declaration]: @SDL_atan2f@, defined at @SDL3\/SDL_stdinc.h 4749:35@
 sDL_atan2f
   :: BG.CFloat
   -- ^
@@ -5649,7 +5653,7 @@
 --
 --     [See also]: 'sDL_ceilf', 'sDL_floor', 'sDL_trunc', 'sDL_round', @SDL_lround@
 --
---     [C declaration]: @SDL_ceil@, defined at @SDL3\/SDL_stdinc.h 4769:36@
+--     [C declaration]: @SDL_ceil@, defined at @SDL3\/SDL_stdinc.h 4777:36@
 sDL_ceil
   :: BG.CDouble
   -- ^
@@ -5689,7 +5693,7 @@
 --
 --     [See also]: 'sDL_ceil', 'sDL_floorf', 'sDL_truncf', 'sDL_roundf', @SDL_lroundf@
 --
---     [C declaration]: @SDL_ceilf@, defined at @SDL3\/SDL_stdinc.h 4797:35@
+--     [C declaration]: @SDL_ceilf@, defined at @SDL3\/SDL_stdinc.h 4805:35@
 sDL_ceilf
   :: BG.CFloat
   -- ^
@@ -5731,7 +5735,7 @@
 --
 --     [See also]: 'sDL_copysignf', 'sDL_fabs'
 --
---     [C declaration]: @SDL_copysign@, defined at @SDL3\/SDL_stdinc.h 4823:36@
+--     [C declaration]: @SDL_copysign@, defined at @SDL3\/SDL_stdinc.h 4831:36@
 sDL_copysign
   :: BG.CDouble
   -- ^
@@ -5777,7 +5781,7 @@
 --
 --     [See also]: 'sDL_copysign', 'sDL_fabsf'
 --
---     [C declaration]: @SDL_copysignf@, defined at @SDL3\/SDL_stdinc.h 4849:35@
+--     [C declaration]: @SDL_copysignf@, defined at @SDL3\/SDL_stdinc.h 4857:35@
 sDL_copysignf
   :: BG.CFloat
   -- ^
@@ -5821,7 +5825,7 @@
 --
 --     [See also]: 'sDL_cosf', 'sDL_acos', 'sDL_sin'
 --
---     [C declaration]: @SDL_cos@, defined at @SDL3\/SDL_stdinc.h 4877:36@
+--     [C declaration]: @SDL_cos@, defined at @SDL3\/SDL_stdinc.h 4885:36@
 sDL_cos
   :: BG.CDouble
   -- ^
@@ -5861,7 +5865,7 @@
 --
 --     [See also]: 'sDL_cos', 'sDL_acosf', 'sDL_sinf'
 --
---     [C declaration]: @SDL_cosf@, defined at @SDL3\/SDL_stdinc.h 4905:35@
+--     [C declaration]: @SDL_cosf@, defined at @SDL3\/SDL_stdinc.h 4913:35@
 sDL_cosf
   :: BG.CFloat
   -- ^
@@ -5905,7 +5909,7 @@
 --
 --     [See also]: 'sDL_expf', 'sDL_log'
 --
---     [C declaration]: @SDL_exp@, defined at @SDL3\/SDL_stdinc.h 4937:36@
+--     [C declaration]: @SDL_exp@, defined at @SDL3\/SDL_stdinc.h 4945:36@
 sDL_exp
   :: BG.CDouble
   -- ^
@@ -5949,7 +5953,7 @@
 --
 --     [See also]: 'sDL_exp', 'sDL_logf'
 --
---     [C declaration]: @SDL_expf@, defined at @SDL3\/SDL_stdinc.h 4969:35@
+--     [C declaration]: @SDL_expf@, defined at @SDL3\/SDL_stdinc.h 4977:35@
 sDL_expf
   :: BG.CFloat
   -- ^
@@ -5987,7 +5991,7 @@
 --
 --     [See also]: 'sDL_fabsf'
 --
---     [C declaration]: @SDL_fabs@, defined at @SDL3\/SDL_stdinc.h 4990:36@
+--     [C declaration]: @SDL_fabs@, defined at @SDL3\/SDL_stdinc.h 4998:36@
 sDL_fabs
   :: BG.CDouble
   -- ^
@@ -6025,7 +6029,7 @@
 --
 --     [See also]: 'sDL_fabs'
 --
---     [C declaration]: @SDL_fabsf@, defined at @SDL3\/SDL_stdinc.h 5011:35@
+--     [C declaration]: @SDL_fabsf@, defined at @SDL3\/SDL_stdinc.h 5019:35@
 sDL_fabsf
   :: BG.CFloat
   -- ^
@@ -6065,7 +6069,7 @@
 --
 --     [See also]: 'sDL_floorf', 'sDL_ceil', 'sDL_trunc', 'sDL_round', @SDL_lround@
 --
---     [C declaration]: @SDL_floor@, defined at @SDL3\/SDL_stdinc.h 5039:36@
+--     [C declaration]: @SDL_floor@, defined at @SDL3\/SDL_stdinc.h 5047:36@
 sDL_floor
   :: BG.CDouble
   -- ^
@@ -6105,7 +6109,7 @@
 --
 --     [See also]: 'sDL_floor', 'sDL_ceilf', 'sDL_truncf', 'sDL_roundf', @SDL_lroundf@
 --
---     [C declaration]: @SDL_floorf@, defined at @SDL3\/SDL_stdinc.h 5067:35@
+--     [C declaration]: @SDL_floorf@, defined at @SDL3\/SDL_stdinc.h 5075:35@
 sDL_floorf
   :: BG.CFloat
   -- ^
@@ -6145,7 +6149,7 @@
 --
 --     [See also]: 'sDL_truncf', 'sDL_fmod', 'sDL_ceil', 'sDL_floor', 'sDL_round', @SDL_lround@
 --
---     [C declaration]: @SDL_trunc@, defined at @SDL3\/SDL_stdinc.h 5096:36@
+--     [C declaration]: @SDL_trunc@, defined at @SDL3\/SDL_stdinc.h 5104:36@
 sDL_trunc
   :: BG.CDouble
   -- ^
@@ -6185,7 +6189,7 @@
 --
 --     [See also]: 'sDL_trunc', 'sDL_fmodf', 'sDL_ceilf', 'sDL_floorf', 'sDL_roundf', @SDL_lroundf@
 --
---     [C declaration]: @SDL_truncf@, defined at @SDL3\/SDL_stdinc.h 5125:35@
+--     [C declaration]: @SDL_truncf@, defined at @SDL3\/SDL_stdinc.h 5133:35@
 sDL_truncf
   :: BG.CFloat
   -- ^
@@ -6227,7 +6231,7 @@
 --
 --     [See also]: 'sDL_fmodf', 'sDL_modf', 'sDL_trunc', 'sDL_ceil', 'sDL_floor', 'sDL_round', @SDL_lround@
 --
---     [C declaration]: @SDL_fmod@, defined at @SDL3\/SDL_stdinc.h 5155:36@
+--     [C declaration]: @SDL_fmod@, defined at @SDL3\/SDL_stdinc.h 5163:36@
 sDL_fmod
   :: BG.CDouble
   -- ^
@@ -6273,7 +6277,7 @@
 --
 --     [See also]: 'sDL_fmod', 'sDL_truncf', 'sDL_modff', 'sDL_ceilf', 'sDL_floorf', 'sDL_roundf', @SDL_lroundf@
 --
---     [C declaration]: @SDL_fmodf@, defined at @SDL3\/SDL_stdinc.h 5185:35@
+--     [C declaration]: @SDL_fmodf@, defined at @SDL3\/SDL_stdinc.h 5193:35@
 sDL_fmodf
   :: BG.CFloat
   -- ^
@@ -6309,7 +6313,7 @@
 --
 --     [See also]: 'sDL_isinff'
 --
---     [C declaration]: @SDL_isinf@, defined at @SDL3\/SDL_stdinc.h 5199:33@
+--     [C declaration]: @SDL_isinf@, defined at @SDL3\/SDL_stdinc.h 5207:33@
 sDL_isinf
   :: BG.CDouble
   -- ^
@@ -6341,7 +6345,7 @@
 --
 --     [See also]: 'sDL_isinf'
 --
---     [C declaration]: @SDL_isinff@, defined at @SDL3\/SDL_stdinc.h 5213:33@
+--     [C declaration]: @SDL_isinff@, defined at @SDL3\/SDL_stdinc.h 5221:33@
 sDL_isinff
   :: BG.CFloat
   -- ^
@@ -6373,7 +6377,7 @@
 --
 --     [See also]: 'sDL_isnanf'
 --
---     [C declaration]: @SDL_isnan@, defined at @SDL3\/SDL_stdinc.h 5227:33@
+--     [C declaration]: @SDL_isnan@, defined at @SDL3\/SDL_stdinc.h 5235:33@
 sDL_isnan
   :: BG.CDouble
   -- ^
@@ -6405,7 +6409,7 @@
 --
 --     [See also]: 'sDL_isnan'
 --
---     [C declaration]: @SDL_isnanf@, defined at @SDL3\/SDL_stdinc.h 5241:33@
+--     [C declaration]: @SDL_isnanf@, defined at @SDL3\/SDL_stdinc.h 5249:33@
 sDL_isnanf
   :: BG.CFloat
   -- ^
@@ -6447,7 +6451,7 @@
 --
 --     [See also]: 'sDL_logf', 'sDL_log10', 'sDL_exp'
 --
---     [C declaration]: @SDL_log@, defined at @SDL3\/SDL_stdinc.h 5271:36@
+--     [C declaration]: @SDL_log@, defined at @SDL3\/SDL_stdinc.h 5279:36@
 sDL_log
   :: BG.CDouble
   -- ^
@@ -6489,7 +6493,7 @@
 --
 --     [See also]: 'sDL_log', 'sDL_expf'
 --
---     [C declaration]: @SDL_logf@, defined at @SDL3\/SDL_stdinc.h 5300:35@
+--     [C declaration]: @SDL_logf@, defined at @SDL3\/SDL_stdinc.h 5308:35@
 sDL_logf
   :: BG.CFloat
   -- ^
@@ -6531,7 +6535,7 @@
 --
 --     [See also]: 'sDL_log10f', 'sDL_log', 'sDL_pow'
 --
---     [C declaration]: @SDL_log10@, defined at @SDL3\/SDL_stdinc.h 5330:36@
+--     [C declaration]: @SDL_log10@, defined at @SDL3\/SDL_stdinc.h 5338:36@
 sDL_log10
   :: BG.CDouble
   -- ^
@@ -6573,7 +6577,7 @@
 --
 --     [See also]: 'sDL_log10', 'sDL_logf', 'sDL_powf'
 --
---     [C declaration]: @SDL_log10f@, defined at @SDL3\/SDL_stdinc.h 5360:35@
+--     [C declaration]: @SDL_log10f@, defined at @SDL3\/SDL_stdinc.h 5368:35@
 sDL_log10f
   :: BG.CFloat
   -- ^
@@ -6609,7 +6613,7 @@
 --
 --     [See also]: 'sDL_modff', 'sDL_trunc', 'sDL_fmod'
 --
---     [C declaration]: @SDL_modf@, defined at @SDL3\/SDL_stdinc.h 5380:36@
+--     [C declaration]: @SDL_modf@, defined at @SDL3\/SDL_stdinc.h 5388:36@
 sDL_modf
   :: BG.CDouble
   -- ^
@@ -6649,7 +6653,7 @@
 --
 --     [See also]: 'sDL_modf', 'sDL_truncf', 'sDL_fmodf'
 --
---     [C declaration]: @SDL_modff@, defined at @SDL3\/SDL_stdinc.h 5400:35@
+--     [C declaration]: @SDL_modff@, defined at @SDL3\/SDL_stdinc.h 5408:35@
 sDL_modff
   :: BG.CFloat
   -- ^
@@ -6697,7 +6701,7 @@
 --
 --     [See also]: 'sDL_powf', 'sDL_exp', 'sDL_log'
 --
---     [C declaration]: @SDL_pow@, defined at @SDL3\/SDL_stdinc.h 5432:36@
+--     [C declaration]: @SDL_pow@, defined at @SDL3\/SDL_stdinc.h 5440:36@
 sDL_pow
   :: BG.CDouble
   -- ^
@@ -6745,7 +6749,7 @@
 --
 --     [See also]: 'sDL_pow', 'sDL_expf', 'sDL_logf'
 --
---     [C declaration]: @SDL_powf@, defined at @SDL3\/SDL_stdinc.h 5464:35@
+--     [C declaration]: @SDL_powf@, defined at @SDL3\/SDL_stdinc.h 5472:35@
 sDL_powf
   :: BG.CFloat
   -- ^
@@ -6789,7 +6793,7 @@
 --
 --     [See also]: 'sDL_roundf', @SDL_lround@, 'sDL_floor', 'sDL_ceil', 'sDL_trunc'
 --
---     [C declaration]: @SDL_round@, defined at @SDL3\/SDL_stdinc.h 5493:36@
+--     [C declaration]: @SDL_round@, defined at @SDL3\/SDL_stdinc.h 5501:36@
 sDL_round
   :: BG.CDouble
   -- ^
@@ -6829,7 +6833,7 @@
 --
 --     [See also]: 'sDL_round', @SDL_lroundf@, 'sDL_floorf', 'sDL_ceilf', 'sDL_truncf'
 --
---     [C declaration]: @SDL_roundf@, defined at @SDL3\/SDL_stdinc.h 5522:35@
+--     [C declaration]: @SDL_roundf@, defined at @SDL3\/SDL_stdinc.h 5530:35@
 sDL_roundf
   :: BG.CFloat
   -- ^
@@ -6871,7 +6875,7 @@
 --
 --     [See also]: 'sDL_scalbnf', 'sDL_pow'
 --
---     [C declaration]: @SDL_scalbn@, defined at @SDL3\/SDL_stdinc.h 5605:36@
+--     [C declaration]: @SDL_scalbn@, defined at @SDL3\/SDL_stdinc.h 5613:36@
 sDL_scalbn
   :: BG.CDouble
   -- ^
@@ -6917,7 +6921,7 @@
 --
 --     [See also]: 'sDL_scalbn', 'sDL_powf'
 --
---     [C declaration]: @SDL_scalbnf@, defined at @SDL3\/SDL_stdinc.h 5630:35@
+--     [C declaration]: @SDL_scalbnf@, defined at @SDL3\/SDL_stdinc.h 5638:35@
 sDL_scalbnf
   :: BG.CFloat
   -- ^
@@ -6961,7 +6965,7 @@
 --
 --     [See also]: 'sDL_sinf', 'sDL_asin', 'sDL_cos'
 --
---     [C declaration]: @SDL_sin@, defined at @SDL3\/SDL_stdinc.h 5658:36@
+--     [C declaration]: @SDL_sin@, defined at @SDL3\/SDL_stdinc.h 5666:36@
 sDL_sin
   :: BG.CDouble
   -- ^
@@ -7001,7 +7005,7 @@
 --
 --     [See also]: 'sDL_sin', 'sDL_asinf', 'sDL_cosf'
 --
---     [C declaration]: @SDL_sinf@, defined at @SDL3\/SDL_stdinc.h 5686:35@
+--     [C declaration]: @SDL_sinf@, defined at @SDL3\/SDL_stdinc.h 5694:35@
 sDL_sinf
   :: BG.CFloat
   -- ^
@@ -7041,7 +7045,7 @@
 --
 --     [See also]: 'sDL_sqrtf'
 --
---     [C declaration]: @SDL_sqrt@, defined at @SDL3\/SDL_stdinc.h 5712:36@
+--     [C declaration]: @SDL_sqrt@, defined at @SDL3\/SDL_stdinc.h 5720:36@
 sDL_sqrt
   :: BG.CDouble
   -- ^
@@ -7081,7 +7085,7 @@
 --
 --     [See also]: 'sDL_sqrt'
 --
---     [C declaration]: @SDL_sqrtf@, defined at @SDL3\/SDL_stdinc.h 5738:35@
+--     [C declaration]: @SDL_sqrtf@, defined at @SDL3\/SDL_stdinc.h 5746:35@
 sDL_sqrtf
   :: BG.CFloat
   -- ^
@@ -7121,7 +7125,7 @@
 --
 --     [See also]: 'sDL_tanf', 'sDL_sin', 'sDL_cos', 'sDL_atan', 'sDL_atan2'
 --
---     [C declaration]: @SDL_tan@, defined at @SDL3\/SDL_stdinc.h 5768:36@
+--     [C declaration]: @SDL_tan@, defined at @SDL3\/SDL_stdinc.h 5776:36@
 sDL_tan
   :: BG.CDouble
   -- ^
@@ -7161,7 +7165,7 @@
 --
 --     [See also]: 'sDL_tan', 'sDL_sinf', 'sDL_cosf', 'sDL_atanf', 'sDL_atan2f'
 --
---     [C declaration]: @SDL_tanf@, defined at @SDL3\/SDL_stdinc.h 5798:35@
+--     [C declaration]: @SDL_tanf@, defined at @SDL3\/SDL_stdinc.h 5806:35@
 sDL_tanf
   :: BG.CFloat
   -- ^
@@ -7195,7 +7199,7 @@
 --
 --     [See also]: 'sDL_iconv', 'sDL_iconv_close', 'sDL_iconv_string'
 --
---     [C declaration]: @SDL_iconv_open@, defined at @SDL3\/SDL_stdinc.h 5826:41@
+--     [C declaration]: @SDL_iconv_open@, defined at @SDL3\/SDL_stdinc.h 5834:41@
 sDL_iconv_open
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -7231,7 +7235,7 @@
 --
 --     [See also]: 'sDL_iconv', 'sDL_iconv_open', 'sDL_iconv_string'
 --
---     [C declaration]: @SDL_iconv_close@, defined at @SDL3\/SDL_stdinc.h 5843:33@
+--     [C declaration]: @SDL_iconv_close@, defined at @SDL3\/SDL_stdinc.h 5851:33@
 sDL_iconv_close
   :: SDL_iconv_t
   -- ^
@@ -7283,7 +7287,7 @@
 --
 --     [See also]: 'sDL_iconv_open', 'sDL_iconv_close', 'sDL_iconv_string'
 --
---     [C declaration]: @SDL_iconv@, defined at @SDL3\/SDL_stdinc.h 5883:36@
+--     [C declaration]: @SDL_iconv@, defined at @SDL3\/SDL_stdinc.h 5891:36@
 sDL_iconv
   :: SDL_iconv_t
   -- ^
@@ -7343,7 +7347,7 @@
 --
 --     [See also]: 'sDL_iconv_open', 'sDL_iconv_close', 'sDL_iconv'
 --
---     [C declaration]: @SDL_iconv_string@, defined at @SDL3\/SDL_stdinc.h 5920:36@
+--     [C declaration]: @SDL_iconv_string@, defined at @SDL3\/SDL_stdinc.h 5928:36@
 sDL_iconv_string
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -7381,7 +7385,7 @@
 hs_bindgen_cb7ffceaa134d628 =
   BG.fromFFIType hs_bindgen_cb7ffceaa134d628_base
 
--- | [C declaration]: @SDL_size_mul_check_overflow_builtin@, defined at @SDL3\/SDL_stdinc.h 6101:23@
+-- | [C declaration]: @SDL_size_mul_check_overflow_builtin@, defined at @SDL3\/SDL_stdinc.h 6109:23@
 sDL_size_mul_check_overflow_builtin
   :: HsBindgen.Runtime.LibC.CSize
   -- ^ [C declaration]: @a@
@@ -7410,7 +7414,7 @@
 hs_bindgen_ca88dcdcdddd2954 =
   BG.fromFFIType hs_bindgen_ca88dcdcdddd2954_base
 
--- | [C declaration]: @SDL_size_add_check_overflow_builtin@, defined at @SDL3\/SDL_stdinc.h 6139:23@
+-- | [C declaration]: @SDL_size_add_check_overflow_builtin@, defined at @SDL3\/SDL_stdinc.h 6147:23@
 sDL_size_add_check_overflow_builtin
   :: HsBindgen.Runtime.LibC.CSize
   -- ^ [C declaration]: @a@
diff --git a/src/SDL3/Sys/Bindgen/Stdinc/Unsafe.hs b/src/SDL3/Sys/Bindgen/Stdinc/Unsafe.hs
--- a/src/SDL3/Sys/Bindgen/Stdinc/Unsafe.hs
+++ b/src/SDL3/Sys/Bindgen/Stdinc/Unsafe.hs
@@ -1214,7 +1214,7 @@
 --
 --     [See also]: 'sDL_free', SDL_calloc, SDL_realloc, 'sDL_aligned_alloc'
 --
---     [C declaration]: @SDL_malloc@, defined at @SDL3\/SDL_stdinc.h 1341:47@
+--     [C declaration]: @SDL_malloc@, defined at @SDL3\/SDL_stdinc.h 1342:47@
 sDL_malloc
   :: HsBindgen.Runtime.LibC.CSize
   -- ^
@@ -1238,7 +1238,7 @@
 hs_bindgen_08746ff05ca3003c =
   BG.fromFFIType hs_bindgen_08746ff05ca3003c_base
 
--- | [C declaration]: @SDL_calloc@, defined at @SDL3\/SDL_stdinc.h 1366:69@
+-- | [C declaration]: @SDL_calloc@, defined at @SDL3\/SDL_stdinc.h 1367:69@
 sDL_calloc
   :: HsBindgen.Runtime.LibC.CSize
   -- ^ [C declaration]: @nmemb@
@@ -1262,7 +1262,7 @@
 hs_bindgen_0730e7e13356c626 =
   BG.fromFFIType hs_bindgen_0730e7e13356c626_base
 
--- | [C declaration]: @SDL_realloc@, defined at @SDL3\/SDL_stdinc.h 1406:54@
+-- | [C declaration]: @SDL_realloc@, defined at @SDL3\/SDL_stdinc.h 1407:54@
 sDL_realloc
   :: BG.Ptr BG.Void
   -- ^ [C declaration]: @mem@
@@ -1296,7 +1296,7 @@
 --
 --     [See also]: 'sDL_malloc', SDL_calloc, SDL_realloc
 --
---     [C declaration]: @SDL_free@, defined at @SDL3\/SDL_stdinc.h 1426:34@
+--     [C declaration]: @SDL_free@, defined at @SDL3\/SDL_stdinc.h 1427:34@
 sDL_free
   :: BG.Ptr BG.Void
   -- ^
@@ -1332,7 +1332,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetOriginalMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1524:34@
+--     [C declaration]: @SDL_GetOriginalMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1525:34@
 sDL_GetOriginalMemoryFunctions
   :: BG.Ptr SDL_malloc_func
   -- ^
@@ -1381,7 +1381,7 @@
 --
 --     [See also]: 'sDL_SetMemoryFunctions', 'sDL_GetOriginalMemoryFunctions'
 --
---     [C declaration]: @SDL_GetMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1546:34@
+--     [C declaration]: @SDL_GetMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1547:34@
 sDL_GetMemoryFunctions
   :: BG.Ptr SDL_malloc_func
   -- ^
@@ -1435,7 +1435,7 @@
 --
 --     [See also]: 'sDL_GetMemoryFunctions', 'sDL_GetOriginalMemoryFunctions'
 --
---     [C declaration]: @SDL_SetMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1577:34@
+--     [C declaration]: @SDL_SetMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1578:34@
 sDL_SetMemoryFunctions
   :: SDL_malloc_func
   -- ^
@@ -1487,7 +1487,7 @@
 --
 --     [See also]: 'sDL_aligned_free'
 --
---     [C declaration]: @SDL_aligned_alloc@, defined at @SDL3\/SDL_stdinc.h 1604:47@
+--     [C declaration]: @SDL_aligned_alloc@, defined at @SDL3\/SDL_stdinc.h 1605:47@
 sDL_aligned_alloc
   :: HsBindgen.Runtime.LibC.CSize
   -- ^
@@ -1525,7 +1525,7 @@
 --
 --     [See also]: 'sDL_aligned_alloc'
 --
---     [C declaration]: @SDL_aligned_free@, defined at @SDL3\/SDL_stdinc.h 1622:34@
+--     [C declaration]: @SDL_aligned_free@, defined at @SDL3\/SDL_stdinc.h 1623:34@
 sDL_aligned_free
   :: BG.Ptr BG.Void
   -- ^
@@ -1552,7 +1552,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_GetNumAllocations@, defined at @SDL3\/SDL_stdinc.h 1634:33@
+--     [C declaration]: @SDL_GetNumAllocations@, defined at @SDL3\/SDL_stdinc.h 1635:33@
 sDL_GetNumAllocations :: IO BG.CInt
 sDL_GetNumAllocations = hs_bindgen_4528828ea69b3f8b
 
@@ -1578,7 +1578,7 @@
 --
 --     [See also]: 'sDL_GetEnvironmentVariable', 'sDL_GetEnvironmentVariables', 'sDL_SetEnvironmentVariable', 'sDL_UnsetEnvironmentVariable'
 --
---     [C declaration]: @SDL_GetEnvironment@, defined at @SDL3\/SDL_stdinc.h 1672:47@
+--     [C declaration]: @SDL_GetEnvironment@, defined at @SDL3\/SDL_stdinc.h 1673:47@
 sDL_GetEnvironment :: IO (BG.Ptr SDL_Environment)
 sDL_GetEnvironment = hs_bindgen_e1f4a04ee814291a
 
@@ -1605,7 +1605,7 @@
 --
 --     [See also]: 'sDL_GetEnvironmentVariable', 'sDL_GetEnvironmentVariables', 'sDL_SetEnvironmentVariable', 'sDL_UnsetEnvironmentVariable', 'sDL_DestroyEnvironment'
 --
---     [C declaration]: @SDL_CreateEnvironment@, defined at @SDL3\/SDL_stdinc.h 1694:47@
+--     [C declaration]: @SDL_CreateEnvironment@, defined at @SDL3\/SDL_stdinc.h 1695:47@
 sDL_CreateEnvironment
   :: BG.CBool
   -- ^
@@ -1639,7 +1639,7 @@
 --
 --     [See also]: 'sDL_GetEnvironment', 'sDL_CreateEnvironment', 'sDL_GetEnvironmentVariables', 'sDL_SetEnvironmentVariable', 'sDL_UnsetEnvironmentVariable'
 --
---     [C declaration]: @SDL_GetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1714:42@
+--     [C declaration]: @SDL_GetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1715:42@
 sDL_GetEnvironmentVariable
   :: BG.Ptr SDL_Environment
   -- ^
@@ -1676,7 +1676,7 @@
 --
 --     [See also]: 'sDL_GetEnvironment', 'sDL_CreateEnvironment', 'sDL_GetEnvironmentVariables', 'sDL_SetEnvironmentVariable', 'sDL_UnsetEnvironmentVariable'
 --
---     [C declaration]: @SDL_GetEnvironmentVariables@, defined at @SDL3\/SDL_stdinc.h 1735:37@
+--     [C declaration]: @SDL_GetEnvironmentVariables@, defined at @SDL3\/SDL_stdinc.h 1736:37@
 sDL_GetEnvironmentVariables
   :: BG.Ptr SDL_Environment
   -- ^
@@ -1715,7 +1715,7 @@
 --
 --     [See also]: 'sDL_GetEnvironment', 'sDL_CreateEnvironment', 'sDL_GetEnvironmentVariable', 'sDL_GetEnvironmentVariables', 'sDL_UnsetEnvironmentVariable'
 --
---     [C declaration]: @SDL_SetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1759:34@
+--     [C declaration]: @SDL_SetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1760:34@
 sDL_SetEnvironmentVariable
   :: BG.Ptr SDL_Environment
   -- ^
@@ -1762,7 +1762,7 @@
 --
 --     [See also]: 'sDL_GetEnvironment', 'sDL_CreateEnvironment', 'sDL_GetEnvironmentVariable', 'sDL_GetEnvironmentVariables', 'sDL_SetEnvironmentVariable', 'sDL_UnsetEnvironmentVariable'
 --
---     [C declaration]: @SDL_UnsetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1780:34@
+--     [C declaration]: @SDL_UnsetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1781:34@
 sDL_UnsetEnvironmentVariable
   :: BG.Ptr SDL_Environment
   -- ^
@@ -1797,7 +1797,7 @@
 --
 --     [See also]: 'sDL_CreateEnvironment'
 --
---     [C declaration]: @SDL_DestroyEnvironment@, defined at @SDL3\/SDL_stdinc.h 1794:34@
+--     [C declaration]: @SDL_DestroyEnvironment@, defined at @SDL3\/SDL_stdinc.h 1795:34@
 sDL_DestroyEnvironment
   :: BG.Ptr SDL_Environment
   -- ^
@@ -1821,6 +1821,8 @@
 
 -- | Get the value of a variable in the environment.
 --
+--     The name of the variable is case sensitive on all platforms.
+--
 --     This function uses SDL\'s cached copy of the environment and is thread-safe.
 --
 --     [Returns]: a pointer to the value of the variable or NULL if it can\'t be found.
@@ -1829,7 +1831,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_getenv@, defined at @SDL3\/SDL_stdinc.h 1809:42@
+--     [C declaration]: @SDL_getenv@, defined at @SDL3\/SDL_stdinc.h 1812:42@
 sDL_getenv
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -1855,6 +1857,8 @@
 --
 --     This function bypasses SDL\'s cached copy of the environment and is not thread-safe.
 --
+--     On some platforms, this may make case-insensitive matches, while other platforms are case-sensitive. It is best to be precise with strings used for queries through this interface. SDL_getenv is always case-sensitive, however.
+--
 --     [Returns]: a pointer to the value of the variable or NULL if it can\'t be found.
 --
 --     [Thread safety]: This function is not thread safe, consider using @SDL_getenv()@ instead.
@@ -1863,7 +1867,7 @@
 --
 --     [See also]: 'sDL_getenv'
 --
---     [C declaration]: @SDL_getenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1828:42@
+--     [C declaration]: @SDL_getenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1836:42@
 sDL_getenv_unsafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -1899,7 +1903,7 @@
 --
 --     [See also]: 'sDL_SetEnvironmentVariable'
 --
---     [C declaration]: @SDL_setenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1846:33@
+--     [C declaration]: @SDL_setenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1854:33@
 sDL_setenv_unsafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -1939,7 +1943,7 @@
 --
 --     [See also]: 'sDL_UnsetEnvironmentVariable'
 --
---     [C declaration]: @SDL_unsetenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1861:33@
+--     [C declaration]: @SDL_unsetenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1869:33@
 sDL_unsetenv_unsafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -2004,7 +2008,7 @@
 --
 --     [See also]: 'sDL_bsearch', 'sDL_qsort_r'
 --
---     [C declaration]: @SDL_qsort@, defined at @SDL3\/SDL_stdinc.h 1923:34@
+--     [C declaration]: @SDL_qsort@, defined at @SDL3\/SDL_stdinc.h 1931:34@
 sDL_qsort
   :: BG.Ptr BG.Void
   -- ^
@@ -2086,7 +2090,7 @@
 --
 --     [See also]: 'sDL_bsearch_r', 'sDL_qsort'
 --
---     [C declaration]: @SDL_bsearch@, defined at @SDL3\/SDL_stdinc.h 1973:36@
+--     [C declaration]: @SDL_bsearch@, defined at @SDL3\/SDL_stdinc.h 1981:36@
 sDL_bsearch
   :: PtrConst.PtrConst BG.Void
   -- ^
@@ -2175,7 +2179,7 @@
 --
 --     [See also]: 'sDL_bsearch_r', 'sDL_qsort'
 --
---     [C declaration]: @SDL_qsort_r@, defined at @SDL3\/SDL_stdinc.h 2043:34@
+--     [C declaration]: @SDL_qsort_r@, defined at @SDL3\/SDL_stdinc.h 2051:34@
 sDL_qsort_r
   :: BG.Ptr BG.Void
   -- ^
@@ -2269,7 +2273,7 @@
 --
 --     [See also]: 'sDL_bsearch', 'sDL_qsort_r'
 --
---     [C declaration]: @SDL_bsearch_r@, defined at @SDL3\/SDL_stdinc.h 2101:36@
+--     [C declaration]: @SDL_bsearch_r@, defined at @SDL3\/SDL_stdinc.h 2109:36@
 sDL_bsearch_r
   :: PtrConst.PtrConst BG.Void
   -- ^
@@ -2319,7 +2323,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_abs@, defined at @SDL3\/SDL_stdinc.h 2113:33@
+--     [C declaration]: @SDL_abs@, defined at @SDL3\/SDL_stdinc.h 2121:33@
 sDL_abs
   :: BG.CInt
   -- ^
@@ -2351,7 +2355,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isalpha@, defined at @SDL3\/SDL_stdinc.h 2188:33@
+--     [C declaration]: @SDL_isalpha@, defined at @SDL3\/SDL_stdinc.h 2196:33@
 sDL_isalpha
   :: BG.CInt
   -- ^
@@ -2383,7 +2387,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isalnum@, defined at @SDL3\/SDL_stdinc.h 2203:33@
+--     [C declaration]: @SDL_isalnum@, defined at @SDL3\/SDL_stdinc.h 2211:33@
 sDL_isalnum
   :: BG.CInt
   -- ^
@@ -2415,7 +2419,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isblank@, defined at @SDL3\/SDL_stdinc.h 2218:33@
+--     [C declaration]: @SDL_isblank@, defined at @SDL3\/SDL_stdinc.h 2226:33@
 sDL_isblank
   :: BG.CInt
   -- ^
@@ -2447,7 +2451,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_iscntrl@, defined at @SDL3\/SDL_stdinc.h 2233:33@
+--     [C declaration]: @SDL_iscntrl@, defined at @SDL3\/SDL_stdinc.h 2241:33@
 sDL_iscntrl
   :: BG.CInt
   -- ^
@@ -2479,7 +2483,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isdigit@, defined at @SDL3\/SDL_stdinc.h 2248:33@
+--     [C declaration]: @SDL_isdigit@, defined at @SDL3\/SDL_stdinc.h 2256:33@
 sDL_isdigit
   :: BG.CInt
   -- ^
@@ -2511,7 +2515,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isxdigit@, defined at @SDL3\/SDL_stdinc.h 2263:33@
+--     [C declaration]: @SDL_isxdigit@, defined at @SDL3\/SDL_stdinc.h 2271:33@
 sDL_isxdigit
   :: BG.CInt
   -- ^
@@ -2545,7 +2549,7 @@
 --
 --     [See also]: 'sDL_isgraph', 'sDL_isalnum'
 --
---     [C declaration]: @SDL_ispunct@, defined at @SDL3\/SDL_stdinc.h 2281:33@
+--     [C declaration]: @SDL_ispunct@, defined at @SDL3\/SDL_stdinc.h 2289:33@
 sDL_ispunct
   :: BG.CInt
   -- ^
@@ -2589,7 +2593,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isspace@, defined at @SDL3\/SDL_stdinc.h 2303:33@
+--     [C declaration]: @SDL_isspace@, defined at @SDL3\/SDL_stdinc.h 2311:33@
 sDL_isspace
   :: BG.CInt
   -- ^
@@ -2621,7 +2625,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isupper@, defined at @SDL3\/SDL_stdinc.h 2318:33@
+--     [C declaration]: @SDL_isupper@, defined at @SDL3\/SDL_stdinc.h 2326:33@
 sDL_isupper
   :: BG.CInt
   -- ^
@@ -2653,7 +2657,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_islower@, defined at @SDL3\/SDL_stdinc.h 2333:33@
+--     [C declaration]: @SDL_islower@, defined at @SDL3\/SDL_stdinc.h 2341:33@
 sDL_islower
   :: BG.CInt
   -- ^
@@ -2687,7 +2691,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_isprint@, defined at @SDL3\/SDL_stdinc.h 2352:33@
+--     [C declaration]: @SDL_isprint@, defined at @SDL3\/SDL_stdinc.h 2360:33@
 sDL_isprint
   :: BG.CInt
   -- ^
@@ -2723,7 +2727,7 @@
 --
 --     [See also]: 'sDL_isprint'
 --
---     [C declaration]: @SDL_isgraph@, defined at @SDL3\/SDL_stdinc.h 2373:33@
+--     [C declaration]: @SDL_isgraph@, defined at @SDL3\/SDL_stdinc.h 2381:33@
 sDL_isgraph
   :: BG.CInt
   -- ^
@@ -2757,7 +2761,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_toupper@, defined at @SDL3\/SDL_stdinc.h 2391:33@
+--     [C declaration]: @SDL_toupper@, defined at @SDL3\/SDL_stdinc.h 2399:33@
 sDL_toupper
   :: BG.CInt
   -- ^
@@ -2791,7 +2795,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_tolower@, defined at @SDL3\/SDL_stdinc.h 2409:33@
+--     [C declaration]: @SDL_tolower@, defined at @SDL3\/SDL_stdinc.h 2417:33@
 sDL_tolower
   :: BG.CInt
   -- ^
@@ -2829,7 +2833,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_crc16@, defined at @SDL3\/SDL_stdinc.h 2430:36@
+--     [C declaration]: @SDL_crc16@, defined at @SDL3\/SDL_stdinc.h 2438:36@
 sDL_crc16
   :: Uint16
   -- ^
@@ -2875,7 +2879,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_crc32@, defined at @SDL3\/SDL_stdinc.h 2451:36@
+--     [C declaration]: @SDL_crc32@, defined at @SDL3\/SDL_stdinc.h 2459:36@
 sDL_crc32
   :: Uint32
   -- ^
@@ -2923,7 +2927,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_murmur3_32@, defined at @SDL3\/SDL_stdinc.h 2477:36@
+--     [C declaration]: @SDL_murmur3_32@, defined at @SDL3\/SDL_stdinc.h 2485:36@
 sDL_murmur3_32
   :: PtrConst.PtrConst BG.Void
   -- ^
@@ -2969,7 +2973,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_memset4@, defined at @SDL3\/SDL_stdinc.h 2601:36@
+--     [C declaration]: @SDL_memset4@, defined at @SDL3\/SDL_stdinc.h 2609:36@
 sDL_memset4
   :: BG.Ptr BG.Void
   -- ^
@@ -3011,7 +3015,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_memcmp@, defined at @SDL3\/SDL_stdinc.h 2683:33@
+--     [C declaration]: @SDL_memcmp@, defined at @SDL3\/SDL_stdinc.h 2691:33@
 sDL_memcmp
   :: PtrConst.PtrConst BG.Void
   -- ^
@@ -3057,7 +3061,7 @@
 --
 --     [See also]: 'sDL_wcsnlen', 'sDL_utf8strlen', 'sDL_utf8strnlen'
 --
---     [C declaration]: @SDL_wcslen@, defined at @SDL3\/SDL_stdinc.h 2710:36@
+--     [C declaration]: @SDL_wcslen@, defined at @SDL3\/SDL_stdinc.h 2718:36@
 sDL_wcslen
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3099,7 +3103,7 @@
 --
 --     [See also]: 'sDL_wcslen', 'sDL_utf8strlen', 'sDL_utf8strnlen'
 --
---     [C declaration]: @SDL_wcsnlen@, defined at @SDL3\/SDL_stdinc.h 2741:36@
+--     [C declaration]: @SDL_wcsnlen@, defined at @SDL3\/SDL_stdinc.h 2749:36@
 sDL_wcsnlen
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3145,7 +3149,7 @@
 --
 --     [See also]: 'sDL_wcslcat'
 --
---     [C declaration]: @SDL_wcslcpy@, defined at @SDL3\/SDL_stdinc.h 2768:36@
+--     [C declaration]: @SDL_wcslcpy@, defined at @SDL3\/SDL_stdinc.h 2776:36@
 sDL_wcslcpy
   :: BG.Ptr HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3195,7 +3199,7 @@
 --
 --     [See also]: 'sDL_wcslcpy'
 --
---     [C declaration]: @SDL_wcslcat@, defined at @SDL3\/SDL_stdinc.h 2797:36@
+--     [C declaration]: @SDL_wcslcat@, defined at @SDL3\/SDL_stdinc.h 2805:36@
 sDL_wcslcat
   :: BG.Ptr HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3237,7 +3241,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_wcsdup@, defined at @SDL3\/SDL_stdinc.h 2815:39@
+--     [C declaration]: @SDL_wcsdup@, defined at @SDL3\/SDL_stdinc.h 2823:39@
 sDL_wcsdup
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3273,7 +3277,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_wcsstr@, defined at @SDL3\/SDL_stdinc.h 2835:39@
+--     [C declaration]: @SDL_wcsstr@, defined at @SDL3\/SDL_stdinc.h 2843:39@
 sDL_wcsstr
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3315,7 +3319,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_wcsnstr@, defined at @SDL3\/SDL_stdinc.h 2860:39@
+--     [C declaration]: @SDL_wcsnstr@, defined at @SDL3\/SDL_stdinc.h 2868:39@
 sDL_wcsnstr
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3357,7 +3361,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_wcscmp@, defined at @SDL3\/SDL_stdinc.h 2879:33@
+--     [C declaration]: @SDL_wcscmp@, defined at @SDL3\/SDL_stdinc.h 2887:33@
 sDL_wcscmp
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3401,7 +3405,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_wcsncmp@, defined at @SDL3\/SDL_stdinc.h 2910:33@
+--     [C declaration]: @SDL_wcsncmp@, defined at @SDL3\/SDL_stdinc.h 2918:33@
 sDL_wcsncmp
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3445,7 +3449,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_wcscasecmp@, defined at @SDL3\/SDL_stdinc.h 2940:33@
+--     [C declaration]: @SDL_wcscasecmp@, defined at @SDL3\/SDL_stdinc.h 2948:33@
 sDL_wcscasecmp
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3491,7 +3495,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_wcsncasecmp@, defined at @SDL3\/SDL_stdinc.h 2982:33@
+--     [C declaration]: @SDL_wcsncasecmp@, defined at @SDL3\/SDL_stdinc.h 2990:33@
 sDL_wcsncasecmp
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3535,7 +3539,7 @@
 --
 --     [See also]: 'sDL_strnlen', 'sDL_utf8strlen', 'sDL_utf8strnlen'
 --
---     [C declaration]: @SDL_strlen@, defined at @SDL3\/SDL_stdinc.h 3029:36@
+--     [C declaration]: @SDL_strlen@, defined at @SDL3\/SDL_stdinc.h 3037:36@
 sDL_strlen
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3573,7 +3577,7 @@
 --
 --     [See also]: 'sDL_strlen', 'sDL_utf8strlen', 'sDL_utf8strnlen'
 --
---     [C declaration]: @SDL_strnlen@, defined at @SDL3\/SDL_stdinc.h 3053:36@
+--     [C declaration]: @SDL_strnlen@, defined at @SDL3\/SDL_stdinc.h 3061:36@
 sDL_strnlen
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3619,7 +3623,7 @@
 --
 --     [See also]: 'sDL_strlcat', 'sDL_utf8strlcpy'
 --
---     [C declaration]: @SDL_strlcpy@, defined at @SDL3\/SDL_stdinc.h 3082:36@
+--     [C declaration]: @SDL_strlcpy@, defined at @SDL3\/SDL_stdinc.h 3090:36@
 sDL_strlcpy
   :: BG.Ptr BG.CChar
   -- ^
@@ -3669,7 +3673,7 @@
 --
 --     [See also]: 'sDL_strlcpy'
 --
---     [C declaration]: @SDL_utf8strlcpy@, defined at @SDL3\/SDL_stdinc.h 3110:36@
+--     [C declaration]: @SDL_utf8strlcpy@, defined at @SDL3\/SDL_stdinc.h 3118:36@
 sDL_utf8strlcpy
   :: BG.Ptr BG.CChar
   -- ^
@@ -3719,7 +3723,7 @@
 --
 --     [See also]: 'sDL_strlcpy'
 --
---     [C declaration]: @SDL_strlcat@, defined at @SDL3\/SDL_stdinc.h 3138:36@
+--     [C declaration]: @SDL_strlcat@, defined at @SDL3\/SDL_stdinc.h 3146:36@
 sDL_strlcat
   :: BG.Ptr BG.CChar
   -- ^
@@ -3761,7 +3765,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strdup@, defined at @SDL3\/SDL_stdinc.h 3156:47@
+--     [C declaration]: @SDL_strdup@, defined at @SDL3\/SDL_stdinc.h 3164:47@
 sDL_strdup
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3799,7 +3803,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strndup@, defined at @SDL3\/SDL_stdinc.h 3181:47@
+--     [C declaration]: @SDL_strndup@, defined at @SDL3\/SDL_stdinc.h 3189:47@
 sDL_strndup
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3837,7 +3841,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strrev@, defined at @SDL3\/SDL_stdinc.h 3202:36@
+--     [C declaration]: @SDL_strrev@, defined at @SDL3\/SDL_stdinc.h 3210:36@
 sDL_strrev
   :: BG.Ptr BG.CChar
   -- ^
@@ -3873,7 +3877,7 @@
 --
 --     [See also]: 'sDL_strlwr'
 --
---     [C declaration]: @SDL_strupr@, defined at @SDL3\/SDL_stdinc.h 3223:36@
+--     [C declaration]: @SDL_strupr@, defined at @SDL3\/SDL_stdinc.h 3231:36@
 sDL_strupr
   :: BG.Ptr BG.CChar
   -- ^
@@ -3909,7 +3913,7 @@
 --
 --     [See also]: 'sDL_strupr'
 --
---     [C declaration]: @SDL_strlwr@, defined at @SDL3\/SDL_stdinc.h 3244:36@
+--     [C declaration]: @SDL_strlwr@, defined at @SDL3\/SDL_stdinc.h 3252:36@
 sDL_strlwr
   :: BG.Ptr BG.CChar
   -- ^
@@ -3945,7 +3949,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strchr@, defined at @SDL3\/SDL_stdinc.h 3264:36@
+--     [C declaration]: @SDL_strchr@, defined at @SDL3\/SDL_stdinc.h 3272:36@
 sDL_strchr
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3985,7 +3989,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strrchr@, defined at @SDL3\/SDL_stdinc.h 3283:36@
+--     [C declaration]: @SDL_strrchr@, defined at @SDL3\/SDL_stdinc.h 3291:36@
 sDL_strrchr
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4025,7 +4029,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strstr@, defined at @SDL3\/SDL_stdinc.h 3303:36@
+--     [C declaration]: @SDL_strstr@, defined at @SDL3\/SDL_stdinc.h 3311:36@
 sDL_strstr
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4067,7 +4071,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strnstr@, defined at @SDL3\/SDL_stdinc.h 3326:36@
+--     [C declaration]: @SDL_strnstr@, defined at @SDL3\/SDL_stdinc.h 3334:36@
 sDL_strnstr
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4111,7 +4115,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strcasestr@, defined at @SDL3\/SDL_stdinc.h 3354:36@
+--     [C declaration]: @SDL_strcasestr@, defined at @SDL3\/SDL_stdinc.h 3362:36@
 sDL_strcasestr
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4157,7 +4161,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strtok_r@, defined at @SDL3\/SDL_stdinc.h 3383:36@
+--     [C declaration]: @SDL_strtok_r@, defined at @SDL3\/SDL_stdinc.h 3391:36@
 sDL_strtok_r
   :: BG.Ptr BG.CChar
   -- ^
@@ -4203,7 +4207,7 @@
 --
 --     [See also]: 'sDL_utf8strnlen', 'sDL_strlen'
 --
---     [C declaration]: @SDL_utf8strlen@, defined at @SDL3\/SDL_stdinc.h 3411:36@
+--     [C declaration]: @SDL_utf8strlen@, defined at @SDL3\/SDL_stdinc.h 3419:36@
 sDL_utf8strlen
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4245,7 +4249,7 @@
 --
 --     [See also]: 'sDL_utf8strlen', 'sDL_strnlen'
 --
---     [C declaration]: @SDL_utf8strnlen@, defined at @SDL3\/SDL_stdinc.h 3444:36@
+--     [C declaration]: @SDL_utf8strnlen@, defined at @SDL3\/SDL_stdinc.h 3452:36@
 sDL_utf8strnlen
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4289,7 +4293,7 @@
 --
 --     [See also]: 'sDL_uitoa', @SDL_ltoa@, 'sDL_lltoa'
 --
---     [C declaration]: @SDL_itoa@, defined at @SDL3\/SDL_stdinc.h 3472:36@
+--     [C declaration]: @SDL_itoa@, defined at @SDL3\/SDL_stdinc.h 3480:36@
 sDL_itoa
   :: BG.CInt
   -- ^
@@ -4337,7 +4341,7 @@
 --
 --     [See also]: 'sDL_itoa', @SDL_ultoa@, 'sDL_ulltoa'
 --
---     [C declaration]: @SDL_uitoa@, defined at @SDL3\/SDL_stdinc.h 3500:36@
+--     [C declaration]: @SDL_uitoa@, defined at @SDL3\/SDL_stdinc.h 3508:36@
 sDL_uitoa
   :: BG.CUInt
   -- ^
@@ -4385,7 +4389,7 @@
 --
 --     [See also]: 'sDL_ulltoa', 'sDL_itoa', @SDL_ltoa@
 --
---     [C declaration]: @SDL_lltoa@, defined at @SDL3\/SDL_stdinc.h 3586:36@
+--     [C declaration]: @SDL_lltoa@, defined at @SDL3\/SDL_stdinc.h 3594:36@
 sDL_lltoa
   :: BG.CLLong
   -- ^
@@ -4433,7 +4437,7 @@
 --
 --     [See also]: 'sDL_lltoa', 'sDL_uitoa', @SDL_ultoa@
 --
---     [C declaration]: @SDL_ulltoa@, defined at @SDL3\/SDL_stdinc.h 3614:36@
+--     [C declaration]: @SDL_ulltoa@, defined at @SDL3\/SDL_stdinc.h 3622:36@
 sDL_ulltoa
   :: BG.CULLong
   -- ^
@@ -4475,7 +4479,7 @@
 --
 --     [See also]: 'sDL_atof', @SDL_strtol@, @SDL_strtoul@, 'sDL_strtoll', 'sDL_strtoull', 'sDL_strtod', 'sDL_itoa'
 --
---     [C declaration]: @SDL_atoi@, defined at @SDL3\/SDL_stdinc.h 3638:33@
+--     [C declaration]: @SDL_atoi@, defined at @SDL3\/SDL_stdinc.h 3646:33@
 sDL_atoi
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4509,7 +4513,7 @@
 --
 --     [See also]: 'sDL_atoi', @SDL_strtol@, @SDL_strtoul@, 'sDL_strtoll', 'sDL_strtoull', 'sDL_strtod'
 --
---     [C declaration]: @SDL_atof@, defined at @SDL3\/SDL_stdinc.h 3660:36@
+--     [C declaration]: @SDL_atof@, defined at @SDL3\/SDL_stdinc.h 3668:36@
 sDL_atof
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4549,7 +4553,7 @@
 --
 --     [See also]: 'sDL_atoi', 'sDL_atof', @SDL_strtol@, @SDL_strtoul@, 'sDL_strtoull', 'sDL_strtod', 'sDL_lltoa'
 --
---     [C declaration]: @SDL_strtoll@, defined at @SDL3\/SDL_stdinc.h 3762:39@
+--     [C declaration]: @SDL_strtoll@, defined at @SDL3\/SDL_stdinc.h 3770:39@
 sDL_strtoll
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4597,7 +4601,7 @@
 --
 --     [See also]: 'sDL_atoi', 'sDL_atof', @SDL_strtol@, 'sDL_strtoll', @SDL_strtoul@, 'sDL_strtod', 'sDL_ulltoa'
 --
---     [C declaration]: @SDL_strtoull@, defined at @SDL3\/SDL_stdinc.h 3796:48@
+--     [C declaration]: @SDL_strtoull@, defined at @SDL3\/SDL_stdinc.h 3804:48@
 sDL_strtoull
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4647,7 +4651,7 @@
 --
 --     [See also]: 'sDL_atoi', 'sDL_atof', @SDL_strtol@, 'sDL_strtoll', @SDL_strtoul@, 'sDL_strtoull'
 --
---     [C declaration]: @SDL_strtod@, defined at @SDL3\/SDL_stdinc.h 3826:36@
+--     [C declaration]: @SDL_strtod@, defined at @SDL3\/SDL_stdinc.h 3834:36@
 sDL_strtod
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4685,7 +4689,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strcmp@, defined at @SDL3\/SDL_stdinc.h 3846:33@
+--     [C declaration]: @SDL_strcmp@, defined at @SDL3\/SDL_stdinc.h 3854:33@
 sDL_strcmp
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4729,7 +4733,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strncmp@, defined at @SDL3\/SDL_stdinc.h 3876:33@
+--     [C declaration]: @SDL_strncmp@, defined at @SDL3\/SDL_stdinc.h 3884:33@
 sDL_strncmp
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4773,7 +4777,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strcasecmp@, defined at @SDL3\/SDL_stdinc.h 3904:33@
+--     [C declaration]: @SDL_strcasecmp@, defined at @SDL3\/SDL_stdinc.h 3912:33@
 sDL_strcasecmp
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4819,7 +4823,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strncasecmp@, defined at @SDL3\/SDL_stdinc.h 3944:33@
+--     [C declaration]: @SDL_strncasecmp@, defined at @SDL3\/SDL_stdinc.h 3952:33@
 sDL_strncasecmp
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4859,7 +4863,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_strpbrk@, defined at @SDL3\/SDL_stdinc.h 3962:36@
+--     [C declaration]: @SDL_strpbrk@, defined at @SDL3\/SDL_stdinc.h 3970:36@
 sDL_strpbrk
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4911,7 +4915,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_StepUTF8@, defined at @SDL3\/SDL_stdinc.h 4022:36@
+--     [C declaration]: @SDL_StepUTF8@, defined at @SDL3\/SDL_stdinc.h 4030:36@
 sDL_StepUTF8
   :: BG.Ptr (PtrConst.PtrConst BG.CChar)
   -- ^
@@ -4957,7 +4961,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_StepBackUTF8@, defined at @SDL3\/SDL_stdinc.h 4053:36@
+--     [C declaration]: @SDL_StepBackUTF8@, defined at @SDL3\/SDL_stdinc.h 4061:36@
 sDL_StepBackUTF8
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -5001,7 +5005,7 @@
 --
 --     @since 3.2.0
 --
---     [C declaration]: @SDL_UCS4ToUTF8@, defined at @SDL3\/SDL_stdinc.h 4082:36@
+--     [C declaration]: @SDL_UCS4ToUTF8@, defined at @SDL3\/SDL_stdinc.h 4090:36@
 sDL_UCS4ToUTF8
   :: Uint32
   -- ^
@@ -5037,7 +5041,7 @@
 --
 --     [See also]: 'sDL_rand', 'sDL_rand_bits', 'sDL_randf'
 --
---     [C declaration]: @SDL_srand@, defined at @SDL3\/SDL_stdinc.h 4294:34@
+--     [C declaration]: @SDL_srand@, defined at @SDL3\/SDL_stdinc.h 4302:34@
 sDL_srand
   :: Uint64
   -- ^
@@ -5079,7 +5083,7 @@
 --
 --     [See also]: 'sDL_srand', 'sDL_randf'
 --
---     [C declaration]: @SDL_rand@, defined at @SDL3\/SDL_stdinc.h 4328:36@
+--     [C declaration]: @SDL_rand@, defined at @SDL3\/SDL_stdinc.h 4336:36@
 sDL_rand
   :: Sint32
   -- ^
@@ -5112,7 +5116,7 @@
 --
 --     [See also]: 'sDL_srand', 'sDL_rand'
 --
---     [C declaration]: @SDL_randf@, defined at @SDL3\/SDL_stdinc.h 4351:35@
+--     [C declaration]: @SDL_randf@, defined at @SDL3\/SDL_stdinc.h 4359:35@
 sDL_randf :: IO BG.CFloat
 sDL_randf = hs_bindgen_4354197498dc7635
 
@@ -5140,7 +5144,7 @@
 --
 --     [See also]: 'sDL_rand', 'sDL_randf', 'sDL_srand'
 --
---     [C declaration]: @SDL_rand_bits@, defined at @SDL3\/SDL_stdinc.h 4374:36@
+--     [C declaration]: @SDL_rand_bits@, defined at @SDL3\/SDL_stdinc.h 4382:36@
 sDL_rand_bits :: IO Uint32
 sDL_rand_bits = hs_bindgen_eed752851bd8b3e2
 
@@ -5177,7 +5181,7 @@
 --
 --     [See also]: 'sDL_rand', 'sDL_rand_bits_r', 'sDL_randf_r'
 --
---     [C declaration]: @SDL_rand_r@, defined at @SDL3\/SDL_stdinc.h 4409:36@
+--     [C declaration]: @SDL_rand_r@, defined at @SDL3\/SDL_stdinc.h 4417:36@
 sDL_rand_r
   :: BG.Ptr Uint64
   -- ^
@@ -5217,7 +5221,7 @@
 --
 --     [See also]: 'sDL_rand_bits_r', 'sDL_rand_r', 'sDL_randf'
 --
---     [C declaration]: @SDL_randf_r@, defined at @SDL3\/SDL_stdinc.h 4436:35@
+--     [C declaration]: @SDL_randf_r@, defined at @SDL3\/SDL_stdinc.h 4444:35@
 sDL_randf_r
   :: BG.Ptr Uint64
   -- ^
@@ -5253,7 +5257,7 @@
 --
 --     [See also]: 'sDL_rand_r', 'sDL_randf_r'
 --
---     [C declaration]: @SDL_rand_bits_r@, defined at @SDL3\/SDL_stdinc.h 4461:36@
+--     [C declaration]: @SDL_rand_bits_r@, defined at @SDL3\/SDL_stdinc.h 4469:36@
 sDL_rand_bits_r
   :: BG.Ptr Uint64
   -- ^
@@ -5295,7 +5299,7 @@
 --
 --     [See also]: 'sDL_acosf', 'sDL_asin', 'sDL_cos'
 --
---     [C declaration]: @SDL_acos@, defined at @SDL3\/SDL_stdinc.h 4515:36@
+--     [C declaration]: @SDL_acos@, defined at @SDL3\/SDL_stdinc.h 4523:36@
 sDL_acos
   :: BG.CDouble
   -- ^
@@ -5337,7 +5341,7 @@
 --
 --     [See also]: 'sDL_acos', 'sDL_asinf', 'sDL_cosf'
 --
---     [C declaration]: @SDL_acosf@, defined at @SDL3\/SDL_stdinc.h 4545:35@
+--     [C declaration]: @SDL_acosf@, defined at @SDL3\/SDL_stdinc.h 4553:35@
 sDL_acosf
   :: BG.CFloat
   -- ^
@@ -5379,7 +5383,7 @@
 --
 --     [See also]: 'sDL_asinf', 'sDL_acos', 'sDL_sin'
 --
---     [C declaration]: @SDL_asin@, defined at @SDL3\/SDL_stdinc.h 4575:36@
+--     [C declaration]: @SDL_asin@, defined at @SDL3\/SDL_stdinc.h 4583:36@
 sDL_asin
   :: BG.CDouble
   -- ^
@@ -5421,7 +5425,7 @@
 --
 --     [See also]: 'sDL_asin', 'sDL_acosf', 'sDL_sinf'
 --
---     [C declaration]: @SDL_asinf@, defined at @SDL3\/SDL_stdinc.h 4605:35@
+--     [C declaration]: @SDL_asinf@, defined at @SDL3\/SDL_stdinc.h 4613:35@
 sDL_asinf
   :: BG.CFloat
   -- ^
@@ -5465,7 +5469,7 @@
 --
 --     [See also]: 'sDL_atanf', 'sDL_atan2', 'sDL_tan'
 --
---     [C declaration]: @SDL_atan@, defined at @SDL3\/SDL_stdinc.h 4637:36@
+--     [C declaration]: @SDL_atan@, defined at @SDL3\/SDL_stdinc.h 4645:36@
 sDL_atan
   :: BG.CDouble
   -- ^
@@ -5509,7 +5513,7 @@
 --
 --     [See also]: 'sDL_atan', 'sDL_atan2f', 'sDL_tanf'
 --
---     [C declaration]: @SDL_atanf@, defined at @SDL3\/SDL_stdinc.h 4669:35@
+--     [C declaration]: @SDL_atanf@, defined at @SDL3\/SDL_stdinc.h 4677:35@
 sDL_atanf
   :: BG.CFloat
   -- ^
@@ -5555,7 +5559,7 @@
 --
 --     [See also]: 'sDL_atan2f', 'sDL_atan', 'sDL_tan'
 --
---     [C declaration]: @SDL_atan2@, defined at @SDL3\/SDL_stdinc.h 4705:36@
+--     [C declaration]: @SDL_atan2@, defined at @SDL3\/SDL_stdinc.h 4713:36@
 sDL_atan2
   :: BG.CDouble
   -- ^
@@ -5605,7 +5609,7 @@
 --
 --     [See also]: 'sDL_atan2', 'sDL_atan', 'sDL_tan'
 --
---     [C declaration]: @SDL_atan2f@, defined at @SDL3\/SDL_stdinc.h 4741:35@
+--     [C declaration]: @SDL_atan2f@, defined at @SDL3\/SDL_stdinc.h 4749:35@
 sDL_atan2f
   :: BG.CFloat
   -- ^
@@ -5649,7 +5653,7 @@
 --
 --     [See also]: 'sDL_ceilf', 'sDL_floor', 'sDL_trunc', 'sDL_round', @SDL_lround@
 --
---     [C declaration]: @SDL_ceil@, defined at @SDL3\/SDL_stdinc.h 4769:36@
+--     [C declaration]: @SDL_ceil@, defined at @SDL3\/SDL_stdinc.h 4777:36@
 sDL_ceil
   :: BG.CDouble
   -- ^
@@ -5689,7 +5693,7 @@
 --
 --     [See also]: 'sDL_ceil', 'sDL_floorf', 'sDL_truncf', 'sDL_roundf', @SDL_lroundf@
 --
---     [C declaration]: @SDL_ceilf@, defined at @SDL3\/SDL_stdinc.h 4797:35@
+--     [C declaration]: @SDL_ceilf@, defined at @SDL3\/SDL_stdinc.h 4805:35@
 sDL_ceilf
   :: BG.CFloat
   -- ^
@@ -5731,7 +5735,7 @@
 --
 --     [See also]: 'sDL_copysignf', 'sDL_fabs'
 --
---     [C declaration]: @SDL_copysign@, defined at @SDL3\/SDL_stdinc.h 4823:36@
+--     [C declaration]: @SDL_copysign@, defined at @SDL3\/SDL_stdinc.h 4831:36@
 sDL_copysign
   :: BG.CDouble
   -- ^
@@ -5777,7 +5781,7 @@
 --
 --     [See also]: 'sDL_copysign', 'sDL_fabsf'
 --
---     [C declaration]: @SDL_copysignf@, defined at @SDL3\/SDL_stdinc.h 4849:35@
+--     [C declaration]: @SDL_copysignf@, defined at @SDL3\/SDL_stdinc.h 4857:35@
 sDL_copysignf
   :: BG.CFloat
   -- ^
@@ -5821,7 +5825,7 @@
 --
 --     [See also]: 'sDL_cosf', 'sDL_acos', 'sDL_sin'
 --
---     [C declaration]: @SDL_cos@, defined at @SDL3\/SDL_stdinc.h 4877:36@
+--     [C declaration]: @SDL_cos@, defined at @SDL3\/SDL_stdinc.h 4885:36@
 sDL_cos
   :: BG.CDouble
   -- ^
@@ -5861,7 +5865,7 @@
 --
 --     [See also]: 'sDL_cos', 'sDL_acosf', 'sDL_sinf'
 --
---     [C declaration]: @SDL_cosf@, defined at @SDL3\/SDL_stdinc.h 4905:35@
+--     [C declaration]: @SDL_cosf@, defined at @SDL3\/SDL_stdinc.h 4913:35@
 sDL_cosf
   :: BG.CFloat
   -- ^
@@ -5905,7 +5909,7 @@
 --
 --     [See also]: 'sDL_expf', 'sDL_log'
 --
---     [C declaration]: @SDL_exp@, defined at @SDL3\/SDL_stdinc.h 4937:36@
+--     [C declaration]: @SDL_exp@, defined at @SDL3\/SDL_stdinc.h 4945:36@
 sDL_exp
   :: BG.CDouble
   -- ^
@@ -5949,7 +5953,7 @@
 --
 --     [See also]: 'sDL_exp', 'sDL_logf'
 --
---     [C declaration]: @SDL_expf@, defined at @SDL3\/SDL_stdinc.h 4969:35@
+--     [C declaration]: @SDL_expf@, defined at @SDL3\/SDL_stdinc.h 4977:35@
 sDL_expf
   :: BG.CFloat
   -- ^
@@ -5987,7 +5991,7 @@
 --
 --     [See also]: 'sDL_fabsf'
 --
---     [C declaration]: @SDL_fabs@, defined at @SDL3\/SDL_stdinc.h 4990:36@
+--     [C declaration]: @SDL_fabs@, defined at @SDL3\/SDL_stdinc.h 4998:36@
 sDL_fabs
   :: BG.CDouble
   -- ^
@@ -6025,7 +6029,7 @@
 --
 --     [See also]: 'sDL_fabs'
 --
---     [C declaration]: @SDL_fabsf@, defined at @SDL3\/SDL_stdinc.h 5011:35@
+--     [C declaration]: @SDL_fabsf@, defined at @SDL3\/SDL_stdinc.h 5019:35@
 sDL_fabsf
   :: BG.CFloat
   -- ^
@@ -6065,7 +6069,7 @@
 --
 --     [See also]: 'sDL_floorf', 'sDL_ceil', 'sDL_trunc', 'sDL_round', @SDL_lround@
 --
---     [C declaration]: @SDL_floor@, defined at @SDL3\/SDL_stdinc.h 5039:36@
+--     [C declaration]: @SDL_floor@, defined at @SDL3\/SDL_stdinc.h 5047:36@
 sDL_floor
   :: BG.CDouble
   -- ^
@@ -6105,7 +6109,7 @@
 --
 --     [See also]: 'sDL_floor', 'sDL_ceilf', 'sDL_truncf', 'sDL_roundf', @SDL_lroundf@
 --
---     [C declaration]: @SDL_floorf@, defined at @SDL3\/SDL_stdinc.h 5067:35@
+--     [C declaration]: @SDL_floorf@, defined at @SDL3\/SDL_stdinc.h 5075:35@
 sDL_floorf
   :: BG.CFloat
   -- ^
@@ -6145,7 +6149,7 @@
 --
 --     [See also]: 'sDL_truncf', 'sDL_fmod', 'sDL_ceil', 'sDL_floor', 'sDL_round', @SDL_lround@
 --
---     [C declaration]: @SDL_trunc@, defined at @SDL3\/SDL_stdinc.h 5096:36@
+--     [C declaration]: @SDL_trunc@, defined at @SDL3\/SDL_stdinc.h 5104:36@
 sDL_trunc
   :: BG.CDouble
   -- ^
@@ -6185,7 +6189,7 @@
 --
 --     [See also]: 'sDL_trunc', 'sDL_fmodf', 'sDL_ceilf', 'sDL_floorf', 'sDL_roundf', @SDL_lroundf@
 --
---     [C declaration]: @SDL_truncf@, defined at @SDL3\/SDL_stdinc.h 5125:35@
+--     [C declaration]: @SDL_truncf@, defined at @SDL3\/SDL_stdinc.h 5133:35@
 sDL_truncf
   :: BG.CFloat
   -- ^
@@ -6227,7 +6231,7 @@
 --
 --     [See also]: 'sDL_fmodf', 'sDL_modf', 'sDL_trunc', 'sDL_ceil', 'sDL_floor', 'sDL_round', @SDL_lround@
 --
---     [C declaration]: @SDL_fmod@, defined at @SDL3\/SDL_stdinc.h 5155:36@
+--     [C declaration]: @SDL_fmod@, defined at @SDL3\/SDL_stdinc.h 5163:36@
 sDL_fmod
   :: BG.CDouble
   -- ^
@@ -6273,7 +6277,7 @@
 --
 --     [See also]: 'sDL_fmod', 'sDL_truncf', 'sDL_modff', 'sDL_ceilf', 'sDL_floorf', 'sDL_roundf', @SDL_lroundf@
 --
---     [C declaration]: @SDL_fmodf@, defined at @SDL3\/SDL_stdinc.h 5185:35@
+--     [C declaration]: @SDL_fmodf@, defined at @SDL3\/SDL_stdinc.h 5193:35@
 sDL_fmodf
   :: BG.CFloat
   -- ^
@@ -6309,7 +6313,7 @@
 --
 --     [See also]: 'sDL_isinff'
 --
---     [C declaration]: @SDL_isinf@, defined at @SDL3\/SDL_stdinc.h 5199:33@
+--     [C declaration]: @SDL_isinf@, defined at @SDL3\/SDL_stdinc.h 5207:33@
 sDL_isinf
   :: BG.CDouble
   -- ^
@@ -6341,7 +6345,7 @@
 --
 --     [See also]: 'sDL_isinf'
 --
---     [C declaration]: @SDL_isinff@, defined at @SDL3\/SDL_stdinc.h 5213:33@
+--     [C declaration]: @SDL_isinff@, defined at @SDL3\/SDL_stdinc.h 5221:33@
 sDL_isinff
   :: BG.CFloat
   -- ^
@@ -6373,7 +6377,7 @@
 --
 --     [See also]: 'sDL_isnanf'
 --
---     [C declaration]: @SDL_isnan@, defined at @SDL3\/SDL_stdinc.h 5227:33@
+--     [C declaration]: @SDL_isnan@, defined at @SDL3\/SDL_stdinc.h 5235:33@
 sDL_isnan
   :: BG.CDouble
   -- ^
@@ -6405,7 +6409,7 @@
 --
 --     [See also]: 'sDL_isnan'
 --
---     [C declaration]: @SDL_isnanf@, defined at @SDL3\/SDL_stdinc.h 5241:33@
+--     [C declaration]: @SDL_isnanf@, defined at @SDL3\/SDL_stdinc.h 5249:33@
 sDL_isnanf
   :: BG.CFloat
   -- ^
@@ -6447,7 +6451,7 @@
 --
 --     [See also]: 'sDL_logf', 'sDL_log10', 'sDL_exp'
 --
---     [C declaration]: @SDL_log@, defined at @SDL3\/SDL_stdinc.h 5271:36@
+--     [C declaration]: @SDL_log@, defined at @SDL3\/SDL_stdinc.h 5279:36@
 sDL_log
   :: BG.CDouble
   -- ^
@@ -6489,7 +6493,7 @@
 --
 --     [See also]: 'sDL_log', 'sDL_expf'
 --
---     [C declaration]: @SDL_logf@, defined at @SDL3\/SDL_stdinc.h 5300:35@
+--     [C declaration]: @SDL_logf@, defined at @SDL3\/SDL_stdinc.h 5308:35@
 sDL_logf
   :: BG.CFloat
   -- ^
@@ -6531,7 +6535,7 @@
 --
 --     [See also]: 'sDL_log10f', 'sDL_log', 'sDL_pow'
 --
---     [C declaration]: @SDL_log10@, defined at @SDL3\/SDL_stdinc.h 5330:36@
+--     [C declaration]: @SDL_log10@, defined at @SDL3\/SDL_stdinc.h 5338:36@
 sDL_log10
   :: BG.CDouble
   -- ^
@@ -6573,7 +6577,7 @@
 --
 --     [See also]: 'sDL_log10', 'sDL_logf', 'sDL_powf'
 --
---     [C declaration]: @SDL_log10f@, defined at @SDL3\/SDL_stdinc.h 5360:35@
+--     [C declaration]: @SDL_log10f@, defined at @SDL3\/SDL_stdinc.h 5368:35@
 sDL_log10f
   :: BG.CFloat
   -- ^
@@ -6609,7 +6613,7 @@
 --
 --     [See also]: 'sDL_modff', 'sDL_trunc', 'sDL_fmod'
 --
---     [C declaration]: @SDL_modf@, defined at @SDL3\/SDL_stdinc.h 5380:36@
+--     [C declaration]: @SDL_modf@, defined at @SDL3\/SDL_stdinc.h 5388:36@
 sDL_modf
   :: BG.CDouble
   -- ^
@@ -6649,7 +6653,7 @@
 --
 --     [See also]: 'sDL_modf', 'sDL_truncf', 'sDL_fmodf'
 --
---     [C declaration]: @SDL_modff@, defined at @SDL3\/SDL_stdinc.h 5400:35@
+--     [C declaration]: @SDL_modff@, defined at @SDL3\/SDL_stdinc.h 5408:35@
 sDL_modff
   :: BG.CFloat
   -- ^
@@ -6697,7 +6701,7 @@
 --
 --     [See also]: 'sDL_powf', 'sDL_exp', 'sDL_log'
 --
---     [C declaration]: @SDL_pow@, defined at @SDL3\/SDL_stdinc.h 5432:36@
+--     [C declaration]: @SDL_pow@, defined at @SDL3\/SDL_stdinc.h 5440:36@
 sDL_pow
   :: BG.CDouble
   -- ^
@@ -6745,7 +6749,7 @@
 --
 --     [See also]: 'sDL_pow', 'sDL_expf', 'sDL_logf'
 --
---     [C declaration]: @SDL_powf@, defined at @SDL3\/SDL_stdinc.h 5464:35@
+--     [C declaration]: @SDL_powf@, defined at @SDL3\/SDL_stdinc.h 5472:35@
 sDL_powf
   :: BG.CFloat
   -- ^
@@ -6789,7 +6793,7 @@
 --
 --     [See also]: 'sDL_roundf', @SDL_lround@, 'sDL_floor', 'sDL_ceil', 'sDL_trunc'
 --
---     [C declaration]: @SDL_round@, defined at @SDL3\/SDL_stdinc.h 5493:36@
+--     [C declaration]: @SDL_round@, defined at @SDL3\/SDL_stdinc.h 5501:36@
 sDL_round
   :: BG.CDouble
   -- ^
@@ -6829,7 +6833,7 @@
 --
 --     [See also]: 'sDL_round', @SDL_lroundf@, 'sDL_floorf', 'sDL_ceilf', 'sDL_truncf'
 --
---     [C declaration]: @SDL_roundf@, defined at @SDL3\/SDL_stdinc.h 5522:35@
+--     [C declaration]: @SDL_roundf@, defined at @SDL3\/SDL_stdinc.h 5530:35@
 sDL_roundf
   :: BG.CFloat
   -- ^
@@ -6871,7 +6875,7 @@
 --
 --     [See also]: 'sDL_scalbnf', 'sDL_pow'
 --
---     [C declaration]: @SDL_scalbn@, defined at @SDL3\/SDL_stdinc.h 5605:36@
+--     [C declaration]: @SDL_scalbn@, defined at @SDL3\/SDL_stdinc.h 5613:36@
 sDL_scalbn
   :: BG.CDouble
   -- ^
@@ -6917,7 +6921,7 @@
 --
 --     [See also]: 'sDL_scalbn', 'sDL_powf'
 --
---     [C declaration]: @SDL_scalbnf@, defined at @SDL3\/SDL_stdinc.h 5630:35@
+--     [C declaration]: @SDL_scalbnf@, defined at @SDL3\/SDL_stdinc.h 5638:35@
 sDL_scalbnf
   :: BG.CFloat
   -- ^
@@ -6961,7 +6965,7 @@
 --
 --     [See also]: 'sDL_sinf', 'sDL_asin', 'sDL_cos'
 --
---     [C declaration]: @SDL_sin@, defined at @SDL3\/SDL_stdinc.h 5658:36@
+--     [C declaration]: @SDL_sin@, defined at @SDL3\/SDL_stdinc.h 5666:36@
 sDL_sin
   :: BG.CDouble
   -- ^
@@ -7001,7 +7005,7 @@
 --
 --     [See also]: 'sDL_sin', 'sDL_asinf', 'sDL_cosf'
 --
---     [C declaration]: @SDL_sinf@, defined at @SDL3\/SDL_stdinc.h 5686:35@
+--     [C declaration]: @SDL_sinf@, defined at @SDL3\/SDL_stdinc.h 5694:35@
 sDL_sinf
   :: BG.CFloat
   -- ^
@@ -7041,7 +7045,7 @@
 --
 --     [See also]: 'sDL_sqrtf'
 --
---     [C declaration]: @SDL_sqrt@, defined at @SDL3\/SDL_stdinc.h 5712:36@
+--     [C declaration]: @SDL_sqrt@, defined at @SDL3\/SDL_stdinc.h 5720:36@
 sDL_sqrt
   :: BG.CDouble
   -- ^
@@ -7081,7 +7085,7 @@
 --
 --     [See also]: 'sDL_sqrt'
 --
---     [C declaration]: @SDL_sqrtf@, defined at @SDL3\/SDL_stdinc.h 5738:35@
+--     [C declaration]: @SDL_sqrtf@, defined at @SDL3\/SDL_stdinc.h 5746:35@
 sDL_sqrtf
   :: BG.CFloat
   -- ^
@@ -7121,7 +7125,7 @@
 --
 --     [See also]: 'sDL_tanf', 'sDL_sin', 'sDL_cos', 'sDL_atan', 'sDL_atan2'
 --
---     [C declaration]: @SDL_tan@, defined at @SDL3\/SDL_stdinc.h 5768:36@
+--     [C declaration]: @SDL_tan@, defined at @SDL3\/SDL_stdinc.h 5776:36@
 sDL_tan
   :: BG.CDouble
   -- ^
@@ -7161,7 +7165,7 @@
 --
 --     [See also]: 'sDL_tan', 'sDL_sinf', 'sDL_cosf', 'sDL_atanf', 'sDL_atan2f'
 --
---     [C declaration]: @SDL_tanf@, defined at @SDL3\/SDL_stdinc.h 5798:35@
+--     [C declaration]: @SDL_tanf@, defined at @SDL3\/SDL_stdinc.h 5806:35@
 sDL_tanf
   :: BG.CFloat
   -- ^
@@ -7195,7 +7199,7 @@
 --
 --     [See also]: 'sDL_iconv', 'sDL_iconv_close', 'sDL_iconv_string'
 --
---     [C declaration]: @SDL_iconv_open@, defined at @SDL3\/SDL_stdinc.h 5826:41@
+--     [C declaration]: @SDL_iconv_open@, defined at @SDL3\/SDL_stdinc.h 5834:41@
 sDL_iconv_open
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -7231,7 +7235,7 @@
 --
 --     [See also]: 'sDL_iconv', 'sDL_iconv_open', 'sDL_iconv_string'
 --
---     [C declaration]: @SDL_iconv_close@, defined at @SDL3\/SDL_stdinc.h 5843:33@
+--     [C declaration]: @SDL_iconv_close@, defined at @SDL3\/SDL_stdinc.h 5851:33@
 sDL_iconv_close
   :: SDL_iconv_t
   -- ^
@@ -7283,7 +7287,7 @@
 --
 --     [See also]: 'sDL_iconv_open', 'sDL_iconv_close', 'sDL_iconv_string'
 --
---     [C declaration]: @SDL_iconv@, defined at @SDL3\/SDL_stdinc.h 5883:36@
+--     [C declaration]: @SDL_iconv@, defined at @SDL3\/SDL_stdinc.h 5891:36@
 sDL_iconv
   :: SDL_iconv_t
   -- ^
@@ -7343,7 +7347,7 @@
 --
 --     [See also]: 'sDL_iconv_open', 'sDL_iconv_close', 'sDL_iconv'
 --
---     [C declaration]: @SDL_iconv_string@, defined at @SDL3\/SDL_stdinc.h 5920:36@
+--     [C declaration]: @SDL_iconv_string@, defined at @SDL3\/SDL_stdinc.h 5928:36@
 sDL_iconv_string
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -7381,7 +7385,7 @@
 hs_bindgen_51dba5ddaea9f2e4 =
   BG.fromFFIType hs_bindgen_51dba5ddaea9f2e4_base
 
--- | [C declaration]: @SDL_size_mul_check_overflow_builtin@, defined at @SDL3\/SDL_stdinc.h 6101:23@
+-- | [C declaration]: @SDL_size_mul_check_overflow_builtin@, defined at @SDL3\/SDL_stdinc.h 6109:23@
 sDL_size_mul_check_overflow_builtin
   :: HsBindgen.Runtime.LibC.CSize
   -- ^ [C declaration]: @a@
@@ -7410,7 +7414,7 @@
 hs_bindgen_7509bdb3d2cd84da =
   BG.fromFFIType hs_bindgen_7509bdb3d2cd84da_base
 
--- | [C declaration]: @SDL_size_add_check_overflow_builtin@, defined at @SDL3\/SDL_stdinc.h 6139:23@
+-- | [C declaration]: @SDL_size_add_check_overflow_builtin@, defined at @SDL3\/SDL_stdinc.h 6147:23@
 sDL_size_add_check_overflow_builtin
   :: HsBindgen.Runtime.LibC.CSize
   -- ^ [C declaration]: @a@
diff --git a/src/SDL3/Sys/Bindgen/Storage/FunPtr.hs b/src/SDL3/Sys/Bindgen/Storage/FunPtr.hs
--- a/src/SDL3/Sys/Bindgen/Storage/FunPtr.hs
+++ b/src/SDL3/Sys/Bindgen/Storage/FunPtr.hs
@@ -658,7 +658,7 @@
 --
 --     [@storage@]: a storage container.
 --
---     [@path@]: the path of the directory to enumerate.
+--     [@path@]: the path to remove from the filesystem.
 --
 --     [Returns]: true on success or false on failure; call SDL_GetError() for more information.
 --
diff --git a/src/SDL3/Sys/Bindgen/Storage/Safe.hs b/src/SDL3/Sys/Bindgen/Storage/Safe.hs
--- a/src/SDL3/Sys/Bindgen/Storage/Safe.hs
+++ b/src/SDL3/Sys/Bindgen/Storage/Safe.hs
@@ -645,7 +645,7 @@
   -> PtrConst.PtrConst BG.CChar
   -- ^
   --
-  --           [@path@]: the path of the directory to enumerate.
+  --           [@path@]: the path to remove from the filesystem.
   -> IO BG.CBool
 sDL_RemoveStoragePath = hs_bindgen_d92d44c2f8e020ee
 
diff --git a/src/SDL3/Sys/Bindgen/Storage/Unsafe.hs b/src/SDL3/Sys/Bindgen/Storage/Unsafe.hs
--- a/src/SDL3/Sys/Bindgen/Storage/Unsafe.hs
+++ b/src/SDL3/Sys/Bindgen/Storage/Unsafe.hs
@@ -645,7 +645,7 @@
   -> PtrConst.PtrConst BG.CChar
   -- ^
   --
-  --           [@path@]: the path of the directory to enumerate.
+  --           [@path@]: the path to remove from the filesystem.
   -> IO BG.CBool
 sDL_RemoveStoragePath = hs_bindgen_76b7043c8ce038fa
 
diff --git a/src/SDL3/Sys/Bindgen/Thread/FunPtr.hs b/src/SDL3/Sys/Bindgen/Thread/FunPtr.hs
--- a/src/SDL3/Sys/Bindgen/Thread/FunPtr.hs
+++ b/src/SDL3/Sys/Bindgen/Thread/FunPtr.hs
@@ -445,9 +445,9 @@
 --
 --     It is safe to pass NULL to this function; it is a no-op.
 --
---     [Thread safety]: It is safe to call this function from any thread.
---
 --     [@thread@]: the 'SDL_Thread' pointer that was returned from the @SDL_CreateThread()@ call that started this thread.
+--
+--     [Thread safety]: It is safe to call this function from any thread.
 --
 --     @since 3.2.0
 --
diff --git a/src/SDL3/Sys/Bindgen/Version.hs b/src/SDL3/Sys/Bindgen/Version.hs
--- a/src/SDL3/Sys/Bindgen/Version.hs
+++ b/src/SDL3/Sys/Bindgen/Version.hs
@@ -45,7 +45,7 @@
 --
 --     [C declaration]: @macro SDL_MICRO_VERSION@, defined at @SDL3\/SDL_version.h 65:9@
 sDL_MICRO_VERSION :: BG.CInt
-sDL_MICRO_VERSION = (2 :: BG.CInt)
+sDL_MICRO_VERSION = (16 :: BG.CInt)
 
 -- | This macro turns the version numbers into a numeric value.
 --
diff --git a/src/SDL3/Sys/Bits.hs b/src/SDL3/Sys/Bits.hs
--- a/src/SDL3/Sys/Bits.hs
+++ b/src/SDL3/Sys/Bits.hs
@@ -1,6 +1,6 @@
 -- | Functions for fiddling with bits and bitmasks. Get the index of the most significant (set) bit in a 32-bit number.
 --
---     Result is undefined when called with 0. This operation can also be stated as \"count leading zeroes\" and \"log base 2\".
+--     This operation can also be stated as \"count leading zeroes\" and \"log base 2\".
 --
 --     Note that this is a forced-inline function in a header, and not a public API function available in the SDL library (which is to say, the code is embedded in the calling program and the linker and dynamic loader will not be able to find this function inside SDL itself).
 --
@@ -46,7 +46,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_MostSignificantBitIndex32@, defined at @SDL3\/SDL_bits.h 66:22@
+--     [C declaration]: @SDL_MostSignificantBitIndex32@, defined at @SDL3\/SDL_bits.h 65:22@
 mostSignificantBitIndex32
   :: BG.Word32
   -- ^ [C declaration]: @x@
@@ -66,7 +66,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_MostSignificantBitIndex32@, defined at @SDL3\/SDL_bits.h 66:22@
+--     [C declaration]: @SDL_MostSignificantBitIndex32@, defined at @SDL3\/SDL_bits.h 65:22@
 mostSignificantBitIndex32Safe
   :: BG.Word32
   -- ^ [C declaration]: @x@
@@ -96,7 +96,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_HasExactlyOneBitSet32@, defined at @SDL3\/SDL_bits.h 133:23@
+--     [C declaration]: @SDL_HasExactlyOneBitSet32@, defined at @SDL3\/SDL_bits.h 132:23@
 hasExactlyOneBitSet32
   :: BG.Word32
   -- ^
@@ -128,7 +128,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_HasExactlyOneBitSet32@, defined at @SDL3\/SDL_bits.h 133:23@
+--     [C declaration]: @SDL_HasExactlyOneBitSet32@, defined at @SDL3\/SDL_bits.h 132:23@
 hasExactlyOneBitSet32Safe
   :: BG.Word32
   -- ^
diff --git a/src/SDL3/Sys/Clipboard.hs b/src/SDL3/Sys/Clipboard.hs
--- a/src/SDL3/Sys/Clipboard.hs
+++ b/src/SDL3/Sys/Clipboard.hs
@@ -398,7 +398,7 @@
   -- ^
   --
   --           [@userdata@]: an opaque pointer that will be forwarded to the callbacks.
-  -> BG.Ptr (PtrConst.PtrConst BG.CChar)
+  -> PtrConst.PtrConst (PtrConst.PtrConst BG.CChar)
   -- ^
   --
   --           [@mime_types@]: a list of mime-types that are being offered. SDL copies the given list.
diff --git a/src/SDL3/Sys/Events.hs b/src/SDL3/Sys/Events.hs
--- a/src/SDL3/Sys/Events.hs
+++ b/src/SDL3/Sys/Events.hs
@@ -95,7 +95,7 @@
 --                   The safe flavor is 'pumpEventsSafe'
 --                   : may re-enter registered watchers\/filters\/hit tests.
 --
---     [C declaration]: @SDL_PumpEvents@, defined at @SDL3\/SDL_events.h 1100:34@
+--     [C declaration]: @SDL_PumpEvents@, defined at @SDL3\/SDL_events.h 1101:34@
 pumpEvents :: IO ()
 pumpEvents = Unsafe.sDL_PumpEvents
 
@@ -117,7 +117,7 @@
 --                   The unsafe flavor is 'pumpEvents'
 --                   : may re-enter registered watchers\/filters\/hit tests.
 --
---     [C declaration]: @SDL_PumpEvents@, defined at @SDL3\/SDL_events.h 1100:34@
+--     [C declaration]: @SDL_PumpEvents@, defined at @SDL3\/SDL_events.h 1101:34@
 pumpEventsSafe :: IO ()
 pumpEventsSafe = Safe.sDL_PumpEvents
 
@@ -150,7 +150,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_PeepEvents@, defined at @SDL3\/SDL_events.h 1158:33@
+--     [C declaration]: @SDL_PeepEvents@, defined at @SDL3\/SDL_events.h 1159:33@
 peepEvents
   :: BG.Ptr SDL_Event
   -- ^
@@ -163,7 +163,7 @@
   -> SDL_EventAction
   -- ^
   --
-  --           [@action@]: action to take; see Remarks for details.
+  --           [@action@]: action to take; see RemarksRemarks for details.
   -> BG.Word32
   -- ^
   --
@@ -212,7 +212,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_PeepEvents@, defined at @SDL3\/SDL_events.h 1158:33@
+--     [C declaration]: @SDL_PeepEvents@, defined at @SDL3\/SDL_events.h 1159:33@
 peepEventsSafe
   :: BG.Ptr SDL_Event
   -- ^
@@ -225,7 +225,7 @@
   -> SDL_EventAction
   -- ^
   --
-  --           [@action@]: action to take; see Remarks for details.
+  --           [@action@]: action to take; see RemarksRemarks for details.
   -> BG.Word32
   -- ^
   --
@@ -266,7 +266,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_HasEvent@, defined at @SDL3\/SDL_events.h 1177:34@
+--     [C declaration]: @SDL_HasEvent@, defined at @SDL3\/SDL_events.h 1178:34@
 hasEvent
   :: BG.Word32
   -- ^
@@ -298,7 +298,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_HasEvent@, defined at @SDL3\/SDL_events.h 1177:34@
+--     [C declaration]: @SDL_HasEvent@, defined at @SDL3\/SDL_events.h 1178:34@
 hasEventSafe
   :: BG.Word32
   -- ^
@@ -330,7 +330,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_HasEvents@, defined at @SDL3\/SDL_events.h 1198:34@
+--     [C declaration]: @SDL_HasEvents@, defined at @SDL3\/SDL_events.h 1199:34@
 hasEvents
   :: BG.Word32
   -- ^
@@ -367,7 +367,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_HasEvents@, defined at @SDL3\/SDL_events.h 1198:34@
+--     [C declaration]: @SDL_HasEvents@, defined at @SDL3\/SDL_events.h 1199:34@
 hasEventsSafe
   :: BG.Word32
   -- ^
@@ -408,7 +408,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_FlushEvent@, defined at @SDL3\/SDL_events.h 1226:34@
+--     [C declaration]: @SDL_FlushEvent@, defined at @SDL3\/SDL_events.h 1227:34@
 flushEvent
   :: BG.Word32
   -- ^
@@ -443,7 +443,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_FlushEvent@, defined at @SDL3\/SDL_events.h 1226:34@
+--     [C declaration]: @SDL_FlushEvent@, defined at @SDL3\/SDL_events.h 1227:34@
 flushEventSafe
   :: BG.Word32
   -- ^
@@ -476,7 +476,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_FlushEvents@, defined at @SDL3\/SDL_events.h 1253:34@
+--     [C declaration]: @SDL_FlushEvents@, defined at @SDL3\/SDL_events.h 1254:34@
 flushEvents
   :: BG.Word32
   -- ^
@@ -515,7 +515,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_FlushEvents@, defined at @SDL3\/SDL_events.h 1253:34@
+--     [C declaration]: @SDL_FlushEvents@, defined at @SDL3\/SDL_events.h 1254:34@
 flushEventsSafe
   :: BG.Word32
   -- ^
@@ -575,7 +575,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_PollEvent@, defined at @SDL3\/SDL_events.h 1304:34@
+--     [C declaration]: @SDL_PollEvent@, defined at @SDL3\/SDL_events.h 1305:34@
 pollEvent
   :: BG.Ptr SDL_Event
   -- ^
@@ -629,7 +629,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_PollEvent@, defined at @SDL3\/SDL_events.h 1304:34@
+--     [C declaration]: @SDL_PollEvent@, defined at @SDL3\/SDL_events.h 1305:34@
 pollEventSafe
   :: BG.Ptr SDL_Event
   -- ^
@@ -662,7 +662,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_WaitEvent@, defined at @SDL3\/SDL_events.h 1328:34@
+--     [C declaration]: @SDL_WaitEvent@, defined at @SDL3\/SDL_events.h 1329:34@
 waitEvent
   :: BG.Ptr SDL_Event
   -- ^
@@ -695,7 +695,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_WaitEvent@, defined at @SDL3\/SDL_events.h 1328:34@
+--     [C declaration]: @SDL_WaitEvent@, defined at @SDL3\/SDL_events.h 1329:34@
 waitEventSafe
   :: BG.Ptr SDL_Event
   -- ^
@@ -730,7 +730,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_WaitEventTimeout@, defined at @SDL3\/SDL_events.h 1358:34@
+--     [C declaration]: @SDL_WaitEventTimeout@, defined at @SDL3\/SDL_events.h 1359:34@
 waitEventTimeout
   :: BG.Ptr SDL_Event
   -- ^
@@ -771,7 +771,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_WaitEventTimeout@, defined at @SDL3\/SDL_events.h 1358:34@
+--     [C declaration]: @SDL_WaitEventTimeout@, defined at @SDL3\/SDL_events.h 1359:34@
 waitEventTimeoutSafe
   :: BG.Ptr SDL_Event
   -- ^
@@ -814,7 +814,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_PushEvent@, defined at @SDL3\/SDL_events.h 1392:34@
+--     [C declaration]: @SDL_PushEvent@, defined at @SDL3\/SDL_events.h 1393:34@
 pushEvent
   :: BG.Ptr SDL_Event
   -- ^
@@ -851,7 +851,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_PushEvent@, defined at @SDL3\/SDL_events.h 1392:34@
+--     [C declaration]: @SDL_PushEvent@, defined at @SDL3\/SDL_events.h 1393:34@
 pushEventSafe
   :: BG.Ptr SDL_Event
   -- ^
@@ -887,7 +887,7 @@
 --                   The safe flavor is 'setEventFilterSafe'
 --                   : registration; the filter runs from later event calls.
 --
---     [C declaration]: @SDL_SetEventFilter@, defined at @SDL3\/SDL_events.h 1457:34@
+--     [C declaration]: @SDL_SetEventFilter@, defined at @SDL3\/SDL_events.h 1458:34@
 setEventFilter
   :: SDL_EventFilter
   -- ^
@@ -926,7 +926,7 @@
 --                   The unsafe flavor is 'setEventFilter'
 --                   : registration; the filter runs from later event calls.
 --
---     [C declaration]: @SDL_SetEventFilter@, defined at @SDL3\/SDL_events.h 1457:34@
+--     [C declaration]: @SDL_SetEventFilter@, defined at @SDL3\/SDL_events.h 1458:34@
 setEventFilterSafe
   :: SDL_EventFilter
   -- ^
@@ -960,7 +960,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetEventFilter@, defined at @SDL3\/SDL_events.h 1476:34@
+--     [C declaration]: @SDL_GetEventFilter@, defined at @SDL3\/SDL_events.h 1477:34@
 getEventFilter
   :: BG.Ptr SDL_EventFilter
   -- ^
@@ -997,7 +997,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetEventFilter@, defined at @SDL3\/SDL_events.h 1476:34@
+--     [C declaration]: @SDL_GetEventFilter@, defined at @SDL3\/SDL_events.h 1477:34@
 getEventFilterSafe
   :: BG.Ptr SDL_EventFilter
   -- ^
@@ -1040,7 +1040,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_AddEventWatch@, defined at @SDL3\/SDL_events.h 1508:34@
+--     [C declaration]: @SDL_AddEventWatch@, defined at @SDL3\/SDL_events.h 1509:34@
 addEventWatch
   :: SDL_EventFilter
   -- ^
@@ -1083,7 +1083,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_AddEventWatch@, defined at @SDL3\/SDL_events.h 1508:34@
+--     [C declaration]: @SDL_AddEventWatch@, defined at @SDL3\/SDL_events.h 1509:34@
 addEventWatchSafe
   :: SDL_EventFilter
   -- ^
@@ -1115,7 +1115,7 @@
 --                   The safe flavor is 'removeEventWatchSafe'
 --                   : deregistration only.
 --
---     [C declaration]: @SDL_RemoveEventWatch@, defined at @SDL3\/SDL_events.h 1525:34@
+--     [C declaration]: @SDL_RemoveEventWatch@, defined at @SDL3\/SDL_events.h 1526:34@
 removeEventWatch
   :: SDL_EventFilter
   -- ^
@@ -1144,7 +1144,7 @@
 --                   The unsafe flavor is 'removeEventWatch'
 --                   : deregistration only.
 --
---     [C declaration]: @SDL_RemoveEventWatch@, defined at @SDL3\/SDL_events.h 1525:34@
+--     [C declaration]: @SDL_RemoveEventWatch@, defined at @SDL3\/SDL_events.h 1526:34@
 removeEventWatchSafe
   :: SDL_EventFilter
   -- ^
@@ -1175,7 +1175,7 @@
 --                   If your callback is a non-Haskell function pointer that never
 -- re-enters the Haskell runtime, the unsafe import remains available as @SDL3.Sys.Bindgen.Events.Unsafe.sDL_FilterEvents@.
 --
---     [C declaration]: @SDL_FilterEvents@, defined at @SDL3\/SDL_events.h 1545:34@
+--     [C declaration]: @SDL_FilterEvents@, defined at @SDL3\/SDL_events.h 1546:34@
 filterEventsSafe
   :: SDL_EventFilter
   -- ^
@@ -1205,7 +1205,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetEventEnabled@, defined at @SDL3\/SDL_events.h 1559:34@
+--     [C declaration]: @SDL_SetEventEnabled@, defined at @SDL3\/SDL_events.h 1560:34@
 setEventEnabled
   :: BG.Word32
   -- ^
@@ -1238,7 +1238,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetEventEnabled@, defined at @SDL3\/SDL_events.h 1559:34@
+--     [C declaration]: @SDL_SetEventEnabled@, defined at @SDL3\/SDL_events.h 1560:34@
 setEventEnabledSafe
   :: BG.Word32
   -- ^
@@ -1273,7 +1273,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_EventEnabled@, defined at @SDL3\/SDL_events.h 1573:34@
+--     [C declaration]: @SDL_EventEnabled@, defined at @SDL3\/SDL_events.h 1574:34@
 eventEnabled
   :: BG.Word32
   -- ^
@@ -1303,7 +1303,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_EventEnabled@, defined at @SDL3\/SDL_events.h 1573:34@
+--     [C declaration]: @SDL_EventEnabled@, defined at @SDL3\/SDL_events.h 1574:34@
 eventEnabledSafe
   :: BG.Word32
   -- ^
@@ -1333,7 +1333,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RegisterEvents@, defined at @SDL3\/SDL_events.h 1589:36@
+--     [C declaration]: @SDL_RegisterEvents@, defined at @SDL3\/SDL_events.h 1590:36@
 registerEvents
   :: BG.Int32
   -- ^
@@ -1363,7 +1363,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RegisterEvents@, defined at @SDL3\/SDL_events.h 1589:36@
+--     [C declaration]: @SDL_RegisterEvents@, defined at @SDL3\/SDL_events.h 1590:36@
 registerEventsSafe
   :: BG.Int32
   -- ^
@@ -1390,7 +1390,7 @@
 --                   The safe flavor is 'getWindowFromEventSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetWindowFromEvent@, defined at @SDL3\/SDL_events.h 1605:42@
+--     [C declaration]: @SDL_GetWindowFromEvent@, defined at @SDL3\/SDL_events.h 1606:42@
 getWindowFromEvent
   :: PtrConst.PtrConst SDL_Event
   -- ^
@@ -1415,7 +1415,7 @@
 --                   The unsafe flavor is 'getWindowFromEvent'
 --                   .
 --
---     [C declaration]: @SDL_GetWindowFromEvent@, defined at @SDL3\/SDL_events.h 1605:42@
+--     [C declaration]: @SDL_GetWindowFromEvent@, defined at @SDL3\/SDL_events.h 1606:42@
 getWindowFromEventSafe
   :: PtrConst.PtrConst SDL_Event
   -- ^
@@ -1451,7 +1451,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetEventDescription@, defined at @SDL3\/SDL_events.h 1637:33@
+--     [C declaration]: @SDL_GetEventDescription@, defined at @SDL3\/SDL_events.h 1638:33@
 getEventDescription
   :: PtrConst.PtrConst SDL_Event
   -- ^
@@ -1499,7 +1499,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetEventDescription@, defined at @SDL3\/SDL_events.h 1637:33@
+--     [C declaration]: @SDL_GetEventDescription@, defined at @SDL3\/SDL_events.h 1638:33@
 getEventDescriptionSafe
   :: PtrConst.PtrConst SDL_Event
   -- ^
diff --git a/src/SDL3/Sys/Gpu.hs b/src/SDL3/Sys/Gpu.hs
--- a/src/SDL3/Sys/Gpu.hs
+++ b/src/SDL3/Sys/Gpu.hs
@@ -496,7 +496,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GPUSupportsShaderFormats@, defined at @SDL3\/SDL_gpu.h 2200:34@
+--     [C declaration]: @SDL_GPUSupportsShaderFormats@, defined at @SDL3\/SDL_gpu.h 2213:34@
 gpuSupportsShaderFormats
   :: SDL_GPUShaderFormat
   -- ^
@@ -529,7 +529,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GPUSupportsShaderFormats@, defined at @SDL3\/SDL_gpu.h 2200:34@
+--     [C declaration]: @SDL_GPUSupportsShaderFormats@, defined at @SDL3\/SDL_gpu.h 2213:34@
 gpuSupportsShaderFormatsSafe
   :: SDL_GPUShaderFormat
   -- ^
@@ -562,7 +562,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GPUSupportsProperties@, defined at @SDL3\/SDL_gpu.h 2214:34@
+--     [C declaration]: @SDL_GPUSupportsProperties@, defined at @SDL3\/SDL_gpu.h 2227:34@
 gpuSupportsProperties
   :: SDL3.Sys.Bindgen.Properties.SDL_PropertiesID
   -- ^
@@ -590,7 +590,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GPUSupportsProperties@, defined at @SDL3\/SDL_gpu.h 2214:34@
+--     [C declaration]: @SDL_GPUSupportsProperties@, defined at @SDL3\/SDL_gpu.h 2227:34@
 gpuSupportsPropertiesSafe
   :: SDL3.Sys.Bindgen.Properties.SDL_PropertiesID
   -- ^
@@ -628,7 +628,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_CreateGPUDevice@, defined at @SDL3\/SDL_gpu.h 2243:45@
+--     [C declaration]: @SDL_CreateGPUDevice@, defined at @SDL3\/SDL_gpu.h 2256:45@
 createGPUDevice
   :: SDL_GPUShaderFormat
   -- ^
@@ -676,7 +676,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_CreateGPUDevice@, defined at @SDL3\/SDL_gpu.h 2243:45@
+--     [C declaration]: @SDL_CreateGPUDevice@, defined at @SDL3\/SDL_gpu.h 2256:45@
 createGPUDeviceSafe
   :: SDL_GPUShaderFormat
   -- ^
@@ -761,7 +761,7 @@
 --                   The safe flavor is 'createGPUDeviceWithPropertiesSafe'
 --                   .
 --
---     [C declaration]: @SDL_CreateGPUDeviceWithProperties@, defined at @SDL3\/SDL_gpu.h 2360:45@
+--     [C declaration]: @SDL_CreateGPUDeviceWithProperties@, defined at @SDL3\/SDL_gpu.h 2373:45@
 createGPUDeviceWithProperties
   :: SDL3.Sys.Bindgen.Properties.SDL_PropertiesID
   -- ^
@@ -835,7 +835,7 @@
 --                   The unsafe flavor is 'createGPUDeviceWithProperties'
 --                   .
 --
---     [C declaration]: @SDL_CreateGPUDeviceWithProperties@, defined at @SDL3\/SDL_gpu.h 2360:45@
+--     [C declaration]: @SDL_CreateGPUDeviceWithProperties@, defined at @SDL3\/SDL_gpu.h 2373:45@
 createGPUDeviceWithPropertiesSafe
   :: SDL3.Sys.Bindgen.Properties.SDL_PropertiesID
   -- ^
@@ -857,7 +857,7 @@
 --                   The safe flavor is 'destroyGPUDeviceSafe'
 --                   .
 --
---     [C declaration]: @SDL_DestroyGPUDevice@, defined at @SDL3\/SDL_gpu.h 2422:34@
+--     [C declaration]: @SDL_DestroyGPUDevice@, defined at @SDL3\/SDL_gpu.h 2435:34@
 destroyGPUDevice
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -878,7 +878,7 @@
 --                   The unsafe flavor is 'destroyGPUDevice'
 --                   .
 --
---     [C declaration]: @SDL_DestroyGPUDevice@, defined at @SDL3\/SDL_gpu.h 2422:34@
+--     [C declaration]: @SDL_DestroyGPUDevice@, defined at @SDL3\/SDL_gpu.h 2435:34@
 destroyGPUDeviceSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -904,7 +904,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetNumGPUDrivers@, defined at @SDL3\/SDL_gpu.h 2433:33@
+--     [C declaration]: @SDL_GetNumGPUDrivers@, defined at @SDL3\/SDL_gpu.h 2446:33@
 getNumGPUDrivers :: IO BG.Int32
 getNumGPUDrivers =
   fmap Coerce.coerce Unsafe.sDL_GetNumGPUDrivers
@@ -926,7 +926,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetNumGPUDrivers@, defined at @SDL3\/SDL_gpu.h 2433:33@
+--     [C declaration]: @SDL_GetNumGPUDrivers@, defined at @SDL3\/SDL_gpu.h 2446:33@
 getNumGPUDriversSafe :: IO BG.Int32
 getNumGPUDriversSafe =
   fmap Coerce.coerce Safe.sDL_GetNumGPUDrivers
@@ -952,7 +952,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetGPUDriver@, defined at @SDL3\/SDL_gpu.h 2452:42@
+--     [C declaration]: @SDL_GetGPUDriver@, defined at @SDL3\/SDL_gpu.h 2465:42@
 getGPUDriver
   :: BG.Int32
   -- ^
@@ -983,7 +983,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetGPUDriver@, defined at @SDL3\/SDL_gpu.h 2452:42@
+--     [C declaration]: @SDL_GetGPUDriver@, defined at @SDL3\/SDL_gpu.h 2465:42@
 getGPUDriverSafe
   :: BG.Int32
   -- ^
@@ -1005,7 +1005,7 @@
 --                   The safe flavor is 'getGPUDeviceDriverSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetGPUDeviceDriver@, defined at @SDL3\/SDL_gpu.h 2462:42@
+--     [C declaration]: @SDL_GetGPUDeviceDriver@, defined at @SDL3\/SDL_gpu.h 2475:42@
 getGPUDeviceDriver
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1026,7 +1026,7 @@
 --                   The unsafe flavor is 'getGPUDeviceDriver'
 --                   .
 --
---     [C declaration]: @SDL_GetGPUDeviceDriver@, defined at @SDL3\/SDL_gpu.h 2462:42@
+--     [C declaration]: @SDL_GetGPUDeviceDriver@, defined at @SDL3\/SDL_gpu.h 2475:42@
 getGPUDeviceDriverSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1047,7 +1047,7 @@
 --                   The safe flavor is 'getGPUShaderFormatsSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetGPUShaderFormats@, defined at @SDL3\/SDL_gpu.h 2473:49@
+--     [C declaration]: @SDL_GetGPUShaderFormats@, defined at @SDL3\/SDL_gpu.h 2486:49@
 getGPUShaderFormats
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1068,7 +1068,7 @@
 --                   The unsafe flavor is 'getGPUShaderFormats'
 --                   .
 --
---     [C declaration]: @SDL_GetGPUShaderFormats@, defined at @SDL3\/SDL_gpu.h 2473:49@
+--     [C declaration]: @SDL_GetGPUShaderFormats@, defined at @SDL3\/SDL_gpu.h 2486:49@
 getGPUShaderFormatsSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1185,7 +1185,7 @@
 --                   The safe flavor is 'getGPUDevicePropertiesSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetGPUDeviceProperties@, defined at @SDL3\/SDL_gpu.h 2577:46@
+--     [C declaration]: @SDL_GetGPUDeviceProperties@, defined at @SDL3\/SDL_gpu.h 2590:46@
 getGPUDeviceProperties
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1302,7 +1302,7 @@
 --                   The unsafe flavor is 'getGPUDeviceProperties'
 --                   .
 --
---     [C declaration]: @SDL_GetGPUDeviceProperties@, defined at @SDL3\/SDL_gpu.h 2577:46@
+--     [C declaration]: @SDL_GetGPUDeviceProperties@, defined at @SDL3\/SDL_gpu.h 2590:46@
 getGPUDevicePropertiesSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1354,7 +1354,7 @@
 --                   The safe flavor is 'createGPUComputePipelineSafe'
 --                   .
 --
---     [C declaration]: @SDL_CreateGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 2632:54@
+--     [C declaration]: @SDL_CreateGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 2645:54@
 createGPUComputePipeline
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1410,7 +1410,7 @@
 --                   The unsafe flavor is 'createGPUComputePipeline'
 --                   .
 --
---     [C declaration]: @SDL_CreateGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 2632:54@
+--     [C declaration]: @SDL_CreateGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 2645:54@
 createGPUComputePipelineSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1442,7 +1442,7 @@
 --                   The safe flavor is 'createGPUGraphicsPipelineSafe'
 --                   .
 --
---     [C declaration]: @SDL_CreateGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 2659:55@
+--     [C declaration]: @SDL_CreateGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 2672:55@
 createGPUGraphicsPipeline
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1474,7 +1474,7 @@
 --                   The unsafe flavor is 'createGPUGraphicsPipeline'
 --                   .
 --
---     [C declaration]: @SDL_CreateGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 2659:55@
+--     [C declaration]: @SDL_CreateGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 2672:55@
 createGPUGraphicsPipelineSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1506,7 +1506,7 @@
 --                   The safe flavor is 'createGPUSamplerSafe'
 --                   .
 --
---     [C declaration]: @SDL_CreateGPUSampler@, defined at @SDL3\/SDL_gpu.h 2686:46@
+--     [C declaration]: @SDL_CreateGPUSampler@, defined at @SDL3\/SDL_gpu.h 2699:46@
 createGPUSampler
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1537,7 +1537,7 @@
 --                   The unsafe flavor is 'createGPUSampler'
 --                   .
 --
---     [C declaration]: @SDL_CreateGPUSampler@, defined at @SDL3\/SDL_gpu.h 2686:46@
+--     [C declaration]: @SDL_CreateGPUSampler@, defined at @SDL3\/SDL_gpu.h 2699:46@
 createGPUSamplerSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1612,7 +1612,7 @@
 --                   The safe flavor is 'createGPUShaderSafe'
 --                   .
 --
---     [C declaration]: @SDL_CreateGPUShader@, defined at @SDL3\/SDL_gpu.h 2765:45@
+--     [C declaration]: @SDL_CreateGPUShader@, defined at @SDL3\/SDL_gpu.h 2778:45@
 createGPUShader
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1687,7 +1687,7 @@
 --                   The unsafe flavor is 'createGPUShader'
 --                   .
 --
---     [C declaration]: @SDL_CreateGPUShader@, defined at @SDL3\/SDL_gpu.h 2765:45@
+--     [C declaration]: @SDL_CreateGPUShader@, defined at @SDL3\/SDL_gpu.h 2778:45@
 createGPUShaderSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1736,7 +1736,7 @@
 --                   The safe flavor is 'createGPUTextureSafe'
 --                   .
 --
---     [C declaration]: @SDL_CreateGPUTexture@, defined at @SDL3\/SDL_gpu.h 2829:46@
+--     [C declaration]: @SDL_CreateGPUTexture@, defined at @SDL3\/SDL_gpu.h 2842:46@
 createGPUTexture
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1785,7 +1785,7 @@
 --                   The unsafe flavor is 'createGPUTexture'
 --                   .
 --
---     [C declaration]: @SDL_CreateGPUTexture@, defined at @SDL3\/SDL_gpu.h 2829:46@
+--     [C declaration]: @SDL_CreateGPUTexture@, defined at @SDL3\/SDL_gpu.h 2842:46@
 createGPUTextureSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1822,7 +1822,7 @@
 --                   The safe flavor is 'createGPUBufferSafe'
 --                   .
 --
---     [C declaration]: @SDL_CreateGPUBuffer@, defined at @SDL3\/SDL_gpu.h 2885:45@
+--     [C declaration]: @SDL_CreateGPUBuffer@, defined at @SDL3\/SDL_gpu.h 2898:45@
 createGPUBuffer
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1859,7 +1859,7 @@
 --                   The unsafe flavor is 'createGPUBuffer'
 --                   .
 --
---     [C declaration]: @SDL_CreateGPUBuffer@, defined at @SDL3\/SDL_gpu.h 2885:45@
+--     [C declaration]: @SDL_CreateGPUBuffer@, defined at @SDL3\/SDL_gpu.h 2898:45@
 createGPUBufferSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1892,7 +1892,7 @@
 --                   The safe flavor is 'createGPUTransferBufferSafe'
 --                   .
 --
---     [C declaration]: @SDL_CreateGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 2918:53@
+--     [C declaration]: @SDL_CreateGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 2931:53@
 createGPUTransferBuffer
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1926,7 +1926,7 @@
 --                   The unsafe flavor is 'createGPUTransferBuffer'
 --                   .
 --
---     [C declaration]: @SDL_CreateGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 2918:53@
+--     [C declaration]: @SDL_CreateGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 2931:53@
 createGPUTransferBufferSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1956,7 +1956,7 @@
 --                   The safe flavor is 'setGPUBufferNameSafe'
 --                   .
 --
---     [C declaration]: @SDL_SetGPUBufferName@, defined at @SDL3\/SDL_gpu.h 2943:34@
+--     [C declaration]: @SDL_SetGPUBufferName@, defined at @SDL3\/SDL_gpu.h 2956:34@
 setGPUBufferName
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -1989,7 +1989,7 @@
 --                   The unsafe flavor is 'setGPUBufferName'
 --                   .
 --
---     [C declaration]: @SDL_SetGPUBufferName@, defined at @SDL3\/SDL_gpu.h 2943:34@
+--     [C declaration]: @SDL_SetGPUBufferName@, defined at @SDL3\/SDL_gpu.h 2956:34@
 setGPUBufferNameSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2022,7 +2022,7 @@
 --                   The safe flavor is 'setGPUTextureNameSafe'
 --                   .
 --
---     [C declaration]: @SDL_SetGPUTextureName@, defined at @SDL3\/SDL_gpu.h 2966:34@
+--     [C declaration]: @SDL_SetGPUTextureName@, defined at @SDL3\/SDL_gpu.h 2979:34@
 setGPUTextureName
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2055,7 +2055,7 @@
 --                   The unsafe flavor is 'setGPUTextureName'
 --                   .
 --
---     [C declaration]: @SDL_SetGPUTextureName@, defined at @SDL3\/SDL_gpu.h 2966:34@
+--     [C declaration]: @SDL_SetGPUTextureName@, defined at @SDL3\/SDL_gpu.h 2979:34@
 setGPUTextureNameSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2086,7 +2086,7 @@
 --                   The safe flavor is 'insertGPUDebugLabelSafe'
 --                   .
 --
---     [C declaration]: @SDL_InsertGPUDebugLabel@, defined at @SDL3\/SDL_gpu.h 2987:34@
+--     [C declaration]: @SDL_InsertGPUDebugLabel@, defined at @SDL3\/SDL_gpu.h 3000:34@
 insertGPUDebugLabel
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -2113,7 +2113,7 @@
 --                   The unsafe flavor is 'insertGPUDebugLabel'
 --                   .
 --
---     [C declaration]: @SDL_InsertGPUDebugLabel@, defined at @SDL3\/SDL_gpu.h 2987:34@
+--     [C declaration]: @SDL_InsertGPUDebugLabel@, defined at @SDL3\/SDL_gpu.h 3000:34@
 insertGPUDebugLabelSafe
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -2147,7 +2147,7 @@
 --                   The safe flavor is 'pushGPUDebugGroupSafe'
 --                   .
 --
---     [C declaration]: @SDL_PushGPUDebugGroup@, defined at @SDL3\/SDL_gpu.h 3017:34@
+--     [C declaration]: @SDL_PushGPUDebugGroup@, defined at @SDL3\/SDL_gpu.h 3030:34@
 pushGPUDebugGroup
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -2180,7 +2180,7 @@
 --                   The unsafe flavor is 'pushGPUDebugGroup'
 --                   .
 --
---     [C declaration]: @SDL_PushGPUDebugGroup@, defined at @SDL3\/SDL_gpu.h 3017:34@
+--     [C declaration]: @SDL_PushGPUDebugGroup@, defined at @SDL3\/SDL_gpu.h 3030:34@
 pushGPUDebugGroupSafe
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -2207,7 +2207,7 @@
 --                   The safe flavor is 'popGPUDebugGroupSafe'
 --                   .
 --
---     [C declaration]: @SDL_PopGPUDebugGroup@, defined at @SDL3\/SDL_gpu.h 3035:34@
+--     [C declaration]: @SDL_PopGPUDebugGroup@, defined at @SDL3\/SDL_gpu.h 3048:34@
 popGPUDebugGroup
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -2230,7 +2230,7 @@
 --                   The unsafe flavor is 'popGPUDebugGroup'
 --                   .
 --
---     [C declaration]: @SDL_PopGPUDebugGroup@, defined at @SDL3\/SDL_gpu.h 3035:34@
+--     [C declaration]: @SDL_PopGPUDebugGroup@, defined at @SDL3\/SDL_gpu.h 3048:34@
 popGPUDebugGroupSafe
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -2251,7 +2251,7 @@
 --                   The safe flavor is 'releaseGPUTextureSafe'
 --                   .
 --
---     [C declaration]: @SDL_ReleaseGPUTexture@, defined at @SDL3\/SDL_gpu.h 3050:34@
+--     [C declaration]: @SDL_ReleaseGPUTexture@, defined at @SDL3\/SDL_gpu.h 3063:34@
 releaseGPUTexture
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2276,7 +2276,7 @@
 --                   The unsafe flavor is 'releaseGPUTexture'
 --                   .
 --
---     [C declaration]: @SDL_ReleaseGPUTexture@, defined at @SDL3\/SDL_gpu.h 3050:34@
+--     [C declaration]: @SDL_ReleaseGPUTexture@, defined at @SDL3\/SDL_gpu.h 3063:34@
 releaseGPUTextureSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2301,7 +2301,7 @@
 --                   The safe flavor is 'releaseGPUSamplerSafe'
 --                   .
 --
---     [C declaration]: @SDL_ReleaseGPUSampler@, defined at @SDL3\/SDL_gpu.h 3064:34@
+--     [C declaration]: @SDL_ReleaseGPUSampler@, defined at @SDL3\/SDL_gpu.h 3077:34@
 releaseGPUSampler
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2326,7 +2326,7 @@
 --                   The unsafe flavor is 'releaseGPUSampler'
 --                   .
 --
---     [C declaration]: @SDL_ReleaseGPUSampler@, defined at @SDL3\/SDL_gpu.h 3064:34@
+--     [C declaration]: @SDL_ReleaseGPUSampler@, defined at @SDL3\/SDL_gpu.h 3077:34@
 releaseGPUSamplerSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2351,7 +2351,7 @@
 --                   The safe flavor is 'releaseGPUBufferSafe'
 --                   .
 --
---     [C declaration]: @SDL_ReleaseGPUBuffer@, defined at @SDL3\/SDL_gpu.h 3078:34@
+--     [C declaration]: @SDL_ReleaseGPUBuffer@, defined at @SDL3\/SDL_gpu.h 3091:34@
 releaseGPUBuffer
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2376,7 +2376,7 @@
 --                   The unsafe flavor is 'releaseGPUBuffer'
 --                   .
 --
---     [C declaration]: @SDL_ReleaseGPUBuffer@, defined at @SDL3\/SDL_gpu.h 3078:34@
+--     [C declaration]: @SDL_ReleaseGPUBuffer@, defined at @SDL3\/SDL_gpu.h 3091:34@
 releaseGPUBufferSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2401,7 +2401,7 @@
 --                   The safe flavor is 'releaseGPUTransferBufferSafe'
 --                   .
 --
---     [C declaration]: @SDL_ReleaseGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3092:34@
+--     [C declaration]: @SDL_ReleaseGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3105:34@
 releaseGPUTransferBuffer
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2427,7 +2427,7 @@
 --                   The unsafe flavor is 'releaseGPUTransferBuffer'
 --                   .
 --
---     [C declaration]: @SDL_ReleaseGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3092:34@
+--     [C declaration]: @SDL_ReleaseGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3105:34@
 releaseGPUTransferBufferSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2453,7 +2453,7 @@
 --                   The safe flavor is 'releaseGPUComputePipelineSafe'
 --                   .
 --
---     [C declaration]: @SDL_ReleaseGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 3106:34@
+--     [C declaration]: @SDL_ReleaseGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 3119:34@
 releaseGPUComputePipeline
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2479,7 +2479,7 @@
 --                   The unsafe flavor is 'releaseGPUComputePipeline'
 --                   .
 --
---     [C declaration]: @SDL_ReleaseGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 3106:34@
+--     [C declaration]: @SDL_ReleaseGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 3119:34@
 releaseGPUComputePipelineSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2505,7 +2505,7 @@
 --                   The safe flavor is 'releaseGPUShaderSafe'
 --                   .
 --
---     [C declaration]: @SDL_ReleaseGPUShader@, defined at @SDL3\/SDL_gpu.h 3120:34@
+--     [C declaration]: @SDL_ReleaseGPUShader@, defined at @SDL3\/SDL_gpu.h 3133:34@
 releaseGPUShader
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2530,7 +2530,7 @@
 --                   The unsafe flavor is 'releaseGPUShader'
 --                   .
 --
---     [C declaration]: @SDL_ReleaseGPUShader@, defined at @SDL3\/SDL_gpu.h 3120:34@
+--     [C declaration]: @SDL_ReleaseGPUShader@, defined at @SDL3\/SDL_gpu.h 3133:34@
 releaseGPUShaderSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2555,7 +2555,7 @@
 --                   The safe flavor is 'releaseGPUGraphicsPipelineSafe'
 --                   .
 --
---     [C declaration]: @SDL_ReleaseGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 3134:34@
+--     [C declaration]: @SDL_ReleaseGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 3147:34@
 releaseGPUGraphicsPipeline
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2581,7 +2581,7 @@
 --                   The unsafe flavor is 'releaseGPUGraphicsPipeline'
 --                   .
 --
---     [C declaration]: @SDL_ReleaseGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 3134:34@
+--     [C declaration]: @SDL_ReleaseGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 3147:34@
 releaseGPUGraphicsPipelineSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2613,7 +2613,7 @@
 --                   The safe flavor is 'acquireGPUCommandBufferSafe'
 --                   .
 --
---     [C declaration]: @SDL_AcquireGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 3162:52@
+--     [C declaration]: @SDL_AcquireGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 3175:52@
 acquireGPUCommandBuffer
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2641,7 +2641,7 @@
 --                   The unsafe flavor is 'acquireGPUCommandBuffer'
 --                   .
 --
---     [C declaration]: @SDL_AcquireGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 3162:52@
+--     [C declaration]: @SDL_AcquireGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 3175:52@
 acquireGPUCommandBufferSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -2670,7 +2670,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_PushGPUVertexUniformData@, defined at @SDL3\/SDL_gpu.h 3186:34@
+--     [C declaration]: @SDL_PushGPUVertexUniformData@, defined at @SDL3\/SDL_gpu.h 3199:34@
 pushGPUVertexUniformData
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -2715,7 +2715,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_PushGPUVertexUniformData@, defined at @SDL3\/SDL_gpu.h 3186:34@
+--     [C declaration]: @SDL_PushGPUVertexUniformData@, defined at @SDL3\/SDL_gpu.h 3199:34@
 pushGPUVertexUniformDataSafe
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -2758,7 +2758,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_PushGPUFragmentUniformData@, defined at @SDL3\/SDL_gpu.h 3208:34@
+--     [C declaration]: @SDL_PushGPUFragmentUniformData@, defined at @SDL3\/SDL_gpu.h 3221:34@
 pushGPUFragmentUniformData
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -2801,7 +2801,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_PushGPUFragmentUniformData@, defined at @SDL3\/SDL_gpu.h 3208:34@
+--     [C declaration]: @SDL_PushGPUFragmentUniformData@, defined at @SDL3\/SDL_gpu.h 3221:34@
 pushGPUFragmentUniformDataSafe
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -2844,7 +2844,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_PushGPUComputeUniformData@, defined at @SDL3\/SDL_gpu.h 3230:34@
+--     [C declaration]: @SDL_PushGPUComputeUniformData@, defined at @SDL3\/SDL_gpu.h 3243:34@
 pushGPUComputeUniformData
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -2887,7 +2887,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_PushGPUComputeUniformData@, defined at @SDL3\/SDL_gpu.h 3230:34@
+--     [C declaration]: @SDL_PushGPUComputeUniformData@, defined at @SDL3\/SDL_gpu.h 3243:34@
 pushGPUComputeUniformDataSafe
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -2934,7 +2934,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BeginGPURenderPass@, defined at @SDL3\/SDL_gpu.h 3271:49@
+--     [C declaration]: @SDL_BeginGPURenderPass@, defined at @SDL3\/SDL_gpu.h 3284:49@
 beginGPURenderPass
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -2981,7 +2981,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BeginGPURenderPass@, defined at @SDL3\/SDL_gpu.h 3271:49@
+--     [C declaration]: @SDL_BeginGPURenderPass@, defined at @SDL3\/SDL_gpu.h 3284:49@
 beginGPURenderPassSafe
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -3019,7 +3019,7 @@
 --                   The safe flavor is 'bindGPUGraphicsPipelineSafe'
 --                   .
 --
---     [C declaration]: @SDL_BindGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 3287:34@
+--     [C declaration]: @SDL_BindGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 3300:34@
 bindGPUGraphicsPipeline
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3045,7 +3045,7 @@
 --                   The unsafe flavor is 'bindGPUGraphicsPipeline'
 --                   .
 --
---     [C declaration]: @SDL_BindGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 3287:34@
+--     [C declaration]: @SDL_BindGPUGraphicsPipeline@, defined at @SDL3\/SDL_gpu.h 3300:34@
 bindGPUGraphicsPipelineSafe
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3069,7 +3069,7 @@
 --                   The safe flavor is 'setGPUViewportSafe'
 --                   .
 --
---     [C declaration]: @SDL_SetGPUViewport@, defined at @SDL3\/SDL_gpu.h 3299:34@
+--     [C declaration]: @SDL_SetGPUViewport@, defined at @SDL3\/SDL_gpu.h 3312:34@
 setGPUViewport
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3092,7 +3092,7 @@
 --                   The unsafe flavor is 'setGPUViewport'
 --                   .
 --
---     [C declaration]: @SDL_SetGPUViewport@, defined at @SDL3\/SDL_gpu.h 3299:34@
+--     [C declaration]: @SDL_SetGPUViewport@, defined at @SDL3\/SDL_gpu.h 3312:34@
 setGPUViewportSafe
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3115,7 +3115,7 @@
 --                   The safe flavor is 'setGPUScissorSafe'
 --                   .
 --
---     [C declaration]: @SDL_SetGPUScissor@, defined at @SDL3\/SDL_gpu.h 3311:34@
+--     [C declaration]: @SDL_SetGPUScissor@, defined at @SDL3\/SDL_gpu.h 3324:34@
 setGPUScissor
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3138,7 +3138,7 @@
 --                   The unsafe flavor is 'setGPUScissor'
 --                   .
 --
---     [C declaration]: @SDL_SetGPUScissor@, defined at @SDL3\/SDL_gpu.h 3311:34@
+--     [C declaration]: @SDL_SetGPUScissor@, defined at @SDL3\/SDL_gpu.h 3324:34@
 setGPUScissorSafe
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3163,7 +3163,7 @@
 --                   The safe flavor is 'setGPUBlendConstantsSafe'
 --                   .
 --
---     [C declaration]: @SDL_SetGPUBlendConstants@, defined at @SDL3\/SDL_gpu.h 3326:34@
+--     [C declaration]: @SDL_SetGPUBlendConstants@, defined at @SDL3\/SDL_gpu.h 3339:34@
 setGPUBlendConstants
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3189,7 +3189,7 @@
 --                   The unsafe flavor is 'setGPUBlendConstants'
 --                   .
 --
---     [C declaration]: @SDL_SetGPUBlendConstants@, defined at @SDL3\/SDL_gpu.h 3326:34@
+--     [C declaration]: @SDL_SetGPUBlendConstants@, defined at @SDL3\/SDL_gpu.h 3339:34@
 setGPUBlendConstantsSafe
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3216,7 +3216,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetGPUStencilReference@, defined at @SDL3\/SDL_gpu.h 3338:34@
+--     [C declaration]: @SDL_SetGPUStencilReference@, defined at @SDL3\/SDL_gpu.h 3351:34@
 setGPUStencilReference
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3245,7 +3245,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetGPUStencilReference@, defined at @SDL3\/SDL_gpu.h 3338:34@
+--     [C declaration]: @SDL_SetGPUStencilReference@, defined at @SDL3\/SDL_gpu.h 3351:34@
 setGPUStencilReferenceSafe
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3274,7 +3274,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindGPUVertexBuffers@, defined at @SDL3\/SDL_gpu.h 3354:34@
+--     [C declaration]: @SDL_BindGPUVertexBuffers@, defined at @SDL3\/SDL_gpu.h 3367:34@
 bindGPUVertexBuffers
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3313,7 +3313,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindGPUVertexBuffers@, defined at @SDL3\/SDL_gpu.h 3354:34@
+--     [C declaration]: @SDL_BindGPUVertexBuffers@, defined at @SDL3\/SDL_gpu.h 3367:34@
 bindGPUVertexBuffersSafe
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3349,7 +3349,7 @@
 --                   The safe flavor is 'bindGPUIndexBufferSafe'
 --                   .
 --
---     [C declaration]: @SDL_BindGPUIndexBuffer@, defined at @SDL3\/SDL_gpu.h 3371:34@
+--     [C declaration]: @SDL_BindGPUIndexBuffer@, defined at @SDL3\/SDL_gpu.h 3384:34@
 bindGPUIndexBuffer
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3376,7 +3376,7 @@
 --                   The unsafe flavor is 'bindGPUIndexBuffer'
 --                   .
 --
---     [C declaration]: @SDL_BindGPUIndexBuffer@, defined at @SDL3\/SDL_gpu.h 3371:34@
+--     [C declaration]: @SDL_BindGPUIndexBuffer@, defined at @SDL3\/SDL_gpu.h 3384:34@
 bindGPUIndexBufferSafe
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3412,7 +3412,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindGPUVertexSamplers@, defined at @SDL3\/SDL_gpu.h 3395:34@
+--     [C declaration]: @SDL_BindGPUVertexSamplers@, defined at @SDL3\/SDL_gpu.h 3408:34@
 bindGPUVertexSamplers
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3457,7 +3457,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindGPUVertexSamplers@, defined at @SDL3\/SDL_gpu.h 3395:34@
+--     [C declaration]: @SDL_BindGPUVertexSamplers@, defined at @SDL3\/SDL_gpu.h 3408:34@
 bindGPUVertexSamplersSafe
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3502,7 +3502,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindGPUVertexStorageTextures@, defined at @SDL3\/SDL_gpu.h 3419:34@
+--     [C declaration]: @SDL_BindGPUVertexStorageTextures@, defined at @SDL3\/SDL_gpu.h 3432:34@
 bindGPUVertexStorageTextures
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3547,7 +3547,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindGPUVertexStorageTextures@, defined at @SDL3\/SDL_gpu.h 3419:34@
+--     [C declaration]: @SDL_BindGPUVertexStorageTextures@, defined at @SDL3\/SDL_gpu.h 3432:34@
 bindGPUVertexStorageTexturesSafe
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3592,7 +3592,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindGPUVertexStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3443:34@
+--     [C declaration]: @SDL_BindGPUVertexStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3456:34@
 bindGPUVertexStorageBuffers
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3637,7 +3637,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindGPUVertexStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3443:34@
+--     [C declaration]: @SDL_BindGPUVertexStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3456:34@
 bindGPUVertexStorageBuffersSafe
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3682,7 +3682,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindGPUFragmentSamplers@, defined at @SDL3\/SDL_gpu.h 3468:34@
+--     [C declaration]: @SDL_BindGPUFragmentSamplers@, defined at @SDL3\/SDL_gpu.h 3481:34@
 bindGPUFragmentSamplers
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3727,7 +3727,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindGPUFragmentSamplers@, defined at @SDL3\/SDL_gpu.h 3468:34@
+--     [C declaration]: @SDL_BindGPUFragmentSamplers@, defined at @SDL3\/SDL_gpu.h 3481:34@
 bindGPUFragmentSamplersSafe
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3772,7 +3772,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindGPUFragmentStorageTextures@, defined at @SDL3\/SDL_gpu.h 3492:34@
+--     [C declaration]: @SDL_BindGPUFragmentStorageTextures@, defined at @SDL3\/SDL_gpu.h 3505:34@
 bindGPUFragmentStorageTextures
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3817,7 +3817,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindGPUFragmentStorageTextures@, defined at @SDL3\/SDL_gpu.h 3492:34@
+--     [C declaration]: @SDL_BindGPUFragmentStorageTextures@, defined at @SDL3\/SDL_gpu.h 3505:34@
 bindGPUFragmentStorageTexturesSafe
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3862,7 +3862,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindGPUFragmentStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3516:34@
+--     [C declaration]: @SDL_BindGPUFragmentStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3529:34@
 bindGPUFragmentStorageBuffers
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3907,7 +3907,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindGPUFragmentStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3516:34@
+--     [C declaration]: @SDL_BindGPUFragmentStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3529:34@
 bindGPUFragmentStorageBuffersSafe
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -3950,7 +3950,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_DrawGPUIndexedPrimitives@, defined at @SDL3\/SDL_gpu.h 3547:34@
+--     [C declaration]: @SDL_DrawGPUIndexedPrimitives@, defined at @SDL3\/SDL_gpu.h 3560:34@
 drawGPUIndexedPrimitives
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -4009,7 +4009,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_DrawGPUIndexedPrimitives@, defined at @SDL3\/SDL_gpu.h 3547:34@
+--     [C declaration]: @SDL_DrawGPUIndexedPrimitives@, defined at @SDL3\/SDL_gpu.h 3560:34@
 drawGPUIndexedPrimitivesSafe
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -4068,7 +4068,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_DrawGPUPrimitives@, defined at @SDL3\/SDL_gpu.h 3575:34@
+--     [C declaration]: @SDL_DrawGPUPrimitives@, defined at @SDL3\/SDL_gpu.h 3588:34@
 drawGPUPrimitives
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -4121,7 +4121,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_DrawGPUPrimitives@, defined at @SDL3\/SDL_gpu.h 3575:34@
+--     [C declaration]: @SDL_DrawGPUPrimitives@, defined at @SDL3\/SDL_gpu.h 3588:34@
 drawGPUPrimitivesSafe
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -4172,7 +4172,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_DrawGPUPrimitivesIndirect@, defined at @SDL3\/SDL_gpu.h 3598:34@
+--     [C declaration]: @SDL_DrawGPUPrimitivesIndirect@, defined at @SDL3\/SDL_gpu.h 3611:34@
 drawGPUPrimitivesIndirect
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -4213,7 +4213,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_DrawGPUPrimitivesIndirect@, defined at @SDL3\/SDL_gpu.h 3598:34@
+--     [C declaration]: @SDL_DrawGPUPrimitivesIndirect@, defined at @SDL3\/SDL_gpu.h 3611:34@
 drawGPUPrimitivesIndirectSafe
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -4254,7 +4254,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_DrawGPUIndexedPrimitivesIndirect@, defined at @SDL3\/SDL_gpu.h 3620:34@
+--     [C declaration]: @SDL_DrawGPUIndexedPrimitivesIndirect@, defined at @SDL3\/SDL_gpu.h 3633:34@
 drawGPUIndexedPrimitivesIndirect
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -4295,7 +4295,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_DrawGPUIndexedPrimitivesIndirect@, defined at @SDL3\/SDL_gpu.h 3620:34@
+--     [C declaration]: @SDL_DrawGPUIndexedPrimitivesIndirect@, defined at @SDL3\/SDL_gpu.h 3633:34@
 drawGPUIndexedPrimitivesIndirectSafe
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -4333,7 +4333,7 @@
 --                   The safe flavor is 'endGPURenderPassSafe'
 --                   .
 --
---     [C declaration]: @SDL_EndGPURenderPass@, defined at @SDL3\/SDL_gpu.h 3636:34@
+--     [C declaration]: @SDL_EndGPURenderPass@, defined at @SDL3\/SDL_gpu.h 3649:34@
 endGPURenderPass
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -4354,7 +4354,7 @@
 --                   The unsafe flavor is 'endGPURenderPass'
 --                   .
 --
---     [C declaration]: @SDL_EndGPURenderPass@, defined at @SDL3\/SDL_gpu.h 3636:34@
+--     [C declaration]: @SDL_EndGPURenderPass@, defined at @SDL3\/SDL_gpu.h 3649:34@
 endGPURenderPassSafe
   :: BG.Ptr SDL_GPURenderPass
   -- ^
@@ -4384,7 +4384,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BeginGPUComputePass@, defined at @SDL3\/SDL_gpu.h 3678:50@
+--     [C declaration]: @SDL_BeginGPUComputePass@, defined at @SDL3\/SDL_gpu.h 3691:50@
 beginGPUComputePass
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -4436,7 +4436,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BeginGPUComputePass@, defined at @SDL3\/SDL_gpu.h 3678:50@
+--     [C declaration]: @SDL_BeginGPUComputePass@, defined at @SDL3\/SDL_gpu.h 3691:50@
 beginGPUComputePassSafe
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -4477,7 +4477,7 @@
 --                   The safe flavor is 'bindGPUComputePipelineSafe'
 --                   .
 --
---     [C declaration]: @SDL_BindGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 3693:34@
+--     [C declaration]: @SDL_BindGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 3706:34@
 bindGPUComputePipeline
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -4501,7 +4501,7 @@
 --                   The unsafe flavor is 'bindGPUComputePipeline'
 --                   .
 --
---     [C declaration]: @SDL_BindGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 3693:34@
+--     [C declaration]: @SDL_BindGPUComputePipeline@, defined at @SDL3\/SDL_gpu.h 3706:34@
 bindGPUComputePipelineSafe
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -4534,7 +4534,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindGPUComputeSamplers@, defined at @SDL3\/SDL_gpu.h 3716:34@
+--     [C declaration]: @SDL_BindGPUComputeSamplers@, defined at @SDL3\/SDL_gpu.h 3729:34@
 bindGPUComputeSamplers
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -4579,7 +4579,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindGPUComputeSamplers@, defined at @SDL3\/SDL_gpu.h 3716:34@
+--     [C declaration]: @SDL_BindGPUComputeSamplers@, defined at @SDL3\/SDL_gpu.h 3729:34@
 bindGPUComputeSamplersSafe
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -4624,7 +4624,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindGPUComputeStorageTextures@, defined at @SDL3\/SDL_gpu.h 3740:34@
+--     [C declaration]: @SDL_BindGPUComputeStorageTextures@, defined at @SDL3\/SDL_gpu.h 3753:34@
 bindGPUComputeStorageTextures
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -4669,7 +4669,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindGPUComputeStorageTextures@, defined at @SDL3\/SDL_gpu.h 3740:34@
+--     [C declaration]: @SDL_BindGPUComputeStorageTextures@, defined at @SDL3\/SDL_gpu.h 3753:34@
 bindGPUComputeStorageTexturesSafe
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -4714,7 +4714,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindGPUComputeStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3764:34@
+--     [C declaration]: @SDL_BindGPUComputeStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3777:34@
 bindGPUComputeStorageBuffers
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -4759,7 +4759,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_BindGPUComputeStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3764:34@
+--     [C declaration]: @SDL_BindGPUComputeStorageBuffers@, defined at @SDL3\/SDL_gpu.h 3777:34@
 bindGPUComputeStorageBuffersSafe
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -4802,7 +4802,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_DispatchGPUCompute@, defined at @SDL3\/SDL_gpu.h 3790:34@
+--     [C declaration]: @SDL_DispatchGPUCompute@, defined at @SDL3\/SDL_gpu.h 3803:34@
 dispatchGPUCompute
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -4845,7 +4845,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_DispatchGPUCompute@, defined at @SDL3\/SDL_gpu.h 3790:34@
+--     [C declaration]: @SDL_DispatchGPUCompute@, defined at @SDL3\/SDL_gpu.h 3803:34@
 dispatchGPUComputeSafe
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -4888,7 +4888,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_DispatchGPUComputeIndirect@, defined at @SDL3\/SDL_gpu.h 3814:34@
+--     [C declaration]: @SDL_DispatchGPUComputeIndirect@, defined at @SDL3\/SDL_gpu.h 3827:34@
 dispatchGPUComputeIndirect
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -4926,7 +4926,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_DispatchGPUComputeIndirect@, defined at @SDL3\/SDL_gpu.h 3814:34@
+--     [C declaration]: @SDL_DispatchGPUComputeIndirect@, defined at @SDL3\/SDL_gpu.h 3827:34@
 dispatchGPUComputeIndirectSafe
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -4959,7 +4959,7 @@
 --                   The safe flavor is 'endGPUComputePassSafe'
 --                   .
 --
---     [C declaration]: @SDL_EndGPUComputePass@, defined at @SDL3\/SDL_gpu.h 3829:34@
+--     [C declaration]: @SDL_EndGPUComputePass@, defined at @SDL3\/SDL_gpu.h 3842:34@
 endGPUComputePass
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -4980,7 +4980,7 @@
 --                   The unsafe flavor is 'endGPUComputePass'
 --                   .
 --
---     [C declaration]: @SDL_EndGPUComputePass@, defined at @SDL3\/SDL_gpu.h 3829:34@
+--     [C declaration]: @SDL_EndGPUComputePass@, defined at @SDL3\/SDL_gpu.h 3842:34@
 endGPUComputePassSafe
   :: BG.Ptr SDL_GPUComputePass
   -- ^
@@ -5006,7 +5006,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_MapGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3849:36@
+--     [C declaration]: @SDL_MapGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3862:36@
 mapGPUTransferBuffer
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -5044,7 +5044,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_MapGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3849:36@
+--     [C declaration]: @SDL_MapGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3862:36@
 mapGPUTransferBufferSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -5075,7 +5075,7 @@
 --                   The safe flavor is 'unmapGPUTransferBufferSafe'
 --                   .
 --
---     [C declaration]: @SDL_UnmapGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3862:34@
+--     [C declaration]: @SDL_UnmapGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3875:34@
 unmapGPUTransferBuffer
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -5099,7 +5099,7 @@
 --                   The unsafe flavor is 'unmapGPUTransferBuffer'
 --                   .
 --
---     [C declaration]: @SDL_UnmapGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3862:34@
+--     [C declaration]: @SDL_UnmapGPUTransferBuffer@, defined at @SDL3\/SDL_gpu.h 3875:34@
 unmapGPUTransferBufferSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -5129,7 +5129,7 @@
 --                   The safe flavor is 'beginGPUCopyPassSafe'
 --                   .
 --
---     [C declaration]: @SDL_BeginGPUCopyPass@, defined at @SDL3\/SDL_gpu.h 3882:47@
+--     [C declaration]: @SDL_BeginGPUCopyPass@, defined at @SDL3\/SDL_gpu.h 3895:47@
 beginGPUCopyPass
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -5154,7 +5154,7 @@
 --                   The unsafe flavor is 'beginGPUCopyPass'
 --                   .
 --
---     [C declaration]: @SDL_BeginGPUCopyPass@, defined at @SDL3\/SDL_gpu.h 3882:47@
+--     [C declaration]: @SDL_BeginGPUCopyPass@, defined at @SDL3\/SDL_gpu.h 3895:47@
 beginGPUCopyPassSafe
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -5180,7 +5180,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_UploadToGPUTexture@, defined at @SDL3\/SDL_gpu.h 3902:34@
+--     [C declaration]: @SDL_UploadToGPUTexture@, defined at @SDL3\/SDL_gpu.h 3915:34@
 uploadToGPUTexture
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -5223,7 +5223,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_UploadToGPUTexture@, defined at @SDL3\/SDL_gpu.h 3902:34@
+--     [C declaration]: @SDL_UploadToGPUTexture@, defined at @SDL3\/SDL_gpu.h 3915:34@
 uploadToGPUTextureSafe
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -5264,7 +5264,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_UploadToGPUBuffer@, defined at @SDL3\/SDL_gpu.h 3922:34@
+--     [C declaration]: @SDL_UploadToGPUBuffer@, defined at @SDL3\/SDL_gpu.h 3935:34@
 uploadToGPUBuffer
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -5305,7 +5305,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_UploadToGPUBuffer@, defined at @SDL3\/SDL_gpu.h 3922:34@
+--     [C declaration]: @SDL_UploadToGPUBuffer@, defined at @SDL3\/SDL_gpu.h 3935:34@
 uploadToGPUBufferSafe
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -5348,7 +5348,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_CopyGPUTextureToTexture@, defined at @SDL3\/SDL_gpu.h 3949:34@
+--     [C declaration]: @SDL_CopyGPUTextureToTexture@, defined at @SDL3\/SDL_gpu.h 3962:34@
 copyGPUTextureToTexture
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -5413,7 +5413,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_CopyGPUTextureToTexture@, defined at @SDL3\/SDL_gpu.h 3949:34@
+--     [C declaration]: @SDL_CopyGPUTextureToTexture@, defined at @SDL3\/SDL_gpu.h 3962:34@
 copyGPUTextureToTextureSafe
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -5476,7 +5476,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_CopyGPUBufferToBuffer@, defined at @SDL3\/SDL_gpu.h 3973:34@
+--     [C declaration]: @SDL_CopyGPUBufferToBuffer@, defined at @SDL3\/SDL_gpu.h 3986:34@
 copyGPUBufferToBuffer
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -5522,7 +5522,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_CopyGPUBufferToBuffer@, defined at @SDL3\/SDL_gpu.h 3973:34@
+--     [C declaration]: @SDL_CopyGPUBufferToBuffer@, defined at @SDL3\/SDL_gpu.h 3986:34@
 copyGPUBufferToBufferSafe
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -5565,7 +5565,7 @@
 --                   The safe flavor is 'downloadFromGPUTextureSafe'
 --                   .
 --
---     [C declaration]: @SDL_DownloadFromGPUTexture@, defined at @SDL3\/SDL_gpu.h 3993:34@
+--     [C declaration]: @SDL_DownloadFromGPUTexture@, defined at @SDL3\/SDL_gpu.h 4006:34@
 downloadFromGPUTexture
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -5595,7 +5595,7 @@
 --                   The unsafe flavor is 'downloadFromGPUTexture'
 --                   .
 --
---     [C declaration]: @SDL_DownloadFromGPUTexture@, defined at @SDL3\/SDL_gpu.h 3993:34@
+--     [C declaration]: @SDL_DownloadFromGPUTexture@, defined at @SDL3\/SDL_gpu.h 4006:34@
 downloadFromGPUTextureSafe
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -5625,7 +5625,7 @@
 --                   The safe flavor is 'downloadFromGPUBufferSafe'
 --                   .
 --
---     [C declaration]: @SDL_DownloadFromGPUBuffer@, defined at @SDL3\/SDL_gpu.h 4010:34@
+--     [C declaration]: @SDL_DownloadFromGPUBuffer@, defined at @SDL3\/SDL_gpu.h 4023:34@
 downloadFromGPUBuffer
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -5655,7 +5655,7 @@
 --                   The unsafe flavor is 'downloadFromGPUBuffer'
 --                   .
 --
---     [C declaration]: @SDL_DownloadFromGPUBuffer@, defined at @SDL3\/SDL_gpu.h 4010:34@
+--     [C declaration]: @SDL_DownloadFromGPUBuffer@, defined at @SDL3\/SDL_gpu.h 4023:34@
 downloadFromGPUBufferSafe
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -5683,7 +5683,7 @@
 --                   The safe flavor is 'endGPUCopyPassSafe'
 --                   .
 --
---     [C declaration]: @SDL_EndGPUCopyPass@, defined at @SDL3\/SDL_gpu.h 4022:34@
+--     [C declaration]: @SDL_EndGPUCopyPass@, defined at @SDL3\/SDL_gpu.h 4035:34@
 endGPUCopyPass
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -5702,7 +5702,7 @@
 --                   The unsafe flavor is 'endGPUCopyPass'
 --                   .
 --
---     [C declaration]: @SDL_EndGPUCopyPass@, defined at @SDL3\/SDL_gpu.h 4022:34@
+--     [C declaration]: @SDL_EndGPUCopyPass@, defined at @SDL3\/SDL_gpu.h 4035:34@
 endGPUCopyPassSafe
   :: BG.Ptr SDL_GPUCopyPass
   -- ^
@@ -5723,7 +5723,7 @@
 --                   The safe flavor is 'generateMipmapsForGPUTextureSafe'
 --                   .
 --
---     [C declaration]: @SDL_GenerateMipmapsForGPUTexture@, defined at @SDL3\/SDL_gpu.h 4035:34@
+--     [C declaration]: @SDL_GenerateMipmapsForGPUTexture@, defined at @SDL3\/SDL_gpu.h 4048:34@
 generateMipmapsForGPUTexture
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -5749,7 +5749,7 @@
 --                   The unsafe flavor is 'generateMipmapsForGPUTexture'
 --                   .
 --
---     [C declaration]: @SDL_GenerateMipmapsForGPUTexture@, defined at @SDL3\/SDL_gpu.h 4035:34@
+--     [C declaration]: @SDL_GenerateMipmapsForGPUTexture@, defined at @SDL3\/SDL_gpu.h 4048:34@
 generateMipmapsForGPUTextureSafe
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -5775,7 +5775,7 @@
 --                   The safe flavor is 'blitGPUTextureSafe'
 --                   .
 --
---     [C declaration]: @SDL_BlitGPUTexture@, defined at @SDL3\/SDL_gpu.h 4049:34@
+--     [C declaration]: @SDL_BlitGPUTexture@, defined at @SDL3\/SDL_gpu.h 4062:34@
 blitGPUTexture
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -5800,7 +5800,7 @@
 --                   The unsafe flavor is 'blitGPUTexture'
 --                   .
 --
---     [C declaration]: @SDL_BlitGPUTexture@, defined at @SDL3\/SDL_gpu.h 4049:34@
+--     [C declaration]: @SDL_BlitGPUTexture@, defined at @SDL3\/SDL_gpu.h 4062:34@
 blitGPUTextureSafe
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -5832,7 +5832,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_WindowSupportsGPUSwapchainComposition@, defined at @SDL3\/SDL_gpu.h 4069:34@
+--     [C declaration]: @SDL_WindowSupportsGPUSwapchainComposition@, defined at @SDL3\/SDL_gpu.h 4082:34@
 windowSupportsGPUSwapchainComposition
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -5872,7 +5872,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_WindowSupportsGPUSwapchainComposition@, defined at @SDL3\/SDL_gpu.h 4069:34@
+--     [C declaration]: @SDL_WindowSupportsGPUSwapchainComposition@, defined at @SDL3\/SDL_gpu.h 4082:34@
 windowSupportsGPUSwapchainCompositionSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -5912,7 +5912,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_WindowSupportsGPUPresentMode@, defined at @SDL3\/SDL_gpu.h 4088:34@
+--     [C declaration]: @SDL_WindowSupportsGPUPresentMode@, defined at @SDL3\/SDL_gpu.h 4101:34@
 windowSupportsGPUPresentMode
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -5952,7 +5952,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_WindowSupportsGPUPresentMode@, defined at @SDL3\/SDL_gpu.h 4088:34@
+--     [C declaration]: @SDL_WindowSupportsGPUPresentMode@, defined at @SDL3\/SDL_gpu.h 4101:34@
 windowSupportsGPUPresentModeSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -5996,7 +5996,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ClaimWindowForGPUDevice@, defined at @SDL3\/SDL_gpu.h 4120:34@
+--     [C declaration]: @SDL_ClaimWindowForGPUDevice@, defined at @SDL3\/SDL_gpu.h 4133:34@
 claimWindowForGPUDevice
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -6035,7 +6035,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ClaimWindowForGPUDevice@, defined at @SDL3\/SDL_gpu.h 4120:34@
+--     [C declaration]: @SDL_ClaimWindowForGPUDevice@, defined at @SDL3\/SDL_gpu.h 4133:34@
 claimWindowForGPUDeviceSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -6063,7 +6063,7 @@
 --                   The safe flavor is 'releaseWindowFromGPUDeviceSafe'
 --                   .
 --
---     [C declaration]: @SDL_ReleaseWindowFromGPUDevice@, defined at @SDL3\/SDL_gpu.h 4134:34@
+--     [C declaration]: @SDL_ReleaseWindowFromGPUDevice@, defined at @SDL3\/SDL_gpu.h 4147:34@
 releaseWindowFromGPUDevice
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -6089,7 +6089,7 @@
 --                   The unsafe flavor is 'releaseWindowFromGPUDevice'
 --                   .
 --
---     [C declaration]: @SDL_ReleaseWindowFromGPUDevice@, defined at @SDL3\/SDL_gpu.h 4134:34@
+--     [C declaration]: @SDL_ReleaseWindowFromGPUDevice@, defined at @SDL3\/SDL_gpu.h 4147:34@
 releaseWindowFromGPUDeviceSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -6124,7 +6124,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetGPUSwapchainParameters@, defined at @SDL3\/SDL_gpu.h 4161:34@
+--     [C declaration]: @SDL_SetGPUSwapchainParameters@, defined at @SDL3\/SDL_gpu.h 4174:34@
 setGPUSwapchainParameters
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -6171,7 +6171,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetGPUSwapchainParameters@, defined at @SDL3\/SDL_gpu.h 4161:34@
+--     [C declaration]: @SDL_SetGPUSwapchainParameters@, defined at @SDL3\/SDL_gpu.h 4174:34@
 setGPUSwapchainParametersSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -6220,7 +6220,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetGPUAllowedFramesInFlight@, defined at @SDL3\/SDL_gpu.h 4192:34@
+--     [C declaration]: @SDL_SetGPUAllowedFramesInFlight@, defined at @SDL3\/SDL_gpu.h 4205:34@
 setGPUAllowedFramesInFlight
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -6259,7 +6259,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetGPUAllowedFramesInFlight@, defined at @SDL3\/SDL_gpu.h 4192:34@
+--     [C declaration]: @SDL_SetGPUAllowedFramesInFlight@, defined at @SDL3\/SDL_gpu.h 4205:34@
 setGPUAllowedFramesInFlightSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -6289,7 +6289,7 @@
 --                   The safe flavor is 'getGPUSwapchainTextureFormatSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetGPUSwapchainTextureFormat@, defined at @SDL3\/SDL_gpu.h 4207:50@
+--     [C declaration]: @SDL_GetGPUSwapchainTextureFormat@, defined at @SDL3\/SDL_gpu.h 4220:50@
 getGPUSwapchainTextureFormat
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -6317,7 +6317,7 @@
 --                   The unsafe flavor is 'getGPUSwapchainTextureFormat'
 --                   .
 --
---     [C declaration]: @SDL_GetGPUSwapchainTextureFormat@, defined at @SDL3\/SDL_gpu.h 4207:50@
+--     [C declaration]: @SDL_GetGPUSwapchainTextureFormat@, defined at @SDL3\/SDL_gpu.h 4220:50@
 getGPUSwapchainTextureFormatSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -6358,7 +6358,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_AcquireGPUSwapchainTexture@, defined at @SDL3\/SDL_gpu.h 4259:34@
+--     [C declaration]: @SDL_AcquireGPUSwapchainTexture@, defined at @SDL3\/SDL_gpu.h 4272:34@
 acquireGPUSwapchainTexture
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -6416,7 +6416,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_AcquireGPUSwapchainTexture@, defined at @SDL3\/SDL_gpu.h 4259:34@
+--     [C declaration]: @SDL_AcquireGPUSwapchainTexture@, defined at @SDL3\/SDL_gpu.h 4272:34@
 acquireGPUSwapchainTextureSafe
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -6466,7 +6466,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_WaitForGPUSwapchain@, defined at @SDL3\/SDL_gpu.h 4283:34@
+--     [C declaration]: @SDL_WaitForGPUSwapchain@, defined at @SDL3\/SDL_gpu.h 4296:34@
 waitForGPUSwapchain
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -6501,7 +6501,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_WaitForGPUSwapchain@, defined at @SDL3\/SDL_gpu.h 4283:34@
+--     [C declaration]: @SDL_WaitForGPUSwapchain@, defined at @SDL3\/SDL_gpu.h 4296:34@
 waitForGPUSwapchainSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -6544,7 +6544,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_WaitAndAcquireGPUSwapchainTexture@, defined at @SDL3\/SDL_gpu.h 4329:34@
+--     [C declaration]: @SDL_WaitAndAcquireGPUSwapchainTexture@, defined at @SDL3\/SDL_gpu.h 4342:34@
 waitAndAcquireGPUSwapchainTexture
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -6602,7 +6602,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_WaitAndAcquireGPUSwapchainTexture@, defined at @SDL3\/SDL_gpu.h 4329:34@
+--     [C declaration]: @SDL_WaitAndAcquireGPUSwapchainTexture@, defined at @SDL3\/SDL_gpu.h 4342:34@
 waitAndAcquireGPUSwapchainTextureSafe
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -6656,7 +6656,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SubmitGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 4357:34@
+--     [C declaration]: @SDL_SubmitGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 4370:34@
 submitGPUCommandBuffer
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -6690,7 +6690,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SubmitGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 4357:34@
+--     [C declaration]: @SDL_SubmitGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 4370:34@
 submitGPUCommandBufferSafe
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -6721,7 +6721,7 @@
 --                   The safe flavor is 'submitGPUCommandBufferAndAcquireFenceSafe'
 --                   .
 --
---     [C declaration]: @SDL_SubmitGPUCommandBufferAndAcquireFence@, defined at @SDL3\/SDL_gpu.h 4384:44@
+--     [C declaration]: @SDL_SubmitGPUCommandBufferAndAcquireFence@, defined at @SDL3\/SDL_gpu.h 4397:44@
 submitGPUCommandBufferAndAcquireFence
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -6751,7 +6751,7 @@
 --                   The unsafe flavor is 'submitGPUCommandBufferAndAcquireFence'
 --                   .
 --
---     [C declaration]: @SDL_SubmitGPUCommandBufferAndAcquireFence@, defined at @SDL3\/SDL_gpu.h 4384:44@
+--     [C declaration]: @SDL_SubmitGPUCommandBufferAndAcquireFence@, defined at @SDL3\/SDL_gpu.h 4397:44@
 submitGPUCommandBufferAndAcquireFenceSafe
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -6786,7 +6786,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_CancelGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 4409:34@
+--     [C declaration]: @SDL_CancelGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 4422:34@
 cancelGPUCommandBuffer
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -6822,7 +6822,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_CancelGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 4409:34@
+--     [C declaration]: @SDL_CancelGPUCommandBuffer@, defined at @SDL3\/SDL_gpu.h 4422:34@
 cancelGPUCommandBufferSafe
   :: BG.Ptr SDL_GPUCommandBuffer
   -- ^
@@ -6850,7 +6850,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_WaitForGPUIdle@, defined at @SDL3\/SDL_gpu.h 4423:34@
+--     [C declaration]: @SDL_WaitForGPUIdle@, defined at @SDL3\/SDL_gpu.h 4436:34@
 waitForGPUIdle
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -6878,7 +6878,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_WaitForGPUIdle@, defined at @SDL3\/SDL_gpu.h 4423:34@
+--     [C declaration]: @SDL_WaitForGPUIdle@, defined at @SDL3\/SDL_gpu.h 4436:34@
 waitForGPUIdleSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -6906,7 +6906,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_WaitForGPUFences@, defined at @SDL3\/SDL_gpu.h 4442:34@
+--     [C declaration]: @SDL_WaitForGPUFences@, defined at @SDL3\/SDL_gpu.h 4455:34@
 waitForGPUFences
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -6949,7 +6949,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_WaitForGPUFences@, defined at @SDL3\/SDL_gpu.h 4442:34@
+--     [C declaration]: @SDL_WaitForGPUFences@, defined at @SDL3\/SDL_gpu.h 4455:34@
 waitForGPUFencesSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -6992,7 +6992,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_QueryGPUFence@, defined at @SDL3\/SDL_gpu.h 4459:34@
+--     [C declaration]: @SDL_QueryGPUFence@, defined at @SDL3\/SDL_gpu.h 4472:34@
 queryGPUFence
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -7025,7 +7025,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_QueryGPUFence@, defined at @SDL3\/SDL_gpu.h 4459:34@
+--     [C declaration]: @SDL_QueryGPUFence@, defined at @SDL3\/SDL_gpu.h 4472:34@
 queryGPUFenceSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -7055,7 +7055,7 @@
 --                   The safe flavor is 'releaseGPUFenceSafe'
 --                   .
 --
---     [C declaration]: @SDL_ReleaseGPUFence@, defined at @SDL3\/SDL_gpu.h 4475:34@
+--     [C declaration]: @SDL_ReleaseGPUFence@, defined at @SDL3\/SDL_gpu.h 4488:34@
 releaseGPUFence
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -7082,7 +7082,7 @@
 --                   The unsafe flavor is 'releaseGPUFence'
 --                   .
 --
---     [C declaration]: @SDL_ReleaseGPUFence@, defined at @SDL3\/SDL_gpu.h 4475:34@
+--     [C declaration]: @SDL_ReleaseGPUFence@, defined at @SDL3\/SDL_gpu.h 4488:34@
 releaseGPUFenceSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -7112,7 +7112,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GPUTextureFormatTexelBlockSize@, defined at @SDL3\/SDL_gpu.h 4491:36@
+--     [C declaration]: @SDL_GPUTextureFormatTexelBlockSize@, defined at @SDL3\/SDL_gpu.h 4504:36@
 gpuTextureFormatTexelBlockSize
   :: SDL_GPUTextureFormat
   -- ^
@@ -7140,7 +7140,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GPUTextureFormatTexelBlockSize@, defined at @SDL3\/SDL_gpu.h 4491:36@
+--     [C declaration]: @SDL_GPUTextureFormatTexelBlockSize@, defined at @SDL3\/SDL_gpu.h 4504:36@
 gpuTextureFormatTexelBlockSizeSafe
   :: SDL_GPUTextureFormat
   -- ^
@@ -7166,7 +7166,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GPUTextureSupportsFormat@, defined at @SDL3\/SDL_gpu.h 4506:34@
+--     [C declaration]: @SDL_GPUTextureSupportsFormat@, defined at @SDL3\/SDL_gpu.h 4519:34@
 gpuTextureSupportsFormat
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -7207,7 +7207,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GPUTextureSupportsFormat@, defined at @SDL3\/SDL_gpu.h 4506:34@
+--     [C declaration]: @SDL_GPUTextureSupportsFormat@, defined at @SDL3\/SDL_gpu.h 4519:34@
 gpuTextureSupportsFormatSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -7248,7 +7248,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GPUTextureSupportsSampleCount@, defined at @SDL3\/SDL_gpu.h 4522:34@
+--     [C declaration]: @SDL_GPUTextureSupportsSampleCount@, defined at @SDL3\/SDL_gpu.h 4535:34@
 gpuTextureSupportsSampleCount
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -7284,7 +7284,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GPUTextureSupportsSampleCount@, defined at @SDL3\/SDL_gpu.h 4522:34@
+--     [C declaration]: @SDL_GPUTextureSupportsSampleCount@, defined at @SDL3\/SDL_gpu.h 4535:34@
 gpuTextureSupportsSampleCountSafe
   :: BG.Ptr SDL_GPUDevice
   -- ^
@@ -7320,7 +7320,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_CalculateGPUTextureFormatSize@, defined at @SDL3\/SDL_gpu.h 4538:36@
+--     [C declaration]: @SDL_CalculateGPUTextureFormatSize@, defined at @SDL3\/SDL_gpu.h 4551:36@
 calculateGPUTextureFormatSize
   :: SDL_GPUTextureFormat
   -- ^
@@ -7368,7 +7368,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_CalculateGPUTextureFormatSize@, defined at @SDL3\/SDL_gpu.h 4538:36@
+--     [C declaration]: @SDL_CalculateGPUTextureFormatSize@, defined at @SDL3\/SDL_gpu.h 4551:36@
 calculateGPUTextureFormatSizeSafe
   :: SDL_GPUTextureFormat
   -- ^
@@ -7413,7 +7413,7 @@
 --                   The safe flavor is 'getPixelFormatFromGPUTextureFormatSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetPixelFormatFromGPUTextureFormat@, defined at @SDL3\/SDL_gpu.h 4553:45@
+--     [C declaration]: @SDL_GetPixelFormatFromGPUTextureFormat@, defined at @SDL3\/SDL_gpu.h 4566:45@
 getPixelFormatFromGPUTextureFormat
   :: SDL_GPUTextureFormat
   -- ^
@@ -7435,7 +7435,7 @@
 --                   The unsafe flavor is 'getPixelFormatFromGPUTextureFormat'
 --                   .
 --
---     [C declaration]: @SDL_GetPixelFormatFromGPUTextureFormat@, defined at @SDL3\/SDL_gpu.h 4553:45@
+--     [C declaration]: @SDL_GetPixelFormatFromGPUTextureFormat@, defined at @SDL3\/SDL_gpu.h 4566:45@
 getPixelFormatFromGPUTextureFormatSafe
   :: SDL_GPUTextureFormat
   -- ^
@@ -7457,7 +7457,7 @@
 --                   The safe flavor is 'getGPUTextureFormatFromPixelFormatSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetGPUTextureFormatFromPixelFormat@, defined at @SDL3\/SDL_gpu.h 4565:50@
+--     [C declaration]: @SDL_GetGPUTextureFormatFromPixelFormat@, defined at @SDL3\/SDL_gpu.h 4578:50@
 getGPUTextureFormatFromPixelFormat
   :: SDL3.Sys.Bindgen.Pixels.SDL_PixelFormat
   -- ^
@@ -7479,7 +7479,7 @@
 --                   The unsafe flavor is 'getGPUTextureFormatFromPixelFormat'
 --                   .
 --
---     [C declaration]: @SDL_GetGPUTextureFormatFromPixelFormat@, defined at @SDL3\/SDL_gpu.h 4565:50@
+--     [C declaration]: @SDL_GetGPUTextureFormatFromPixelFormat@, defined at @SDL3\/SDL_gpu.h 4578:50@
 getGPUTextureFormatFromPixelFormatSafe
   :: SDL3.Sys.Bindgen.Pixels.SDL_PixelFormat
   -- ^
diff --git a/src/SDL3/Sys/Haptic.hs b/src/SDL3/Sys/Haptic.hs
--- a/src/SDL3/Sys/Haptic.hs
+++ b/src/SDL3/Sys/Haptic.hs
@@ -1704,7 +1704,7 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'runHapticEffect', 'stopHapticEffects'
+--     [See also]: 'runHapticEffect', 'stopHapticEffect'
 --
 --     === __@sdl3-bindgen-sys@ notes__
 --
@@ -1732,7 +1732,7 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'runHapticEffect', 'stopHapticEffects'
+--     [See also]: 'runHapticEffect', 'stopHapticEffect'
 --
 --     === __@sdl3-bindgen-sys@ notes__
 --
diff --git a/src/SDL3/Sys/Hints.hs b/src/SDL3/Sys/Hints.hs
--- a/src/SDL3/Sys/Hints.hs
+++ b/src/SDL3/Sys/Hints.hs
@@ -71,7 +71,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetHintWithPriority@, defined at @SDL3\/SDL_hints.h 4756:34@
+--     [C declaration]: @SDL_SetHintWithPriority@, defined at @SDL3\/SDL_hints.h 4870:34@
 setHintWithPriority
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -113,7 +113,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetHintWithPriority@, defined at @SDL3\/SDL_hints.h 4756:34@
+--     [C declaration]: @SDL_SetHintWithPriority@, defined at @SDL3\/SDL_hints.h 4870:34@
 setHintWithPrioritySafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -155,7 +155,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetHint@, defined at @SDL3\/SDL_hints.h 4778:34@
+--     [C declaration]: @SDL_SetHint@, defined at @SDL3\/SDL_hints.h 4892:34@
 setHint
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -192,7 +192,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetHint@, defined at @SDL3\/SDL_hints.h 4778:34@
+--     [C declaration]: @SDL_SetHint@, defined at @SDL3\/SDL_hints.h 4892:34@
 setHintSafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -228,7 +228,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ResetHint@, defined at @SDL3\/SDL_hints.h 4798:34@
+--     [C declaration]: @SDL_ResetHint@, defined at @SDL3\/SDL_hints.h 4912:34@
 resetHint
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -259,7 +259,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ResetHint@, defined at @SDL3\/SDL_hints.h 4798:34@
+--     [C declaration]: @SDL_ResetHint@, defined at @SDL3\/SDL_hints.h 4912:34@
 resetHintSafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -285,7 +285,7 @@
 --                   The safe flavor is 'resetHintsSafe'
 --                   : runs registered hint callbacks synchronously.
 --
---     [C declaration]: @SDL_ResetHints@, defined at @SDL3\/SDL_hints.h 4813:34@
+--     [C declaration]: @SDL_ResetHints@, defined at @SDL3\/SDL_hints.h 4927:34@
 resetHints :: IO ()
 resetHints = Unsafe.sDL_ResetHints
 
@@ -305,7 +305,7 @@
 --                   The unsafe flavor is 'resetHints'
 --                   : runs registered hint callbacks synchronously.
 --
---     [C declaration]: @SDL_ResetHints@, defined at @SDL3\/SDL_hints.h 4813:34@
+--     [C declaration]: @SDL_ResetHints@, defined at @SDL3\/SDL_hints.h 4927:34@
 resetHintsSafe :: IO ()
 resetHintsSafe = Safe.sDL_ResetHints
 
@@ -325,7 +325,7 @@
 --                   The safe flavor is 'getHintSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetHint@, defined at @SDL3\/SDL_hints.h 4828:41@
+--     [C declaration]: @SDL_GetHint@, defined at @SDL3\/SDL_hints.h 4942:41@
 getHint
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -350,7 +350,7 @@
 --                   The unsafe flavor is 'getHint'
 --                   .
 --
---     [C declaration]: @SDL_GetHint@, defined at @SDL3\/SDL_hints.h 4828:41@
+--     [C declaration]: @SDL_GetHint@, defined at @SDL3\/SDL_hints.h 4942:41@
 getHintSafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -378,7 +378,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetHintBoolean@, defined at @SDL3\/SDL_hints.h 4845:34@
+--     [C declaration]: @SDL_GetHintBoolean@, defined at @SDL3\/SDL_hints.h 4959:34@
 getHintBoolean
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -413,7 +413,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetHintBoolean@, defined at @SDL3\/SDL_hints.h 4845:34@
+--     [C declaration]: @SDL_GetHintBoolean@, defined at @SDL3\/SDL_hints.h 4959:34@
 getHintBooleanSafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -452,7 +452,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_AddHintCallback@, defined at @SDL3\/SDL_hints.h 4887:34@
+--     [C declaration]: @SDL_AddHintCallback@, defined at @SDL3\/SDL_hints.h 5002:34@
 addHintCallbackSafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -487,7 +487,7 @@
 --                   The safe flavor is 'removeHintCallbackSafe'
 --                   : deregistration only.
 --
---     [C declaration]: @SDL_RemoveHintCallback@, defined at @SDL3\/SDL_hints.h 4903:34@
+--     [C declaration]: @SDL_RemoveHintCallback@, defined at @SDL3\/SDL_hints.h 5018:34@
 removeHintCallback
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -518,7 +518,7 @@
 --                   The unsafe flavor is 'removeHintCallback'
 --                   : deregistration only.
 --
---     [C declaration]: @SDL_RemoveHintCallback@, defined at @SDL3\/SDL_hints.h 4903:34@
+--     [C declaration]: @SDL_RemoveHintCallback@, defined at @SDL3\/SDL_hints.h 5018:34@
 removeHintCallbackSafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
diff --git a/src/SDL3/Sys/Log.hs b/src/SDL3/Sys/Log.hs
--- a/src/SDL3/Sys/Log.hs
+++ b/src/SDL3/Sys/Log.hs
@@ -358,7 +358,7 @@
 
 -- | Get the default log output function.
 --
---     [Returns]: the default log output callback.
+--     [Returns]: the default log output callback. It should be called with NULL for the userdata argument.
 --
 --     [Thread safety]: It is safe to call this function from any thread.
 --
@@ -372,14 +372,14 @@
 --                   The safe flavor is 'getDefaultLogOutputFunctionSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetDefaultLogOutputFunction@, defined at @SDL3\/SDL_log.h 499:51@
+--     [C declaration]: @SDL_GetDefaultLogOutputFunction@, defined at @SDL3\/SDL_log.h 500:51@
 getDefaultLogOutputFunction :: IO SDL_LogOutputFunction
 getDefaultLogOutputFunction =
   Unsafe.sDL_GetDefaultLogOutputFunction
 
 -- | Get the default log output function.
 --
---     [Returns]: the default log output callback.
+--     [Returns]: the default log output callback. It should be called with NULL for the userdata argument.
 --
 --     [Thread safety]: It is safe to call this function from any thread.
 --
@@ -393,7 +393,7 @@
 --                   The unsafe flavor is 'getDefaultLogOutputFunction'
 --                   .
 --
---     [C declaration]: @SDL_GetDefaultLogOutputFunction@, defined at @SDL3\/SDL_log.h 499:51@
+--     [C declaration]: @SDL_GetDefaultLogOutputFunction@, defined at @SDL3\/SDL_log.h 500:51@
 getDefaultLogOutputFunctionSafe :: IO SDL_LogOutputFunction
 getDefaultLogOutputFunctionSafe =
   Safe.sDL_GetDefaultLogOutputFunction
@@ -412,7 +412,7 @@
 --                   The safe flavor is 'getLogOutputFunctionSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetLogOutputFunction@, defined at @SDL3\/SDL_log.h 516:34@
+--     [C declaration]: @SDL_GetLogOutputFunction@, defined at @SDL3\/SDL_log.h 517:34@
 getLogOutputFunction
   :: BG.Ptr SDL_LogOutputFunction
   -- ^
@@ -440,7 +440,7 @@
 --                   The unsafe flavor is 'getLogOutputFunction'
 --                   .
 --
---     [C declaration]: @SDL_GetLogOutputFunction@, defined at @SDL3\/SDL_log.h 516:34@
+--     [C declaration]: @SDL_GetLogOutputFunction@, defined at @SDL3\/SDL_log.h 517:34@
 getLogOutputFunctionSafe
   :: BG.Ptr SDL_LogOutputFunction
   -- ^
@@ -468,7 +468,7 @@
 --                   The safe flavor is 'setLogOutputFunctionSafe'
 --                   : registration; the output function runs from later logging calls.
 --
---     [C declaration]: @SDL_SetLogOutputFunction@, defined at @SDL3\/SDL_log.h 531:34@
+--     [C declaration]: @SDL_SetLogOutputFunction@, defined at @SDL3\/SDL_log.h 532:34@
 setLogOutputFunction
   :: SDL_LogOutputFunction
   -- ^
@@ -496,7 +496,7 @@
 --                   The unsafe flavor is 'setLogOutputFunction'
 --                   : registration; the output function runs from later logging calls.
 --
---     [C declaration]: @SDL_SetLogOutputFunction@, defined at @SDL3\/SDL_log.h 531:34@
+--     [C declaration]: @SDL_SetLogOutputFunction@, defined at @SDL3\/SDL_log.h 532:34@
 setLogOutputFunctionSafe
   :: SDL_LogOutputFunction
   -- ^
diff --git a/src/SDL3/Sys/Main.hs b/src/SDL3/Sys/Main.hs
--- a/src/SDL3/Sys/Main.hs
+++ b/src/SDL3/Sys/Main.hs
@@ -45,7 +45,7 @@
 --                   The safe flavor is 'setMainReadySafe'
 --                   .
 --
---     [C declaration]: @SDL_SetMainReady@, defined at @SDL3\/SDL_main.h 548:34@
+--     [C declaration]: @SDL_SetMainReady@, defined at @SDL3\/SDL_main.h 549:34@
 setMainReady :: IO ()
 setMainReady = Unsafe.sDL_SetMainReady
 
@@ -65,7 +65,7 @@
 --                   The unsafe flavor is 'setMainReady'
 --                   .
 --
---     [C declaration]: @SDL_SetMainReady@, defined at @SDL3\/SDL_main.h 548:34@
+--     [C declaration]: @SDL_SetMainReady@, defined at @SDL3\/SDL_main.h 549:34@
 setMainReadySafe :: IO ()
 setMainReadySafe = Safe.sDL_SetMainReady
 
@@ -92,7 +92,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RunApp@, defined at @SDL3\/SDL_main.h 581:33@
+--     [C declaration]: @SDL_RunApp@, defined at @SDL3\/SDL_main.h 582:33@
 runAppSafe
   :: BG.Int32
   -- ^
@@ -141,7 +141,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_EnterAppMainCallbacks@, defined at @SDL3\/SDL_main.h 608:33@
+--     [C declaration]: @SDL_EnterAppMainCallbacks@, defined at @SDL3\/SDL_main.h 609:33@
 enterAppMainCallbacksSafe
   :: BG.Int32
   -- ^
@@ -179,36 +179,56 @@
 
 -- | Callback from the application to let the suspend continue.
 --
+--     This should be called from an event watch in response to an @SDL_EVENT_DID_ENTER_BACKGROUND@ event.
+--
+--     When using SDL_Render, your event watch should be added /after/ creating the @SDL_Renderer@; this allows the timing of the D3D12 command queue suspension to execute in the correct order.
+--
+--     When using SDL_GPU, this should be called after calling SDL_GDKSuspendGPU.
+--
+--     If you\'re writing your own D3D12 renderer, this should be called after calling @ID3D12CommandQueue::SuspendX@.
+--
 --     This function is only needed for Xbox GDK support; all other platforms will do nothing and set an \"unsupported\" error message.
 --
 --     [Thread safety]: This function is not thread safe.
 --
 --     @since 3.2.0
 --
+--     [See also]: 'SDL3.Sys.Events.addEventWatch'
+--
 --     === __@sdl3-bindgen-sys@ notes__
 --
 --     [FFI safety]: __Unsafe__ foreign import of @SDL_GDKSuspendComplete@.
 --                   The safe flavor is 'gdkSuspendCompleteSafe'
 --                   .
 --
---     [C declaration]: @SDL_GDKSuspendComplete@, defined at @SDL3\/SDL_main.h 673:34@
+--     [C declaration]: @SDL_GDKSuspendComplete@, defined at @SDL3\/SDL_main.h 688:34@
 gdkSuspendComplete :: IO ()
 gdkSuspendComplete = Unsafe.sDL_GDKSuspendComplete
 
 -- | Callback from the application to let the suspend continue.
 --
+--     This should be called from an event watch in response to an @SDL_EVENT_DID_ENTER_BACKGROUND@ event.
+--
+--     When using SDL_Render, your event watch should be added /after/ creating the @SDL_Renderer@; this allows the timing of the D3D12 command queue suspension to execute in the correct order.
+--
+--     When using SDL_GPU, this should be called after calling SDL_GDKSuspendGPU.
+--
+--     If you\'re writing your own D3D12 renderer, this should be called after calling @ID3D12CommandQueue::SuspendX@.
+--
 --     This function is only needed for Xbox GDK support; all other platforms will do nothing and set an \"unsupported\" error message.
 --
 --     [Thread safety]: This function is not thread safe.
 --
 --     @since 3.2.0
 --
+--     [See also]: 'SDL3.Sys.Events.addEventWatch'
+--
 --     === __@sdl3-bindgen-sys@ notes__
 --
 --     [FFI safety]: __Safe__ foreign import of @SDL_GDKSuspendComplete@.
 --                   The unsafe flavor is 'gdkSuspendComplete'
 --                   .
 --
---     [C declaration]: @SDL_GDKSuspendComplete@, defined at @SDL3\/SDL_main.h 673:34@
+--     [C declaration]: @SDL_GDKSuspendComplete@, defined at @SDL3\/SDL_main.h 688:34@
 gdkSuspendCompleteSafe :: IO ()
 gdkSuspendCompleteSafe = Safe.sDL_GDKSuspendComplete
diff --git a/src/SDL3/Sys/Mutex.hs b/src/SDL3/Sys/Mutex.hs
--- a/src/SDL3/Sys/Mutex.hs
+++ b/src/SDL3/Sys/Mutex.hs
@@ -276,7 +276,7 @@
 --                   The safe flavor is 'unlockMutexSafe'
 --                   .
 --
---     [C declaration]: @SDL_UnlockMutex@, defined at @SDL3\/SDL_mutex.h 390:34@
+--     [C declaration]: @SDL_UnlockMutex@, defined at @SDL3\/SDL_mutex.h 391:34@
 unlockMutex
   :: BG.Ptr SDL_Mutex
   -- ^
@@ -303,7 +303,7 @@
 --                   The unsafe flavor is 'unlockMutex'
 --                   .
 --
---     [C declaration]: @SDL_UnlockMutex@, defined at @SDL3\/SDL_mutex.h 390:34@
+--     [C declaration]: @SDL_UnlockMutex@, defined at @SDL3\/SDL_mutex.h 391:34@
 unlockMutexSafe
   :: BG.Ptr SDL_Mutex
   -- ^
@@ -328,7 +328,7 @@
 --                   The safe flavor is 'destroyMutexSafe'
 --                   .
 --
---     [C declaration]: @SDL_DestroyMutex@, defined at @SDL3\/SDL_mutex.h 409:34@
+--     [C declaration]: @SDL_DestroyMutex@, defined at @SDL3\/SDL_mutex.h 410:34@
 destroyMutex
   :: BG.Ptr SDL_Mutex
   -- ^
@@ -353,7 +353,7 @@
 --                   The unsafe flavor is 'destroyMutex'
 --                   .
 --
---     [C declaration]: @SDL_DestroyMutex@, defined at @SDL3\/SDL_mutex.h 409:34@
+--     [C declaration]: @SDL_DestroyMutex@, defined at @SDL3\/SDL_mutex.h 410:34@
 destroyMutexSafe
   :: BG.Ptr SDL_Mutex
   -- ^
@@ -388,7 +388,7 @@
 --                   The safe flavor is 'createRWLockSafe'
 --                   .
 --
---     [C declaration]: @SDL_CreateRWLock@, defined at @SDL3\/SDL_mutex.h 481:42@
+--     [C declaration]: @SDL_CreateRWLock@, defined at @SDL3\/SDL_mutex.h 482:42@
 createRWLock :: IO (BG.Ptr SDL_RWLock)
 createRWLock = Unsafe.sDL_CreateRWLock
 
@@ -418,7 +418,7 @@
 --                   The unsafe flavor is 'createRWLock'
 --                   .
 --
---     [C declaration]: @SDL_CreateRWLock@, defined at @SDL3\/SDL_mutex.h 481:42@
+--     [C declaration]: @SDL_CreateRWLock@, defined at @SDL3\/SDL_mutex.h 482:42@
 createRWLockSafe :: IO (BG.Ptr SDL_RWLock)
 createRWLockSafe = Safe.sDL_CreateRWLock
 
@@ -446,7 +446,7 @@
 --                   The safe flavor is 'lockRWLockForReadingSafe'
 --                   : blocks on contention.
 --
---     [C declaration]: @SDL_LockRWLockForReading@, defined at @SDL3\/SDL_mutex.h 520:34@
+--     [C declaration]: @SDL_LockRWLockForReading@, defined at @SDL3\/SDL_mutex.h 521:34@
 lockRWLockForReading
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -480,7 +480,7 @@
 --                   The unsafe flavor is 'lockRWLockForReading'
 --                   : blocks on contention.
 --
---     [C declaration]: @SDL_LockRWLockForReading@, defined at @SDL3\/SDL_mutex.h 520:34@
+--     [C declaration]: @SDL_LockRWLockForReading@, defined at @SDL3\/SDL_mutex.h 521:34@
 lockRWLockForReadingSafe
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -512,7 +512,7 @@
 --                   The safe flavor is 'lockRWLockForWritingSafe'
 --                   : blocks on contention.
 --
---     [C declaration]: @SDL_LockRWLockForWriting@, defined at @SDL3\/SDL_mutex.h 553:34@
+--     [C declaration]: @SDL_LockRWLockForWriting@, defined at @SDL3\/SDL_mutex.h 554:34@
 lockRWLockForWriting
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -544,7 +544,7 @@
 --                   The unsafe flavor is 'lockRWLockForWriting'
 --                   : blocks on contention.
 --
---     [C declaration]: @SDL_LockRWLockForWriting@, defined at @SDL3\/SDL_mutex.h 553:34@
+--     [C declaration]: @SDL_LockRWLockForWriting@, defined at @SDL3\/SDL_mutex.h 554:34@
 lockRWLockForWritingSafe
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -581,7 +581,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_TryLockRWLockForReading@, defined at @SDL3\/SDL_mutex.h 580:34@
+--     [C declaration]: @SDL_TryLockRWLockForReading@, defined at @SDL3\/SDL_mutex.h 581:34@
 tryLockRWLockForReading
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -619,7 +619,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_TryLockRWLockForReading@, defined at @SDL3\/SDL_mutex.h 580:34@
+--     [C declaration]: @SDL_TryLockRWLockForReading@, defined at @SDL3\/SDL_mutex.h 581:34@
 tryLockRWLockForReadingSafe
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -659,7 +659,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_TryLockRWLockForWriting@, defined at @SDL3\/SDL_mutex.h 612:34@
+--     [C declaration]: @SDL_TryLockRWLockForWriting@, defined at @SDL3\/SDL_mutex.h 613:34@
 tryLockRWLockForWriting
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -699,7 +699,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_TryLockRWLockForWriting@, defined at @SDL3\/SDL_mutex.h 612:34@
+--     [C declaration]: @SDL_TryLockRWLockForWriting@, defined at @SDL3\/SDL_mutex.h 613:34@
 tryLockRWLockForWritingSafe
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -730,7 +730,7 @@
 --                   The safe flavor is 'unlockRWLockSafe'
 --                   .
 --
---     [C declaration]: @SDL_UnlockRWLock@, defined at @SDL3\/SDL_mutex.h 639:34@
+--     [C declaration]: @SDL_UnlockRWLock@, defined at @SDL3\/SDL_mutex.h 641:34@
 unlockRWLock
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -759,7 +759,7 @@
 --                   The unsafe flavor is 'unlockRWLock'
 --                   .
 --
---     [C declaration]: @SDL_UnlockRWLock@, defined at @SDL3\/SDL_mutex.h 639:34@
+--     [C declaration]: @SDL_UnlockRWLock@, defined at @SDL3\/SDL_mutex.h 641:34@
 unlockRWLockSafe
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -784,7 +784,7 @@
 --                   The safe flavor is 'destroyRWLockSafe'
 --                   .
 --
---     [C declaration]: @SDL_DestroyRWLock@, defined at @SDL3\/SDL_mutex.h 658:34@
+--     [C declaration]: @SDL_DestroyRWLock@, defined at @SDL3\/SDL_mutex.h 660:34@
 destroyRWLock
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -809,7 +809,7 @@
 --                   The unsafe flavor is 'destroyRWLock'
 --                   .
 --
---     [C declaration]: @SDL_DestroyRWLock@, defined at @SDL3\/SDL_mutex.h 658:34@
+--     [C declaration]: @SDL_DestroyRWLock@, defined at @SDL3\/SDL_mutex.h 660:34@
 destroyRWLockSafe
   :: BG.Ptr SDL_RWLock
   -- ^
@@ -839,7 +839,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_CreateSemaphore@, defined at @SDL3\/SDL_mutex.h 708:45@
+--     [C declaration]: @SDL_CreateSemaphore@, defined at @SDL3\/SDL_mutex.h 710:45@
 createSemaphore
   :: BG.Word32
   -- ^
@@ -871,7 +871,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_CreateSemaphore@, defined at @SDL3\/SDL_mutex.h 708:45@
+--     [C declaration]: @SDL_CreateSemaphore@, defined at @SDL3\/SDL_mutex.h 710:45@
 createSemaphoreSafe
   :: BG.Word32
   -- ^
@@ -897,7 +897,7 @@
 --                   The safe flavor is 'destroySemaphoreSafe'
 --                   .
 --
---     [C declaration]: @SDL_DestroySemaphore@, defined at @SDL3\/SDL_mutex.h 724:34@
+--     [C declaration]: @SDL_DestroySemaphore@, defined at @SDL3\/SDL_mutex.h 726:34@
 destroySemaphore
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -922,7 +922,7 @@
 --                   The unsafe flavor is 'destroySemaphore'
 --                   .
 --
---     [C declaration]: @SDL_DestroySemaphore@, defined at @SDL3\/SDL_mutex.h 724:34@
+--     [C declaration]: @SDL_DestroySemaphore@, defined at @SDL3\/SDL_mutex.h 726:34@
 destroySemaphoreSafe
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -949,7 +949,7 @@
 --                   The safe flavor is 'waitSemaphoreSafe'
 --                   : blocks indefinitely.
 --
---     [C declaration]: @SDL_WaitSemaphore@, defined at @SDL3\/SDL_mutex.h 746:34@
+--     [C declaration]: @SDL_WaitSemaphore@, defined at @SDL3\/SDL_mutex.h 748:34@
 waitSemaphore
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -976,7 +976,7 @@
 --                   The unsafe flavor is 'waitSemaphore'
 --                   : blocks indefinitely.
 --
---     [C declaration]: @SDL_WaitSemaphore@, defined at @SDL3\/SDL_mutex.h 746:34@
+--     [C declaration]: @SDL_WaitSemaphore@, defined at @SDL3\/SDL_mutex.h 748:34@
 waitSemaphoreSafe
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -1006,7 +1006,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_TryWaitSemaphore@, defined at @SDL3\/SDL_mutex.h 767:34@
+--     [C declaration]: @SDL_TryWaitSemaphore@, defined at @SDL3\/SDL_mutex.h 769:34@
 tryWaitSemaphore
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -1038,7 +1038,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_TryWaitSemaphore@, defined at @SDL3\/SDL_mutex.h 767:34@
+--     [C declaration]: @SDL_TryWaitSemaphore@, defined at @SDL3\/SDL_mutex.h 769:34@
 tryWaitSemaphoreSafe
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -1070,7 +1070,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_WaitSemaphoreTimeout@, defined at @SDL3\/SDL_mutex.h 789:34@
+--     [C declaration]: @SDL_WaitSemaphoreTimeout@, defined at @SDL3\/SDL_mutex.h 791:34@
 waitSemaphoreTimeout
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -1107,7 +1107,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_WaitSemaphoreTimeout@, defined at @SDL3\/SDL_mutex.h 789:34@
+--     [C declaration]: @SDL_WaitSemaphoreTimeout@, defined at @SDL3\/SDL_mutex.h 791:34@
 waitSemaphoreTimeoutSafe
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -1137,7 +1137,7 @@
 --                   The safe flavor is 'signalSemaphoreSafe'
 --                   .
 --
---     [C declaration]: @SDL_SignalSemaphore@, defined at @SDL3\/SDL_mutex.h 804:34@
+--     [C declaration]: @SDL_SignalSemaphore@, defined at @SDL3\/SDL_mutex.h 806:34@
 signalSemaphore
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -1160,7 +1160,7 @@
 --                   The unsafe flavor is 'signalSemaphore'
 --                   .
 --
---     [C declaration]: @SDL_SignalSemaphore@, defined at @SDL3\/SDL_mutex.h 804:34@
+--     [C declaration]: @SDL_SignalSemaphore@, defined at @SDL3\/SDL_mutex.h 806:34@
 signalSemaphoreSafe
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -1186,7 +1186,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetSemaphoreValue@, defined at @SDL3\/SDL_mutex.h 816:36@
+--     [C declaration]: @SDL_GetSemaphoreValue@, defined at @SDL3\/SDL_mutex.h 818:36@
 getSemaphoreValue
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -1214,7 +1214,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetSemaphoreValue@, defined at @SDL3\/SDL_mutex.h 816:36@
+--     [C declaration]: @SDL_GetSemaphoreValue@, defined at @SDL3\/SDL_mutex.h 818:36@
 getSemaphoreValueSafe
   :: BG.Ptr SDL_Semaphore
   -- ^
@@ -1241,7 +1241,7 @@
 --                   The safe flavor is 'createConditionSafe'
 --                   .
 --
---     [C declaration]: @SDL_CreateCondition@, defined at @SDL3\/SDL_mutex.h 857:45@
+--     [C declaration]: @SDL_CreateCondition@, defined at @SDL3\/SDL_mutex.h 859:45@
 createCondition :: IO (BG.Ptr SDL_Condition)
 createCondition = Unsafe.sDL_CreateCondition
 
@@ -1261,7 +1261,7 @@
 --                   The unsafe flavor is 'createCondition'
 --                   .
 --
---     [C declaration]: @SDL_CreateCondition@, defined at @SDL3\/SDL_mutex.h 857:45@
+--     [C declaration]: @SDL_CreateCondition@, defined at @SDL3\/SDL_mutex.h 859:45@
 createConditionSafe :: IO (BG.Ptr SDL_Condition)
 createConditionSafe = Safe.sDL_CreateCondition
 
@@ -1279,7 +1279,7 @@
 --                   The safe flavor is 'destroyConditionSafe'
 --                   .
 --
---     [C declaration]: @SDL_DestroyCondition@, defined at @SDL3\/SDL_mutex.h 870:34@
+--     [C declaration]: @SDL_DestroyCondition@, defined at @SDL3\/SDL_mutex.h 872:34@
 destroyCondition
   :: BG.Ptr SDL_Condition
   -- ^
@@ -1302,7 +1302,7 @@
 --                   The unsafe flavor is 'destroyCondition'
 --                   .
 --
---     [C declaration]: @SDL_DestroyCondition@, defined at @SDL3\/SDL_mutex.h 870:34@
+--     [C declaration]: @SDL_DestroyCondition@, defined at @SDL3\/SDL_mutex.h 872:34@
 destroyConditionSafe
   :: BG.Ptr SDL_Condition
   -- ^
@@ -1325,7 +1325,7 @@
 --                   The safe flavor is 'signalConditionSafe'
 --                   .
 --
---     [C declaration]: @SDL_SignalCondition@, defined at @SDL3\/SDL_mutex.h 885:34@
+--     [C declaration]: @SDL_SignalCondition@, defined at @SDL3\/SDL_mutex.h 887:34@
 signalCondition
   :: BG.Ptr SDL_Condition
   -- ^
@@ -1348,7 +1348,7 @@
 --                   The unsafe flavor is 'signalCondition'
 --                   .
 --
---     [C declaration]: @SDL_SignalCondition@, defined at @SDL3\/SDL_mutex.h 885:34@
+--     [C declaration]: @SDL_SignalCondition@, defined at @SDL3\/SDL_mutex.h 887:34@
 signalConditionSafe
   :: BG.Ptr SDL_Condition
   -- ^
@@ -1371,7 +1371,7 @@
 --                   The safe flavor is 'broadcastConditionSafe'
 --                   .
 --
---     [C declaration]: @SDL_BroadcastCondition@, defined at @SDL3\/SDL_mutex.h 900:34@
+--     [C declaration]: @SDL_BroadcastCondition@, defined at @SDL3\/SDL_mutex.h 902:34@
 broadcastCondition
   :: BG.Ptr SDL_Condition
   -- ^
@@ -1394,7 +1394,7 @@
 --                   The unsafe flavor is 'broadcastCondition'
 --                   .
 --
---     [C declaration]: @SDL_BroadcastCondition@, defined at @SDL3\/SDL_mutex.h 900:34@
+--     [C declaration]: @SDL_BroadcastCondition@, defined at @SDL3\/SDL_mutex.h 902:34@
 broadcastConditionSafe
   :: BG.Ptr SDL_Condition
   -- ^
@@ -1423,7 +1423,7 @@
 --                   The safe flavor is 'waitConditionSafe'
 --                   : blocks indefinitely.
 --
---     [C declaration]: @SDL_WaitCondition@, defined at @SDL3\/SDL_mutex.h 928:34@
+--     [C declaration]: @SDL_WaitCondition@, defined at @SDL3\/SDL_mutex.h 930:34@
 waitCondition
   :: BG.Ptr SDL_Condition
   -- ^
@@ -1456,7 +1456,7 @@
 --                   The unsafe flavor is 'waitCondition'
 --                   : blocks indefinitely.
 --
---     [C declaration]: @SDL_WaitCondition@, defined at @SDL3\/SDL_mutex.h 928:34@
+--     [C declaration]: @SDL_WaitCondition@, defined at @SDL3\/SDL_mutex.h 930:34@
 waitConditionSafe
   :: BG.Ptr SDL_Condition
   -- ^
@@ -1492,7 +1492,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_WaitConditionTimeout@, defined at @SDL3\/SDL_mutex.h 958:34@
+--     [C declaration]: @SDL_WaitConditionTimeout@, defined at @SDL3\/SDL_mutex.h 960:34@
 waitConditionTimeout
   :: BG.Ptr SDL_Condition
   -- ^
@@ -1536,7 +1536,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_WaitConditionTimeout@, defined at @SDL3\/SDL_mutex.h 958:34@
+--     [C declaration]: @SDL_WaitConditionTimeout@, defined at @SDL3\/SDL_mutex.h 960:34@
 waitConditionTimeoutSafe
   :: BG.Ptr SDL_Condition
   -- ^
@@ -1580,7 +1580,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ShouldInit@, defined at @SDL3\/SDL_mutex.h 1065:34@
+--     [C declaration]: @SDL_ShouldInit@, defined at @SDL3\/SDL_mutex.h 1067:34@
 shouldInit
   :: BG.Ptr SDL_InitState
   -- ^
@@ -1613,7 +1613,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ShouldInit@, defined at @SDL3\/SDL_mutex.h 1065:34@
+--     [C declaration]: @SDL_ShouldInit@, defined at @SDL3\/SDL_mutex.h 1067:34@
 shouldInitSafe
   :: BG.Ptr SDL_InitState
   -- ^
@@ -1646,7 +1646,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ShouldQuit@, defined at @SDL3\/SDL_mutex.h 1086:34@
+--     [C declaration]: @SDL_ShouldQuit@, defined at @SDL3\/SDL_mutex.h 1088:34@
 shouldQuit
   :: BG.Ptr SDL_InitState
   -- ^
@@ -1679,7 +1679,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ShouldQuit@, defined at @SDL3\/SDL_mutex.h 1086:34@
+--     [C declaration]: @SDL_ShouldQuit@, defined at @SDL3\/SDL_mutex.h 1088:34@
 shouldQuitSafe
   :: BG.Ptr SDL_InitState
   -- ^
@@ -1708,7 +1708,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetInitialized@, defined at @SDL3\/SDL_mutex.h 1105:34@
+--     [C declaration]: @SDL_SetInitialized@, defined at @SDL3\/SDL_mutex.h 1107:34@
 setInitialized
   :: BG.Ptr SDL_InitState
   -- ^
@@ -1743,7 +1743,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetInitialized@, defined at @SDL3\/SDL_mutex.h 1105:34@
+--     [C declaration]: @SDL_SetInitialized@, defined at @SDL3\/SDL_mutex.h 1107:34@
 setInitializedSafe
   :: BG.Ptr SDL_InitState
   -- ^
diff --git a/src/SDL3/Sys/Pen.hs b/src/SDL3/Sys/Pen.hs
--- a/src/SDL3/Sys/Pen.hs
+++ b/src/SDL3/Sys/Pen.hs
@@ -20,7 +20,7 @@
 --
 --     When a pen starts providing input, SDL will assign it a unique 'SDL_PenID', which will remain for the life of the process, as long as the pen stays connected. A pen leaving proximity (being taken far enough away from the digitizer tablet that it no longer reponds) and then coming back should fire proximity events, but the 'SDL_PenID' should remain consistent. Unplugging the digitizer and reconnecting may cause future input to have a new 'SDL_PenID', as SDL may not know that this is the same hardware.
 --
---     Please note that various platforms vary wildly in how (and how well) they support pen input. If your pen supports some piece of functionality but SDL doesn\'t seem to, it might actually be the operating system\'s fault. For example, some platforms can manage multiple devices at the same time, but others will make any connected pens look like a single logical device, much how all USB mice connected to a computer will move the same system cursor. cursor. Other platforms might not support pen buttons, or the distance axis, etc. Very few platforms can even report /what/ functionality the pen supports in the first place, so best practices is to either build UI to let the user configure their pens, or be prepared to handle new functionality for a pen the first time an event is reported. SDL pen instance IDs.
+--     Please note that various platforms vary wildly in how (and how well) they support pen input. If your pen supports some piece of functionality but SDL doesn\'t seem to, it might actually be the operating system\'s fault. For example, some platforms can manage multiple devices at the same time, but others will make any connected pens look like a single logical device, much how all USB mice connected to a computer will move the same system cursor. Other platforms might not support pen buttons, or the distance axis, etc. Very few platforms can even report /what/ functionality the pen supports in the first place, so best practices is to either build UI to let the user configure their pens, or be prepared to handle new functionality for a pen the first time an event is reported. SDL pen instance IDs.
 --
 --     Zero is used to signify an invalid\/null device.
 --
diff --git a/src/SDL3/Sys/Rect.hs b/src/SDL3/Sys/Rect.hs
--- a/src/SDL3/Sys/Rect.hs
+++ b/src/SDL3/Sys/Rect.hs
@@ -547,7 +547,7 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'getRectIntersection'
+--     [See also]: 'getRectIntersectionFloat'
 --
 --     === __@sdl3-bindgen-sys@ notes__
 --
diff --git a/src/SDL3/Sys/Render.hs b/src/SDL3/Sys/Render.hs
--- a/src/SDL3/Sys/Render.hs
+++ b/src/SDL3/Sys/Render.hs
@@ -802,7 +802,7 @@
 
 -- | Create a 2D software rendering context for a surface.
 --
---     Two other API which can be used to create 'SDL_Renderer': @'createRenderer'@ and @'createWindowAndRenderer'@. These can /also/ create a software renderer, but they are intended to be used with an SDL_Window as the final destination and not an SDL_Surface.
+--     Two other APIs which can be used to create 'SDL_Renderer': @'createRenderer'@ and @'createWindowAndRenderer'@. These can /also/ create a software renderer, but they are intended to be used with an SDL_Window as the final destination and not an SDL_Surface.
 --
 --     [Returns]: a valid rendering context or NULL if there was an error; call 'SDL3.Sys.Error.getError' for more information.
 --
@@ -830,7 +830,7 @@
 
 -- | Create a 2D software rendering context for a surface.
 --
---     Two other API which can be used to create 'SDL_Renderer': @'createRenderer'@ and @'createWindowAndRenderer'@. These can /also/ create a software renderer, but they are intended to be used with an SDL_Window as the final destination and not an SDL_Surface.
+--     Two other APIs which can be used to create 'SDL_Renderer': @'createRenderer'@ and @'createWindowAndRenderer'@. These can /also/ create a software renderer, but they are intended to be used with an SDL_Window as the final destination and not an SDL_Surface.
 --
 --     [Returns]: a valid rendering context or NULL if there was an error; call 'SDL3.Sys.Error.getError' for more information.
 --
@@ -1576,8 +1576,6 @@
 --
 --     * @'sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER'@: the GLuint texture associated with the texture, if you want to wrap an existing texture.
 --
---     * @'sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER'@: the GLuint texture associated with the texture, if you want to wrap an existing texture.
---
 --     * @'sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER'@: the GLuint texture associated with the UV plane of an NV12 texture, if you want to wrap an existing texture.
 --
 --     * @'sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_U_NUMBER'@: the GLuint texture associated with the U plane of a YUV texture, if you want to wrap an existing texture.
@@ -1614,7 +1612,7 @@
 --                   The safe flavor is 'createTextureWithPropertiesSafe'
 --                   .
 --
---     [C declaration]: @SDL_CreateTextureWithProperties@, defined at @SDL3\/SDL_render.h 806:43@
+--     [C declaration]: @SDL_CreateTextureWithProperties@, defined at @SDL3\/SDL_render.h 804:43@
 createTextureWithProperties
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -1682,8 +1680,6 @@
 --
 --     * @'sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER'@: the GLuint texture associated with the texture, if you want to wrap an existing texture.
 --
---     * @'sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER'@: the GLuint texture associated with the texture, if you want to wrap an existing texture.
---
 --     * @'sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER'@: the GLuint texture associated with the UV plane of an NV12 texture, if you want to wrap an existing texture.
 --
 --     * @'sDL_PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_U_NUMBER'@: the GLuint texture associated with the U plane of a YUV texture, if you want to wrap an existing texture.
@@ -1720,7 +1716,7 @@
 --                   The unsafe flavor is 'createTextureWithProperties'
 --                   .
 --
---     [C declaration]: @SDL_CreateTextureWithProperties@, defined at @SDL3\/SDL_render.h 806:43@
+--     [C declaration]: @SDL_CreateTextureWithProperties@, defined at @SDL3\/SDL_render.h 804:43@
 createTextureWithPropertiesSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -1822,7 +1818,7 @@
 --                   The safe flavor is 'getTexturePropertiesSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetTextureProperties@, defined at @SDL3\/SDL_render.h 935:46@
+--     [C declaration]: @SDL_GetTextureProperties@, defined at @SDL3\/SDL_render.h 933:46@
 getTextureProperties
   :: BG.Ptr SDL_Texture
   -- ^
@@ -1920,7 +1916,7 @@
 --                   The unsafe flavor is 'getTextureProperties'
 --                   .
 --
---     [C declaration]: @SDL_GetTextureProperties@, defined at @SDL3\/SDL_render.h 935:46@
+--     [C declaration]: @SDL_GetTextureProperties@, defined at @SDL3\/SDL_render.h 933:46@
 getTexturePropertiesSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -1944,7 +1940,7 @@
 --                   The safe flavor is 'getRendererFromTextureSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetRendererFromTexture@, defined at @SDL3\/SDL_render.h 979:44@
+--     [C declaration]: @SDL_GetRendererFromTexture@, defined at @SDL3\/SDL_render.h 977:44@
 getRendererFromTexture
   :: BG.Ptr SDL_Texture
   -- ^
@@ -1968,7 +1964,7 @@
 --                   The unsafe flavor is 'getRendererFromTexture'
 --                   .
 --
---     [C declaration]: @SDL_GetRendererFromTexture@, defined at @SDL3\/SDL_render.h 979:44@
+--     [C declaration]: @SDL_GetRendererFromTexture@, defined at @SDL3\/SDL_render.h 977:44@
 getRendererFromTextureSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -1995,7 +1991,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetTextureSize@, defined at @SDL3\/SDL_render.h 996:34@
+--     [C declaration]: @SDL_GetTextureSize@, defined at @SDL3\/SDL_render.h 994:34@
 getTextureSize
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2033,7 +2029,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetTextureSize@, defined at @SDL3\/SDL_render.h 996:34@
+--     [C declaration]: @SDL_GetTextureSize@, defined at @SDL3\/SDL_render.h 994:34@
 getTextureSizeSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2077,7 +2073,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetTexturePalette@, defined at @SDL3\/SDL_render.h 1018:34@
+--     [C declaration]: @SDL_SetTexturePalette@, defined at @SDL3\/SDL_render.h 1016:34@
 setTexturePalette
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2116,7 +2112,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetTexturePalette@, defined at @SDL3\/SDL_render.h 1018:34@
+--     [C declaration]: @SDL_SetTexturePalette@, defined at @SDL3\/SDL_render.h 1016:34@
 setTexturePaletteSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2148,7 +2144,7 @@
 --                   The safe flavor is 'getTexturePaletteSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetTexturePalette@, defined at @SDL3\/SDL_render.h 1033:43@
+--     [C declaration]: @SDL_GetTexturePalette@, defined at @SDL3\/SDL_render.h 1031:43@
 getTexturePalette
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2173,7 +2169,7 @@
 --                   The unsafe flavor is 'getTexturePalette'
 --                   .
 --
---     [C declaration]: @SDL_GetTexturePalette@, defined at @SDL3\/SDL_render.h 1033:43@
+--     [C declaration]: @SDL_GetTexturePalette@, defined at @SDL3\/SDL_render.h 1031:43@
 getTexturePaletteSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2207,7 +2203,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetTextureColorMod@, defined at @SDL3\/SDL_render.h 1062:34@
+--     [C declaration]: @SDL_SetTextureColorMod@, defined at @SDL3\/SDL_render.h 1060:34@
 setTextureColorMod
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2260,7 +2256,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetTextureColorMod@, defined at @SDL3\/SDL_render.h 1062:34@
+--     [C declaration]: @SDL_SetTextureColorMod@, defined at @SDL3\/SDL_render.h 1060:34@
 setTextureColorModSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2313,7 +2309,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetTextureColorModFloat@, defined at @SDL3\/SDL_render.h 1092:34@
+--     [C declaration]: @SDL_SetTextureColorModFloat@, defined at @SDL3\/SDL_render.h 1090:34@
 setTextureColorModFloat
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2366,7 +2362,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetTextureColorModFloat@, defined at @SDL3\/SDL_render.h 1092:34@
+--     [C declaration]: @SDL_SetTextureColorModFloat@, defined at @SDL3\/SDL_render.h 1090:34@
 setTextureColorModFloatSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2413,7 +2409,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetTextureColorMod@, defined at @SDL3\/SDL_render.h 1113:34@
+--     [C declaration]: @SDL_GetTextureColorMod@, defined at @SDL3\/SDL_render.h 1111:34@
 getTextureColorMod
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2458,7 +2454,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetTextureColorMod@, defined at @SDL3\/SDL_render.h 1113:34@
+--     [C declaration]: @SDL_GetTextureColorMod@, defined at @SDL3\/SDL_render.h 1111:34@
 getTextureColorModSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2503,7 +2499,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetTextureColorModFloat@, defined at @SDL3\/SDL_render.h 1133:34@
+--     [C declaration]: @SDL_GetTextureColorModFloat@, defined at @SDL3\/SDL_render.h 1131:34@
 getTextureColorModFloat
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2548,7 +2544,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetTextureColorModFloat@, defined at @SDL3\/SDL_render.h 1133:34@
+--     [C declaration]: @SDL_GetTextureColorModFloat@, defined at @SDL3\/SDL_render.h 1131:34@
 getTextureColorModFloatSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2599,7 +2595,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetTextureAlphaMod@, defined at @SDL3\/SDL_render.h 1159:34@
+--     [C declaration]: @SDL_SetTextureAlphaMod@, defined at @SDL3\/SDL_render.h 1157:34@
 setTextureAlphaMod
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2640,7 +2636,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetTextureAlphaMod@, defined at @SDL3\/SDL_render.h 1159:34@
+--     [C declaration]: @SDL_SetTextureAlphaMod@, defined at @SDL3\/SDL_render.h 1157:34@
 setTextureAlphaModSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2681,7 +2677,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetTextureAlphaModFloat@, defined at @SDL3\/SDL_render.h 1185:34@
+--     [C declaration]: @SDL_SetTextureAlphaModFloat@, defined at @SDL3\/SDL_render.h 1183:34@
 setTextureAlphaModFloat
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2722,7 +2718,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetTextureAlphaModFloat@, defined at @SDL3\/SDL_render.h 1185:34@
+--     [C declaration]: @SDL_SetTextureAlphaModFloat@, defined at @SDL3\/SDL_render.h 1183:34@
 setTextureAlphaModFloatSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2757,7 +2753,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetTextureAlphaMod@, defined at @SDL3\/SDL_render.h 1203:34@
+--     [C declaration]: @SDL_GetTextureAlphaMod@, defined at @SDL3\/SDL_render.h 1201:34@
 getTextureAlphaMod
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2792,7 +2788,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetTextureAlphaMod@, defined at @SDL3\/SDL_render.h 1203:34@
+--     [C declaration]: @SDL_GetTextureAlphaMod@, defined at @SDL3\/SDL_render.h 1201:34@
 getTextureAlphaModSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2827,7 +2823,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetTextureAlphaModFloat@, defined at @SDL3\/SDL_render.h 1221:34@
+--     [C declaration]: @SDL_GetTextureAlphaModFloat@, defined at @SDL3\/SDL_render.h 1219:34@
 getTextureAlphaModFloat
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2862,7 +2858,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetTextureAlphaModFloat@, defined at @SDL3\/SDL_render.h 1221:34@
+--     [C declaration]: @SDL_GetTextureAlphaModFloat@, defined at @SDL3\/SDL_render.h 1219:34@
 getTextureAlphaModFloatSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2880,6 +2876,8 @@
 
 -- | Set the blend mode for a texture, used by @'renderTexture'@.
 --
+--     This blend mode is used for any drawing that involves this texture.
+--
 --     If the blend mode is not supported, the closest supported mode is chosen and this function returns false.
 --
 --     [Returns]: true on success or false on failure; call 'SDL3.Sys.Error.getError' for more information.
@@ -2888,7 +2886,7 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'getTextureBlendMode'
+--     [See also]: 'getTextureBlendMode', 'setRenderDrawBlendMode'
 --
 --     === __@sdl3-bindgen-sys@ notes__
 --
@@ -2899,7 +2897,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetTextureBlendMode@, defined at @SDL3\/SDL_render.h 1240:34@
+--     [C declaration]: @SDL_SetTextureBlendMode@, defined at @SDL3\/SDL_render.h 1241:34@
 setTextureBlendMode
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2917,6 +2915,8 @@
 
 -- | Set the blend mode for a texture, used by @'renderTexture'@.
 --
+--     This blend mode is used for any drawing that involves this texture.
+--
 --     If the blend mode is not supported, the closest supported mode is chosen and this function returns false.
 --
 --     [Returns]: true on success or false on failure; call 'SDL3.Sys.Error.getError' for more information.
@@ -2925,7 +2925,7 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'getTextureBlendMode'
+--     [See also]: 'getTextureBlendMode', 'setRenderDrawBlendMode'
 --
 --     === __@sdl3-bindgen-sys@ notes__
 --
@@ -2936,7 +2936,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetTextureBlendMode@, defined at @SDL3\/SDL_render.h 1240:34@
+--     [C declaration]: @SDL_SetTextureBlendMode@, defined at @SDL3\/SDL_render.h 1241:34@
 setTextureBlendModeSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -2971,7 +2971,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetTextureBlendMode@, defined at @SDL3\/SDL_render.h 1256:34@
+--     [C declaration]: @SDL_GetTextureBlendMode@, defined at @SDL3\/SDL_render.h 1257:34@
 getTextureBlendMode
   :: BG.Ptr SDL_Texture
   -- ^
@@ -3006,7 +3006,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetTextureBlendMode@, defined at @SDL3\/SDL_render.h 1256:34@
+--     [C declaration]: @SDL_GetTextureBlendMode@, defined at @SDL3\/SDL_render.h 1257:34@
 getTextureBlendModeSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -3045,7 +3045,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetTextureScaleMode@, defined at @SDL3\/SDL_render.h 1276:34@
+--     [C declaration]: @SDL_SetTextureScaleMode@, defined at @SDL3\/SDL_render.h 1277:34@
 setTextureScaleMode
   :: BG.Ptr SDL_Texture
   -- ^
@@ -3084,7 +3084,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetTextureScaleMode@, defined at @SDL3\/SDL_render.h 1276:34@
+--     [C declaration]: @SDL_SetTextureScaleMode@, defined at @SDL3\/SDL_render.h 1277:34@
 setTextureScaleModeSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -3119,7 +3119,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetTextureScaleMode@, defined at @SDL3\/SDL_render.h 1292:34@
+--     [C declaration]: @SDL_GetTextureScaleMode@, defined at @SDL3\/SDL_render.h 1293:34@
 getTextureScaleMode
   :: BG.Ptr SDL_Texture
   -- ^
@@ -3154,7 +3154,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetTextureScaleMode@, defined at @SDL3\/SDL_render.h 1292:34@
+--     [C declaration]: @SDL_GetTextureScaleMode@, defined at @SDL3\/SDL_render.h 1293:34@
 getTextureScaleModeSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -3195,7 +3195,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_UpdateTexture@, defined at @SDL3\/SDL_render.h 1326:34@
+--     [C declaration]: @SDL_UpdateTexture@, defined at @SDL3\/SDL_render.h 1327:34@
 updateTexture
   :: BG.Ptr SDL_Texture
   -- ^
@@ -3246,7 +3246,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_UpdateTexture@, defined at @SDL3\/SDL_render.h 1326:34@
+--     [C declaration]: @SDL_UpdateTexture@, defined at @SDL3\/SDL_render.h 1327:34@
 updateTextureSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -3293,7 +3293,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_UpdateYUVTexture@, defined at @SDL3\/SDL_render.h 1358:34@
+--     [C declaration]: @SDL_UpdateYUVTexture@, defined at @SDL3\/SDL_render.h 1359:34@
 updateYUVTexture
   :: BG.Ptr SDL_Texture
   -- ^
@@ -3371,7 +3371,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_UpdateYUVTexture@, defined at @SDL3\/SDL_render.h 1358:34@
+--     [C declaration]: @SDL_UpdateYUVTexture@, defined at @SDL3\/SDL_render.h 1359:34@
 updateYUVTextureSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -3449,7 +3449,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_UpdateNVTexture@, defined at @SDL3\/SDL_render.h 1390:34@
+--     [C declaration]: @SDL_UpdateNVTexture@, defined at @SDL3\/SDL_render.h 1391:34@
 updateNVTexture
   :: BG.Ptr SDL_Texture
   -- ^
@@ -3508,7 +3508,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_UpdateNVTexture@, defined at @SDL3\/SDL_render.h 1390:34@
+--     [C declaration]: @SDL_UpdateNVTexture@, defined at @SDL3\/SDL_render.h 1391:34@
 updateNVTextureSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -3567,7 +3567,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_LockTexture@, defined at @SDL3\/SDL_render.h 1425:34@
+--     [C declaration]: @SDL_LockTexture@, defined at @SDL3\/SDL_render.h 1426:34@
 lockTexture
   :: BG.Ptr SDL_Texture
   -- ^
@@ -3616,7 +3616,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_LockTexture@, defined at @SDL3\/SDL_render.h 1425:34@
+--     [C declaration]: @SDL_LockTexture@, defined at @SDL3\/SDL_render.h 1426:34@
 lockTextureSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -3669,7 +3669,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_LockTextureToSurface@, defined at @SDL3\/SDL_render.h 1463:34@
+--     [C declaration]: @SDL_LockTextureToSurface@, defined at @SDL3\/SDL_render.h 1464:34@
 lockTextureToSurface
   :: BG.Ptr SDL_Texture
   -- ^
@@ -3717,7 +3717,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_LockTextureToSurface@, defined at @SDL3\/SDL_render.h 1463:34@
+--     [C declaration]: @SDL_LockTextureToSurface@, defined at @SDL3\/SDL_render.h 1464:34@
 lockTextureToSurfaceSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -3756,7 +3756,7 @@
 --                   The safe flavor is 'unlockTextureSafe'
 --                   .
 --
---     [C declaration]: @SDL_UnlockTexture@, defined at @SDL3\/SDL_render.h 1484:34@
+--     [C declaration]: @SDL_UnlockTexture@, defined at @SDL3\/SDL_render.h 1485:34@
 unlockTexture
   :: BG.Ptr SDL_Texture
   -- ^
@@ -3783,7 +3783,7 @@
 --                   The unsafe flavor is 'unlockTexture'
 --                   .
 --
---     [C declaration]: @SDL_UnlockTexture@, defined at @SDL3\/SDL_render.h 1484:34@
+--     [C declaration]: @SDL_UnlockTexture@, defined at @SDL3\/SDL_render.h 1485:34@
 unlockTextureSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -3815,7 +3815,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetRenderTarget@, defined at @SDL3\/SDL_render.h 1511:34@
+--     [C declaration]: @SDL_SetRenderTarget@, defined at @SDL3\/SDL_render.h 1512:34@
 setRenderTarget
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3854,7 +3854,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetRenderTarget@, defined at @SDL3\/SDL_render.h 1511:34@
+--     [C declaration]: @SDL_SetRenderTarget@, defined at @SDL3\/SDL_render.h 1512:34@
 setRenderTargetSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3888,7 +3888,7 @@
 --                   The safe flavor is 'getRenderTargetSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetRenderTarget@, defined at @SDL3\/SDL_render.h 1528:43@
+--     [C declaration]: @SDL_GetRenderTarget@, defined at @SDL3\/SDL_render.h 1529:43@
 getRenderTarget
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3915,7 +3915,7 @@
 --                   The unsafe flavor is 'getRenderTarget'
 --                   .
 --
---     [C declaration]: @SDL_GetRenderTarget@, defined at @SDL3\/SDL_render.h 1528:43@
+--     [C declaration]: @SDL_GetRenderTarget@, defined at @SDL3\/SDL_render.h 1529:43@
 getRenderTargetSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -3953,7 +3953,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetRenderLogicalPresentation@, defined at @SDL3\/SDL_render.h 1575:34@
+--     [C declaration]: @SDL_SetRenderLogicalPresentation@, defined at @SDL3\/SDL_render.h 1576:34@
 setRenderLogicalPresentation
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4010,7 +4010,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetRenderLogicalPresentation@, defined at @SDL3\/SDL_render.h 1575:34@
+--     [C declaration]: @SDL_SetRenderLogicalPresentation@, defined at @SDL3\/SDL_render.h 1576:34@
 setRenderLogicalPresentationSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4061,7 +4061,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderLogicalPresentation@, defined at @SDL3\/SDL_render.h 1600:34@
+--     [C declaration]: @SDL_GetRenderLogicalPresentation@, defined at @SDL3\/SDL_render.h 1601:34@
 getRenderLogicalPresentation
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4110,7 +4110,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderLogicalPresentation@, defined at @SDL3\/SDL_render.h 1600:34@
+--     [C declaration]: @SDL_GetRenderLogicalPresentation@, defined at @SDL3\/SDL_render.h 1601:34@
 getRenderLogicalPresentationSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4159,7 +4159,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderLogicalPresentationRect@, defined at @SDL3\/SDL_render.h 1625:34@
+--     [C declaration]: @SDL_GetRenderLogicalPresentationRect@, defined at @SDL3\/SDL_render.h 1626:34@
 getRenderLogicalPresentationRect
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4198,7 +4198,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderLogicalPresentationRect@, defined at @SDL3\/SDL_render.h 1625:34@
+--     [C declaration]: @SDL_GetRenderLogicalPresentationRect@, defined at @SDL3\/SDL_render.h 1626:34@
 getRenderLogicalPresentationRectSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4243,7 +4243,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderCoordinatesFromWindow@, defined at @SDL3\/SDL_render.h 1652:34@
+--     [C declaration]: @SDL_RenderCoordinatesFromWindow@, defined at @SDL3\/SDL_render.h 1653:34@
 renderCoordinatesFromWindow
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4305,7 +4305,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderCoordinatesFromWindow@, defined at @SDL3\/SDL_render.h 1652:34@
+--     [C declaration]: @SDL_RenderCoordinatesFromWindow@, defined at @SDL3\/SDL_render.h 1653:34@
 renderCoordinatesFromWindowSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4367,7 +4367,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderCoordinatesToWindow@, defined at @SDL3\/SDL_render.h 1682:34@
+--     [C declaration]: @SDL_RenderCoordinatesToWindow@, defined at @SDL3\/SDL_render.h 1683:34@
 renderCoordinatesToWindow
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4429,7 +4429,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderCoordinatesToWindow@, defined at @SDL3\/SDL_render.h 1682:34@
+--     [C declaration]: @SDL_RenderCoordinatesToWindow@, defined at @SDL3\/SDL_render.h 1683:34@
 renderCoordinatesToWindowSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4499,7 +4499,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ConvertEventToRenderCoordinates@, defined at @SDL3\/SDL_render.h 1718:34@
+--     [C declaration]: @SDL_ConvertEventToRenderCoordinates@, defined at @SDL3\/SDL_render.h 1719:34@
 convertEventToRenderCoordinates
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4552,7 +4552,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ConvertEventToRenderCoordinates@, defined at @SDL3\/SDL_render.h 1718:34@
+--     [C declaration]: @SDL_ConvertEventToRenderCoordinates@, defined at @SDL3\/SDL_render.h 1719:34@
 convertEventToRenderCoordinatesSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4593,7 +4593,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetRenderViewport@, defined at @SDL3\/SDL_render.h 1745:34@
+--     [C declaration]: @SDL_SetRenderViewport@, defined at @SDL3\/SDL_render.h 1746:34@
 setRenderViewport
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4634,7 +4634,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetRenderViewport@, defined at @SDL3\/SDL_render.h 1745:34@
+--     [C declaration]: @SDL_SetRenderViewport@, defined at @SDL3\/SDL_render.h 1746:34@
 setRenderViewportSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4671,7 +4671,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderViewport@, defined at @SDL3\/SDL_render.h 1765:34@
+--     [C declaration]: @SDL_GetRenderViewport@, defined at @SDL3\/SDL_render.h 1766:34@
 getRenderViewport
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4708,7 +4708,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderViewport@, defined at @SDL3\/SDL_render.h 1765:34@
+--     [C declaration]: @SDL_GetRenderViewport@, defined at @SDL3\/SDL_render.h 1766:34@
 getRenderViewportSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4747,7 +4747,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderViewportSet@, defined at @SDL3\/SDL_render.h 1787:34@
+--     [C declaration]: @SDL_RenderViewportSet@, defined at @SDL3\/SDL_render.h 1788:34@
 renderViewportSet
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4781,7 +4781,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderViewportSet@, defined at @SDL3\/SDL_render.h 1787:34@
+--     [C declaration]: @SDL_RenderViewportSet@, defined at @SDL3\/SDL_render.h 1788:34@
 renderViewportSetSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4811,7 +4811,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderSafeArea@, defined at @SDL3\/SDL_render.h 1809:34@
+--     [C declaration]: @SDL_GetRenderSafeArea@, defined at @SDL3\/SDL_render.h 1810:34@
 getRenderSafeArea
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4846,7 +4846,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderSafeArea@, defined at @SDL3\/SDL_render.h 1809:34@
+--     [C declaration]: @SDL_GetRenderSafeArea@, defined at @SDL3\/SDL_render.h 1810:34@
 getRenderSafeAreaSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4883,7 +4883,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetRenderClipRect@, defined at @SDL3\/SDL_render.h 1830:34@
+--     [C declaration]: @SDL_SetRenderClipRect@, defined at @SDL3\/SDL_render.h 1831:34@
 setRenderClipRect
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4920,7 +4920,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetRenderClipRect@, defined at @SDL3\/SDL_render.h 1830:34@
+--     [C declaration]: @SDL_SetRenderClipRect@, defined at @SDL3\/SDL_render.h 1831:34@
 setRenderClipRectSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4957,7 +4957,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderClipRect@, defined at @SDL3\/SDL_render.h 1851:34@
+--     [C declaration]: @SDL_GetRenderClipRect@, defined at @SDL3\/SDL_render.h 1852:34@
 getRenderClipRect
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -4994,7 +4994,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderClipRect@, defined at @SDL3\/SDL_render.h 1851:34@
+--     [C declaration]: @SDL_GetRenderClipRect@, defined at @SDL3\/SDL_render.h 1852:34@
 getRenderClipRectSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5031,7 +5031,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderClipEnabled@, defined at @SDL3\/SDL_render.h 1870:34@
+--     [C declaration]: @SDL_RenderClipEnabled@, defined at @SDL3\/SDL_render.h 1871:34@
 renderClipEnabled
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5063,7 +5063,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderClipEnabled@, defined at @SDL3\/SDL_render.h 1870:34@
+--     [C declaration]: @SDL_RenderClipEnabled@, defined at @SDL3\/SDL_render.h 1871:34@
 renderClipEnabledSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5099,7 +5099,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetRenderScale@, defined at @SDL3\/SDL_render.h 1898:34@
+--     [C declaration]: @SDL_SetRenderScale@, defined at @SDL3\/SDL_render.h 1899:34@
 setRenderScale
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5145,7 +5145,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetRenderScale@, defined at @SDL3\/SDL_render.h 1898:34@
+--     [C declaration]: @SDL_SetRenderScale@, defined at @SDL3\/SDL_render.h 1899:34@
 setRenderScaleSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5187,7 +5187,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderScale@, defined at @SDL3\/SDL_render.h 1918:34@
+--     [C declaration]: @SDL_GetRenderScale@, defined at @SDL3\/SDL_render.h 1919:34@
 getRenderScale
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5229,7 +5229,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderScale@, defined at @SDL3\/SDL_render.h 1918:34@
+--     [C declaration]: @SDL_GetRenderScale@, defined at @SDL3\/SDL_render.h 1919:34@
 getRenderScaleSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5271,7 +5271,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetRenderDrawColor@, defined at @SDL3\/SDL_render.h 1943:34@
+--     [C declaration]: @SDL_SetRenderDrawColor@, defined at @SDL3\/SDL_render.h 1944:34@
 setRenderDrawColor
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5331,7 +5331,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetRenderDrawColor@, defined at @SDL3\/SDL_render.h 1943:34@
+--     [C declaration]: @SDL_SetRenderDrawColor@, defined at @SDL3\/SDL_render.h 1944:34@
 setRenderDrawColorSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5391,7 +5391,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetRenderDrawColorFloat@, defined at @SDL3\/SDL_render.h 1968:34@
+--     [C declaration]: @SDL_SetRenderDrawColorFloat@, defined at @SDL3\/SDL_render.h 1969:34@
 setRenderDrawColorFloat
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5451,7 +5451,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetRenderDrawColorFloat@, defined at @SDL3\/SDL_render.h 1968:34@
+--     [C declaration]: @SDL_SetRenderDrawColorFloat@, defined at @SDL3\/SDL_render.h 1969:34@
 setRenderDrawColorFloatSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5509,7 +5509,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderDrawColor@, defined at @SDL3\/SDL_render.h 1992:34@
+--     [C declaration]: @SDL_GetRenderDrawColor@, defined at @SDL3\/SDL_render.h 1993:34@
 getRenderDrawColor
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5559,7 +5559,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderDrawColor@, defined at @SDL3\/SDL_render.h 1992:34@
+--     [C declaration]: @SDL_GetRenderDrawColor@, defined at @SDL3\/SDL_render.h 1993:34@
 getRenderDrawColorSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5609,7 +5609,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderDrawColorFloat@, defined at @SDL3\/SDL_render.h 2016:34@
+--     [C declaration]: @SDL_GetRenderDrawColorFloat@, defined at @SDL3\/SDL_render.h 2017:34@
 getRenderDrawColorFloat
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5659,7 +5659,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderDrawColorFloat@, defined at @SDL3\/SDL_render.h 2016:34@
+--     [C declaration]: @SDL_GetRenderDrawColorFloat@, defined at @SDL3\/SDL_render.h 2017:34@
 getRenderDrawColorFloatSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5713,7 +5713,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetRenderColorScale@, defined at @SDL3\/SDL_render.h 2040:34@
+--     [C declaration]: @SDL_SetRenderColorScale@, defined at @SDL3\/SDL_render.h 2041:34@
 setRenderColorScale
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5752,7 +5752,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetRenderColorScale@, defined at @SDL3\/SDL_render.h 2040:34@
+--     [C declaration]: @SDL_SetRenderColorScale@, defined at @SDL3\/SDL_render.h 2041:34@
 setRenderColorScaleSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5787,7 +5787,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderColorScale@, defined at @SDL3\/SDL_render.h 2056:34@
+--     [C declaration]: @SDL_GetRenderColorScale@, defined at @SDL3\/SDL_render.h 2057:34@
 getRenderColorScale
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5822,7 +5822,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderColorScale@, defined at @SDL3\/SDL_render.h 2056:34@
+--     [C declaration]: @SDL_GetRenderColorScale@, defined at @SDL3\/SDL_render.h 2057:34@
 getRenderColorScaleSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5838,8 +5838,10 @@
     \x11 ->
       fmap CBool.toBool (Safe.sDL_GetRenderColorScale x00 x11)
 
--- | Set the blend mode used for drawing operations (Fill and Line).
+-- | Set the blend mode used for drawing operations.
 --
+--     This blend mode is used for any drawing that doesn\'t involve textures.
+--
 --     If the blend mode is not supported, the closest supported mode is chosen.
 --
 --     [Returns]: true on success or false on failure; call 'SDL3.Sys.Error.getError' for more information.
@@ -5848,7 +5850,7 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'getRenderDrawBlendMode'
+--     [See also]: 'getRenderDrawBlendMode', 'setTextureBlendMode'
 --
 --     === __@sdl3-bindgen-sys@ notes__
 --
@@ -5859,7 +5861,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetRenderDrawBlendMode@, defined at @SDL3\/SDL_render.h 2074:34@
+--     [C declaration]: @SDL_SetRenderDrawBlendMode@, defined at @SDL3\/SDL_render.h 2078:34@
 setRenderDrawBlendMode
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5875,8 +5877,10 @@
     \x11 ->
       fmap CBool.toBool (Unsafe.sDL_SetRenderDrawBlendMode x00 x11)
 
--- | Set the blend mode used for drawing operations (Fill and Line).
+-- | Set the blend mode used for drawing operations.
 --
+--     This blend mode is used for any drawing that doesn\'t involve textures.
+--
 --     If the blend mode is not supported, the closest supported mode is chosen.
 --
 --     [Returns]: true on success or false on failure; call 'SDL3.Sys.Error.getError' for more information.
@@ -5885,7 +5889,7 @@
 --
 --     @since 3.2.0
 --
---     [See also]: 'getRenderDrawBlendMode'
+--     [See also]: 'getRenderDrawBlendMode', 'setTextureBlendMode'
 --
 --     === __@sdl3-bindgen-sys@ notes__
 --
@@ -5896,7 +5900,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetRenderDrawBlendMode@, defined at @SDL3\/SDL_render.h 2074:34@
+--     [C declaration]: @SDL_SetRenderDrawBlendMode@, defined at @SDL3\/SDL_render.h 2078:34@
 setRenderDrawBlendModeSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5931,7 +5935,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderDrawBlendMode@, defined at @SDL3\/SDL_render.h 2090:34@
+--     [C declaration]: @SDL_GetRenderDrawBlendMode@, defined at @SDL3\/SDL_render.h 2094:34@
 getRenderDrawBlendMode
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -5966,7 +5970,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderDrawBlendMode@, defined at @SDL3\/SDL_render.h 2090:34@
+--     [C declaration]: @SDL_GetRenderDrawBlendMode@, defined at @SDL3\/SDL_render.h 2094:34@
 getRenderDrawBlendModeSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6003,7 +6007,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderClear@, defined at @SDL3\/SDL_render.h 2110:34@
+--     [C declaration]: @SDL_RenderClear@, defined at @SDL3\/SDL_render.h 2114:34@
 renderClear
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6035,7 +6039,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderClear@, defined at @SDL3\/SDL_render.h 2110:34@
+--     [C declaration]: @SDL_RenderClear@, defined at @SDL3\/SDL_render.h 2114:34@
 renderClearSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6064,7 +6068,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderPoint@, defined at @SDL3\/SDL_render.h 2127:34@
+--     [C declaration]: @SDL_RenderPoint@, defined at @SDL3\/SDL_render.h 2131:34@
 renderPoint
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6104,7 +6108,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderPoint@, defined at @SDL3\/SDL_render.h 2127:34@
+--     [C declaration]: @SDL_RenderPoint@, defined at @SDL3\/SDL_render.h 2131:34@
 renderPointSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6144,7 +6148,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderPoints@, defined at @SDL3\/SDL_render.h 2144:34@
+--     [C declaration]: @SDL_RenderPoints@, defined at @SDL3\/SDL_render.h 2148:34@
 renderPoints
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6184,7 +6188,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderPoints@, defined at @SDL3\/SDL_render.h 2144:34@
+--     [C declaration]: @SDL_RenderPoints@, defined at @SDL3\/SDL_render.h 2148:34@
 renderPointsSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6224,7 +6228,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderLine@, defined at @SDL3\/SDL_render.h 2163:34@
+--     [C declaration]: @SDL_RenderLine@, defined at @SDL3\/SDL_render.h 2167:34@
 renderLine
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6282,7 +6286,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderLine@, defined at @SDL3\/SDL_render.h 2163:34@
+--     [C declaration]: @SDL_RenderLine@, defined at @SDL3\/SDL_render.h 2167:34@
 renderLineSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6340,7 +6344,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderLines@, defined at @SDL3\/SDL_render.h 2181:34@
+--     [C declaration]: @SDL_RenderLines@, defined at @SDL3\/SDL_render.h 2185:34@
 renderLines
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6380,7 +6384,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderLines@, defined at @SDL3\/SDL_render.h 2181:34@
+--     [C declaration]: @SDL_RenderLines@, defined at @SDL3\/SDL_render.h 2185:34@
 renderLinesSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6420,7 +6424,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderRect@, defined at @SDL3\/SDL_render.h 2198:34@
+--     [C declaration]: @SDL_RenderRect@, defined at @SDL3\/SDL_render.h 2202:34@
 renderRect
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6455,7 +6459,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderRect@, defined at @SDL3\/SDL_render.h 2198:34@
+--     [C declaration]: @SDL_RenderRect@, defined at @SDL3\/SDL_render.h 2202:34@
 renderRectSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6490,7 +6494,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderRects@, defined at @SDL3\/SDL_render.h 2216:34@
+--     [C declaration]: @SDL_RenderRects@, defined at @SDL3\/SDL_render.h 2220:34@
 renderRects
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6530,7 +6534,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderRects@, defined at @SDL3\/SDL_render.h 2216:34@
+--     [C declaration]: @SDL_RenderRects@, defined at @SDL3\/SDL_render.h 2220:34@
 renderRectsSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6570,7 +6574,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderFillRect@, defined at @SDL3\/SDL_render.h 2234:34@
+--     [C declaration]: @SDL_RenderFillRect@, defined at @SDL3\/SDL_render.h 2238:34@
 renderFillRect
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6605,7 +6609,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderFillRect@, defined at @SDL3\/SDL_render.h 2234:34@
+--     [C declaration]: @SDL_RenderFillRect@, defined at @SDL3\/SDL_render.h 2238:34@
 renderFillRectSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6640,7 +6644,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderFillRects@, defined at @SDL3\/SDL_render.h 2252:34@
+--     [C declaration]: @SDL_RenderFillRects@, defined at @SDL3\/SDL_render.h 2256:34@
 renderFillRects
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6680,7 +6684,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderFillRects@, defined at @SDL3\/SDL_render.h 2252:34@
+--     [C declaration]: @SDL_RenderFillRects@, defined at @SDL3\/SDL_render.h 2256:34@
 renderFillRectsSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6720,7 +6724,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderTexture@, defined at @SDL3\/SDL_render.h 2274:34@
+--     [C declaration]: @SDL_RenderTexture@, defined at @SDL3\/SDL_render.h 2278:34@
 renderTexture
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6765,7 +6769,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderTexture@, defined at @SDL3\/SDL_render.h 2274:34@
+--     [C declaration]: @SDL_RenderTexture@, defined at @SDL3\/SDL_render.h 2278:34@
 renderTextureSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6810,7 +6814,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderTextureRotated@, defined at @SDL3\/SDL_render.h 2302:34@
+--     [C declaration]: @SDL_RenderTextureRotated@, defined at @SDL3\/SDL_render.h 2306:34@
 renderTextureRotated
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6870,7 +6874,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderTextureRotated@, defined at @SDL3\/SDL_render.h 2302:34@
+--     [C declaration]: @SDL_RenderTextureRotated@, defined at @SDL3\/SDL_render.h 2306:34@
 renderTextureRotatedSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6930,7 +6934,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderTextureAffine@, defined at @SDL3\/SDL_render.h 2333:34@
+--     [C declaration]: @SDL_RenderTextureAffine@, defined at @SDL3\/SDL_render.h 2337:34@
 renderTextureAffine
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -6985,7 +6989,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderTextureAffine@, defined at @SDL3\/SDL_render.h 2333:34@
+--     [C declaration]: @SDL_RenderTextureAffine@, defined at @SDL3\/SDL_render.h 2337:34@
 renderTextureAffineSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -7042,7 +7046,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderTextureTiled@, defined at @SDL3\/SDL_render.h 2362:34@
+--     [C declaration]: @SDL_RenderTextureTiled@, defined at @SDL3\/SDL_render.h 2366:34@
 renderTextureTiled
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -7094,7 +7098,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderTextureTiled@, defined at @SDL3\/SDL_render.h 2362:34@
+--     [C declaration]: @SDL_RenderTextureTiled@, defined at @SDL3\/SDL_render.h 2366:34@
 renderTextureTiledSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -7146,7 +7150,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderTexture9Grid@, defined at @SDL3\/SDL_render.h 2397:34@
+--     [C declaration]: @SDL_RenderTexture9Grid@, defined at @SDL3\/SDL_render.h 2401:34@
 renderTexture9Grid
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -7230,7 +7234,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderTexture9Grid@, defined at @SDL3\/SDL_render.h 2397:34@
+--     [C declaration]: @SDL_RenderTexture9Grid@, defined at @SDL3\/SDL_render.h 2401:34@
 renderTexture9GridSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -7314,7 +7318,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderTexture9GridTiled@, defined at @SDL3\/SDL_render.h 2435:34@
+--     [C declaration]: @SDL_RenderTexture9GridTiled@, defined at @SDL3\/SDL_render.h 2439:34@
 renderTexture9GridTiled
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -7404,7 +7408,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderTexture9GridTiled@, defined at @SDL3\/SDL_render.h 2435:34@
+--     [C declaration]: @SDL_RenderTexture9GridTiled@, defined at @SDL3\/SDL_render.h 2439:34@
 renderTexture9GridTiledSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -7492,7 +7496,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderGeometry@, defined at @SDL3\/SDL_render.h 2460:34@
+--     [C declaration]: @SDL_RenderGeometry@, defined at @SDL3\/SDL_render.h 2464:34@
 renderGeometry
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -7549,7 +7553,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderGeometry@, defined at @SDL3\/SDL_render.h 2460:34@
+--     [C declaration]: @SDL_RenderGeometry@, defined at @SDL3\/SDL_render.h 2464:34@
 renderGeometrySafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -7604,7 +7608,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderGeometryRaw@, defined at @SDL3\/SDL_render.h 2493:34@
+--     [C declaration]: @SDL_RenderGeometryRaw@, defined at @SDL3\/SDL_render.h 2497:34@
 renderGeometryRaw
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -7704,7 +7708,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderGeometryRaw@, defined at @SDL3\/SDL_render.h 2493:34@
+--     [C declaration]: @SDL_RenderGeometryRaw@, defined at @SDL3\/SDL_render.h 2497:34@
 renderGeometryRawSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -7804,7 +7808,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetRenderTextureAddressMode@, defined at @SDL3\/SDL_render.h 2520:34@
+--     [C declaration]: @SDL_SetRenderTextureAddressMode@, defined at @SDL3\/SDL_render.h 2524:34@
 setRenderTextureAddressMode
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -7844,7 +7848,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetRenderTextureAddressMode@, defined at @SDL3\/SDL_render.h 2520:34@
+--     [C declaration]: @SDL_SetRenderTextureAddressMode@, defined at @SDL3\/SDL_render.h 2524:34@
 setRenderTextureAddressModeSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -7884,7 +7888,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderTextureAddressMode@, defined at @SDL3\/SDL_render.h 2541:34@
+--     [C declaration]: @SDL_GetRenderTextureAddressMode@, defined at @SDL3\/SDL_render.h 2545:34@
 getRenderTextureAddressMode
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -7924,7 +7928,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderTextureAddressMode@, defined at @SDL3\/SDL_render.h 2541:34@
+--     [C declaration]: @SDL_GetRenderTextureAddressMode@, defined at @SDL3\/SDL_render.h 2545:34@
 getRenderTextureAddressModeSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -7965,7 +7969,7 @@
 --                   The safe flavor is 'renderReadPixelsSafe'
 --                   : full GPU sync plus readback; a very slow operation.
 --
---     [C declaration]: @SDL_RenderReadPixels@, defined at @SDL3\/SDL_render.h 2568:43@
+--     [C declaration]: @SDL_RenderReadPixels@, defined at @SDL3\/SDL_render.h 2572:43@
 renderReadPixels
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -7998,7 +8002,7 @@
 --                   The unsafe flavor is 'renderReadPixels'
 --                   : full GPU sync plus readback; a very slow operation.
 --
---     [C declaration]: @SDL_RenderReadPixels@, defined at @SDL3\/SDL_render.h 2568:43@
+--     [C declaration]: @SDL_RenderReadPixels@, defined at @SDL3\/SDL_render.h 2572:43@
 renderReadPixelsSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8038,7 +8042,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderPresent@, defined at @SDL3\/SDL_render.h 2617:34@
+--     [C declaration]: @SDL_RenderPresent@, defined at @SDL3\/SDL_render.h 2621:34@
 renderPresent
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8076,7 +8080,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderPresent@, defined at @SDL3\/SDL_render.h 2617:34@
+--     [C declaration]: @SDL_RenderPresent@, defined at @SDL3\/SDL_render.h 2621:34@
 renderPresentSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8103,7 +8107,7 @@
 --                   The safe flavor is 'destroyTextureSafe'
 --                   .
 --
---     [C declaration]: @SDL_DestroyTexture@, defined at @SDL3\/SDL_render.h 2634:34@
+--     [C declaration]: @SDL_DestroyTexture@, defined at @SDL3\/SDL_render.h 2638:34@
 destroyTexture
   :: BG.Ptr SDL_Texture
   -- ^
@@ -8128,7 +8132,7 @@
 --                   The unsafe flavor is 'destroyTexture'
 --                   .
 --
---     [C declaration]: @SDL_DestroyTexture@, defined at @SDL3\/SDL_render.h 2634:34@
+--     [C declaration]: @SDL_DestroyTexture@, defined at @SDL3\/SDL_render.h 2638:34@
 destroyTextureSafe
   :: BG.Ptr SDL_Texture
   -- ^
@@ -8153,7 +8157,7 @@
 --                   The safe flavor is 'destroyRendererSafe'
 --                   .
 --
---     [C declaration]: @SDL_DestroyRenderer@, defined at @SDL3\/SDL_render.h 2650:34@
+--     [C declaration]: @SDL_DestroyRenderer@, defined at @SDL3\/SDL_render.h 2654:34@
 destroyRenderer
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8178,7 +8182,7 @@
 --                   The unsafe flavor is 'destroyRenderer'
 --                   .
 --
---     [C declaration]: @SDL_DestroyRenderer@, defined at @SDL3\/SDL_render.h 2650:34@
+--     [C declaration]: @SDL_DestroyRenderer@, defined at @SDL3\/SDL_render.h 2654:34@
 destroyRendererSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8214,7 +8218,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_FlushRenderer@, defined at @SDL3\/SDL_render.h 2683:34@
+--     [C declaration]: @SDL_FlushRenderer@, defined at @SDL3\/SDL_render.h 2687:34@
 flushRenderer
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8252,7 +8256,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_FlushRenderer@, defined at @SDL3\/SDL_render.h 2683:34@
+--     [C declaration]: @SDL_FlushRenderer@, defined at @SDL3\/SDL_render.h 2687:34@
 flushRendererSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8281,7 +8285,7 @@
 --                   The safe flavor is 'getRenderMetalLayerSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetRenderMetalLayer@, defined at @SDL3\/SDL_render.h 2701:36@
+--     [C declaration]: @SDL_GetRenderMetalLayer@, defined at @SDL3\/SDL_render.h 2705:36@
 getRenderMetalLayer
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8308,7 +8312,7 @@
 --                   The unsafe flavor is 'getRenderMetalLayer'
 --                   .
 --
---     [C declaration]: @SDL_GetRenderMetalLayer@, defined at @SDL3\/SDL_render.h 2701:36@
+--     [C declaration]: @SDL_GetRenderMetalLayer@, defined at @SDL3\/SDL_render.h 2705:36@
 getRenderMetalLayerSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8338,7 +8342,7 @@
 --                   The safe flavor is 'getRenderMetalCommandEncoderSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetRenderMetalCommandEncoder@, defined at @SDL3\/SDL_render.h 2724:36@
+--     [C declaration]: @SDL_GetRenderMetalCommandEncoder@, defined at @SDL3\/SDL_render.h 2728:36@
 getRenderMetalCommandEncoder
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8368,7 +8372,7 @@
 --                   The unsafe flavor is 'getRenderMetalCommandEncoder'
 --                   .
 --
---     [C declaration]: @SDL_GetRenderMetalCommandEncoder@, defined at @SDL3\/SDL_render.h 2724:36@
+--     [C declaration]: @SDL_GetRenderMetalCommandEncoder@, defined at @SDL3\/SDL_render.h 2728:36@
 getRenderMetalCommandEncoderSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8399,7 +8403,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_AddVulkanRenderSemaphores@, defined at @SDL3\/SDL_render.h 2755:34@
+--     [C declaration]: @SDL_AddVulkanRenderSemaphores@, defined at @SDL3\/SDL_render.h 2759:34@
 addVulkanRenderSemaphores
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8448,7 +8452,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_AddVulkanRenderSemaphores@, defined at @SDL3\/SDL_render.h 2755:34@
+--     [C declaration]: @SDL_AddVulkanRenderSemaphores@, defined at @SDL3\/SDL_render.h 2759:34@
 addVulkanRenderSemaphoresSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8499,7 +8503,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetRenderVSync@, defined at @SDL3\/SDL_render.h 2780:34@
+--     [C declaration]: @SDL_SetRenderVSync@, defined at @SDL3\/SDL_render.h 2784:34@
 setRenderVSync
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8538,7 +8542,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetRenderVSync@, defined at @SDL3\/SDL_render.h 2780:34@
+--     [C declaration]: @SDL_SetRenderVSync@, defined at @SDL3\/SDL_render.h 2784:34@
 setRenderVSyncSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8573,7 +8577,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderVSync@, defined at @SDL3\/SDL_render.h 2800:34@
+--     [C declaration]: @SDL_GetRenderVSync@, defined at @SDL3\/SDL_render.h 2804:34@
 getRenderVSync
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8608,7 +8612,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetRenderVSync@, defined at @SDL3\/SDL_render.h 2800:34@
+--     [C declaration]: @SDL_GetRenderVSync@, defined at @SDL3\/SDL_render.h 2804:34@
 getRenderVSyncSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8661,7 +8665,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderDebugText@, defined at @SDL3\/SDL_render.h 2852:34@
+--     [C declaration]: @SDL_RenderDebugText@, defined at @SDL3\/SDL_render.h 2856:34@
 renderDebugText
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8724,7 +8728,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_RenderDebugText@, defined at @SDL3\/SDL_render.h 2852:34@
+--     [C declaration]: @SDL_RenderDebugText@, defined at @SDL3\/SDL_render.h 2856:34@
 renderDebugTextSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8771,7 +8775,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetDefaultTextureScaleMode@, defined at @SDL3\/SDL_render.h 2898:34@
+--     [C declaration]: @SDL_SetDefaultTextureScaleMode@, defined at @SDL3\/SDL_render.h 2902:34@
 setDefaultTextureScaleMode
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8808,7 +8812,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetDefaultTextureScaleMode@, defined at @SDL3\/SDL_render.h 2898:34@
+--     [C declaration]: @SDL_SetDefaultTextureScaleMode@, defined at @SDL3\/SDL_render.h 2902:34@
 setDefaultTextureScaleModeSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8843,7 +8847,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetDefaultTextureScaleMode@, defined at @SDL3\/SDL_render.h 2916:34@
+--     [C declaration]: @SDL_GetDefaultTextureScaleMode@, defined at @SDL3\/SDL_render.h 2920:34@
 getDefaultTextureScaleMode
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8878,7 +8882,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetDefaultTextureScaleMode@, defined at @SDL3\/SDL_render.h 2916:34@
+--     [C declaration]: @SDL_GetDefaultTextureScaleMode@, defined at @SDL3\/SDL_render.h 2920:34@
 getDefaultTextureScaleModeSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8910,7 +8914,7 @@
 --                   The safe flavor is 'createGPURenderStateSafe'
 --                   .
 --
---     [C declaration]: @SDL_CreateGPURenderState@, defined at @SDL3\/SDL_render.h 2970:50@
+--     [C declaration]: @SDL_CreateGPURenderState@, defined at @SDL3\/SDL_render.h 2974:50@
 createGPURenderState
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8940,7 +8944,7 @@
 --                   The unsafe flavor is 'createGPURenderState'
 --                   .
 --
---     [C declaration]: @SDL_CreateGPURenderState@, defined at @SDL3\/SDL_render.h 2970:50@
+--     [C declaration]: @SDL_CreateGPURenderState@, defined at @SDL3\/SDL_render.h 2974:50@
 createGPURenderStateSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -8973,7 +8977,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetGPURenderStateFragmentUniforms@, defined at @SDL3\/SDL_render.h 2990:34@
+--     [C declaration]: @SDL_SetGPURenderStateFragmentUniforms@, defined at @SDL3\/SDL_render.h 2994:34@
 setGPURenderStateFragmentUniforms
   :: BG.Ptr SDL_GPURenderState
   -- ^
@@ -9020,7 +9024,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetGPURenderStateFragmentUniforms@, defined at @SDL3\/SDL_render.h 2990:34@
+--     [C declaration]: @SDL_SetGPURenderStateFragmentUniforms@, defined at @SDL3\/SDL_render.h 2994:34@
 setGPURenderStateFragmentUniformsSafe
   :: BG.Ptr SDL_GPURenderState
   -- ^
@@ -9067,7 +9071,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetGPURenderState@, defined at @SDL3\/SDL_render.h 3008:34@
+--     [C declaration]: @SDL_SetGPURenderState@, defined at @SDL3\/SDL_render.h 3012:34@
 setGPURenderState
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -9102,7 +9106,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetGPURenderState@, defined at @SDL3\/SDL_render.h 3008:34@
+--     [C declaration]: @SDL_SetGPURenderState@, defined at @SDL3\/SDL_render.h 3012:34@
 setGPURenderStateSafe
   :: BG.Ptr SDL_Renderer
   -- ^
@@ -9132,7 +9136,7 @@
 --                   The safe flavor is 'destroyGPURenderStateSafe'
 --                   .
 --
---     [C declaration]: @SDL_DestroyGPURenderState@, defined at @SDL3\/SDL_render.h 3022:34@
+--     [C declaration]: @SDL_DestroyGPURenderState@, defined at @SDL3\/SDL_render.h 3026:34@
 destroyGPURenderState
   :: BG.Ptr SDL_GPURenderState
   -- ^
@@ -9156,7 +9160,7 @@
 --                   The unsafe flavor is 'destroyGPURenderState'
 --                   .
 --
---     [C declaration]: @SDL_DestroyGPURenderState@, defined at @SDL3\/SDL_render.h 3022:34@
+--     [C declaration]: @SDL_DestroyGPURenderState@, defined at @SDL3\/SDL_render.h 3026:34@
 destroyGPURenderStateSafe
   :: BG.Ptr SDL_GPURenderState
   -- ^
diff --git a/src/SDL3/Sys/Stdinc.hs b/src/SDL3/Sys/Stdinc.hs
--- a/src/SDL3/Sys/Stdinc.hs
+++ b/src/SDL3/Sys/Stdinc.hs
@@ -239,7 +239,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_malloc@, defined at @SDL3\/SDL_stdinc.h 1341:47@
+--     [C declaration]: @SDL_malloc@, defined at @SDL3\/SDL_stdinc.h 1342:47@
 malloc
   :: BG.Word64
   -- ^
@@ -274,7 +274,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_malloc@, defined at @SDL3\/SDL_stdinc.h 1341:47@
+--     [C declaration]: @SDL_malloc@, defined at @SDL3\/SDL_stdinc.h 1342:47@
 mallocSafe
   :: BG.Word64
   -- ^
@@ -295,7 +295,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_calloc@, defined at @SDL3\/SDL_stdinc.h 1366:69@
+--     [C declaration]: @SDL_calloc@, defined at @SDL3\/SDL_stdinc.h 1367:69@
 calloc
   :: BG.Word64
   -- ^ [C declaration]: @nmemb@
@@ -318,7 +318,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_calloc@, defined at @SDL3\/SDL_stdinc.h 1366:69@
+--     [C declaration]: @SDL_calloc@, defined at @SDL3\/SDL_stdinc.h 1367:69@
 callocSafe
   :: BG.Word64
   -- ^ [C declaration]: @nmemb@
@@ -341,7 +341,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_realloc@, defined at @SDL3\/SDL_stdinc.h 1406:54@
+--     [C declaration]: @SDL_realloc@, defined at @SDL3\/SDL_stdinc.h 1407:54@
 realloc
   :: BG.Ptr BG.Void
   -- ^ [C declaration]: @mem@
@@ -363,7 +363,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_realloc@, defined at @SDL3\/SDL_stdinc.h 1406:54@
+--     [C declaration]: @SDL_realloc@, defined at @SDL3\/SDL_stdinc.h 1407:54@
 reallocSafe
   :: BG.Ptr BG.Void
   -- ^ [C declaration]: @mem@
@@ -392,7 +392,7 @@
 --                   The safe flavor is 'freeSafe'
 --                   .
 --
---     [C declaration]: @SDL_free@, defined at @SDL3\/SDL_stdinc.h 1426:34@
+--     [C declaration]: @SDL_free@, defined at @SDL3\/SDL_stdinc.h 1427:34@
 free
   :: BG.Ptr BG.Void
   -- ^
@@ -419,7 +419,7 @@
 --                   The unsafe flavor is 'free'
 --                   .
 --
---     [C declaration]: @SDL_free@, defined at @SDL3\/SDL_stdinc.h 1426:34@
+--     [C declaration]: @SDL_free@, defined at @SDL3\/SDL_stdinc.h 1427:34@
 freeSafe
   :: BG.Ptr BG.Void
   -- ^
@@ -442,7 +442,7 @@
 --                   The safe flavor is 'getOriginalMemoryFunctionsSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetOriginalMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1524:34@
+--     [C declaration]: @SDL_GetOriginalMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1525:34@
 getOriginalMemoryFunctions
   :: BG.Ptr SDL_malloc_func
   -- ^
@@ -478,7 +478,7 @@
 --                   The unsafe flavor is 'getOriginalMemoryFunctions'
 --                   .
 --
---     [C declaration]: @SDL_GetOriginalMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1524:34@
+--     [C declaration]: @SDL_GetOriginalMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1525:34@
 getOriginalMemoryFunctionsSafe
   :: BG.Ptr SDL_malloc_func
   -- ^
@@ -514,7 +514,7 @@
 --                   The safe flavor is 'getMemoryFunctionsSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1546:34@
+--     [C declaration]: @SDL_GetMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1547:34@
 getMemoryFunctions
   :: BG.Ptr SDL_malloc_func
   -- ^
@@ -549,7 +549,7 @@
 --                   The unsafe flavor is 'getMemoryFunctions'
 --                   .
 --
---     [C declaration]: @SDL_GetMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1546:34@
+--     [C declaration]: @SDL_GetMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1547:34@
 getMemoryFunctionsSafe
   :: BG.Ptr SDL_malloc_func
   -- ^
@@ -593,7 +593,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1577:34@
+--     [C declaration]: @SDL_SetMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1578:34@
 setMemoryFunctions
   :: SDL_malloc_func
   -- ^
@@ -642,7 +642,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1577:34@
+--     [C declaration]: @SDL_SetMemoryFunctions@, defined at @SDL3\/SDL_stdinc.h 1578:34@
 setMemoryFunctionsSafe
   :: SDL_malloc_func
   -- ^
@@ -693,7 +693,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_aligned_alloc@, defined at @SDL3\/SDL_stdinc.h 1604:47@
+--     [C declaration]: @SDL_aligned_alloc@, defined at @SDL3\/SDL_stdinc.h 1605:47@
 alignedAlloc
   :: BG.Word64
   -- ^
@@ -734,7 +734,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_aligned_alloc@, defined at @SDL3\/SDL_stdinc.h 1604:47@
+--     [C declaration]: @SDL_aligned_alloc@, defined at @SDL3\/SDL_stdinc.h 1605:47@
 alignedAllocSafe
   :: BG.Word64
   -- ^
@@ -768,7 +768,7 @@
 --                   The safe flavor is 'alignedFreeSafe'
 --                   .
 --
---     [C declaration]: @SDL_aligned_free@, defined at @SDL3\/SDL_stdinc.h 1622:34@
+--     [C declaration]: @SDL_aligned_free@, defined at @SDL3\/SDL_stdinc.h 1623:34@
 alignedFree
   :: BG.Ptr BG.Void
   -- ^
@@ -795,7 +795,7 @@
 --                   The unsafe flavor is 'alignedFree'
 --                   .
 --
---     [C declaration]: @SDL_aligned_free@, defined at @SDL3\/SDL_stdinc.h 1622:34@
+--     [C declaration]: @SDL_aligned_free@, defined at @SDL3\/SDL_stdinc.h 1623:34@
 alignedFreeSafe
   :: BG.Ptr BG.Void
   -- ^
@@ -821,7 +821,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetNumAllocations@, defined at @SDL3\/SDL_stdinc.h 1634:33@
+--     [C declaration]: @SDL_GetNumAllocations@, defined at @SDL3\/SDL_stdinc.h 1635:33@
 getNumAllocations :: IO BG.Int32
 getNumAllocations =
   fmap Coerce.coerce Unsafe.sDL_GetNumAllocations
@@ -843,7 +843,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_GetNumAllocations@, defined at @SDL3\/SDL_stdinc.h 1634:33@
+--     [C declaration]: @SDL_GetNumAllocations@, defined at @SDL3\/SDL_stdinc.h 1635:33@
 getNumAllocationsSafe :: IO BG.Int32
 getNumAllocationsSafe =
   fmap Coerce.coerce Safe.sDL_GetNumAllocations
@@ -866,7 +866,7 @@
 --                   The safe flavor is 'getEnvironmentSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetEnvironment@, defined at @SDL3\/SDL_stdinc.h 1672:47@
+--     [C declaration]: @SDL_GetEnvironment@, defined at @SDL3\/SDL_stdinc.h 1673:47@
 getEnvironment :: IO (BG.Ptr SDL_Environment)
 getEnvironment = Unsafe.sDL_GetEnvironment
 
@@ -888,7 +888,7 @@
 --                   The unsafe flavor is 'getEnvironment'
 --                   .
 --
---     [C declaration]: @SDL_GetEnvironment@, defined at @SDL3\/SDL_stdinc.h 1672:47@
+--     [C declaration]: @SDL_GetEnvironment@, defined at @SDL3\/SDL_stdinc.h 1673:47@
 getEnvironmentSafe :: IO (BG.Ptr SDL_Environment)
 getEnvironmentSafe = Safe.sDL_GetEnvironment
 
@@ -911,7 +911,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_CreateEnvironment@, defined at @SDL3\/SDL_stdinc.h 1694:47@
+--     [C declaration]: @SDL_CreateEnvironment@, defined at @SDL3\/SDL_stdinc.h 1695:47@
 createEnvironment
   :: Bool
   -- ^
@@ -941,7 +941,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_CreateEnvironment@, defined at @SDL3\/SDL_stdinc.h 1694:47@
+--     [C declaration]: @SDL_CreateEnvironment@, defined at @SDL3\/SDL_stdinc.h 1695:47@
 createEnvironmentSafe
   :: Bool
   -- ^
@@ -968,7 +968,7 @@
 --                   The safe flavor is 'getEnvironmentVariableSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1714:42@
+--     [C declaration]: @SDL_GetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1715:42@
 getEnvironmentVariable
   :: BG.Ptr SDL_Environment
   -- ^
@@ -998,7 +998,7 @@
 --                   The unsafe flavor is 'getEnvironmentVariable'
 --                   .
 --
---     [C declaration]: @SDL_GetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1714:42@
+--     [C declaration]: @SDL_GetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1715:42@
 getEnvironmentVariableSafe
   :: BG.Ptr SDL_Environment
   -- ^
@@ -1028,7 +1028,7 @@
 --                   The safe flavor is 'getEnvironmentVariablesSafe'
 --                   .
 --
---     [C declaration]: @SDL_GetEnvironmentVariables@, defined at @SDL3\/SDL_stdinc.h 1735:37@
+--     [C declaration]: @SDL_GetEnvironmentVariables@, defined at @SDL3\/SDL_stdinc.h 1736:37@
 getEnvironmentVariables
   :: BG.Ptr SDL_Environment
   -- ^
@@ -1054,7 +1054,7 @@
 --                   The unsafe flavor is 'getEnvironmentVariables'
 --                   .
 --
---     [C declaration]: @SDL_GetEnvironmentVariables@, defined at @SDL3\/SDL_stdinc.h 1735:37@
+--     [C declaration]: @SDL_GetEnvironmentVariables@, defined at @SDL3\/SDL_stdinc.h 1736:37@
 getEnvironmentVariablesSafe
   :: BG.Ptr SDL_Environment
   -- ^
@@ -1083,7 +1083,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1759:34@
+--     [C declaration]: @SDL_SetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1760:34@
 setEnvironmentVariable
   :: BG.Ptr SDL_Environment
   -- ^
@@ -1128,7 +1128,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_SetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1759:34@
+--     [C declaration]: @SDL_SetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1760:34@
 setEnvironmentVariableSafe
   :: BG.Ptr SDL_Environment
   -- ^
@@ -1173,7 +1173,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_UnsetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1780:34@
+--     [C declaration]: @SDL_UnsetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1781:34@
 unsetEnvironmentVariable
   :: BG.Ptr SDL_Environment
   -- ^
@@ -1208,7 +1208,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_UnsetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1780:34@
+--     [C declaration]: @SDL_UnsetEnvironmentVariable@, defined at @SDL3\/SDL_stdinc.h 1781:34@
 unsetEnvironmentVariableSafe
   :: BG.Ptr SDL_Environment
   -- ^
@@ -1238,7 +1238,7 @@
 --                   The safe flavor is 'destroyEnvironmentSafe'
 --                   .
 --
---     [C declaration]: @SDL_DestroyEnvironment@, defined at @SDL3\/SDL_stdinc.h 1794:34@
+--     [C declaration]: @SDL_DestroyEnvironment@, defined at @SDL3\/SDL_stdinc.h 1795:34@
 destroyEnvironment
   :: BG.Ptr SDL_Environment
   -- ^
@@ -1261,7 +1261,7 @@
 --                   The unsafe flavor is 'destroyEnvironment'
 --                   .
 --
---     [C declaration]: @SDL_DestroyEnvironment@, defined at @SDL3\/SDL_stdinc.h 1794:34@
+--     [C declaration]: @SDL_DestroyEnvironment@, defined at @SDL3\/SDL_stdinc.h 1795:34@
 destroyEnvironmentSafe
   :: BG.Ptr SDL_Environment
   -- ^
@@ -1272,6 +1272,8 @@
 
 -- | Get the value of a variable in the environment.
 --
+--     The name of the variable is case sensitive on all platforms.
+--
 --     This function uses SDL\'s cached copy of the environment and is thread-safe.
 --
 --     [Returns]: a pointer to the value of the variable or NULL if it can\'t be found.
@@ -1286,7 +1288,7 @@
 --                   The safe flavor is 'getenvSafe'
 --                   .
 --
---     [C declaration]: @SDL_getenv@, defined at @SDL3\/SDL_stdinc.h 1809:42@
+--     [C declaration]: @SDL_getenv@, defined at @SDL3\/SDL_stdinc.h 1812:42@
 getenv
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -1297,6 +1299,8 @@
 
 -- | Get the value of a variable in the environment.
 --
+--     The name of the variable is case sensitive on all platforms.
+--
 --     This function uses SDL\'s cached copy of the environment and is thread-safe.
 --
 --     [Returns]: a pointer to the value of the variable or NULL if it can\'t be found.
@@ -1311,7 +1315,7 @@
 --                   The unsafe flavor is 'getenv'
 --                   .
 --
---     [C declaration]: @SDL_getenv@, defined at @SDL3\/SDL_stdinc.h 1809:42@
+--     [C declaration]: @SDL_getenv@, defined at @SDL3\/SDL_stdinc.h 1812:42@
 getenvSafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -1324,6 +1328,8 @@
 --
 --     This function bypasses SDL\'s cached copy of the environment and is not thread-safe.
 --
+--     On some platforms, this may make case-insensitive matches, while other platforms are case-sensitive. It is best to be precise with strings used for queries through this interface. 'getenv' is always case-sensitive, however.
+--
 --     [Returns]: a pointer to the value of the variable or NULL if it can\'t be found.
 --
 --     [Thread safety]: This function is not thread safe, consider using @'getenv'@ instead.
@@ -1338,7 +1344,7 @@
 --                   The safe flavor is 'getenvUnsafeSafe'
 --                   .
 --
---     [C declaration]: @SDL_getenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1828:42@
+--     [C declaration]: @SDL_getenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1836:42@
 getenvUnsafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -1351,6 +1357,8 @@
 --
 --     This function bypasses SDL\'s cached copy of the environment and is not thread-safe.
 --
+--     On some platforms, this may make case-insensitive matches, while other platforms are case-sensitive. It is best to be precise with strings used for queries through this interface. 'getenv' is always case-sensitive, however.
+--
 --     [Returns]: a pointer to the value of the variable or NULL if it can\'t be found.
 --
 --     [Thread safety]: This function is not thread safe, consider using @'getenv'@ instead.
@@ -1365,7 +1373,7 @@
 --                   The unsafe flavor is 'getenvUnsafe'
 --                   .
 --
---     [C declaration]: @SDL_getenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1828:42@
+--     [C declaration]: @SDL_getenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1836:42@
 getenvUnsafeSafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -1393,7 +1401,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_setenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1846:33@
+--     [C declaration]: @SDL_setenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1854:33@
 setenvUnsafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -1433,7 +1441,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_setenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1846:33@
+--     [C declaration]: @SDL_setenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1854:33@
 setenvUnsafeSafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -1473,7 +1481,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_unsetenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1861:33@
+--     [C declaration]: @SDL_unsetenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1869:33@
 unsetenvUnsafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -1503,7 +1511,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_unsetenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1861:33@
+--     [C declaration]: @SDL_unsetenv_unsafe@, defined at @SDL3\/SDL_stdinc.h 1869:33@
 unsetenvUnsafeSafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -1562,7 +1570,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_qsort@, defined at @SDL3\/SDL_stdinc.h 1923:34@
+--     [C declaration]: @SDL_qsort@, defined at @SDL3\/SDL_stdinc.h 1931:34@
 qsortSafe
   :: BG.Ptr BG.Void
   -- ^
@@ -1639,7 +1647,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_bsearch@, defined at @SDL3\/SDL_stdinc.h 1973:36@
+--     [C declaration]: @SDL_bsearch@, defined at @SDL3\/SDL_stdinc.h 1981:36@
 bsearchSafe
   :: PtrConst.PtrConst BG.Void
   -- ^
@@ -1724,7 +1732,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_qsort_r@, defined at @SDL3\/SDL_stdinc.h 2043:34@
+--     [C declaration]: @SDL_qsort_r@, defined at @SDL3\/SDL_stdinc.h 2051:34@
 qsortRSafe
   :: BG.Ptr BG.Void
   -- ^
@@ -1812,7 +1820,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_bsearch_r@, defined at @SDL3\/SDL_stdinc.h 2101:36@
+--     [C declaration]: @SDL_bsearch_r@, defined at @SDL3\/SDL_stdinc.h 2109:36@
 bsearchRSafe
   :: PtrConst.PtrConst BG.Void
   -- ^
@@ -1865,7 +1873,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_abs@, defined at @SDL3\/SDL_stdinc.h 2113:33@
+--     [C declaration]: @SDL_abs@, defined at @SDL3\/SDL_stdinc.h 2121:33@
 abs
   :: BG.Int32
   -- ^
@@ -1895,7 +1903,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_isalpha@, defined at @SDL3\/SDL_stdinc.h 2188:33@
+--     [C declaration]: @SDL_isalpha@, defined at @SDL3\/SDL_stdinc.h 2196:33@
 isalpha
   :: BG.Int32
   -- ^
@@ -1925,7 +1933,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_isalnum@, defined at @SDL3\/SDL_stdinc.h 2203:33@
+--     [C declaration]: @SDL_isalnum@, defined at @SDL3\/SDL_stdinc.h 2211:33@
 isalnum
   :: BG.Int32
   -- ^
@@ -1955,7 +1963,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_isblank@, defined at @SDL3\/SDL_stdinc.h 2218:33@
+--     [C declaration]: @SDL_isblank@, defined at @SDL3\/SDL_stdinc.h 2226:33@
 isblank
   :: BG.Int32
   -- ^
@@ -1985,7 +1993,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_iscntrl@, defined at @SDL3\/SDL_stdinc.h 2233:33@
+--     [C declaration]: @SDL_iscntrl@, defined at @SDL3\/SDL_stdinc.h 2241:33@
 iscntrl
   :: BG.Int32
   -- ^
@@ -2015,7 +2023,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_isdigit@, defined at @SDL3\/SDL_stdinc.h 2248:33@
+--     [C declaration]: @SDL_isdigit@, defined at @SDL3\/SDL_stdinc.h 2256:33@
 isdigit
   :: BG.Int32
   -- ^
@@ -2045,7 +2053,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_isxdigit@, defined at @SDL3\/SDL_stdinc.h 2263:33@
+--     [C declaration]: @SDL_isxdigit@, defined at @SDL3\/SDL_stdinc.h 2271:33@
 isxdigit
   :: BG.Int32
   -- ^
@@ -2077,7 +2085,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ispunct@, defined at @SDL3\/SDL_stdinc.h 2281:33@
+--     [C declaration]: @SDL_ispunct@, defined at @SDL3\/SDL_stdinc.h 2289:33@
 ispunct
   :: BG.Int32
   -- ^
@@ -2119,7 +2127,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_isspace@, defined at @SDL3\/SDL_stdinc.h 2303:33@
+--     [C declaration]: @SDL_isspace@, defined at @SDL3\/SDL_stdinc.h 2311:33@
 isspace
   :: BG.Int32
   -- ^
@@ -2149,7 +2157,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_isupper@, defined at @SDL3\/SDL_stdinc.h 2318:33@
+--     [C declaration]: @SDL_isupper@, defined at @SDL3\/SDL_stdinc.h 2326:33@
 isupper
   :: BG.Int32
   -- ^
@@ -2179,7 +2187,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_islower@, defined at @SDL3\/SDL_stdinc.h 2333:33@
+--     [C declaration]: @SDL_islower@, defined at @SDL3\/SDL_stdinc.h 2341:33@
 islower
   :: BG.Int32
   -- ^
@@ -2211,7 +2219,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_isprint@, defined at @SDL3\/SDL_stdinc.h 2352:33@
+--     [C declaration]: @SDL_isprint@, defined at @SDL3\/SDL_stdinc.h 2360:33@
 isprint
   :: BG.Int32
   -- ^
@@ -2245,7 +2253,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_isgraph@, defined at @SDL3\/SDL_stdinc.h 2373:33@
+--     [C declaration]: @SDL_isgraph@, defined at @SDL3\/SDL_stdinc.h 2381:33@
 isgraph
   :: BG.Int32
   -- ^
@@ -2277,7 +2285,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_toupper@, defined at @SDL3\/SDL_stdinc.h 2391:33@
+--     [C declaration]: @SDL_toupper@, defined at @SDL3\/SDL_stdinc.h 2399:33@
 toupper
   :: BG.Int32
   -- ^
@@ -2309,7 +2317,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_tolower@, defined at @SDL3\/SDL_stdinc.h 2409:33@
+--     [C declaration]: @SDL_tolower@, defined at @SDL3\/SDL_stdinc.h 2417:33@
 tolower
   :: BG.Int32
   -- ^
@@ -2341,7 +2349,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_crc16@, defined at @SDL3\/SDL_stdinc.h 2430:36@
+--     [C declaration]: @SDL_crc16@, defined at @SDL3\/SDL_stdinc.h 2438:36@
 crc16
   :: BG.Word16
   -- ^
@@ -2383,7 +2391,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_crc16@, defined at @SDL3\/SDL_stdinc.h 2430:36@
+--     [C declaration]: @SDL_crc16@, defined at @SDL3\/SDL_stdinc.h 2438:36@
 crc16Safe
   :: BG.Word16
   -- ^
@@ -2425,7 +2433,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_crc32@, defined at @SDL3\/SDL_stdinc.h 2451:36@
+--     [C declaration]: @SDL_crc32@, defined at @SDL3\/SDL_stdinc.h 2459:36@
 crc32
   :: BG.Word32
   -- ^
@@ -2467,7 +2475,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_crc32@, defined at @SDL3\/SDL_stdinc.h 2451:36@
+--     [C declaration]: @SDL_crc32@, defined at @SDL3\/SDL_stdinc.h 2459:36@
 crc32Safe
   :: BG.Word32
   -- ^
@@ -2511,7 +2519,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_murmur3_32@, defined at @SDL3\/SDL_stdinc.h 2477:36@
+--     [C declaration]: @SDL_murmur3_32@, defined at @SDL3\/SDL_stdinc.h 2485:36@
 murmur3_32
   :: PtrConst.PtrConst BG.Void
   -- ^
@@ -2555,7 +2563,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_murmur3_32@, defined at @SDL3\/SDL_stdinc.h 2477:36@
+--     [C declaration]: @SDL_murmur3_32@, defined at @SDL3\/SDL_stdinc.h 2485:36@
 murmur3_32Safe
   :: PtrConst.PtrConst BG.Void
   -- ^
@@ -2597,7 +2605,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_memset4@, defined at @SDL3\/SDL_stdinc.h 2601:36@
+--     [C declaration]: @SDL_memset4@, defined at @SDL3\/SDL_stdinc.h 2609:36@
 memset4
   :: BG.Ptr BG.Void
   -- ^
@@ -2639,7 +2647,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_memset4@, defined at @SDL3\/SDL_stdinc.h 2601:36@
+--     [C declaration]: @SDL_memset4@, defined at @SDL3\/SDL_stdinc.h 2609:36@
 memset4Safe
   :: BG.Ptr BG.Void
   -- ^
@@ -2677,7 +2685,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_memcmp@, defined at @SDL3\/SDL_stdinc.h 2683:33@
+--     [C declaration]: @SDL_memcmp@, defined at @SDL3\/SDL_stdinc.h 2691:33@
 memcmp
   :: PtrConst.PtrConst BG.Void
   -- ^
@@ -2715,7 +2723,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_memcmp@, defined at @SDL3\/SDL_stdinc.h 2683:33@
+--     [C declaration]: @SDL_memcmp@, defined at @SDL3\/SDL_stdinc.h 2691:33@
 memcmpSafe
   :: PtrConst.PtrConst BG.Void
   -- ^
@@ -2761,7 +2769,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_wcslen@, defined at @SDL3\/SDL_stdinc.h 2710:36@
+--     [C declaration]: @SDL_wcslen@, defined at @SDL3\/SDL_stdinc.h 2718:36@
 wcslen
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -2798,7 +2806,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_wcsnlen@, defined at @SDL3\/SDL_stdinc.h 2741:36@
+--     [C declaration]: @SDL_wcsnlen@, defined at @SDL3\/SDL_stdinc.h 2749:36@
 wcsnlen
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -2839,7 +2847,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_wcslcpy@, defined at @SDL3\/SDL_stdinc.h 2768:36@
+--     [C declaration]: @SDL_wcslcpy@, defined at @SDL3\/SDL_stdinc.h 2776:36@
 wcslcpy
   :: BG.Ptr HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -2885,7 +2893,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_wcslcat@, defined at @SDL3\/SDL_stdinc.h 2797:36@
+--     [C declaration]: @SDL_wcslcat@, defined at @SDL3\/SDL_stdinc.h 2805:36@
 wcslcat
   :: BG.Ptr HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -2924,7 +2932,7 @@
 --                   The safe flavor is 'wcsdupSafe'
 --                   .
 --
---     [C declaration]: @SDL_wcsdup@, defined at @SDL3\/SDL_stdinc.h 2815:39@
+--     [C declaration]: @SDL_wcsdup@, defined at @SDL3\/SDL_stdinc.h 2823:39@
 wcsdup
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -2951,7 +2959,7 @@
 --                   The unsafe flavor is 'wcsdup'
 --                   .
 --
---     [C declaration]: @SDL_wcsdup@, defined at @SDL3\/SDL_stdinc.h 2815:39@
+--     [C declaration]: @SDL_wcsdup@, defined at @SDL3\/SDL_stdinc.h 2823:39@
 wcsdupSafe
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -2978,7 +2986,7 @@
 --                   The safe import is not exported
 --                   : string computation over caller memory with no allocation; cannot block, lock, or call back.
 --
---     [C declaration]: @SDL_wcsstr@, defined at @SDL3\/SDL_stdinc.h 2835:39@
+--     [C declaration]: @SDL_wcsstr@, defined at @SDL3\/SDL_stdinc.h 2843:39@
 wcsstr
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3012,7 +3020,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_wcsnstr@, defined at @SDL3\/SDL_stdinc.h 2860:39@
+--     [C declaration]: @SDL_wcsnstr@, defined at @SDL3\/SDL_stdinc.h 2868:39@
 wcsnstr
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3052,7 +3060,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_wcscmp@, defined at @SDL3\/SDL_stdinc.h 2879:33@
+--     [C declaration]: @SDL_wcscmp@, defined at @SDL3\/SDL_stdinc.h 2887:33@
 wcscmp
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3091,7 +3099,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_wcsncmp@, defined at @SDL3\/SDL_stdinc.h 2910:33@
+--     [C declaration]: @SDL_wcsncmp@, defined at @SDL3\/SDL_stdinc.h 2918:33@
 wcsncmp
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3133,7 +3141,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_wcscasecmp@, defined at @SDL3\/SDL_stdinc.h 2940:33@
+--     [C declaration]: @SDL_wcscasecmp@, defined at @SDL3\/SDL_stdinc.h 2948:33@
 wcscasecmp
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3174,7 +3182,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_wcsncasecmp@, defined at @SDL3\/SDL_stdinc.h 2982:33@
+--     [C declaration]: @SDL_wcsncasecmp@, defined at @SDL3\/SDL_stdinc.h 2990:33@
 wcsncasecmp
   :: PtrConst.PtrConst HsBindgen.Runtime.LibC.CWchar
   -- ^
@@ -3218,7 +3226,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_strlen@, defined at @SDL3\/SDL_stdinc.h 3029:36@
+--     [C declaration]: @SDL_strlen@, defined at @SDL3\/SDL_stdinc.h 3037:36@
 strlen
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3251,7 +3259,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_strnlen@, defined at @SDL3\/SDL_stdinc.h 3053:36@
+--     [C declaration]: @SDL_strnlen@, defined at @SDL3\/SDL_stdinc.h 3061:36@
 strnlen
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3292,7 +3300,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_strlcpy@, defined at @SDL3\/SDL_stdinc.h 3082:36@
+--     [C declaration]: @SDL_strlcpy@, defined at @SDL3\/SDL_stdinc.h 3090:36@
 strlcpy
   :: BG.Ptr BG.CChar
   -- ^
@@ -3338,7 +3346,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_utf8strlcpy@, defined at @SDL3\/SDL_stdinc.h 3110:36@
+--     [C declaration]: @SDL_utf8strlcpy@, defined at @SDL3\/SDL_stdinc.h 3118:36@
 utf8strlcpy
   :: BG.Ptr BG.CChar
   -- ^
@@ -3384,7 +3392,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_strlcat@, defined at @SDL3\/SDL_stdinc.h 3138:36@
+--     [C declaration]: @SDL_strlcat@, defined at @SDL3\/SDL_stdinc.h 3146:36@
 strlcat
   :: BG.Ptr BG.CChar
   -- ^
@@ -3423,7 +3431,7 @@
 --                   The safe flavor is 'strdupSafe'
 --                   .
 --
---     [C declaration]: @SDL_strdup@, defined at @SDL3\/SDL_stdinc.h 3156:47@
+--     [C declaration]: @SDL_strdup@, defined at @SDL3\/SDL_stdinc.h 3164:47@
 strdup
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3450,7 +3458,7 @@
 --                   The unsafe flavor is 'strdup'
 --                   .
 --
---     [C declaration]: @SDL_strdup@, defined at @SDL3\/SDL_stdinc.h 3156:47@
+--     [C declaration]: @SDL_strdup@, defined at @SDL3\/SDL_stdinc.h 3164:47@
 strdupSafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3482,7 +3490,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_strndup@, defined at @SDL3\/SDL_stdinc.h 3181:47@
+--     [C declaration]: @SDL_strndup@, defined at @SDL3\/SDL_stdinc.h 3189:47@
 strndup
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3520,7 +3528,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_strndup@, defined at @SDL3\/SDL_stdinc.h 3181:47@
+--     [C declaration]: @SDL_strndup@, defined at @SDL3\/SDL_stdinc.h 3189:47@
 strndupSafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3553,7 +3561,7 @@
 --                   The safe import is not exported
 --                   : string computation over caller memory with no allocation; cannot block, lock, or call back.
 --
---     [C declaration]: @SDL_strrev@, defined at @SDL3\/SDL_stdinc.h 3202:36@
+--     [C declaration]: @SDL_strrev@, defined at @SDL3\/SDL_stdinc.h 3210:36@
 strrev
   :: BG.Ptr BG.CChar
   -- ^
@@ -3582,7 +3590,7 @@
 --                   The safe import is not exported
 --                   : string computation over caller memory with no allocation; cannot block, lock, or call back.
 --
---     [C declaration]: @SDL_strupr@, defined at @SDL3\/SDL_stdinc.h 3223:36@
+--     [C declaration]: @SDL_strupr@, defined at @SDL3\/SDL_stdinc.h 3231:36@
 strupr
   :: BG.Ptr BG.CChar
   -- ^
@@ -3611,7 +3619,7 @@
 --                   The safe import is not exported
 --                   : string computation over caller memory with no allocation; cannot block, lock, or call back.
 --
---     [C declaration]: @SDL_strlwr@, defined at @SDL3\/SDL_stdinc.h 3244:36@
+--     [C declaration]: @SDL_strlwr@, defined at @SDL3\/SDL_stdinc.h 3252:36@
 strlwr
   :: BG.Ptr BG.CChar
   -- ^
@@ -3641,7 +3649,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_strchr@, defined at @SDL3\/SDL_stdinc.h 3264:36@
+--     [C declaration]: @SDL_strchr@, defined at @SDL3\/SDL_stdinc.h 3272:36@
 strchr
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3677,7 +3685,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_strrchr@, defined at @SDL3\/SDL_stdinc.h 3283:36@
+--     [C declaration]: @SDL_strrchr@, defined at @SDL3\/SDL_stdinc.h 3291:36@
 strrchr
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3710,7 +3718,7 @@
 --                   The safe import is not exported
 --                   : string computation over caller memory with no allocation; cannot block, lock, or call back.
 --
---     [C declaration]: @SDL_strstr@, defined at @SDL3\/SDL_stdinc.h 3303:36@
+--     [C declaration]: @SDL_strstr@, defined at @SDL3\/SDL_stdinc.h 3311:36@
 strstr
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3744,7 +3752,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_strnstr@, defined at @SDL3\/SDL_stdinc.h 3326:36@
+--     [C declaration]: @SDL_strnstr@, defined at @SDL3\/SDL_stdinc.h 3334:36@
 strnstr
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3783,7 +3791,7 @@
 --                   The safe import is not exported
 --                   : string computation over caller memory with no allocation; cannot block, lock, or call back.
 --
---     [C declaration]: @SDL_strcasestr@, defined at @SDL3\/SDL_stdinc.h 3354:36@
+--     [C declaration]: @SDL_strcasestr@, defined at @SDL3\/SDL_stdinc.h 3362:36@
 strcasestr
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3818,7 +3826,7 @@
 --                   The safe import is not exported
 --                   : string computation over caller memory with no allocation; cannot block, lock, or call back.
 --
---     [C declaration]: @SDL_strtok_r@, defined at @SDL3\/SDL_stdinc.h 3383:36@
+--     [C declaration]: @SDL_strtok_r@, defined at @SDL3\/SDL_stdinc.h 3391:36@
 strtokR
   :: BG.Ptr BG.CChar
   -- ^
@@ -3860,7 +3868,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_utf8strlen@, defined at @SDL3\/SDL_stdinc.h 3411:36@
+--     [C declaration]: @SDL_utf8strlen@, defined at @SDL3\/SDL_stdinc.h 3419:36@
 utf8strlen
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3898,7 +3906,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_utf8strnlen@, defined at @SDL3\/SDL_stdinc.h 3444:36@
+--     [C declaration]: @SDL_utf8strnlen@, defined at @SDL3\/SDL_stdinc.h 3452:36@
 utf8strnlen
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -3937,7 +3945,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_itoa@, defined at @SDL3\/SDL_stdinc.h 3472:36@
+--     [C declaration]: @SDL_itoa@, defined at @SDL3\/SDL_stdinc.h 3480:36@
 itoa
   :: BG.Int32
   -- ^
@@ -3981,7 +3989,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_uitoa@, defined at @SDL3\/SDL_stdinc.h 3500:36@
+--     [C declaration]: @SDL_uitoa@, defined at @SDL3\/SDL_stdinc.h 3508:36@
 uitoa
   :: BG.Word32
   -- ^
@@ -4025,7 +4033,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_lltoa@, defined at @SDL3\/SDL_stdinc.h 3586:36@
+--     [C declaration]: @SDL_lltoa@, defined at @SDL3\/SDL_stdinc.h 3594:36@
 lltoa
   :: BG.Int64
   -- ^
@@ -4069,7 +4077,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ulltoa@, defined at @SDL3\/SDL_stdinc.h 3614:36@
+--     [C declaration]: @SDL_ulltoa@, defined at @SDL3\/SDL_stdinc.h 3622:36@
 ulltoa
   :: BG.Word64
   -- ^
@@ -4111,7 +4119,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_atoi@, defined at @SDL3\/SDL_stdinc.h 3638:33@
+--     [C declaration]: @SDL_atoi@, defined at @SDL3\/SDL_stdinc.h 3646:33@
 atoi
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4142,7 +4150,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_atof@, defined at @SDL3\/SDL_stdinc.h 3660:36@
+--     [C declaration]: @SDL_atof@, defined at @SDL3\/SDL_stdinc.h 3668:36@
 atof
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4175,7 +4183,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_strtoll@, defined at @SDL3\/SDL_stdinc.h 3762:39@
+--     [C declaration]: @SDL_strtoll@, defined at @SDL3\/SDL_stdinc.h 3770:39@
 strtoll
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4219,7 +4227,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_strtoull@, defined at @SDL3\/SDL_stdinc.h 3796:48@
+--     [C declaration]: @SDL_strtoull@, defined at @SDL3\/SDL_stdinc.h 3804:48@
 strtoull
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4267,7 +4275,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_strtod@, defined at @SDL3\/SDL_stdinc.h 3826:36@
+--     [C declaration]: @SDL_strtod@, defined at @SDL3\/SDL_stdinc.h 3834:36@
 strtod
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4302,7 +4310,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_strcmp@, defined at @SDL3\/SDL_stdinc.h 3846:33@
+--     [C declaration]: @SDL_strcmp@, defined at @SDL3\/SDL_stdinc.h 3854:33@
 strcmp
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4341,7 +4349,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_strncmp@, defined at @SDL3\/SDL_stdinc.h 3876:33@
+--     [C declaration]: @SDL_strncmp@, defined at @SDL3\/SDL_stdinc.h 3884:33@
 strncmp
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4383,7 +4391,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_strcasecmp@, defined at @SDL3\/SDL_stdinc.h 3904:33@
+--     [C declaration]: @SDL_strcasecmp@, defined at @SDL3\/SDL_stdinc.h 3912:33@
 strcasecmp
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4424,7 +4432,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_strncasecmp@, defined at @SDL3\/SDL_stdinc.h 3944:33@
+--     [C declaration]: @SDL_strncasecmp@, defined at @SDL3\/SDL_stdinc.h 3952:33@
 strncasecmp
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4459,7 +4467,7 @@
 --                   The safe import is not exported
 --                   : string computation over caller memory with no allocation; cannot block, lock, or call back.
 --
---     [C declaration]: @SDL_strpbrk@, defined at @SDL3\/SDL_stdinc.h 3962:36@
+--     [C declaration]: @SDL_strpbrk@, defined at @SDL3\/SDL_stdinc.h 3970:36@
 strpbrk
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4505,7 +4513,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_StepUTF8@, defined at @SDL3\/SDL_stdinc.h 4022:36@
+--     [C declaration]: @SDL_StepUTF8@, defined at @SDL3\/SDL_stdinc.h 4030:36@
 stepUTF8
   :: BG.Ptr (PtrConst.PtrConst BG.CChar)
   -- ^
@@ -4548,7 +4556,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_StepBackUTF8@, defined at @SDL3\/SDL_stdinc.h 4053:36@
+--     [C declaration]: @SDL_StepBackUTF8@, defined at @SDL3\/SDL_stdinc.h 4061:36@
 stepBackUTF8
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -4589,7 +4597,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_UCS4ToUTF8@, defined at @SDL3\/SDL_stdinc.h 4082:36@
+--     [C declaration]: @SDL_UCS4ToUTF8@, defined at @SDL3\/SDL_stdinc.h 4090:36@
 ucs4ToUTF8
   :: BG.Word32
   -- ^
@@ -4623,7 +4631,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_srand@, defined at @SDL3\/SDL_stdinc.h 4294:34@
+--     [C declaration]: @SDL_srand@, defined at @SDL3\/SDL_stdinc.h 4302:34@
 srand
   :: BG.Word64
   -- ^
@@ -4651,7 +4659,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_srand@, defined at @SDL3\/SDL_stdinc.h 4294:34@
+--     [C declaration]: @SDL_srand@, defined at @SDL3\/SDL_stdinc.h 4302:34@
 srandSafe
   :: BG.Word64
   -- ^
@@ -4690,7 +4698,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_rand@, defined at @SDL3\/SDL_stdinc.h 4328:36@
+--     [C declaration]: @SDL_rand@, defined at @SDL3\/SDL_stdinc.h 4336:36@
 rand
   :: BG.Int32
   -- ^
@@ -4730,7 +4738,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_rand@, defined at @SDL3\/SDL_stdinc.h 4328:36@
+--     [C declaration]: @SDL_rand@, defined at @SDL3\/SDL_stdinc.h 4336:36@
 randSafe
   :: BG.Int32
   -- ^
@@ -4764,7 +4772,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_randf@, defined at @SDL3\/SDL_stdinc.h 4351:35@
+--     [C declaration]: @SDL_randf@, defined at @SDL3\/SDL_stdinc.h 4359:35@
 randf :: IO Float
 randf = fmap Coerce.coerce Unsafe.sDL_randf
 
@@ -4791,7 +4799,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_randf@, defined at @SDL3\/SDL_stdinc.h 4351:35@
+--     [C declaration]: @SDL_randf@, defined at @SDL3\/SDL_stdinc.h 4359:35@
 randfSafe :: IO Float
 randfSafe = fmap Coerce.coerce Safe.sDL_randf
 
@@ -4818,7 +4826,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_rand_bits@, defined at @SDL3\/SDL_stdinc.h 4374:36@
+--     [C declaration]: @SDL_rand_bits@, defined at @SDL3\/SDL_stdinc.h 4382:36@
 randBits :: IO BG.Word32
 randBits = fmap Coerce.coerce Unsafe.sDL_rand_bits
 
@@ -4845,7 +4853,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_rand_bits@, defined at @SDL3\/SDL_stdinc.h 4374:36@
+--     [C declaration]: @SDL_rand_bits@, defined at @SDL3\/SDL_stdinc.h 4382:36@
 randBitsSafe :: IO BG.Word32
 randBitsSafe = fmap Coerce.coerce Safe.sDL_rand_bits
 
@@ -4876,7 +4884,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_rand_r@, defined at @SDL3\/SDL_stdinc.h 4409:36@
+--     [C declaration]: @SDL_rand_r@, defined at @SDL3\/SDL_stdinc.h 4417:36@
 randR
   :: BG.Ptr Uint64
   -- ^
@@ -4919,7 +4927,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_rand_r@, defined at @SDL3\/SDL_stdinc.h 4409:36@
+--     [C declaration]: @SDL_rand_r@, defined at @SDL3\/SDL_stdinc.h 4417:36@
 randRSafe
   :: BG.Ptr Uint64
   -- ^
@@ -4958,7 +4966,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_randf_r@, defined at @SDL3\/SDL_stdinc.h 4436:35@
+--     [C declaration]: @SDL_randf_r@, defined at @SDL3\/SDL_stdinc.h 4444:35@
 randfR
   :: BG.Ptr Uint64
   -- ^
@@ -4991,7 +4999,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_randf_r@, defined at @SDL3\/SDL_stdinc.h 4436:35@
+--     [C declaration]: @SDL_randf_r@, defined at @SDL3\/SDL_stdinc.h 4444:35@
 randfRSafe
   :: BG.Ptr Uint64
   -- ^
@@ -5024,7 +5032,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_rand_bits_r@, defined at @SDL3\/SDL_stdinc.h 4461:36@
+--     [C declaration]: @SDL_rand_bits_r@, defined at @SDL3\/SDL_stdinc.h 4469:36@
 randBitsR
   :: BG.Ptr Uint64
   -- ^
@@ -5058,7 +5066,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_rand_bits_r@, defined at @SDL3\/SDL_stdinc.h 4461:36@
+--     [C declaration]: @SDL_rand_bits_r@, defined at @SDL3\/SDL_stdinc.h 4469:36@
 randBitsRSafe
   :: BG.Ptr Uint64
   -- ^
@@ -5097,7 +5105,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_acos@, defined at @SDL3\/SDL_stdinc.h 4515:36@
+--     [C declaration]: @SDL_acos@, defined at @SDL3\/SDL_stdinc.h 4523:36@
 acos
   :: Double
   -- ^
@@ -5137,7 +5145,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_acosf@, defined at @SDL3\/SDL_stdinc.h 4545:35@
+--     [C declaration]: @SDL_acosf@, defined at @SDL3\/SDL_stdinc.h 4553:35@
 acosf
   :: Float
   -- ^
@@ -5177,7 +5185,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_asin@, defined at @SDL3\/SDL_stdinc.h 4575:36@
+--     [C declaration]: @SDL_asin@, defined at @SDL3\/SDL_stdinc.h 4583:36@
 asin
   :: Double
   -- ^
@@ -5217,7 +5225,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_asinf@, defined at @SDL3\/SDL_stdinc.h 4605:35@
+--     [C declaration]: @SDL_asinf@, defined at @SDL3\/SDL_stdinc.h 4613:35@
 asinf
   :: Float
   -- ^
@@ -5259,7 +5267,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_atan@, defined at @SDL3\/SDL_stdinc.h 4637:36@
+--     [C declaration]: @SDL_atan@, defined at @SDL3\/SDL_stdinc.h 4645:36@
 atan
   :: Double
   -- ^
@@ -5301,7 +5309,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_atanf@, defined at @SDL3\/SDL_stdinc.h 4669:35@
+--     [C declaration]: @SDL_atanf@, defined at @SDL3\/SDL_stdinc.h 4677:35@
 atanf
   :: Float
   -- ^
@@ -5343,7 +5351,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_atan2@, defined at @SDL3\/SDL_stdinc.h 4705:36@
+--     [C declaration]: @SDL_atan2@, defined at @SDL3\/SDL_stdinc.h 4713:36@
 atan2
   :: Double
   -- ^
@@ -5390,7 +5398,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_atan2f@, defined at @SDL3\/SDL_stdinc.h 4741:35@
+--     [C declaration]: @SDL_atan2f@, defined at @SDL3\/SDL_stdinc.h 4749:35@
 atan2f
   :: Float
   -- ^
@@ -5433,7 +5441,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ceil@, defined at @SDL3\/SDL_stdinc.h 4769:36@
+--     [C declaration]: @SDL_ceil@, defined at @SDL3\/SDL_stdinc.h 4777:36@
 ceil
   :: Double
   -- ^
@@ -5471,7 +5479,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_ceilf@, defined at @SDL3\/SDL_stdinc.h 4797:35@
+--     [C declaration]: @SDL_ceilf@, defined at @SDL3\/SDL_stdinc.h 4805:35@
 ceilf
   :: Float
   -- ^
@@ -5509,7 +5517,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_copysign@, defined at @SDL3\/SDL_stdinc.h 4823:36@
+--     [C declaration]: @SDL_copysign@, defined at @SDL3\/SDL_stdinc.h 4831:36@
 copysign
   :: Double
   -- ^
@@ -5552,7 +5560,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_copysignf@, defined at @SDL3\/SDL_stdinc.h 4849:35@
+--     [C declaration]: @SDL_copysignf@, defined at @SDL3\/SDL_stdinc.h 4857:35@
 copysignf
   :: Float
   -- ^
@@ -5595,7 +5603,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_cos@, defined at @SDL3\/SDL_stdinc.h 4877:36@
+--     [C declaration]: @SDL_cos@, defined at @SDL3\/SDL_stdinc.h 4885:36@
 cos
   :: Double
   -- ^
@@ -5633,7 +5641,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_cosf@, defined at @SDL3\/SDL_stdinc.h 4905:35@
+--     [C declaration]: @SDL_cosf@, defined at @SDL3\/SDL_stdinc.h 4913:35@
 cosf
   :: Float
   -- ^
@@ -5675,7 +5683,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_exp@, defined at @SDL3\/SDL_stdinc.h 4937:36@
+--     [C declaration]: @SDL_exp@, defined at @SDL3\/SDL_stdinc.h 4945:36@
 exp
   :: Double
   -- ^
@@ -5717,7 +5725,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_expf@, defined at @SDL3\/SDL_stdinc.h 4969:35@
+--     [C declaration]: @SDL_expf@, defined at @SDL3\/SDL_stdinc.h 4977:35@
 expf
   :: Float
   -- ^
@@ -5753,7 +5761,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_fabs@, defined at @SDL3\/SDL_stdinc.h 4990:36@
+--     [C declaration]: @SDL_fabs@, defined at @SDL3\/SDL_stdinc.h 4998:36@
 fabs
   :: Double
   -- ^
@@ -5789,7 +5797,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_fabsf@, defined at @SDL3\/SDL_stdinc.h 5011:35@
+--     [C declaration]: @SDL_fabsf@, defined at @SDL3\/SDL_stdinc.h 5019:35@
 fabsf
   :: Float
   -- ^
@@ -5827,7 +5835,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_floor@, defined at @SDL3\/SDL_stdinc.h 5039:36@
+--     [C declaration]: @SDL_floor@, defined at @SDL3\/SDL_stdinc.h 5047:36@
 floor
   :: Double
   -- ^
@@ -5865,7 +5873,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_floorf@, defined at @SDL3\/SDL_stdinc.h 5067:35@
+--     [C declaration]: @SDL_floorf@, defined at @SDL3\/SDL_stdinc.h 5075:35@
 floorf
   :: Float
   -- ^
@@ -5903,7 +5911,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_trunc@, defined at @SDL3\/SDL_stdinc.h 5096:36@
+--     [C declaration]: @SDL_trunc@, defined at @SDL3\/SDL_stdinc.h 5104:36@
 trunc
   :: Double
   -- ^
@@ -5941,7 +5949,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_truncf@, defined at @SDL3\/SDL_stdinc.h 5125:35@
+--     [C declaration]: @SDL_truncf@, defined at @SDL3\/SDL_stdinc.h 5133:35@
 truncf
   :: Float
   -- ^
@@ -5979,7 +5987,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_fmod@, defined at @SDL3\/SDL_stdinc.h 5155:36@
+--     [C declaration]: @SDL_fmod@, defined at @SDL3\/SDL_stdinc.h 5163:36@
 fmod
   :: Double
   -- ^
@@ -6022,7 +6030,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_fmodf@, defined at @SDL3\/SDL_stdinc.h 5185:35@
+--     [C declaration]: @SDL_fmodf@, defined at @SDL3\/SDL_stdinc.h 5193:35@
 fmodf
   :: Float
   -- ^
@@ -6057,7 +6065,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_isinf@, defined at @SDL3\/SDL_stdinc.h 5199:33@
+--     [C declaration]: @SDL_isinf@, defined at @SDL3\/SDL_stdinc.h 5207:33@
 isinf
   :: Double
   -- ^
@@ -6087,7 +6095,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_isinff@, defined at @SDL3\/SDL_stdinc.h 5213:33@
+--     [C declaration]: @SDL_isinff@, defined at @SDL3\/SDL_stdinc.h 5221:33@
 isinff
   :: Float
   -- ^
@@ -6117,7 +6125,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_isnan@, defined at @SDL3\/SDL_stdinc.h 5227:33@
+--     [C declaration]: @SDL_isnan@, defined at @SDL3\/SDL_stdinc.h 5235:33@
 isnan
   :: Double
   -- ^
@@ -6147,7 +6155,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_isnanf@, defined at @SDL3\/SDL_stdinc.h 5241:33@
+--     [C declaration]: @SDL_isnanf@, defined at @SDL3\/SDL_stdinc.h 5249:33@
 isnanf
   :: Float
   -- ^
@@ -6187,7 +6195,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_log@, defined at @SDL3\/SDL_stdinc.h 5271:36@
+--     [C declaration]: @SDL_log@, defined at @SDL3\/SDL_stdinc.h 5279:36@
 log
   :: Double
   -- ^
@@ -6227,7 +6235,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_logf@, defined at @SDL3\/SDL_stdinc.h 5300:35@
+--     [C declaration]: @SDL_logf@, defined at @SDL3\/SDL_stdinc.h 5308:35@
 logf
   :: Float
   -- ^
@@ -6267,7 +6275,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_log10@, defined at @SDL3\/SDL_stdinc.h 5330:36@
+--     [C declaration]: @SDL_log10@, defined at @SDL3\/SDL_stdinc.h 5338:36@
 log10
   :: Double
   -- ^
@@ -6307,7 +6315,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_log10f@, defined at @SDL3\/SDL_stdinc.h 5360:35@
+--     [C declaration]: @SDL_log10f@, defined at @SDL3\/SDL_stdinc.h 5368:35@
 log10f
   :: Float
   -- ^
@@ -6339,7 +6347,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_modf@, defined at @SDL3\/SDL_stdinc.h 5380:36@
+--     [C declaration]: @SDL_modf@, defined at @SDL3\/SDL_stdinc.h 5388:36@
 modf
   :: Double
   -- ^
@@ -6376,7 +6384,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_modff@, defined at @SDL3\/SDL_stdinc.h 5400:35@
+--     [C declaration]: @SDL_modff@, defined at @SDL3\/SDL_stdinc.h 5408:35@
 modff
   :: Float
   -- ^
@@ -6421,7 +6429,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_pow@, defined at @SDL3\/SDL_stdinc.h 5432:36@
+--     [C declaration]: @SDL_pow@, defined at @SDL3\/SDL_stdinc.h 5440:36@
 pow
   :: Double
   -- ^
@@ -6466,7 +6474,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_powf@, defined at @SDL3\/SDL_stdinc.h 5464:35@
+--     [C declaration]: @SDL_powf@, defined at @SDL3\/SDL_stdinc.h 5472:35@
 powf
   :: Float
   -- ^
@@ -6509,7 +6517,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_round@, defined at @SDL3\/SDL_stdinc.h 5493:36@
+--     [C declaration]: @SDL_round@, defined at @SDL3\/SDL_stdinc.h 5501:36@
 round
   :: Double
   -- ^
@@ -6547,7 +6555,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_roundf@, defined at @SDL3\/SDL_stdinc.h 5522:35@
+--     [C declaration]: @SDL_roundf@, defined at @SDL3\/SDL_stdinc.h 5530:35@
 roundf
   :: Float
   -- ^
@@ -6585,7 +6593,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_scalbn@, defined at @SDL3\/SDL_stdinc.h 5605:36@
+--     [C declaration]: @SDL_scalbn@, defined at @SDL3\/SDL_stdinc.h 5613:36@
 scalbn
   :: Double
   -- ^
@@ -6628,7 +6636,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_scalbnf@, defined at @SDL3\/SDL_stdinc.h 5630:35@
+--     [C declaration]: @SDL_scalbnf@, defined at @SDL3\/SDL_stdinc.h 5638:35@
 scalbnf
   :: Float
   -- ^
@@ -6671,7 +6679,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_sin@, defined at @SDL3\/SDL_stdinc.h 5658:36@
+--     [C declaration]: @SDL_sin@, defined at @SDL3\/SDL_stdinc.h 5666:36@
 sin
   :: Double
   -- ^
@@ -6709,7 +6717,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_sinf@, defined at @SDL3\/SDL_stdinc.h 5686:35@
+--     [C declaration]: @SDL_sinf@, defined at @SDL3\/SDL_stdinc.h 5694:35@
 sinf
   :: Float
   -- ^
@@ -6747,7 +6755,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_sqrt@, defined at @SDL3\/SDL_stdinc.h 5712:36@
+--     [C declaration]: @SDL_sqrt@, defined at @SDL3\/SDL_stdinc.h 5720:36@
 sqrt
   :: Double
   -- ^
@@ -6785,7 +6793,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_sqrtf@, defined at @SDL3\/SDL_stdinc.h 5738:35@
+--     [C declaration]: @SDL_sqrtf@, defined at @SDL3\/SDL_stdinc.h 5746:35@
 sqrtf
   :: Float
   -- ^
@@ -6823,7 +6831,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_tan@, defined at @SDL3\/SDL_stdinc.h 5768:36@
+--     [C declaration]: @SDL_tan@, defined at @SDL3\/SDL_stdinc.h 5776:36@
 tan
   :: Double
   -- ^
@@ -6861,7 +6869,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_tanf@, defined at @SDL3\/SDL_stdinc.h 5798:35@
+--     [C declaration]: @SDL_tanf@, defined at @SDL3\/SDL_stdinc.h 5806:35@
 tanf
   :: Float
   -- ^
@@ -6888,7 +6896,7 @@
 --                   The safe flavor is 'iconvOpenSafe'
 --                   .
 --
---     [C declaration]: @SDL_iconv_open@, defined at @SDL3\/SDL_stdinc.h 5826:41@
+--     [C declaration]: @SDL_iconv_open@, defined at @SDL3\/SDL_stdinc.h 5834:41@
 iconvOpen
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -6917,7 +6925,7 @@
 --                   The unsafe flavor is 'iconvOpen'
 --                   .
 --
---     [C declaration]: @SDL_iconv_open@, defined at @SDL3\/SDL_stdinc.h 5826:41@
+--     [C declaration]: @SDL_iconv_open@, defined at @SDL3\/SDL_stdinc.h 5834:41@
 iconvOpenSafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -6949,7 +6957,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_iconv_close@, defined at @SDL3\/SDL_stdinc.h 5843:33@
+--     [C declaration]: @SDL_iconv_close@, defined at @SDL3\/SDL_stdinc.h 5851:33@
 iconvClose
   :: SDL_iconv_t
   -- ^
@@ -6979,7 +6987,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_iconv_close@, defined at @SDL3\/SDL_stdinc.h 5843:33@
+--     [C declaration]: @SDL_iconv_close@, defined at @SDL3\/SDL_stdinc.h 5851:33@
 iconvCloseSafe
   :: SDL_iconv_t
   -- ^
@@ -7020,7 +7028,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_iconv@, defined at @SDL3\/SDL_stdinc.h 5883:36@
+--     [C declaration]: @SDL_iconv@, defined at @SDL3\/SDL_stdinc.h 5891:36@
 iconv
   :: SDL_iconv_t
   -- ^
@@ -7082,7 +7090,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_iconv@, defined at @SDL3\/SDL_stdinc.h 5883:36@
+--     [C declaration]: @SDL_iconv@, defined at @SDL3\/SDL_stdinc.h 5891:36@
 iconvSafe
   :: SDL_iconv_t
   -- ^
@@ -7138,7 +7146,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_iconv_string@, defined at @SDL3\/SDL_stdinc.h 5920:36@
+--     [C declaration]: @SDL_iconv_string@, defined at @SDL3\/SDL_stdinc.h 5928:36@
 iconvString
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -7189,7 +7197,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_iconv_string@, defined at @SDL3\/SDL_stdinc.h 5920:36@
+--     [C declaration]: @SDL_iconv_string@, defined at @SDL3\/SDL_stdinc.h 5928:36@
 iconvStringSafe
   :: PtrConst.PtrConst BG.CChar
   -- ^
@@ -7226,7 +7234,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_size_mul_check_overflow_builtin@, defined at @SDL3\/SDL_stdinc.h 6101:23@
+--     [C declaration]: @SDL_size_mul_check_overflow_builtin@, defined at @SDL3\/SDL_stdinc.h 6109:23@
 sizeMulCheckOverflowBuiltin
   :: BG.Word64
   -- ^ [C declaration]: @a@
@@ -7254,7 +7262,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_size_mul_check_overflow_builtin@, defined at @SDL3\/SDL_stdinc.h 6101:23@
+--     [C declaration]: @SDL_size_mul_check_overflow_builtin@, defined at @SDL3\/SDL_stdinc.h 6109:23@
 sizeMulCheckOverflowBuiltinSafe
   :: BG.Word64
   -- ^ [C declaration]: @a@
@@ -7282,7 +7290,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_size_add_check_overflow_builtin@, defined at @SDL3\/SDL_stdinc.h 6139:23@
+--     [C declaration]: @SDL_size_add_check_overflow_builtin@, defined at @SDL3\/SDL_stdinc.h 6147:23@
 sizeAddCheckOverflowBuiltin
   :: BG.Word64
   -- ^ [C declaration]: @a@
@@ -7310,7 +7318,7 @@
 --     [Scalars]: The binding generation has mapped C scalars to native Haskell scalars for this function.
 --                Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
 --
---     [C declaration]: @SDL_size_add_check_overflow_builtin@, defined at @SDL3\/SDL_stdinc.h 6139:23@
+--     [C declaration]: @SDL_size_add_check_overflow_builtin@, defined at @SDL3\/SDL_stdinc.h 6147:23@
 sizeAddCheckOverflowBuiltinSafe
   :: BG.Word64
   -- ^ [C declaration]: @a@
diff --git a/src/SDL3/Sys/Storage.hs b/src/SDL3/Sys/Storage.hs
--- a/src/SDL3/Sys/Storage.hs
+++ b/src/SDL3/Sys/Storage.hs
@@ -973,7 +973,7 @@
   -> PtrConst.PtrConst BG.CChar
   -- ^
   --
-  --           [@path@]: the path of the directory to enumerate.
+  --           [@path@]: the path to remove from the filesystem.
   -> IO Bool
 removeStoragePath =
   \x00 ->
@@ -1006,7 +1006,7 @@
   -> PtrConst.PtrConst BG.CChar
   -- ^
   --
-  --           [@path@]: the path of the directory to enumerate.
+  --           [@path@]: the path to remove from the filesystem.
   -> IO Bool
 removeStoragePathSafe =
   \x00 ->
