mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-12-23 20:16:01 +00:00
80b4972139
* 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
40 lines
1.1 KiB
C#
40 lines
1.1 KiB
C#
using OpenTK.Graphics.OpenGL;
|
|
using System;
|
|
|
|
namespace Ryujinx.Graphics.OpenGL.Effects
|
|
{
|
|
internal static class ShaderHelper
|
|
{
|
|
public static int CompileProgram(string shaderCode, ShaderType shaderType)
|
|
{
|
|
var shader = GL.CreateShader(shaderType);
|
|
GL.ShaderSource(shader, shaderCode);
|
|
GL.CompileShader(shader);
|
|
|
|
var program = GL.CreateProgram();
|
|
GL.AttachShader(program, shader);
|
|
GL.LinkProgram(program);
|
|
|
|
GL.DetachShader(program, shader);
|
|
GL.DeleteShader(shader);
|
|
|
|
return program;
|
|
}
|
|
|
|
public static int CompileProgram(string[] shaders, ShaderType shaderType)
|
|
{
|
|
var shader = GL.CreateShader(shaderType);
|
|
GL.ShaderSource(shader, shaders.Length, shaders, (int[])null);
|
|
GL.CompileShader(shader);
|
|
|
|
var program = GL.CreateProgram();
|
|
GL.AttachShader(program, shader);
|
|
GL.LinkProgram(program);
|
|
|
|
GL.DetachShader(program, shader);
|
|
GL.DeleteShader(shader);
|
|
|
|
return program;
|
|
}
|
|
}
|
|
}
|