Fix bugs in missing Builtin decoration for some NV builtins for tessellation

control shaders.
Fix bug in member remapping.
This commit is contained in:
Ashwin Lele
2019-07-22 12:36:38 -07:00
parent 2bb2da9193
commit c1e61d6cff
10 changed files with 77 additions and 58 deletions

View File

@@ -1,8 +1,7 @@
spv.stereoViewRendering.tesc
Validation failed
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 38
// Id's are bound by 42
Capability Geometry
Capability Tessellation
@@ -14,7 +13,7 @@ Validation failed
Extension "SPV_NV_viewport_array2"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint TessellationControl 4 "main" 16 18 31 37
EntryPoint TessellationControl 4 "main" 16 18 31 41
ExecutionMode 4 OutputVertices 4
Source GLSL 450
SourceExtension "GL_NV_stereo_view_rendering"
@@ -32,7 +31,7 @@ Validation failed
MemberName 27(gl_PerVertex) 3 "gl_CullDistance"
MemberName 27(gl_PerVertex) 4 "gl_SecondaryPositionNV"
Name 31 "gl_in"
Name 37 "gl_Layer"
Name 41 "gl_Layer"
MemberDecorate 12(gl_PerVertex) 0 BuiltIn SecondaryPositionNV
MemberDecorate 12(gl_PerVertex) 1 BuiltIn SecondaryViewportMaskNV
Decorate 12(gl_PerVertex) Block
@@ -41,10 +40,11 @@ Validation failed
MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance
MemberDecorate 27(gl_PerVertex) 3 BuiltIn CullDistance
MemberDecorate 27(gl_PerVertex) 4 BuiltIn SecondaryPositionNV
Decorate 27(gl_PerVertex) Block
Decorate 37(gl_Layer) BuiltIn Layer
Decorate 37(gl_Layer) ViewportRelativeNV
Decorate 37(gl_Layer) SecondaryViewportRelativeNV 1
Decorate 41(gl_Layer) BuiltIn Layer
Decorate 41(gl_Layer) ViewportRelativeNV
Decorate 41(gl_Layer) SecondaryViewportRelativeNV 1
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -71,8 +71,9 @@ Validation failed
30: TypePointer Input 29
31(gl_in): 30(ptr) Variable Input
32: TypePointer Input 7(fvec4)
35: TypePointer Output 7(fvec4)
37(gl_Layer): 22(ptr) Variable Output
35: 8(int) Constant 4
39: TypePointer Output 7(fvec4)
41(gl_Layer): 22(ptr) Variable Output
4(main): 2 Function None 3
5: Label
19: 8(int) Load 18(gl_InvocationID)
@@ -81,7 +82,10 @@ Validation failed
24: 8(int) Load 18(gl_InvocationID)
33: 32(ptr) AccessChain 31(gl_in) 20 21
34: 7(fvec4) Load 33
36: 35(ptr) AccessChain 16(gl_out) 24 21
Store 36 34
36: 32(ptr) AccessChain 31(gl_in) 20 35
37: 7(fvec4) Load 36
38: 7(fvec4) FAdd 34 37
40: 39(ptr) AccessChain 16(gl_out) 24 21
Store 40 38
Return
FunctionEnd