From e59dba42efee4b7226581fa019227c2bb44fbc6c Mon Sep 17 00:00:00 2001
From: Mary Guillemard <mary@mary.zone>
Date: Sat, 10 Feb 2024 20:27:17 +0100
Subject: 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>
---
 src/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

(limited to 'src')

diff --git a/src/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs b/src/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs
index f1dffb35..e1157eea 100644
--- a/src/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs
+++ b/src/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs
@@ -80,9 +80,10 @@ namespace Ryujinx.Graphics.Shader.Translation
                 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));
             }
 
-- 
cgit v1.2.3-70-g09d2