mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-08-18 06:38:42 +02:00
* Add Post Processing Effects * fix events and shader issues * fix gtk upscale slider value * fix bgra games * don't swap swizzle if already swapped * restore opengl texture state after effects run * addressed review * use single pipeline for smaa and fsr * call finish on all pipelines * addressed review * attempt fix file case * attempt fixing file case * fix filter level tick frequency * adjust filter slider margins * replace fxaa shaders with original shader * addressed review
43 lines
1.4 KiB
C#
43 lines
1.4 KiB
C#
using Ryujinx.Graphics.GAL.Multithreading.Commands.Window;
|
|
using Ryujinx.Graphics.GAL.Multithreading.Model;
|
|
using Ryujinx.Graphics.GAL.Multithreading.Resources;
|
|
using System;
|
|
|
|
namespace Ryujinx.Graphics.GAL.Multithreading
|
|
{
|
|
public class ThreadedWindow : IWindow
|
|
{
|
|
private ThreadedRenderer _renderer;
|
|
private IRenderer _impl;
|
|
|
|
public ThreadedWindow(ThreadedRenderer renderer, IRenderer impl)
|
|
{
|
|
_renderer = renderer;
|
|
_impl = impl;
|
|
}
|
|
|
|
public void Present(ITexture texture, ImageCrop crop, Action swapBuffersCallback)
|
|
{
|
|
// If there's already a frame in the pipeline, wait for it to be presented first.
|
|
// This is a multithread rate limit - we can't be more than one frame behind the command queue.
|
|
|
|
_renderer.WaitForFrame();
|
|
_renderer.New<WindowPresentCommand>().Set(new TableRef<ThreadedTexture>(_renderer, texture as ThreadedTexture), crop, new TableRef<Action>(_renderer, swapBuffersCallback));
|
|
_renderer.QueueCommand();
|
|
}
|
|
|
|
public void SetSize(int width, int height)
|
|
{
|
|
_impl.Window.SetSize(width, height);
|
|
}
|
|
|
|
public void ChangeVSyncMode(bool vsyncEnabled) { }
|
|
|
|
public void SetAntiAliasing(AntiAliasing effect) { }
|
|
|
|
public void SetScalingFilter(ScalingFilter type) { }
|
|
|
|
public void SetScalingFilterLevel(float level) { }
|
|
}
|
|
}
|