public void ResourceBarrierTransition(GraphicsResource resource, GraphicsResourceState newState)
 {
     // Nothing to do
 }
        public void CopyRegion(GraphicsResource source, int sourceSubresource, ResourceRegion?sourecRegion, GraphicsResource destination, int destinationSubResource, int dstX = 0, int dstY = 0, int dstZ = 0)
        {
            if (source == null)
            {
                throw new ArgumentNullException("source");
            }
            if (destination == null)
            {
                throw new ArgumentNullException("destination");
            }

            var nullableSharpDxRegion = new SharpDX.Direct3D11.ResourceRegion?();

            if (sourecRegion.HasValue)
            {
                var value = sourecRegion.Value;
                nullableSharpDxRegion = new SharpDX.Direct3D11.ResourceRegion(value.Left, value.Top, value.Front, value.Right, value.Bottom, value.Back);
            }

            NativeDeviceContext.CopySubresourceRegion(source.NativeResource, sourceSubresource, nullableSharpDxRegion, destination.NativeResource, destinationSubResource, dstX, dstY, dstZ);
        }
示例#3
0
 /// <summary>
 /// Gets the DX11 native resource handle
 /// </summary>
 /// <param name="resource">The Xenko GraphicsResourceBase</param>
 /// <returns></returns>
 public static object GetNativeResource(GraphicsResource resource)
 {
     return(GetNativeResourceImpl(resource));
 }
示例#4
0
 public static object GetNativeShaderResourceView(GraphicsResource resource)
 {
     return(GetNativeShaderResourceViewImpl(resource));
 }
示例#5
0
 /// <summary>
 /// Gets the DX11 native resource handle
 /// </summary>
 /// <param name="resource">The Xenko GraphicsResourceBase</param>
 /// <returns></returns>
 private static Resource GetNativeResourceImpl(GraphicsResource resource)
 {
     return(resource.NativeResource);
 }
示例#6
0
 private static CpuDescriptorHandle GetNativeShaderResourceViewImpl(GraphicsResource resource)
 {
     return(resource.NativeShaderResourceView);
 }
示例#7
0
 /// <summary>
 /// Maps a subresource.
 /// </summary>
 /// <param name="resource">The resource.</param>
 /// <param name="subResourceIndex">Index of the sub resource.</param>
 /// <param name="mapMode">The map mode.</param>
 /// <param name="doNotWait">if set to <c>true</c> this method will return immediately if the resource is still being used by the GPU for writing. Default is false</param>
 /// <param name="offsetInBytes">The offset information in bytes.</param>
 /// <param name="lengthInBytes">The length information in bytes.</param>
 /// <returns>Pointer to the sub resource to map.</returns>
 public MappedResource MapSubresource(GraphicsResource resource, int subResourceIndex, MapMode mapMode, bool doNotWait = false, int offsetInBytes = 0, int lengthInBytes = 0)
 {
     NullHelper.ToImplement();
     return(default(MappedResource));
 }
示例#8
0
 /// <summary>
 /// Sets a shader resource view descriptor.
 /// </summary>
 /// <param name="slot">The slot.</param>
 /// <param name="shaderResourceView">The shader resource view.</param>
 public void SetShaderResourceView(int slot, GraphicsResource shaderResourceView)
 {
     HeapObjects[DescriptorStartOffset + slot].Value = shaderResourceView;
 }
示例#9
0
 public void CopyRegion(GraphicsResource source, int sourceSubresource, ResourceRegion?sourecRegion, GraphicsResource destination, int destinationSubResource, int dstX = 0, int dstY = 0, int dstZ = 0)
 {
     NullHelper.ToImplement();
 }
示例#10
0
 internal void UpdateSubresource(GraphicsResource resource, int subResourceIndex, DataBox databox, ResourceRegion region)
 {
     NullHelper.ToImplement();
 }
示例#11
0
 public void Copy(GraphicsResource source, GraphicsResource destination)
 {
 }
示例#12
0
 public void ResourceBarrierTransition(GraphicsResource resource, GraphicsResourceState newState)
 {
     NullHelper.ToImplement();
 }
示例#13
0
 /// <summary>
 /// Sets an unordered access view descriptor.
 /// </summary>
 /// <param name="slot">The slot.</param>
 /// <param name="unorderedAccessView">The unordered access view.</param>
 public void SetUnorderedAccessView(int slot, GraphicsResource unorderedAccessView)
 {
     HeapObjects[DescriptorStartOffset + slot].Value = unorderedAccessView;
 }
示例#14
0
 /// <summary>
 /// Sets an unordered access view descriptor.
 /// </summary>
 /// <param name="slot">The slot.</param>
 /// <param name="unorderedAccessView">The unordered access view.</param>
 public void SetUnorderedAccessView(int slot, GraphicsResource unorderedAccessView)
 {
     // TODO D3D12
     throw new NotImplementedException();
 }
示例#15
0
 private static ShaderResourceView GetNativeShaderResourceViewImpl(GraphicsResource resource)
 {
     return(resource.NativeShaderResourceView);
 }
示例#16
0
 /// <summary>
 ///     Sets a shader resource view to the shader pipeline.
 /// </summary>
 /// <param name="stage">The shader stage.</param>
 /// <param name="slot">The binding slot.</param>
 /// <param name="shaderResourceView">The shader resource view.</param>
 internal void SetShaderResourceView(ShaderStage stage, int slot, GraphicsResource shaderResourceView)
 {
     shaderStages[(int)stage - 1].SetShaderResource(slot, shaderResourceView != null ? shaderResourceView.NativeShaderResourceView : null);
 }
示例#17
0
 /// <summary>
 /// Increments the reference to a temporary resource.
 /// </summary>
 /// <param name="resource"></param>
 public void AddReference(GraphicsResource resource)
 {
     UpdateReference(resource, 1);
 }