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));
     }
 }
Beispiel #4
0
 protected UniformBuffer(GraphicsDevice device, ulong size, BufferUsageFlags flags,
                         BufferMemoryUsageHint usageHint, uint location) : base(device, size, flags, usageHint)
 {
     this.location = location;
 }