예제 #1
0
 protected DX12Sample(string name) : base(name)
 {
     _renderTargets        = new ID3D12Resource *[2];
     _commandAllocators    = new ID3D12CommandAllocator *[2];
     _fenceValues          = new ulong[2];
     _graphicsCommandLists = new ID3D12GraphicsCommandList *[2];
     _d3d12 = Silk.NET.Direct3D12.D3D12.GetApi();
     _dxgi  = DXGI.GetApi();
 }
예제 #2
0
 public static unsafe int CreateRootSignatureDeserializer <T0>(this D3D12 thisApi, Span <T0> pSrcData, nuint SrcDataSizeInBytes, Span <Guid> pRootSignatureDeserializerInterface, ref void *ppRootSignatureDeserializer) where T0 : unmanaged
 {
     // SpanOverloader
     return(thisApi.CreateRootSignatureDeserializer(ref pSrcData.GetPinnableReference(), SrcDataSizeInBytes, ref pRootSignatureDeserializerInterface.GetPinnableReference(), ref ppRootSignatureDeserializer));
 }
예제 #3
0
 public static unsafe int CreateRootSignatureDeserializer(this D3D12 thisApi, void *pSrcData, nuint SrcDataSizeInBytes, Span <Guid> pRootSignatureDeserializerInterface, void **ppRootSignatureDeserializer)
 {
     // SpanOverloader
     return(thisApi.CreateRootSignatureDeserializer(pSrcData, SrcDataSizeInBytes, ref pRootSignatureDeserializerInterface.GetPinnableReference(), ppRootSignatureDeserializer));
 }
예제 #4
0
 public static unsafe int SerializeRootSignature(this D3D12 thisApi, Span <RootSignatureDesc> pRootSignature, D3DRootSignatureVersion Version, ref Silk.NET.Core.Native.ID3D10Blob *ppBlob, ref Silk.NET.Core.Native.ID3D10Blob *ppErrorBlob)
 {
     // SpanOverloader
     return(thisApi.SerializeRootSignature(ref pRootSignature.GetPinnableReference(), Version, ref ppBlob, ref ppErrorBlob));
 }
예제 #5
0
 public static unsafe int EnableExperimentalFeatures <T0>(this D3D12 thisApi, uint NumFeatures, Span <Guid> pIIDs, Span <T0> pConfigurationStructs, Span <uint> pConfigurationStructSizes) where T0 : unmanaged
 {
     // SpanOverloader
     return(thisApi.EnableExperimentalFeatures(NumFeatures, ref pIIDs.GetPinnableReference(), ref pConfigurationStructs.GetPinnableReference(), ref pConfigurationStructSizes.GetPinnableReference()));
 }
예제 #6
0
 public static unsafe int EnableExperimentalFeatures(this D3D12 thisApi, uint NumFeatures, Span <Guid> pIIDs, void *pConfigurationStructs, uint *pConfigurationStructSizes)
 {
     // SpanOverloader
     return(thisApi.EnableExperimentalFeatures(NumFeatures, ref pIIDs.GetPinnableReference(), pConfigurationStructs, pConfigurationStructSizes));
 }
예제 #7
0
 public static unsafe int GetDebugInterface(this D3D12 thisApi, Span <Guid> riid, ref void *ppvDebug)
 {
     // SpanOverloader
     return(thisApi.GetDebugInterface(ref riid.GetPinnableReference(), ref ppvDebug));
 }
예제 #8
0
 public static unsafe int CreateDevice(this D3D12 thisApi, Span <Silk.NET.Core.Native.IUnknown> pAdapter, Silk.NET.Core.Native.D3DFeatureLevel MinimumFeatureLevel, Span <Guid> riid, ref void *ppDevice)
 {
     // SpanOverloader
     return(thisApi.CreateDevice(ref pAdapter.GetPinnableReference(), MinimumFeatureLevel, ref riid.GetPinnableReference(), ref ppDevice));
 }
예제 #9
0
 public static unsafe int GetInterface(this D3D12 thisApi, Span <Guid> rclsid, Guid *riid, void **ppvDebug)
 {
     // SpanOverloader
     return(thisApi.GetInterface(ref rclsid.GetPinnableReference(), riid, ppvDebug));
 }