X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=retrace%2Fd3d11state_images.cpp;fp=retrace%2Fd3d11state_images.cpp;h=60efc7d4e9ea1f63136c6b69031b31f4ba3743e7;hb=c8695f74ce1ee6a93dee4b3f7da5a70a64706c82;hp=e08bc29e71c86e295e585df1dd0b777d736d2ee1;hpb=d7c738e13decf8a8a891008c51b437ccbe3434fb;p=apitrace diff --git a/retrace/d3d11state_images.cpp b/retrace/d3d11state_images.cpp index e08bc29..60efc7d 100644 --- a/retrace/d3d11state_images.cpp +++ b/retrace/d3d11state_images.cpp @@ -32,61 +32,7 @@ #include "image.hpp" #include "d3d11imports.hpp" #include "d3d10state.hpp" - -#ifdef __MINGW32__ -#define nullptr NULL -#endif -#include "DirectXTex.h" - - -/** - * Convert between DXGI formats. - * - */ -static HRESULT -ConvertFormat(DXGI_FORMAT SrcFormat, - void *SrcData, - UINT SrcPitch, - DXGI_FORMAT DstFormat, - void *DstData, - UINT DstPitch, - UINT Width, UINT Height) -{ - HRESULT hr; - - DirectX::Image SrcImage; - DirectX::Image DstImage; - - SrcImage.width = Width; - SrcImage.height = Height; - SrcImage.format = SrcFormat; - SrcImage.rowPitch = SrcPitch; - SrcImage.slicePitch = Height * SrcPitch; - SrcImage.pixels = (uint8_t*)SrcData; - - DstImage.width = Width; - DstImage.height = Height; - DstImage.format = DstFormat; - DstImage.rowPitch = DstPitch; - DstImage.slicePitch = Height * DstPitch; - DstImage.pixels = (uint8_t*)DstData; - - DirectX::Rect rect(0, 0, Width, Height); - - if (SrcFormat != DstFormat) { - DirectX::ScratchImage ScratchImage; - ScratchImage.Initialize2D(DstFormat, Width, Height, 1, 1); - - hr = DirectX::Convert(SrcImage, DstFormat, DirectX::TEX_FILTER_DEFAULT, 0.0f, ScratchImage); - if (SUCCEEDED(hr)) { - hr = CopyRectangle(*ScratchImage.GetImage(0, 0, 0), rect, DstImage, DirectX::TEX_FILTER_DEFAULT, 0, 0); - } - } else { - hr = CopyRectangle(SrcImage, rect, DstImage, DirectX::TEX_FILTER_DEFAULT, 0, 0); - } - - return hr; -} +#include "dxgistate.hpp" namespace d3dstate { @@ -297,8 +243,6 @@ no_staging: } - - image::Image * getRenderTargetImage(ID3D11DeviceContext *pDevice) { ID3D11RenderTargetView *pRenderTargetView = NULL;