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;
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
 [FreeFunction]                                                                                                       // 0x0000000180100E30-0x0000000180100E60
 private static IntPtr InitBuffer(int count, int stride, ComputeBufferType type, ComputeBufferMode usage) => default; // 0x0000000180965110-0x0000000180965170
Пример #6
0
        }                                                                              // 0x0000000180965510-0x0000000180965540

        internal ComputeBuffer(int count, int stride, ComputeBufferType type, ComputeBufferMode usage, int stackDepth)
        {
        }                                                                                                                         // 0x00000001809653D0-0x00000001809654E0
Пример #7
0
 public ComputeBuffer(int count, int stride, ComputeBufferType type, ComputeBufferMode usage) : this(count, stride, type, usage, 3)
 {
 }
Пример #8
0
 private static extern IntPtr InitBuffer(int count, int stride, ComputeBufferType type, ComputeBufferMode usage);