From 4e8f97d64dcb300ddb126ebb766ffeebb7535b24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Mon, 7 Nov 2022 22:25:03 +0100 Subject: [PATCH] Output shader descriptions directly in the source code --- GPU/Common/FragmentShaderGenerator.cpp | 2 ++ GPU/Common/GeometryShaderGenerator.cpp | 3 +++ GPU/Common/VertexShaderGenerator.cpp | 2 ++ 3 files changed, 7 insertions(+) diff --git a/GPU/Common/FragmentShaderGenerator.cpp b/GPU/Common/FragmentShaderGenerator.cpp index 1cfd750540..9e90a707f3 100644 --- a/GPU/Common/FragmentShaderGenerator.cpp +++ b/GPU/Common/FragmentShaderGenerator.cpp @@ -94,6 +94,8 @@ bool GenerateFragmentShader(const FShaderID &id, char *buffer, const ShaderLangu } ShaderWriter p(buffer, compat, ShaderStage::Fragment, extensions, flags); + p.F("// %s\n", FragmentShaderDesc(id).c_str()); + p.ApplySamplerMetadata(arrayTexture ? samplersStereo : samplersMono); bool lmode = id.Bit(FS_BIT_LMODE); diff --git a/GPU/Common/GeometryShaderGenerator.cpp b/GPU/Common/GeometryShaderGenerator.cpp index 1438cbb6f5..12bf25a550 100644 --- a/GPU/Common/GeometryShaderGenerator.cpp +++ b/GPU/Common/GeometryShaderGenerator.cpp @@ -49,6 +49,9 @@ bool GenerateGeometryShader(const GShaderID &id, char *buffer, const ShaderLangu bool clipClampedDepth = gstate_c.Use(GPU_USE_DEPTH_CLAMP); ShaderWriter p(buffer, compat, ShaderStage::Geometry, extensions); + + p.F("// %s\n", GeometryShaderDesc(id).c_str()); + p.C("layout(triangles) in;\n"); if (clipClampedDepth && vertexRangeCulling && !gstate_c.Use(GPU_USE_CLIP_DISTANCE)) { p.C("layout(triangle_strip, max_vertices = 12) out;\n"); diff --git a/GPU/Common/VertexShaderGenerator.cpp b/GPU/Common/VertexShaderGenerator.cpp index fd99a52cd9..5354e82b96 100644 --- a/GPU/Common/VertexShaderGenerator.cpp +++ b/GPU/Common/VertexShaderGenerator.cpp @@ -168,6 +168,8 @@ bool GenerateVertexShader(const VShaderID &id, char *buffer, const ShaderLanguag ShaderWriter p(buffer, compat, ShaderStage::Vertex, extensions); + p.F("// %s\n", VertexShaderDesc(id).c_str()); + bool isModeThrough = id.Bit(VS_BIT_IS_THROUGH); bool lmode = id.Bit(VS_BIT_LMODE); bool doTexture = id.Bit(VS_BIT_DO_TEXTURE);