--- /dev/null
+hlsl.pp.line.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:131 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
+0:4 Function Parameters:
+0:? Sequence
+0:124 Sequence
+0:124 move second child to first child (temp int)
+0:124 'thisLineIs' (temp int)
+0:124 Constant:
+0:124 124 (const int)
+0:126 move second child to first child (temp 4-component vector of float)
+0:126 Color: direct index for structure (temp 4-component vector of float)
+0:126 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
+0:126 Constant:
+0:126 0 (const int)
+0:? Construct vec4 (temp 4-component vector of float)
+0:126 Convert int to float (temp float)
+0:126 'thisLineIs' (temp int)
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 1.000000
+0:127 move second child to first child (temp float)
+0:127 Depth: direct index for structure (temp float FragDepth)
+0:127 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
+0:127 Constant:
+0:127 1 (const int)
+0:127 Constant:
+0:127 1.000000
+0:129 Branch: Return with expression
+0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:131 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
+0:4 Function Parameters:
+0:? Sequence
+0:124 Sequence
+0:124 move second child to first child (temp int)
+0:124 'thisLineIs' (temp int)
+0:124 Constant:
+0:124 124 (const int)
+0:126 move second child to first child (temp 4-component vector of float)
+0:126 Color: direct index for structure (temp 4-component vector of float)
+0:126 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
+0:126 Constant:
+0:126 0 (const int)
+0:? Construct vec4 (temp 4-component vector of float)
+0:126 Convert int to float (temp float)
+0:126 'thisLineIs' (temp int)
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 0.000000
+0:126 Constant:
+0:126 1.000000
+0:127 move second child to first child (temp float)
+0:127 Depth: direct index for structure (temp float FragDepth)
+0:127 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
+0:127 Constant:
+0:127 1 (const int)
+0:127 Constant:
+0:127 1.000000
+0:129 Branch: Return with expression
+0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
+0:? Linker Objects
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 28
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main"
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "main"
+ Name 8 "thisLineIs"
+ Name 12 "PS_OUTPUT"
+ MemberName 12(PS_OUTPUT) 0 "Color"
+ MemberName 12(PS_OUTPUT) 1 "Depth"
+ Name 14 "psout"
+ MemberDecorate 12(PS_OUTPUT) 1 BuiltIn FragDepth
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 124
+ 10: TypeFloat 32
+ 11: TypeVector 10(float) 4
+ 12(PS_OUTPUT): TypeStruct 11(fvec4) 10(float)
+ 13: TypePointer Function 12(PS_OUTPUT)
+ 15: 6(int) Constant 0
+ 18: 10(float) Constant 0
+ 19: 10(float) Constant 1065353216
+ 21: TypePointer Function 11(fvec4)
+ 23: 6(int) Constant 1
+ 24: TypePointer Function 10(float)
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(thisLineIs): 7(ptr) Variable Function
+ 14(psout): 13(ptr) Variable Function
+ Store 8(thisLineIs) 9
+ 16: 6(int) Load 8(thisLineIs)
+ 17: 10(float) ConvertSToF 16
+ 20: 11(fvec4) CompositeConstruct 17 18 18 19
+ 22: 21(ptr) AccessChain 14(psout) 15
+ Store 22 20
+ 25: 24(ptr) AccessChain 14(psout) 23
+ Store 25 19
+ 26:12(PS_OUTPUT) Load 14(psout)
+ ReturnValue 26
+ FunctionEnd
int version, EProfile, const SpvVersion& spvVersion, EShLanguage, TInfoSink&,
bool forwardCompatible = false, EShMessages messages = EShMsgDefault);
virtual ~HlslParseContext();
+ void initializeExtensionBehavior();
+
void setLimits(const TBuiltInResource&);
bool parseShaderStrings(TPpContext&, TInputScanner& input, bool versionWillBeError = false);
void getPreamble(std::string&);
HlslParseContext(HlslParseContext&);
HlslParseContext& operator=(HlslParseContext&);
- TMap<TString, TExtensionBehavior> extensionBehavior; // for each extension string, what its current behavior is set to
static const int maxSamplerIndex = EsdNumDims * (EbtNumTypes * (2 * 2 * 2)); // see computeSamplerTypeIndex()
bool afterEOF;
TQualifier globalBufferDefaults;