Ejemplo n.º 1
0
        public static bool IsSupported(IUnknown adapter, FeatureLevel minFeatureLevel = FeatureLevel.Level_11_0)
        {
            var result = D3D12Internal.CreateDevice(
                adapter,
                minFeatureLevel,
                typeof(ID3D12Device).GUID,
                out var nativePtr);

            return(result.Success);
        }
Ejemplo n.º 2
0
        public static Result D3D12CreateDevice(IUnknown adapter, FeatureLevel minFeatureLevel, out ID3D12Device device)
        {
            var result = D3D12Internal.CreateDevice(adapter, minFeatureLevel, typeof(ID3D12Device).GUID, out var nativePtr);

            if (result.Failure)
            {
                device = null;
                return(result);
            }

            device = new ID3D12Device(nativePtr);
            return(result);
        }
Ejemplo n.º 3
0
        public static Result D3D12GetDebugInterface <T>(out T debugInterface) where T : ComObject
        {
            var result = D3D12Internal.GetDebugInterface(typeof(T).GUID, out var nativePtr);

            if (result.Failure)
            {
                debugInterface = null;
                return(result);
            }

            debugInterface = CppObject.FromPointer <T>(nativePtr);
            return(result);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Test to create <see cref="ID3D12Device"/> without actually creating it.
 /// </summary>
 /// <param name="adapter"></param>
 /// <param name="minFeatureLevel"></param>
 /// <returns></returns>
 public static Result D3D12CreateDevice(IUnknown adapter, FeatureLevel minFeatureLevel)
 {
     return(D3D12Internal.CreateDevice(adapter, minFeatureLevel, typeof(ID3D12Device).GUID, out var nativePtr));
 }