mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2025-08-01 23:52:25 -07:00
Low level graphics API prerequisites (#319)
* Add GalPipelineState and IGalPipeline * Separate UploadVertex call * Add ConstBuffer cache * Move Vertex Assembly into GalPipelineState * Move Uniform binds to GalPipelineState * Move framebuffer flip into a buffer * Rebase * Fix regression * Move clear values from VertexEndGl to ClearBuffers * Rename obscure names O->Old S->New
This commit is contained in:
@@ -5,7 +5,7 @@ namespace Ryujinx.Graphics.Gal.OpenGL
|
||||
{
|
||||
public class OGLRenderer : IGalRenderer
|
||||
{
|
||||
public IGalBlend Blend { get; private set; }
|
||||
public IGalConstBuffer Buffer { get; private set; }
|
||||
|
||||
public IGalFrameBuffer FrameBuffer { get; private set; }
|
||||
|
||||
@@ -13,19 +13,23 @@ namespace Ryujinx.Graphics.Gal.OpenGL
|
||||
|
||||
public IGalShader Shader { get; private set; }
|
||||
|
||||
public IGalPipeline Pipeline { get; private set; }
|
||||
|
||||
public IGalTexture Texture { get; private set; }
|
||||
|
||||
private ConcurrentQueue<Action> ActionsQueue;
|
||||
|
||||
public OGLRenderer()
|
||||
{
|
||||
Blend = new OGLBlend();
|
||||
Buffer = new OGLConstBuffer();
|
||||
|
||||
FrameBuffer = new OGLFrameBuffer();
|
||||
|
||||
Rasterizer = new OGLRasterizer();
|
||||
|
||||
Shader = new OGLShader();
|
||||
Shader = new OGLShader(Buffer as OGLConstBuffer);
|
||||
|
||||
Pipeline = new OGLPipeline(Buffer as OGLConstBuffer, Rasterizer as OGLRasterizer, Shader as OGLShader);
|
||||
|
||||
Texture = new OGLTexture();
|
||||
|
||||
|
Reference in New Issue
Block a user