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:
parent
652238f526
commit
25dd5f4238
20 changed files with 854 additions and 702 deletions
|
@ -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();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue