Add support for GL_NV_shader_sm_builtins
Including spirv and AST tests Also increase size of TBuiltInVariable bitfields since we've now exceeded 127 and add a static_assert to make this easier to find next time it happens!
This commit is contained in:
parent
92b5c9ee91
commit
2cb2f197a7
43 changed files with 825 additions and 20 deletions
62
Test/baseResults/spv.smBuiltins.vert.out
Normal file
62
Test/baseResults/spv.smBuiltins.vert.out
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
spv.smBuiltins.vert
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 29
|
||||
|
||||
Capability Shader
|
||||
Capability ShaderSMBuiltinsNV
|
||||
Extension "SPV_NV_shader_sm_builtins"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "main" 15 18 20 22 24
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_NV_shader_sm_builtins"
|
||||
Name 4 "main"
|
||||
Name 9 "Output"
|
||||
MemberName 9(Output) 0 "result"
|
||||
Name 11 ""
|
||||
Name 15 "gl_VertexIndex"
|
||||
Name 18 "gl_WarpsPerSMNV"
|
||||
Name 20 "gl_SMCountNV"
|
||||
Name 22 "gl_WarpIDNV"
|
||||
Name 24 "gl_SMIDNV"
|
||||
Decorate 8 ArrayStride 16
|
||||
MemberDecorate 9(Output) 0 Offset 0
|
||||
Decorate 9(Output) BufferBlock
|
||||
Decorate 11 DescriptorSet 0
|
||||
Decorate 11 Binding 0
|
||||
Decorate 15(gl_VertexIndex) BuiltIn VertexIndex
|
||||
Decorate 18(gl_WarpsPerSMNV) BuiltIn WarpsPerSMNV
|
||||
Decorate 20(gl_SMCountNV) BuiltIn SMCountNV
|
||||
Decorate 22(gl_WarpIDNV) BuiltIn WarpIDNV
|
||||
Decorate 24(gl_SMIDNV) BuiltIn SMIDNV
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypeVector 6(int) 4
|
||||
8: TypeRuntimeArray 7(ivec4)
|
||||
9(Output): TypeStruct 8
|
||||
10: TypePointer Uniform 9(Output)
|
||||
11: 10(ptr) Variable Uniform
|
||||
12: TypeInt 32 1
|
||||
13: 12(int) Constant 0
|
||||
14: TypePointer Input 12(int)
|
||||
15(gl_VertexIndex): 14(ptr) Variable Input
|
||||
17: TypePointer Input 6(int)
|
||||
18(gl_WarpsPerSMNV): 17(ptr) Variable Input
|
||||
20(gl_SMCountNV): 17(ptr) Variable Input
|
||||
22(gl_WarpIDNV): 17(ptr) Variable Input
|
||||
24(gl_SMIDNV): 17(ptr) Variable Input
|
||||
27: TypePointer Uniform 7(ivec4)
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
16: 12(int) Load 15(gl_VertexIndex)
|
||||
19: 6(int) Load 18(gl_WarpsPerSMNV)
|
||||
21: 6(int) Load 20(gl_SMCountNV)
|
||||
23: 6(int) Load 22(gl_WarpIDNV)
|
||||
25: 6(int) Load 24(gl_SMIDNV)
|
||||
26: 7(ivec4) CompositeConstruct 19 21 23 25
|
||||
28: 27(ptr) AccessChain 11 13 16
|
||||
Store 28 26
|
||||
Return
|
||||
FunctionEnd
|
||||
Loading…
Add table
Add a link
Reference in a new issue