SDL: d3d11: Respect SDL_HINT_RENDER_DIRECT3D_THREADSAFE when creating device

From c6ec5a07f1f461c8fcb0c3bdb0d0c3cf35ded9d2 Mon Sep 17 00:00:00 2001
From: Cameron Gutman <[EMAIL REDACTED]>
Date: Sun, 2 Jan 2022 15:43:35 -0600
Subject: [PATCH] d3d11: Respect SDL_HINT_RENDER_DIRECT3D_THREADSAFE when
 creating device

---
 src/render/direct3d11/SDL_render_d3d11.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/render/direct3d11/SDL_render_d3d11.c b/src/render/direct3d11/SDL_render_d3d11.c
index f8d8c7cf55a..cbce5b8b740 100644
--- a/src/render/direct3d11/SDL_render_d3d11.c
+++ b/src/render/direct3d11/SDL_render_d3d11.c
@@ -487,6 +487,11 @@ D3D11_CreateDeviceResources(SDL_Renderer * renderer)
         creationFlags |= D3D11_CREATE_DEVICE_DEBUG;
     }
 
+    /* Create a single-threaded device unless the app requests otherwise. */
+    if (!SDL_GetHintBoolean(SDL_HINT_RENDER_DIRECT3D_THREADSAFE, SDL_FALSE)) {
+        creationFlags |= D3D11_CREATE_DEVICE_SINGLETHREADED;
+    }
+
     /* Create the Direct3D 11 API device object and a corresponding context. */
     result = D3D11CreateDeviceFunc(
         data->dxgiAdapter,