Axiom.RenderSystems.OpenGLES.GLESFBOManager.ReleaseRenderbuffer C# (CSharp) Method

ReleaseRenderbuffer() public method

public ReleaseRenderbuffer ( GLESSurfaceDescription surface ) : void
surface GLESSurfaceDescription
return void
		public void ReleaseRenderbuffer( GLESSurfaceDescription surface )
		{
            if (surface.Buffer == null)
                return;

            RBFormat key = new RBFormat(surface.Buffer.GLFormat, surface.Buffer.Width, surface.Buffer.Height, surface.NumSamples);
            RBRef refval;
            if (_renderBuffer.TryGetValue(key, out refval))
            {
                // Decrease refcount
                refval.RefCount--;
                if (refval.RefCount == 0)
                {
                    // If refcount reaches zero, delete buffer and remove from map
                    refval.Buffer.Dispose();
                    _renderBuffer.Remove(key);
                }
                else
                {
                    _renderBuffer[key] = refval;
                }
            }
		}