private static UniqueComPtr <ID3D12Debug> GetDebug(out SupportedDebugLayer supportedLayer) { using UniqueComPtr <ID3D12Debug> debug = default; Guard.TryGetInterface(D3D12GetDebugInterface(debug.Iid, (void **)&debug)); supportedLayer = debug.HasInterface <ID3D12Debug3>() ? SupportedDebugLayer.Debug3 : SupportedDebugLayer.Debug; return(debug.Move()); }
private static UniqueComPtr <IDXGraphicsAnalysis> GetPixIfAttached() { using UniqueComPtr <IDXGraphicsAnalysis> analysis = default; Guard.TryGetInterface(DXGIGetDebugInterface1(0, analysis.Iid, (void **)&analysis)); if (analysis.Exists) { LogHelper.LogInformation("PIX debugger is attached"); } return(analysis.Move()); }
private static UniqueComPtr <ID3D12DeviceRemovedExtendedDataSettings1> GetDred() { using UniqueComPtr <ID3D12DeviceRemovedExtendedDataSettings1> dredSettings = default; Guard.TryGetInterface(D3D12GetDebugInterface(dredSettings.Iid, (void **)&dredSettings)); return(dredSettings.Move()); }
private static UniqueComPtr <IDXGIDebug1> GetDxgiDebug() { using UniqueComPtr <IDXGIDebug1> debug = default; Guard.TryGetInterface(DXGIGetDebugInterface1(0, debug.Iid, (void **)&debug)); return(debug.Move()); }
public D3DBlobMemoryManager(UniqueComPtr <ID3DBlob> blob) { _blob = blob.Move(); }