public BufferPool(int count, int stride, ComputeBufferType type = ComputeBufferType.Default, ComputeBufferMode mode = ComputeBufferMode.Immutable) { m_Buffers = new List <ComputeBuffer>(); m_FreeBufferIds = new Stack <int>(); m_Count = count; m_Stride = stride; m_Type = type; m_Mode = mode; }
internal ComputeBuffer(int count, int stride, ComputeBufferType type, ComputeBufferMode usage, int stackDepth) { if (count <= 0) { throw new ArgumentException("Attempting to create a zero length compute buffer", "count"); } if (stride <= 0) { throw new ArgumentException("Attempting to create a compute buffer with a negative or null stride", "stride"); } m_Ptr = InitBuffer(count, stride, type, usage); SaveCallstack(stackDepth); }
internal ComputeBuffer(int count, int stride, ComputeBufferType type, ComputeBufferMode usage, int stackDepth) { bool flag = count <= 0; if (flag) { throw new ArgumentException("Attempting to create a zero length compute buffer", "count"); } bool flag2 = stride <= 0; if (flag2) { throw new ArgumentException("Attempting to create a compute buffer with a negative or null stride", "stride"); } this.m_Ptr = ComputeBuffer.InitBuffer(count, stride, type, usage); this.SaveCallstack(stackDepth); }
ComputeBuffer(int count, int stride, ComputeBufferType type, ComputeBufferMode usage, int stackDepth) { if (count <= 0) { throw new ArgumentException("Attempting to create a zero length compute buffer", "count"); } if (stride <= 0) { throw new ArgumentException("Attempting to create a compute buffer with a negative or null stride", "stride"); } var bufferSize = (long)count * stride; var maxBufferSize = SystemInfo.maxGraphicsBufferSize; if (bufferSize > maxBufferSize) { throw new ArgumentException($"The total size of the compute buffer ({bufferSize} bytes) exceeds the maximum buffer size. Maximum supported buffer size: {maxBufferSize} bytes."); } m_Ptr = InitBuffer(count, stride, type, usage); SaveCallstack(stackDepth); }
[FreeFunction] // 0x0000000180100E30-0x0000000180100E60 private static IntPtr InitBuffer(int count, int stride, ComputeBufferType type, ComputeBufferMode usage) => default; // 0x0000000180965110-0x0000000180965170
} // 0x0000000180965510-0x0000000180965540 internal ComputeBuffer(int count, int stride, ComputeBufferType type, ComputeBufferMode usage, int stackDepth) { } // 0x00000001809653D0-0x00000001809654E0
public ComputeBuffer(int count, int stride, ComputeBufferType type, ComputeBufferMode usage) : this(count, stride, type, usage, 3) { }
private static extern IntPtr InitBuffer(int count, int stride, ComputeBufferType type, ComputeBufferMode usage);