Set PointSize in shader on OpenGL (#6292)
Previously we were only doing it for Vulkan, but it turns out that not setting it when PROGRAM_POINT_SIZE is set is considered UB on OpenGL Core. Signed-off-by: Mary <mary@mary.zone>
This commit is contained in:
parent
bd6937ae5c
commit
e59dba42ef
1 changed files with 3 additions and 2 deletions
|
@ -80,9 +80,10 @@ namespace Ryujinx.Graphics.Shader.Translation
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TranslatorContext.Definitions.Stage == ShaderStage.Vertex && TranslatorContext.Options.TargetApi == TargetApi.Vulkan)
|
// Vulkan requires the point size to be always written on the shader if the primitive topology is points.
|
||||||
|
// OpenGL requires the point size to be always written on the shader if PROGRAM_POINT_SIZE is set.
|
||||||
|
if (TranslatorContext.Definitions.Stage == ShaderStage.Vertex)
|
||||||
{
|
{
|
||||||
// Vulkan requires the point size to be always written on the shader if the primitive topology is points.
|
|
||||||
this.Store(StorageKind.Output, IoVariable.PointSize, null, ConstF(TranslatorContext.Definitions.PointSize));
|
this.Store(StorageKind.Output, IoVariable.PointSize, null, ConstF(TranslatorContext.Definitions.PointSize));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue