add WriteOptions.Unsafe
parent
929d8f5cc9
commit
23b6499479
|
@ -1 +1 @@
|
||||||
Subproject commit 8f42783fd15cfea57cfae421fd6ab36070df9946
|
Subproject commit 1bf28f4397d1a8bc19a75d608f4022541af2080d
|
|
@ -125,7 +125,7 @@ namespace MoonWorks.Graphics.Font
|
||||||
if (vertexDataLengthInBytes > 0 && indexDataLengthInBytes > 0)
|
if (vertexDataLengthInBytes > 0 && indexDataLengthInBytes > 0)
|
||||||
{
|
{
|
||||||
TransferBuffer.SetData(vertexSpan, TransferOptions.Cycle);
|
TransferBuffer.SetData(vertexSpan, TransferOptions.Cycle);
|
||||||
TransferBuffer.SetData(indexSpan, (uint) vertexSpan.Length, TransferOptions.Overwrite);
|
TransferBuffer.SetData(indexSpan, (uint) vertexSpan.Length, TransferOptions.Unsafe);
|
||||||
|
|
||||||
commandBuffer.UploadToBuffer(TransferBuffer, VertexBuffer, new BufferCopy(0, 0, (uint) vertexSpan.Length), WriteOptions.Cycle);
|
commandBuffer.UploadToBuffer(TransferBuffer, VertexBuffer, new BufferCopy(0, 0, (uint) vertexSpan.Length), WriteOptions.Cycle);
|
||||||
commandBuffer.UploadToBuffer(TransferBuffer, IndexBuffer, new BufferCopy((uint) vertexSpan.Length, 0, (uint) indexSpan.Length), WriteOptions.Cycle);
|
commandBuffer.UploadToBuffer(TransferBuffer, IndexBuffer, new BufferCopy((uint) vertexSpan.Length, 0, (uint) indexSpan.Length), WriteOptions.Cycle);
|
||||||
|
|
|
@ -306,13 +306,14 @@ namespace MoonWorks.Graphics
|
||||||
public enum TransferOptions
|
public enum TransferOptions
|
||||||
{
|
{
|
||||||
Cycle,
|
Cycle,
|
||||||
Overwrite
|
Unsafe
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum WriteOptions
|
public enum WriteOptions
|
||||||
{
|
{
|
||||||
Cycle,
|
Cycle,
|
||||||
SafeOverwrite
|
Unsafe,
|
||||||
|
Safe
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum Backend
|
public enum Backend
|
||||||
|
|
|
@ -45,7 +45,7 @@ namespace MoonWorks.Graphics
|
||||||
var lengthInBytes = (uint) (Marshal.SizeOf<T>() * data.Length);
|
var lengthInBytes = (uint) (Marshal.SizeOf<T>() * data.Length);
|
||||||
var gpuBuffer = new GpuBuffer(Device, usageFlags, lengthInBytes);
|
var gpuBuffer = new GpuBuffer(Device, usageFlags, lengthInBytes);
|
||||||
|
|
||||||
SetBufferData(gpuBuffer, 0, data, WriteOptions.SafeOverwrite);
|
SetBufferData(gpuBuffer, 0, data, WriteOptions.Unsafe);
|
||||||
|
|
||||||
return gpuBuffer;
|
return gpuBuffer;
|
||||||
}
|
}
|
||||||
|
@ -74,7 +74,7 @@ namespace MoonWorks.Graphics
|
||||||
public Texture CreateTexture2D<T>(Span<T> pixelData, uint width, uint height) where T : unmanaged
|
public Texture CreateTexture2D<T>(Span<T> pixelData, uint width, uint height) where T : unmanaged
|
||||||
{
|
{
|
||||||
var texture = Texture.CreateTexture2D(Device, width, height, TextureFormat.R8G8B8A8, TextureUsageFlags.Sampler);
|
var texture = Texture.CreateTexture2D(Device, width, height, TextureFormat.R8G8B8A8, TextureUsageFlags.Sampler);
|
||||||
SetTextureData(texture, pixelData, WriteOptions.SafeOverwrite);
|
SetTextureData(texture, pixelData, WriteOptions.Unsafe);
|
||||||
return texture;
|
return texture;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -164,7 +164,7 @@ namespace MoonWorks.Graphics
|
||||||
Depth = 1
|
Depth = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
SetTextureData(textureRegion, byteSpan, WriteOptions.SafeOverwrite);
|
SetTextureData(textureRegion, byteSpan, WriteOptions.Unsafe);
|
||||||
|
|
||||||
NativeMemory.Free(byteBuffer);
|
NativeMemory.Free(byteBuffer);
|
||||||
}
|
}
|
||||||
|
@ -187,7 +187,7 @@ namespace MoonWorks.Graphics
|
||||||
var pixelData = ImageUtils.GetPixelDataFromBytes(compressedImageData, out var _, out var _, out var sizeInBytes);
|
var pixelData = ImageUtils.GetPixelDataFromBytes(compressedImageData, out var _, out var _, out var sizeInBytes);
|
||||||
var pixelSpan = new Span<byte>((void*) pixelData, (int) sizeInBytes);
|
var pixelSpan = new Span<byte>((void*) pixelData, (int) sizeInBytes);
|
||||||
|
|
||||||
SetTextureData(textureRegion, pixelSpan, WriteOptions.SafeOverwrite);
|
SetTextureData(textureRegion, pixelSpan, WriteOptions.Unsafe);
|
||||||
|
|
||||||
ImageUtils.FreePixelData(pixelData);
|
ImageUtils.FreePixelData(pixelData);
|
||||||
}
|
}
|
||||||
|
|
|
@ -244,8 +244,8 @@ namespace MoonWorks.Video
|
||||||
TransferBuffer = new TransferBuffer(Device, TransferUsage.Texture, (uint) (ySpan.Length + uSpan.Length + vSpan.Length));
|
TransferBuffer = new TransferBuffer(Device, TransferUsage.Texture, (uint) (ySpan.Length + uSpan.Length + vSpan.Length));
|
||||||
}
|
}
|
||||||
TransferBuffer.SetData(ySpan, 0, TransferOptions.Cycle);
|
TransferBuffer.SetData(ySpan, 0, TransferOptions.Cycle);
|
||||||
TransferBuffer.SetData(uSpan, (uint) ySpan.Length, TransferOptions.Overwrite);
|
TransferBuffer.SetData(uSpan, (uint) ySpan.Length, TransferOptions.Unsafe);
|
||||||
TransferBuffer.SetData(vSpan, (uint) (ySpan.Length + uSpan.Length), TransferOptions.Overwrite);
|
TransferBuffer.SetData(vSpan, (uint) (ySpan.Length + uSpan.Length), TransferOptions.Unsafe);
|
||||||
|
|
||||||
commandBuffer.BeginCopyPass();
|
commandBuffer.BeginCopyPass();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue