Add Support for Post Processing Effects (#3616)
* 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
This commit is contained in:
parent
5d85468302
commit
80b4972139
60 changed files with 21954 additions and 26 deletions
|
@ -150,6 +150,28 @@ namespace Ryujinx.Graphics.Vulkan
|
|||
null);
|
||||
}
|
||||
|
||||
public void ComputeBarrier()
|
||||
{
|
||||
MemoryBarrier memoryBarrier = new MemoryBarrier()
|
||||
{
|
||||
SType = StructureType.MemoryBarrier,
|
||||
SrcAccessMask = AccessFlags.MemoryReadBit | AccessFlags.MemoryWriteBit,
|
||||
DstAccessMask = AccessFlags.MemoryReadBit | AccessFlags.MemoryWriteBit
|
||||
};
|
||||
|
||||
Gd.Api.CmdPipelineBarrier(
|
||||
CommandBuffer,
|
||||
PipelineStageFlags.ComputeShaderBit,
|
||||
PipelineStageFlags.AllCommandsBit,
|
||||
0,
|
||||
1,
|
||||
new ReadOnlySpan<MemoryBarrier>(memoryBarrier),
|
||||
0,
|
||||
ReadOnlySpan<BufferMemoryBarrier>.Empty,
|
||||
0,
|
||||
ReadOnlySpan<ImageMemoryBarrier>.Empty);
|
||||
}
|
||||
|
||||
public void BeginTransformFeedback(GAL.PrimitiveTopology topology)
|
||||
{
|
||||
_tfEnabled = true;
|
||||
|
@ -803,6 +825,11 @@ namespace Ryujinx.Graphics.Vulkan
|
|||
_descriptorSetUpdater.SetImage(binding, image, imageFormat);
|
||||
}
|
||||
|
||||
public void SetImage(int binding, Auto<DisposableImageView> image)
|
||||
{
|
||||
_descriptorSetUpdater.SetImage(binding, image);
|
||||
}
|
||||
|
||||
public void SetIndexBuffer(BufferRange buffer, GAL.IndexType type)
|
||||
{
|
||||
if (buffer.Handle != BufferHandle.Null)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue