[Bug]: Shader decompiler generates conflicting names for semantic variables
Are you on the latest version of AssetRipper?
Yes, I'm on the latest release of AssetRipper.
Which release are you using?
Windows x64
Which edition are you using?
Premium
Which game did this occur on?
https://steamdb.info/app/728880/
Which Unity version did this occur on?
Unity 2017.4.8f1
Is the game Mono or Il2Cpp?
Mono
Describe the issue.
When decompiling certain shaders, AssetRipper generates duplicate HLSL identifiers for different shader input/output semantics.
For example, the decompiled fragment input contains:
struct Fragment_Stage_Input { float2 fragment_input_1 : TEXCOORD; float2 fragment_input_1 : TEXCOORD1; };
Likewise, the vertex output contains:
struct Vertex_Stage_Output { float2 vertex_output_1 : TEXCOORD; float2 vertex_output_1 : TEXCOORD1; float2 vertex_output_2 : TEXCOORD2; // ... };
(NOTE: I'm not good at making bug reports so chatgpt did the bug description since I don't know a lot about shader and unity internal stuff.)
Relevant log output
N/A
Source: AssetRipper/AssetRipper