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