Direct2D Debug Layer?


#1

I’m getting an error “Unable to load D2D debug layer” trying to use Microsoft’s Direct2D Debug using Visual Studio 2015 on Windows 7.
My system has d2d1debug2.dll, while Google shows there is also a d2d1debug1.dll; the MS documentation just describes d2d1debug.dll
Control Panel says I have the MS Windows SDK for Win 7 (7.1) 6/20/11.
The VS2015 info on my system seems to indicate VS2015’s install includes some/all of the Win 8.1 SDK, and my builds are (mostly) configured for SDK 8.1
My only guess is that VS2015 blew away 7.1’s d2d1debug1.dll, but something elsewhere in VS2015, or something in JUCE, still indicates the 7.1 SDK.
Has anyone else seen this issue?

D2D Debug seems useful and I’m hoping others have at least tried to use it.


#2

Are you using the Direct2D renderer in JUCE or have you rolled your own? JUCE’s implementation is currently incomplete (and only enabled if you compiled with JUCE_DIRECT2D=1).

The only thing I can suggest to help track down what’s going on is to use Process Explorer from Sysinternals

which can show you exactly which DLLs a process has loaded. Maybe this will shed some light on things.


#3

I’m using JUCE’s Direct2D renderer. I was unaware it was incomplete, can you tell me what capability is absent? Anything absent from DirectWrite?

I will try Process Explorer, and maybe Dependency Walker as well.

Recovering 1 or more missing dlls may be complicated by the risk of malware.
The fact the MSDN doc says the Direct2D debug layer for Windows 7 is no longer available may indicate other issues.

Thanks t0m


#4

I got the missing d2d1debug1.dll by installing the Windows 8.0 SDK (just 2 sections).

Follow up question: Do Direct2D debug messages only appear in the VS2015 output window after the app is exited?
I got 1 message on exit, but I expected more.
Specifically, I’m trying to modify text rendering by calling SetTextRenderingParams, initial test by just modify gamma from 2.2 to 1.0.
When I read back the params, gamma is unchanged.
I expected D2D Debug to tell me what I’m doing wrong, there seem to be several messages in the MSDN doc that might apply, but I get nada.
The MSDN docs seem to say very little about when or where Debug messages appear.
Any help/comments appreciated.