From b3b2f8f4339b6213467974ef01b950a3ff49d62c Mon Sep 17 00:00:00 2001 From: icex2 Date: Sat, 19 Dec 2020 16:37:02 +0100 Subject: [PATCH] d3d9ex: Log parameters of CreateDeviceEx for debugging and tracing --- src/main/d3d9exhook/d3d9ex.c | 48 ++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/src/main/d3d9exhook/d3d9ex.c b/src/main/d3d9exhook/d3d9ex.c index eaf2419..6dcb851 100644 --- a/src/main/d3d9exhook/d3d9ex.c +++ b/src/main/d3d9exhook/d3d9ex.c @@ -242,9 +242,57 @@ static HRESULT STDCALL my_CreateDeviceEx( D3DDISPLAYMODEEX *fdm, IDirect3DDevice9Ex **pdev) { + log_assert(self); + log_assert(pp); + log_assert(pdev); + IDirect3D9Ex *real = com_proxy_downcast(self)->real; HRESULT hr; + log_misc( + "CreateDeviceEx parameters: adapter %d, type %d, hwnd %p, flags %lX, " + "pdev %p", + adapter, + type, + hwnd, + flags, + pdev); + + if (fdm) { + log_misc( + "CreateDeviceEx display mode: size %d, width %d, height %d, refresh rate %d, format %d, " + "scan line ordering %d", + fdm->Size, + fdm->Width, + fdm->Height, + fdm->RefreshRate, + fdm->Format, + fdm->ScanLineOrdering); + } + + log_misc( + "D3D9EX presenter parameters: BackBufferWidth %d, BackBufferHeight " + "%d, BackBufferFormat %d, " + "BackBufferCount %d, MultiSampleType %d, MultiSampleQuality %ld, SwapEffect %d, " + "hDeviceWindow %p, Windowed %d, " + "EnableAutoDepthStencil " + "%d, AutoDepthStencilFormat %d, Flags %lX, " + "FullScreen_RefreshRateInHz %d, PresentationInterval %d", + pp->BackBufferWidth, + pp->BackBufferHeight, + pp->BackBufferFormat, + pp->BackBufferCount, + pp->MultiSampleType, + pp->MultiSampleQuality, + pp->SwapEffect, + pp->hDeviceWindow, + pp->Windowed, + pp->EnableAutoDepthStencil, + pp->AutoDepthStencilFormat, + pp->Flags, + pp->FullScreen_RefreshRateInHz, + pp->PresentationInterval); + if (d3d9ex_device_adapter >= 0) { log_info("Forcing adapter %d -> %d", adapter, d3d9ex_device_adapter); adapter = d3d9ex_device_adapter;