using Ryujinx.Graphics.GAL;
using Ryujinx.Graphics.Gpu.Image;
using System;
using System.Collections.Concurrent;
namespace Ryujinx.Graphics.Gpu
{
    using Texture = Image.Texture;
    /// 
    /// GPU image presentation window.
    /// 
    public class Window
    {
        private readonly GpuContext _context;
        /// 
        /// Texture presented on the window.
        /// 
        private struct PresentationTexture
        {
            /// 
            /// Texture information.
            /// 
            public TextureInfo Info { get; }
            /// 
            /// Texture crop region.
            /// 
            public ImageCrop Crop { get; }
            /// 
            /// Texture release callback.
            /// 
            public Action