Add support for alpha to coverage dithering (#3069)
* Add support for alpha to coverage dithering * Shader cache version bump * Fix wrong alpha register * Ensure support buffer is cleared * New shader specialization based approach
This commit is contained in:
parent
594246ea47
commit
b46b63e06a
20 changed files with 217 additions and 34 deletions
|
@ -918,6 +918,34 @@ namespace Ryujinx.Graphics.OpenGL
|
|||
}
|
||||
}
|
||||
|
||||
public void SetMultisampleState(MultisampleDescriptor multisample)
|
||||
{
|
||||
if (multisample.AlphaToCoverageEnable)
|
||||
{
|
||||
GL.Enable(EnableCap.SampleAlphaToCoverage);
|
||||
|
||||
if (multisample.AlphaToOneEnable)
|
||||
{
|
||||
GL.Enable(EnableCap.SampleAlphaToOne);
|
||||
}
|
||||
else
|
||||
{
|
||||
GL.Disable(EnableCap.SampleAlphaToOne);
|
||||
}
|
||||
|
||||
if (HwCapabilities.SupportsAlphaToCoverageDitherControl)
|
||||
{
|
||||
GL.NV.AlphaToCoverageDitherControl(multisample.AlphaToCoverageDitherEnable
|
||||
? NvAlphaToCoverageDitherControl.AlphaToCoverageDitherEnableNv
|
||||
: NvAlphaToCoverageDitherControl.AlphaToCoverageDitherDisableNv);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
GL.Disable(EnableCap.SampleAlphaToCoverage);
|
||||
}
|
||||
}
|
||||
|
||||
public void SetLineParameters(float width, bool smooth)
|
||||
{
|
||||
if (smooth)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue