public GpuResourceInfo( GpuBindUsage bindUsage, GpuCpuAccessFlag cpuAccessFlag = GpuCpuAccessFlag.None, GpuHeapType heapType = GpuHeapType.Default) { BindUsage = bindUsage; CpuAccessFlag = cpuAccessFlag; HeapType = heapType; }
public static SharpDX.Direct3D11.ResourceUsage ToHeapType(GpuHeapType heapType) { switch (heapType) { case GpuHeapType.Default: return(SharpDX.Direct3D11.ResourceUsage.Default); case GpuHeapType.Immutable: return(SharpDX.Direct3D11.ResourceUsage.Immutable); case GpuHeapType.Dynamic: return(SharpDX.Direct3D11.ResourceUsage.Dynamic); case GpuHeapType.Staging: return(SharpDX.Direct3D11.ResourceUsage.Staging); default: throw new Exception("The heap type is not support"); } }
public static GpuResourceInfo ShaderResource( GpuCpuAccessFlag cpuAccessFlag = GpuCpuAccessFlag.None, GpuHeapType heapType = GpuHeapType.Default) => new GpuResourceInfo(GpuBindUsage.ShaderResource, cpuAccessFlag, heapType);
public static GpuResourceInfo IndexBuffer( GpuCpuAccessFlag cpuAccessFlag = GpuCpuAccessFlag.None, GpuHeapType heapType = GpuHeapType.Default) => new GpuResourceInfo(GpuBindUsage.IndexBuffer, cpuAccessFlag, heapType);