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