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);
}