diff options
| author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2018-09-08 14:51:50 -0300 |
|---|---|---|
| committer | gdkchan <gab.dark.100@gmail.com> | 2018-09-08 14:51:50 -0300 |
| commit | ce1d5be212e6f71a7ca32c3bd7b48e32d9f51b9a (patch) | |
| tree | 759fe422127ce08c545d4616ccc9691f668032ec /Ryujinx.Graphics/Gal/IGalRenderTarget.cs | |
| parent | a0c78f792012cdea060444d7cb6a36dbabb04d52 (diff) | |
Move GPU emulation from Ryujinx.HLE to Ryujinx.Graphics and misc changes (#402)
* Move GPU LLE emulation from HLE to Graphics
* Graphics: Move Gal/Texture to Texture
* Remove Engines/ directory and namespace
* Use tables for image formats
* Abstract OpCode decoding
* Simplify image table
* Do not leak Read* symbols in TextureReader
* Fixups
* Rename IGalFrameBuffer -> IGalRenderTarget
* Remove MaxBpp hardcoded value
* Change yet again texture data and add G8R8 flipping
* Rename GalFrameBufferFormat to GalSurfaceFormat
* Unident EnsureSetup in ImageHandler
* Add IsCompressed
* Address some feedback
Diffstat (limited to 'Ryujinx.Graphics/Gal/IGalRenderTarget.cs')
| -rw-r--r-- | Ryujinx.Graphics/Gal/IGalRenderTarget.cs | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/Ryujinx.Graphics/Gal/IGalRenderTarget.cs b/Ryujinx.Graphics/Gal/IGalRenderTarget.cs new file mode 100644 index 00000000..c44434ef --- /dev/null +++ b/Ryujinx.Graphics/Gal/IGalRenderTarget.cs @@ -0,0 +1,51 @@ +using System; + +namespace Ryujinx.Graphics.Gal +{ + public interface IGalRenderTarget + { + void BindColor(long Key, int Attachment); + + void UnbindColor(int Attachment); + + void BindZeta(long Key); + + void UnbindZeta(); + + void BindTexture(long Key, int Index); + + void Set(long Key); + + void Set(byte[] Data, int Width, int Height); + + void SetMap(int[] Map); + + void SetTransform(bool FlipX, bool FlipY, int Top, int Left, int Right, int Bottom); + + void SetWindowSize(int Width, int Height); + + void SetViewport(int X, int Y, int Width, int Height); + + void Render(); + + void Copy( + long SrcKey, + long DstKey, + int SrcX0, + int SrcY0, + int SrcX1, + int SrcY1, + int DstX0, + int DstY0, + int DstX1, + int DstY1); + + void GetBufferData(long Key, Action<byte[]> Callback); + + void SetBufferData( + long Key, + int Width, + int Height, + byte[] Buffer); + } +}
\ No newline at end of file |
