glslang/Test/baseResults/spv.300BuiltIns.vert.out
Steven Perron 33c7e30860
Don't emit duplicate decorations. (#3635)
It is invalid if the same decoration is applied to the same id multiple
times. This adds a check before adding a decoration that the decoration
is not already in the list. If it is, then the duplicate is not added.

Fixes #3627
2024-06-28 19:16:59 -04:00

75 lines
3.6 KiB
Plaintext

spv.300BuiltIns.vert
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 42
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 10 14 21 34
Source ESSL 310
Name 4 "main"
Name 8 "gl_PerVertex"
MemberName 8(gl_PerVertex) 0 "gl_Position"
MemberName 8(gl_PerVertex) 1 "gl_PointSize"
Name 10 ""
Name 14 "ps"
Name 21 "gl_VertexIndex"
Name 34 "gl_InstanceIndex"
Decorate 8(gl_PerVertex) Block
MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 8(gl_PerVertex) 0 Invariant
MemberDecorate 8(gl_PerVertex) 1 BuiltIn PointSize
Decorate 14(ps) RelaxedPrecision
Decorate 14(ps) Location 0
Decorate 15 RelaxedPrecision
Decorate 21(gl_VertexIndex) BuiltIn VertexIndex
Decorate 30 RelaxedPrecision
Decorate 34(gl_InstanceIndex) BuiltIn InstanceIndex
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8(gl_PerVertex): TypeStruct 7(fvec4) 6(float)
9: TypePointer Output 8(gl_PerVertex)
10: 9(ptr) Variable Output
11: TypeInt 32 1
12: 11(int) Constant 0
13: TypePointer Input 6(float)
14(ps): 13(ptr) Variable Input
17: TypePointer Output 7(fvec4)
19: 11(int) Constant 4
20: TypePointer Input 11(int)
21(gl_VertexIndex): 20(ptr) Variable Input
29: 11(int) Constant 1
31: TypePointer Output 6(float)
33: 11(int) Constant 5
34(gl_InstanceIndex): 20(ptr) Variable Input
4(main): 2 Function None 3
5: Label
15: 6(float) Load 14(ps)
16: 7(fvec4) CompositeConstruct 15 15 15 15
18: 17(ptr) AccessChain 10 12
Store 18 16
22: 11(int) Load 21(gl_VertexIndex)
23: 11(int) ISub 19 22
24: 6(float) ConvertSToF 23
25: 17(ptr) AccessChain 10 12
26: 7(fvec4) Load 25
27: 7(fvec4) VectorTimesScalar 26 24
28: 17(ptr) AccessChain 10 12
Store 28 27
30: 6(float) Load 14(ps)
32: 31(ptr) AccessChain 10 29
Store 32 30
35: 11(int) Load 34(gl_InstanceIndex)
36: 11(int) ISub 33 35
37: 6(float) ConvertSToF 36
38: 31(ptr) AccessChain 10 29
39: 6(float) Load 38
40: 6(float) FMul 39 37
41: 31(ptr) AccessChain 10 29
Store 41 40
Return
FunctionEnd