aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics/Gal/IGalShader.cs
blob: 6a9abe75bcdef472c2d98e14bbf379a6cace4a86 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using Ryujinx.Graphics.Shader;
using System.Collections.Generic;

namespace Ryujinx.Graphics.Gal
{
    public interface IGalShader
    {
        void Create(IGalMemory memory, long key, GalShaderType type);

        void Create(IGalMemory memory, long vpAPos, long key, GalShaderType type);

        IEnumerable<CBufferDescriptor> GetConstBufferUsage(long key);
        IEnumerable<TextureDescriptor> GetTextureUsage(long key);

        void Bind(long key);

        void Unbind(GalShaderType type);

        void BindProgram();
    }
}