Implement the extension GL_EXT_spirv_intrinsics
- Add support of SPIR-V execution mode qualifiers. - Add support of SPIR-V storage class qualifier. - Add support of SPIR-V decorate qualifiers. - Add support of SPIR-V type specifier. - Add support of SPIR-V intruction qualifiers. - Add support of spirv_by_reference/spirv_literal parameter qualifier. - Add shader stage macros introduced by this extension.
This commit is contained in:
parent
3d935ea224
commit
65a7fb7054
40 changed files with 7337 additions and 3967 deletions
88
Test/baseResults/spv.intrinsicsSpirvDecorate.frag.out
Normal file
88
Test/baseResults/spv.intrinsicsSpirvDecorate.frag.out
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
spv.intrinsicsSpirvDecorate.frag
|
||||
Validation failed
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 43
|
||||
|
||||
Capability Shader
|
||||
Extension "SPV_AMD_shader_explicit_vertex_parameter"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
14: ExtInstImport "SPV_AMD_shader_explicit_vertex_parameter"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 8 10 18 20 22 25 28 31 34 39
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_EXT_spirv_intrinsics"
|
||||
Name 4 "main"
|
||||
Name 8 "floatOut"
|
||||
Name 10 "floatIn"
|
||||
Name 18 "vec2Out"
|
||||
Name 20 "gl_BaryCoordNoPerspAMD"
|
||||
Name 22 "gl_BaryCoordNoPerspCentroidAMD"
|
||||
Name 25 "gl_BaryCoordNoPerspSampleAMD"
|
||||
Name 28 "gl_BaryCoordSmoothAMD"
|
||||
Name 31 "gl_BaryCoordSmoothCentroidAMD"
|
||||
Name 34 "gl_BaryCoordSmoothSampleAMD"
|
||||
Name 39 "gl_BaryCoordPullModelAMD"
|
||||
Decorate 8(floatOut) Location 0
|
||||
Decorate 10(floatIn) Location 0
|
||||
Decorate 10(floatIn) ExplicitInterpAMD
|
||||
Decorate 18(vec2Out) Location 1
|
||||
Decorate 20(gl_BaryCoordNoPerspAMD) Location 0
|
||||
Decorate 20(gl_BaryCoordNoPerspAMD) BuiltIn BaryCoordNoPerspAMD
|
||||
Decorate 22(gl_BaryCoordNoPerspCentroidAMD) Location 1
|
||||
Decorate 22(gl_BaryCoordNoPerspCentroidAMD) BuiltIn BaryCoordNoPerspCentroidAMD
|
||||
Decorate 25(gl_BaryCoordNoPerspSampleAMD) Location 2
|
||||
Decorate 25(gl_BaryCoordNoPerspSampleAMD) BuiltIn BaryCoordNoPerspSampleAMD
|
||||
Decorate 28(gl_BaryCoordSmoothAMD) Location 3
|
||||
Decorate 28(gl_BaryCoordSmoothAMD) BuiltIn BaryCoordSmoothAMD
|
||||
Decorate 31(gl_BaryCoordSmoothCentroidAMD) Location 4
|
||||
Decorate 31(gl_BaryCoordSmoothCentroidAMD) BuiltIn BaryCoordSmoothCentroidAMD
|
||||
Decorate 34(gl_BaryCoordSmoothSampleAMD) Location 5
|
||||
Decorate 34(gl_BaryCoordSmoothSampleAMD) BuiltIn BaryCoordSmoothSampleAMD
|
||||
Decorate 39(gl_BaryCoordPullModelAMD) Location 6
|
||||
Decorate 39(gl_BaryCoordPullModelAMD) BuiltIn BaryCoordPullModelAMD
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypePointer Output 6(float)
|
||||
8(floatOut): 7(ptr) Variable Output
|
||||
9: TypePointer Input 6(float)
|
||||
10(floatIn): 9(ptr) Variable Input
|
||||
12: TypeInt 32 0
|
||||
13: 12(int) Constant 1
|
||||
16: TypeVector 6(float) 2
|
||||
17: TypePointer Output 16(fvec2)
|
||||
18(vec2Out): 17(ptr) Variable Output
|
||||
19: TypePointer Input 16(fvec2)
|
||||
20(gl_BaryCoordNoPerspAMD): 19(ptr) Variable Input
|
||||
22(gl_BaryCoordNoPerspCentroidAMD): 19(ptr) Variable Input
|
||||
25(gl_BaryCoordNoPerspSampleAMD): 19(ptr) Variable Input
|
||||
28(gl_BaryCoordSmoothAMD): 19(ptr) Variable Input
|
||||
31(gl_BaryCoordSmoothCentroidAMD): 19(ptr) Variable Input
|
||||
34(gl_BaryCoordSmoothSampleAMD): 19(ptr) Variable Input
|
||||
37: TypeVector 6(float) 3
|
||||
38: TypePointer Input 37(fvec3)
|
||||
39(gl_BaryCoordPullModelAMD): 38(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
11: 6(float) Load 10(floatIn)
|
||||
15: 6(float) ExtInst 14(SPV_AMD_shader_explicit_vertex_parameter) 1(InterpolateAtVertexAMD) 11 13
|
||||
Store 8(floatOut) 15
|
||||
21: 16(fvec2) Load 20(gl_BaryCoordNoPerspAMD)
|
||||
23: 16(fvec2) Load 22(gl_BaryCoordNoPerspCentroidAMD)
|
||||
24: 16(fvec2) FAdd 21 23
|
||||
26: 16(fvec2) Load 25(gl_BaryCoordNoPerspSampleAMD)
|
||||
27: 16(fvec2) FAdd 24 26
|
||||
29: 16(fvec2) Load 28(gl_BaryCoordSmoothAMD)
|
||||
30: 16(fvec2) FAdd 27 29
|
||||
32: 16(fvec2) Load 31(gl_BaryCoordSmoothCentroidAMD)
|
||||
33: 16(fvec2) FAdd 30 32
|
||||
35: 16(fvec2) Load 34(gl_BaryCoordSmoothSampleAMD)
|
||||
36: 16(fvec2) FAdd 33 35
|
||||
40: 37(fvec3) Load 39(gl_BaryCoordPullModelAMD)
|
||||
41: 16(fvec2) VectorShuffle 40 40 0 1
|
||||
42: 16(fvec2) FAdd 36 41
|
||||
Store 18(vec2Out) 42
|
||||
Return
|
||||
FunctionEnd
|
||||
Loading…
Add table
Add a link
Reference in a new issue