aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.GAL
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Graphics.GAL')
-rw-r--r--Ryujinx.Graphics.GAL/IComputePipeline.cs12
-rw-r--r--Ryujinx.Graphics.GAL/IPipeline.cs (renamed from Ryujinx.Graphics.GAL/IGraphicsPipeline.cs)15
-rw-r--r--Ryujinx.Graphics.GAL/IRenderer.cs3
3 files changed, 11 insertions, 19 deletions
diff --git a/Ryujinx.Graphics.GAL/IComputePipeline.cs b/Ryujinx.Graphics.GAL/IComputePipeline.cs
deleted file mode 100644
index e2d0b06e..00000000
--- a/Ryujinx.Graphics.GAL/IComputePipeline.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-namespace Ryujinx.Graphics.GAL
-{
- public interface IComputePipeline
- {
- void Dispatch(int groupsX, int groupsY, int groupsZ);
-
- void SetProgram(IProgram program);
-
- void SetStorageBuffer(int index, BufferRange buffer);
- void SetUniformBuffer(int index, BufferRange buffer);
- }
-}
diff --git a/Ryujinx.Graphics.GAL/IGraphicsPipeline.cs b/Ryujinx.Graphics.GAL/IPipeline.cs
index 13e6ab1a..c331373b 100644
--- a/Ryujinx.Graphics.GAL/IGraphicsPipeline.cs
+++ b/Ryujinx.Graphics.GAL/IPipeline.cs
@@ -6,19 +6,21 @@ using Ryujinx.Graphics.Shader;
namespace Ryujinx.Graphics.GAL
{
- public interface IGraphicsPipeline
+ public interface IPipeline
{
void BindBlendState(int index, BlendDescriptor blend);
void BindIndexBuffer(BufferRange buffer, IndexType type);
+ void BindImage(int index, ShaderStage stage, ITexture texture);
+
void BindProgram(IProgram program);
void BindSampler(int index, ShaderStage stage, ISampler sampler);
void BindTexture(int index, ShaderStage stage, ITexture texture);
- void BindStorageBuffers(int index, ShaderStage stage, BufferRange[] buffers);
- void BindUniformBuffers(int index, ShaderStage stage, BufferRange[] buffers);
+ void BindStorageBuffer(int index, ShaderStage stage, BufferRange buffer);
+ void BindUniformBuffer(int index, ShaderStage stage, BufferRange buffer);
void BindVertexAttribs(VertexAttribDescriptor[] vertexAttribs);
void BindVertexBuffers(VertexBufferDescriptor[] vertexBuffers);
@@ -33,6 +35,8 @@ namespace Ryujinx.Graphics.GAL
int stencilValue,
int stencilMask);
+ void Dispatch(int groupsX, int groupsY, int groupsZ);
+
void Draw(int vertexCount, int instanceCount, int firstVertex, int firstInstance);
void DrawIndexed(
int indexCount,
@@ -40,8 +44,6 @@ namespace Ryujinx.Graphics.GAL
int firstIndex,
int firstVertex,
int firstInstance);
- void DrawIndirect (BufferRange buffer, ulong offset, int drawCount, int stride);
- void DrawIndexedIndirect(BufferRange buffer, ulong offset, int drawCount, int stride);
void SetBlendColor(ColorF color);
@@ -65,5 +67,8 @@ namespace Ryujinx.Graphics.GAL
void SetStencilTest(StencilTestDescriptor stencilTest);
void SetViewports(int first, Viewport[] viewports);
+
+ void TextureBarrier();
+ void TextureBarrierTiled();
}
}
diff --git a/Ryujinx.Graphics.GAL/IRenderer.cs b/Ryujinx.Graphics.GAL/IRenderer.cs
index 609f05f5..ebe6785c 100644
--- a/Ryujinx.Graphics.GAL/IRenderer.cs
+++ b/Ryujinx.Graphics.GAL/IRenderer.cs
@@ -6,8 +6,7 @@ namespace Ryujinx.Graphics.GAL
{
public interface IRenderer
{
- IComputePipeline ComputePipeline { get; }
- IGraphicsPipeline GraphicsPipeline { get; }
+ IPipeline Pipeline { get; }
IWindow Window { get; }