From cee712105850ac3385cd0091a923438167433f9f Mon Sep 17 00:00:00 2001
From: TSR Berry <20988865+TSRBerry@users.noreply.github.com>
Date: Sat, 8 Apr 2023 01:22:00 +0200
Subject: Move solution and projects to src
---
src/Ryujinx.Graphics.Gpu/Window.cs | 263 +++++++++++++++++++++++++++++++++++++
1 file changed, 263 insertions(+)
create mode 100644 src/Ryujinx.Graphics.Gpu/Window.cs
(limited to 'src/Ryujinx.Graphics.Gpu/Window.cs')
diff --git a/src/Ryujinx.Graphics.Gpu/Window.cs b/src/Ryujinx.Graphics.Gpu/Window.cs
new file mode 100644
index 00000000..06d0fddf
--- /dev/null
+++ b/src/Ryujinx.Graphics.Gpu/Window.cs
@@ -0,0 +1,263 @@
+using Ryujinx.Graphics.GAL;
+using Ryujinx.Graphics.Gpu.Image;
+using Ryujinx.Graphics.Texture;
+using Ryujinx.Memory.Range;
+using System;
+using System.Collections.Concurrent;
+using System.Threading;
+
+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 readonly struct PresentationTexture
+ {
+ ///
+ /// Texture cache where the texture might be located.
+ ///
+ public TextureCache Cache { get; }
+
+ ///
+ /// Texture information.
+ ///
+ public TextureInfo Info { get; }
+
+ ///
+ /// Physical memory locations where the texture data is located.
+ ///
+ public MultiRange Range { get; }
+
+ ///
+ /// Texture crop region.
+ ///
+ public ImageCrop Crop { get; }
+
+ ///
+ /// Texture acquire callback.
+ ///
+ public Action AcquireCallback { get; }
+
+ ///
+ /// Texture release callback.
+ ///
+ public Action