| #include <stdint.h> |
| |
| #if 0 |
| ../cube.vert |
| Warning, version 400 is not yet complete; most version-specific features are present, but some are missing. |
| |
| |
| Linked vertex stage: |
| |
| |
| // Module Version 10000 |
| // Generated by (magic number): 80001 |
| // Id's are bound by 55 |
| |
| Capability Shader |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint Vertex 4 "main" 9 21 28 |
| Source GLSL 400 |
| SourceExtension "GL_ARB_separate_shader_objects" |
| SourceExtension "GL_ARB_shading_language_420pack" |
| Name 4 "main" |
| Name 9 "texcoord" |
| Name 15 "buf" |
| MemberName 15(buf) 0 "MVP" |
| MemberName 15(buf) 1 "position" |
| MemberName 15(buf) 2 "attr" |
| Name 17 "ubuf" |
| Name 21 "gl_VertexIndex" |
| Name 26 "gl_PerVertex" |
| MemberName 26(gl_PerVertex) 0 "gl_Position" |
| Name 28 "" |
| Decorate 9(texcoord) Location 0 |
| Decorate 13 ArrayStride 16 |
| Decorate 14 ArrayStride 16 |
| MemberDecorate 15(buf) 0 ColMajor |
| MemberDecorate 15(buf) 0 Offset 0 |
| MemberDecorate 15(buf) 0 MatrixStride 16 |
| MemberDecorate 15(buf) 1 Offset 64 |
| MemberDecorate 15(buf) 2 Offset 640 |
| Decorate 15(buf) Block |
| Decorate 17(ubuf) DescriptorSet 0 |
| Decorate 17(ubuf) Binding 0 |
| Decorate 21(gl_VertexIndex) BuiltIn VertexIndex |
| MemberDecorate 26(gl_PerVertex) 0 BuiltIn Position |
| Decorate 26(gl_PerVertex) Block |
| 2: TypeVoid |
| 3: TypeFunction 2 |
| 6: TypeFloat 32 |
| 7: TypeVector 6(float) 4 |
| 8: TypePointer Output 7(fvec4) |
| 9(texcoord): 8(ptr) Variable Output |
| 10: TypeMatrix 7(fvec4) 4 |
| 11: TypeInt 32 0 |
| 12: 11(int) Constant 36 |
| 13: TypeArray 7(fvec4) 12 |
| 14: TypeArray 7(fvec4) 12 |
| 15(buf): TypeStruct 10 13 14 |
| 16: TypePointer Uniform 15(buf) |
| 17(ubuf): 16(ptr) Variable Uniform |
| 18: TypeInt 32 1 |
| 19: 18(int) Constant 2 |
| 20: TypePointer Input 18(int) |
| 21(gl_VertexIndex): 20(ptr) Variable Input |
| 23: TypePointer Uniform 7(fvec4) |
| 26(gl_PerVertex): TypeStruct 7(fvec4) |
| 27: TypePointer Output 26(gl_PerVertex) |
| 28: 27(ptr) Variable Output |
| 29: 18(int) Constant 0 |
| 30: TypePointer Uniform 10 |
| 33: 18(int) Constant 1 |
| 39: 11(int) Constant 1 |
| 40: TypePointer Output 6(float) |
| 45: 11(int) Constant 2 |
| 48: 11(int) Constant 3 |
| 52: 6(float) Constant 1073741824 |
| 4(main): 2 Function None 3 |
| 5: Label |
| 22: 18(int) Load 21(gl_VertexIndex) |
| 24: 23(ptr) AccessChain 17(ubuf) 19 22 |
| 25: 7(fvec4) Load 24 |
| Store 9(texcoord) 25 |
| 31: 30(ptr) AccessChain 17(ubuf) 29 |
| 32: 10 Load 31 |
| 34: 18(int) Load 21(gl_VertexIndex) |
| 35: 23(ptr) AccessChain 17(ubuf) 33 34 |
| 36: 7(fvec4) Load 35 |
| 37: 7(fvec4) MatrixTimesVector 32 36 |
| 38: 8(ptr) AccessChain 28 29 |
| Store 38 37 |
| 41: 40(ptr) AccessChain 28 29 39 |
| 42: 6(float) Load 41 |
| 43: 6(float) FNegate 42 |
| 44: 40(ptr) AccessChain 28 29 39 |
| Store 44 43 |
| 46: 40(ptr) AccessChain 28 29 45 |
| 47: 6(float) Load 46 |
| 49: 40(ptr) AccessChain 28 29 48 |
| 50: 6(float) Load 49 |
| 51: 6(float) FAdd 47 50 |
| 53: 6(float) FDiv 51 52 |
| 54: 40(ptr) AccessChain 28 29 45 |
| Store 54 53 |
| Return |
| FunctionEnd |
| #endif |
| |
| static const uint32_t cube_vert[396] = { |
| 0x07230203, 0x00010000, 0x00080001, 0x00000037, 0x00000000, 0x00020011, 0x00000001, 0x0006000b, 0x00000001, 0x4c534c47, |
| 0x6474732e, 0x3035342e, 0x00000000, 0x0003000e, 0x00000000, 0x00000001, 0x0008000f, 0x00000000, 0x00000004, 0x6e69616d, |
| 0x00000000, 0x00000009, 0x00000015, 0x0000001c, 0x00030003, 0x00000002, 0x00000190, 0x00090004, 0x415f4c47, 0x735f4252, |
| 0x72617065, 0x5f657461, 0x64616873, 0x6f5f7265, 0x63656a62, 0x00007374, 0x00090004, 0x415f4c47, 0x735f4252, 0x69646168, |
| 0x6c5f676e, 0x75676e61, 0x5f656761, 0x70303234, 0x006b6361, 0x00040005, 0x00000004, 0x6e69616d, 0x00000000, 0x00050005, |
| 0x00000009, 0x63786574, 0x64726f6f, 0x00000000, 0x00030005, 0x0000000f, 0x00667562, 0x00040006, 0x0000000f, 0x00000000, |
| 0x0050564d, 0x00060006, 0x0000000f, 0x00000001, 0x69736f70, 0x6e6f6974, 0x00000000, 0x00050006, 0x0000000f, 0x00000002, |
| 0x72747461, 0x00000000, 0x00040005, 0x00000011, 0x66756275, 0x00000000, 0x00060005, 0x00000015, 0x565f6c67, 0x65747265, |
| 0x646e4978, 0x00007865, 0x00060005, 0x0000001a, 0x505f6c67, 0x65567265, 0x78657472, 0x00000000, 0x00060006, 0x0000001a, |
| 0x00000000, 0x505f6c67, 0x7469736f, 0x006e6f69, 0x00030005, 0x0000001c, 0x00000000, 0x00040047, 0x00000009, 0x0000001e, |
| 0x00000000, 0x00040047, 0x0000000d, 0x00000006, 0x00000010, 0x00040047, 0x0000000e, 0x00000006, 0x00000010, 0x00040048, |
| 0x0000000f, 0x00000000, 0x00000005, 0x00050048, 0x0000000f, 0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x0000000f, |
| 0x00000000, 0x00000007, 0x00000010, 0x00050048, 0x0000000f, 0x00000001, 0x00000023, 0x00000040, 0x00050048, 0x0000000f, |
| 0x00000002, 0x00000023, 0x00000280, 0x00030047, 0x0000000f, 0x00000002, 0x00040047, 0x00000011, 0x00000022, 0x00000000, |
| 0x00040047, 0x00000011, 0x00000021, 0x00000000, 0x00040047, 0x00000015, 0x0000000b, 0x0000002a, 0x00050048, 0x0000001a, |
| 0x00000000, 0x0000000b, 0x00000000, 0x00030047, 0x0000001a, 0x00000002, 0x00020013, 0x00000002, 0x00030021, 0x00000003, |
| 0x00000002, 0x00030016, 0x00000006, 0x00000020, 0x00040017, 0x00000007, 0x00000006, 0x00000004, 0x00040020, 0x00000008, |
| 0x00000003, 0x00000007, 0x0004003b, 0x00000008, 0x00000009, 0x00000003, 0x00040018, 0x0000000a, 0x00000007, 0x00000004, |
| 0x00040015, 0x0000000b, 0x00000020, 0x00000000, 0x0004002b, 0x0000000b, 0x0000000c, 0x00000024, 0x0004001c, 0x0000000d, |
| 0x00000007, 0x0000000c, 0x0004001c, 0x0000000e, 0x00000007, 0x0000000c, 0x0005001e, 0x0000000f, 0x0000000a, 0x0000000d, |
| 0x0000000e, 0x00040020, 0x00000010, 0x00000002, 0x0000000f, 0x0004003b, 0x00000010, 0x00000011, 0x00000002, 0x00040015, |
| 0x00000012, 0x00000020, 0x00000001, 0x0004002b, 0x00000012, 0x00000013, 0x00000002, 0x00040020, 0x00000014, 0x00000001, |
| 0x00000012, 0x0004003b, 0x00000014, 0x00000015, 0x00000001, 0x00040020, 0x00000017, 0x00000002, 0x00000007, 0x0003001e, |
| 0x0000001a, 0x00000007, 0x00040020, 0x0000001b, 0x00000003, 0x0000001a, 0x0004003b, 0x0000001b, 0x0000001c, 0x00000003, |
| 0x0004002b, 0x00000012, 0x0000001d, 0x00000000, 0x00040020, 0x0000001e, 0x00000002, 0x0000000a, 0x0004002b, 0x00000012, |
| 0x00000021, 0x00000001, 0x0004002b, 0x0000000b, 0x00000027, 0x00000001, 0x00040020, 0x00000028, 0x00000003, 0x00000006, |
| 0x0004002b, 0x0000000b, 0x0000002d, 0x00000002, 0x0004002b, 0x0000000b, 0x00000030, 0x00000003, 0x0004002b, 0x00000006, |
| 0x00000034, 0x40000000, 0x00050036, 0x00000002, 0x00000004, 0x00000000, 0x00000003, 0x000200f8, 0x00000005, 0x0004003d, |
| 0x00000012, 0x00000016, 0x00000015, 0x00060041, 0x00000017, 0x00000018, 0x00000011, 0x00000013, 0x00000016, 0x0004003d, |
| 0x00000007, 0x00000019, 0x00000018, 0x0003003e, 0x00000009, 0x00000019, 0x00050041, 0x0000001e, 0x0000001f, 0x00000011, |
| 0x0000001d, 0x0004003d, 0x0000000a, 0x00000020, 0x0000001f, 0x0004003d, 0x00000012, 0x00000022, 0x00000015, 0x00060041, |
| 0x00000017, 0x00000023, 0x00000011, 0x00000021, 0x00000022, 0x0004003d, 0x00000007, 0x00000024, 0x00000023, 0x00050091, |
| 0x00000007, 0x00000025, 0x00000020, 0x00000024, 0x00050041, 0x00000008, 0x00000026, 0x0000001c, 0x0000001d, 0x0003003e, |
| 0x00000026, 0x00000025, 0x00060041, 0x00000028, 0x00000029, 0x0000001c, 0x0000001d, 0x00000027, 0x0004003d, 0x00000006, |
| 0x0000002a, 0x00000029, 0x0004007f, 0x00000006, 0x0000002b, 0x0000002a, 0x00060041, 0x00000028, 0x0000002c, 0x0000001c, |
| 0x0000001d, 0x00000027, 0x0003003e, 0x0000002c, 0x0000002b, 0x00060041, 0x00000028, 0x0000002e, 0x0000001c, 0x0000001d, |
| 0x0000002d, 0x0004003d, 0x00000006, 0x0000002f, 0x0000002e, 0x00060041, 0x00000028, 0x00000031, 0x0000001c, 0x0000001d, |
| 0x00000030, 0x0004003d, 0x00000006, 0x00000032, 0x00000031, 0x00050081, 0x00000006, 0x00000033, 0x0000002f, 0x00000032, |
| 0x00050088, 0x00000006, 0x00000035, 0x00000033, 0x00000034, 0x00060041, 0x00000028, 0x00000036, 0x0000001c, 0x0000001d, |
| 0x0000002d, 0x0003003e, 0x00000036, 0x00000035, 0x000100fd, 0x00010038, |
| }; |