public DeviceBuffer(GraphicsDevice device, UInt64 size, BufferUsageFlags flags, BufferMemoryUsageHint usageHint) { this.device = device; this.size = size; this.bufferUsageFlags = (VkBufferUsageFlags)flags; this.usageHint = usageHint; Allocate(); }
internal DeviceBuffer(GraphicsDevice device, UInt64 size, void *data, BufferUsageFlags flags, BufferMemoryUsageHint usageHint) { this.device = device; this.size = size; this.bufferUsageFlags = (VkBufferUsageFlags)flags; this.usageHint = usageHint; Allocate(); StagingTransfer(0, size, data); }
public static DeviceBuffer CreateFrom <T>(GraphicsDevice device, ReadOnlySpan <T> data, BufferUsageFlags flags, BufferMemoryUsageHint usageHint) where T : unmanaged { fixed(T *ptr = data) { return(new DeviceBuffer(device, (ulong)(data.Length * Unsafe.SizeOf <T>()), ptr, flags, usageHint)); } }
protected UniformBuffer(GraphicsDevice device, ulong size, BufferUsageFlags flags, BufferMemoryUsageHint usageHint, uint location) : base(device, size, flags, usageHint) { this.location = location; }