From dec7875a6e23212021e4d9080330a42832dfe02a Mon Sep 17 00:00:00 2001
From: Edward Rudd <urkle@outoforder.cc>
Date: Tue, 15 Jun 2021 01:40:19 +0000
Subject: [PATCH] update SDL soruce to 2.0.14

---
 source/src/render/direct3d11/SDL_render_d3d11.c |   18 ++++++++++--------
 1 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/source/src/render/direct3d11/SDL_render_d3d11.c b/source/src/render/direct3d11/SDL_render_d3d11.c
index 735173e..d814abc 100644
--- a/source/src/render/direct3d11/SDL_render_d3d11.c
+++ b/source/src/render/direct3d11/SDL_render_d3d11.c
@@ -2325,6 +2325,7 @@
                        Uint32 format, void * pixels, int pitch)
 {
     D3D11_RenderData * data = (D3D11_RenderData *) renderer->driverdata;
+    ID3D11RenderTargetView *renderTargetView = NULL;
     ID3D11Texture2D *backBuffer = NULL;
     ID3D11Texture2D *stagingTexture = NULL;
     HRESULT result;
@@ -2334,14 +2335,15 @@
     D3D11_BOX srcBox;
     D3D11_MAPPED_SUBRESOURCE textureMemory;
 
-    /* Retrieve a pointer to the back buffer: */
-    result = IDXGISwapChain_GetBuffer(data->swapChain,
-        0,
-        &SDL_IID_ID3D11Texture2D,
-        (void **)&backBuffer
-        );
-    if (FAILED(result)) {
-        WIN_SetErrorFromHRESULT(SDL_COMPOSE_ERROR("IDXGISwapChain1::GetBuffer [get back buffer]"), result);
+    ID3D11DeviceContext_OMGetRenderTargets(data->d3dContext, 1, &renderTargetView, NULL);
+    if (renderTargetView == NULL) {
+        SDL_SetError("%s, ID3D11DeviceContext::OMGetRenderTargets failed", __FUNCTION__);
+        goto done;
+    }
+
+    ID3D11View_GetResource(renderTargetView, (ID3D11Resource**)&backBuffer);
+    if (backBuffer == NULL) {
+        SDL_SetError("%s, ID3D11View::GetResource failed", __FUNCTION__);
         goto done;
     }
 

--
Gitblit v1.9.3