forked from Mirror/Ryujinx
726de8c46a
* Add multiple color outputs for fragment shaders * Add registers and gal enums * Use textures for framebuffers and split color and zeta framebuffers * Abstract texture and framebuffer targets as an image * Share images between framebuffers and textures * Unstub formats * Add some formats * Disable multiple attachments * Cache framebuffer attachments * Handle format types * Add some rendertarget formats * Code cleanup * Fixup half float types * Address feedback * Disable multiple attachments in shaders * Add A4B4G4R4 image format * Add reversed section for image enums
49 lines
No EOL
1.1 KiB
C#
49 lines
No EOL
1.1 KiB
C#
using System;
|
|
|
|
namespace Ryujinx.Graphics.Gal
|
|
{
|
|
public interface IGalFrameBuffer
|
|
{
|
|
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 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);
|
|
}
|
|
} |