Exemple #1
0
 /// <summary>
 /// No documentation for Direct3D12
 /// </summary>
 /// <param name="heapRef">No documentation.</param>
 /// <param name="heapOffset">No documentation.</param>
 /// <param name="descRef">No documentation.</param>
 /// <param name="initialState">No documentation.</param>
 /// <param name="optimizedClearValueRef">No documentation.</param>
 /// <param name="riid">No documentation.</param>
 /// <returns>No documentation.</returns>
 /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='ID3D12Device::CreatePlacedResource']/*"/>
 /// <unmanaged>HRESULT ID3D12Device::CreatePlacedResource([In] ID3D12Heap* pHeap,[In] unsigned longlong HeapOffset,[In] const D3D12_RESOURCE_DESC* pDesc,[In] D3D12_RESOURCE_USAGE InitialState,[In, Optional] const D3D12_CLEAR_VALUE* pOptimizedClearValue,[In] const GUID&amp; riid,[Out] ID3D12Resource** ppvResource)</unmanaged>
 /// <unmanaged-short>ID3D12Device::CreatePlacedResource</unmanaged-short>
 public SharpDX.Direct3D12.Resource CreatePlacedResource(SharpDX.Direct3D12.Heap heapRef,
                                                         long heapOffset,
                                                         SharpDX.Direct3D12.ResourceDescription descRef,
                                                         SharpDX.Direct3D12.ResourceStates initialState,
                                                         SharpDX.Direct3D12.ClearValue?optimizedClearValueRef = null)
 {
     return(CreatePlacedResource(heapRef, heapOffset, ref descRef, initialState, optimizedClearValueRef, Utilities.GetGuidFromType(typeof(Resource))));
 }
Exemple #2
0
 /// <summary>
 /// No documentation for Direct3D12
 /// </summary>
 /// <param name="descRef">No documentation.</param>
 /// <param name="initialState">No documentation.</param>
 /// <param name="optimizedClearValueRef">No documentation.</param>
 /// <param name="riid">No documentation.</param>
 /// <returns>No documentation.</returns>
 /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='ID3D12Device::CreateReservedResource']/*"/>
 /// <unmanaged>HRESULT ID3D12Device::CreateReservedResource([In] const D3D12_RESOURCE_DESC* pDesc,[In] D3D12_RESOURCE_USAGE InitialState,[In, Optional] const D3D12_CLEAR_VALUE* pOptimizedClearValue,[In] const GUID&amp; riid,[Out] ID3D12Resource** ppvResource)</unmanaged>
 /// <unmanaged-short>ID3D12Device::CreateReservedResource</unmanaged-short>
 public SharpDX.Direct3D12.Resource CreateReservedResource(SharpDX.Direct3D12.ResourceDescription descRef,
                                                           SharpDX.Direct3D12.ResourceStates initialState,
                                                           SharpDX.Direct3D12.ClearValue?optimizedClearValueRef = null)
 {
     return(CreateReservedResource(ref descRef, initialState, optimizedClearValueRef, Utilities.GetGuidFromType(typeof(Resource))));
 }
Exemple #3
0
 /// <summary>
 /// No documentation for Direct3D12
 /// </summary>
 /// <param name="heapPropertiesRef">No documentation.</param>
 /// <param name="heapFlags">No documentation.</param>
 /// <param name="resourceDescRef">No documentation.</param>
 /// <param name="initialResourceState">No documentation.</param>
 /// <returns>No documentation.</returns>
 /// <unmanaged>HRESULT ID3D12Device::CreateCommittedResource([In] const D3D12_HEAP_PROPERTIES* pHeapProperties,[In] D3D12_HEAP_MISC_FLAG HeapMiscFlags,[In, Value] const D3D12_RESOURCE_DESC* pResourceDesc,[In] D3D12_RESOURCE_USAGE InitialResourceState,[In] const GUID&amp; riidResource,[Out] ID3D12Resource** ppvResource)</unmanaged>
 ///   <unmanaged-short>ID3D12Device::CreateCommittedResource</unmanaged-short>
 public SharpDX.Direct3D12.Resource CreateCommittedResource(SharpDX.Direct3D12.HeapProperties heapPropertiesRef, SharpDX.Direct3D12.HeapFlags heapFlags, SharpDX.Direct3D12.ResourceDescription resourceDescRef, SharpDX.Direct3D12.ResourceStates initialResourceState, SharpDX.Direct3D12.ClearValue?optimizedClearValueRef = null)
 {
     return(CreateCommittedResource(ref heapPropertiesRef, heapFlags, resourceDescRef, initialResourceState, optimizedClearValueRef, Utilities.GetGuidFromType(typeof(Resource))));
 }
Exemple #4
0
 /// <summary>
 /// <p> Gets the size and alignment of memory required for a collection of resources on this adapter. </p>
 /// </summary>
 /// <param name="visibleMask"><dd>  <p> For single GPU operation, set this to zero.  If there are multiple GPU nodes, set bits to identify the nodes (the  device's physical adapters). Each bit in the mask corresponds to a single node. Refer to Multi-Adapter.</p> </dd></param>
 /// <param name="numResourceDescs"><dd>  <p> The number of resource descriptors in the <em>pResourceDescs</em> array. </p> </dd></param>
 /// <param name="resourceDescsRef"><dd>  <p> An array of <strong><see cref="SharpDX.Direct3D12.ResourceDescription"/></strong> structures that described the resources to get info about. </p> </dd></param>
 /// <returns><p> Returns a <strong><see cref="SharpDX.Direct3D12.ResourceAllocationInformation"/></strong> structure that provides info about video memory allocated for the specified array of resources. </p></returns>
 /// <remarks>
 /// <p> When using <strong>CreatePlacedResource</strong>, the application must use this method to understand the size and alignment characteristics of texture resources.  The results of this method vary depending on the particular adapter, and must be treated as unique to this adapter and driver version. </p><p> Applications cannot use the output of <strong>GetResourceAllocationInfo</strong> to understand packed mip properties of textures. To understand packed mip properties of textures, applications must use <strong>GetResourceTiling</strong>.  Texture resource sizes significantly differ from the information returned by <strong>GetResourceTiling</strong>, because some adapter architectures allocate extra memory for textures to reduce the effective bandwidth during common rendering scenarios.  This even includes textures that have constraints on their texture layouts or have standardized texture layouts.  That extra memory cannot be sparsely mapped or remapped by an application using <strong>CreateReservedResource</strong> and  <strong>UpdateTileMappings</strong>, so it isn't reported in <strong>GetResourceTiling</strong>. </p><p> Applications can forgo using <strong>GetResourceAllocationInfo</strong> for buffer resources (<strong><see cref="SharpDX.Direct3D12.ResourceDimension"/></strong>_BUFFER).  Buffers have the same size on all adapters, which is merely the smallest multiple of 64KB which is greater or equal to <strong><see cref="SharpDX.Direct3D12.ResourceDescription"/></strong>::<strong>Width</strong>. </p><p> When multiple resource descriptions are passed in, the C++ algorithm for calculating a structure size and alignment are used.  For example, a three-element array with two tiny 64KB-aligned resources and a tiny 4MB-aligned resource reports differing sizes based on the order of the array.  If the 4MB aligned resource is in the middle, the resulting <strong>Size</strong> is 12MB.  Otherwise, the resulting <strong>Size</strong> is 8MB.  The <strong>Alignment</strong> returned would always be 4MB, as it is the superset of all alignments in the resource array. </p>
 /// </remarks>
 /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='ID3D12Device::GetResourceAllocationInfo']/*"/>
 /// <msdn-id>dn788680</msdn-id>
 /// <unmanaged>D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device::GetResourceAllocationInfo([In] unsigned int visibleMask,[In] unsigned int numResourceDescs,[In, Buffer] const D3D12_RESOURCE_DESC* pResourceDescs)</unmanaged>
 /// <unmanaged-short>ID3D12Device::GetResourceAllocationInfo</unmanaged-short>
 public SharpDX.Direct3D12.ResourceAllocationInformation GetResourceAllocationInfo(int visibleMask, SharpDX.Direct3D12.ResourceDescription resourceDesc)
 {
     return(GetResourceAllocationInfo(visibleMask, 1, new ResourceDescription[] { resourceDesc }));
 }