2018-07-19 19:02:51 +00:00
|
|
|
using System;
|
2018-06-24 00:39:25 +00:00
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
namespace Ryujinx.Graphics.Gal
|
|
|
|
{
|
|
|
|
public interface IGalShader
|
|
|
|
{
|
|
|
|
void Create(IGalMemory Memory, long Key, GalShaderType Type);
|
|
|
|
|
2018-06-28 02:55:08 +00:00
|
|
|
void Create(IGalMemory Memory, long VpAPos, long Key, GalShaderType Type);
|
|
|
|
|
2018-06-24 00:39:25 +00:00
|
|
|
IEnumerable<ShaderDeclInfo> GetTextureUsage(long Key);
|
|
|
|
|
2018-07-19 19:02:51 +00:00
|
|
|
void SetConstBuffer(long Key, int Cbuf, int DataSize, IntPtr HostAddress);
|
2018-06-24 00:39:25 +00:00
|
|
|
|
|
|
|
void EnsureTextureBinding(string UniformName, int Value);
|
|
|
|
|
|
|
|
void SetFlip(float X, float Y);
|
|
|
|
|
|
|
|
void Bind(long Key);
|
|
|
|
|
2018-07-14 16:08:39 +00:00
|
|
|
void Unbind(GalShaderType Type);
|
|
|
|
|
2018-06-24 00:39:25 +00:00
|
|
|
void BindProgram();
|
|
|
|
}
|
|
|
|
}
|