# SDL: gpu: Pass a valid pCallbackCookie pointer to RegisterMessageCallback (#16327)

**URL:** <https://discourse.libsdl.org/t/sdl-gpu-pass-a-valid-pcallbackcookie-pointer-to-registermessagecallback-16327/69353>\
**Category:** SDL Commits\
**Created:** [September 20, 2026, 9:05pm UTC](https://discourse.libsdl.org/t/sdl-gpu-pass-a-valid-pcallbackcookie-pointer-to-registermessagecallback-16327/69353 "2026-09-20T21:05:36Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![SDLPushPostBot](https://discourse.libsdl.org/user_avatar/discourse.libsdl.org/sdlpushpostbot/32/4370_2.png) [@SDLPushPostBot](https://discourse.libsdl.org/u/SDLPushPostBot)\
**Post date:** [September 20, 2026, 9:05pm UTC](https://discourse.libsdl.org/t/sdl-gpu-pass-a-valid-pcallbackcookie-pointer-to-registermessagecallback-16327/69353/1 "2026-09-20T21:05:36Z")

</div>

> <https://github.com/libsdl-org/SDL/commit/67bf94eed520569fa2eb615922547e8f419f49f3>
>
> ID3D12InfoQueue1\_RegisterMessageCallback returns E\_INVALIDARG if you pass NULL f…or pCallbackCookie (at least on my machine)

```diff
From 67bf94eed520569fa2eb615922547e8f419f49f3 Mon Sep 17 00:00:00 2001
From: Chicken-Bones <[EMAIL REDACTED]>
Date: Mon, 21 Sep 2026 07:04:03 +1000
Subject: [PATCH] gpu: Pass a valid pCallbackCookie pointer to
 RegisterMessageCallback (#16327)

ID3D12InfoQueue1_RegisterMessageCallback returns E_INVALIDARG if you pass NULL for pCallbackCookie (at least on my machine)
---
 src/gpu/d3d12/SDL_gpu_d3d12.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gpu/d3d12/SDL_gpu_d3d12.c b/src/gpu/d3d12/SDL_gpu_d3d12.c
index 07f948ef2cb40..8a62873af06e3 100644
--- a/src/gpu/d3d12/SDL_gpu_d3d12.c
+++ b/src/gpu/d3d12/SDL_gpu_d3d12.c
@@ -8891,6 +8891,7 @@ static void WINAPI D3D12_INTERNAL_OnD3D12DebugInfoMsg(
 static void D3D12_INTERNAL_TryInitializeD3D12DebugInfoLogger(D3D12Renderer *renderer)
 {
     ID3D12InfoQueue1 *infoQueue = NULL;
+ DWORD callbackCookie = 0;
     HRESULT res;
 
     res = ID3D12Device_QueryInterface(
@@ -8906,7 +8907,7 @@ static void D3D12_INTERNAL_TryInitializeD3D12DebugInfoLogger(D3D12Renderer *rend
         D3D12_INTERNAL_OnD3D12DebugInfoMsg,
         D3D12_MESSAGE_CALLBACK_FLAG_NONE,
         NULL,
- NULL);
+ &callbackCookie);
 
     ID3D12InfoQueue1_Release(infoQueue);
 }

```
