Exemplo n.º 1
0
        void Dispose(bool fin)
        {
            if (isDisposed)
            {
                return;
            }

            if (view != null)
            {
                view.Dispose();
                view = null;
            }

            isDisposed = true;

            if (!fin)
            {
                typelessBuffer.Release();
            }

            // We leave buffer to be garbage collected.
            if (!fin)
            {
                typelessBuffer = null;
                GC.SuppressFinalize(this);
            }
        }
Exemplo n.º 2
0
 public void BindToDevice(GraphicsDevice device)
 {
     lock (syncRoot)
     {
         AssertNotDisposed();
         typelessBuffer.BindToDevice(device);
         if (view == null)
         {
             view = device.DriverDevice.CreateIBufferView(typelessBuffer.DeviceData, format.IsWide, offset);
         }
     }
 }
Exemplo n.º 3
0
        public void UnBindFromDevice()
        {
            lock (syncRoot)
            {
                AssertNotDisposed();

                // we only unbind self, not also buffer.
                if (view != null)
                {
                    view.Dispose();
                    view = null;
                }
            }
        }