Uses SPV_KHR_workgroup_memory_explicit_layout. Note that if GL_EXT_scalar_block_layout is enabled, Workgroup blocks can also use scalar layout.
		
			
				
	
	
		
			85 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
spv.WorkgroupMemoryExplicitLayout.scalar.comp
 | 
						|
// Module Version 10400
 | 
						|
// Generated by (magic number): 8000a
 | 
						|
// Id's are bound by 29
 | 
						|
 | 
						|
                              Capability Shader
 | 
						|
                              Capability CapabilityWorkgroupMemoryExplicitLayoutKHR
 | 
						|
                              Extension  "SPV_KHR_workgroup_memory_explicit_layout"
 | 
						|
               1:             ExtInstImport  "GLSL.std.450"
 | 
						|
                              MemoryModel Logical GLSL450
 | 
						|
                              EntryPoint GLCompute 4  "main" 28
 | 
						|
                              ExecutionMode 4 LocalSize 8 1 1
 | 
						|
                              Source GLSL 430
 | 
						|
                              SourceExtension  "GL_EXT_scalar_block_layout"
 | 
						|
                              SourceExtension  "GL_EXT_shared_memory_block"
 | 
						|
                              Name 4  "main"
 | 
						|
                              Name 17  "T"
 | 
						|
                              MemberName 17(T) 0  "t"
 | 
						|
                              Name 24  "S"
 | 
						|
                              MemberName 24(S) 0  "f"
 | 
						|
                              MemberName 24(S) 1  "v2"
 | 
						|
                              MemberName 24(S) 2  "v3"
 | 
						|
                              MemberName 24(S) 3  "v4"
 | 
						|
                              MemberName 24(S) 4  "t"
 | 
						|
                              MemberName 24(S) 5  "f_array"
 | 
						|
                              MemberName 24(S) 6  "v2_array"
 | 
						|
                              MemberName 24(S) 7  "v3_array"
 | 
						|
                              MemberName 24(S) 8  "v4_array"
 | 
						|
                              MemberName 24(S) 9  "t_array"
 | 
						|
                              Name 26  "Block"
 | 
						|
                              MemberName 26(Block) 0  "s"
 | 
						|
                              MemberName 26(Block) 1  "s_array"
 | 
						|
                              Name 28  ""
 | 
						|
                              Decorate 10 BuiltIn WorkgroupSize
 | 
						|
                              Decorate 16 ArrayStride 4
 | 
						|
                              MemberDecorate 17(T) 0 Offset 0
 | 
						|
                              Decorate 19 ArrayStride 4
 | 
						|
                              Decorate 20 ArrayStride 8
 | 
						|
                              Decorate 21 ArrayStride 12
 | 
						|
                              Decorate 22 ArrayStride 16
 | 
						|
                              Decorate 23 ArrayStride 12
 | 
						|
                              MemberDecorate 24(S) 0 Offset 0
 | 
						|
                              MemberDecorate 24(S) 1 Offset 4
 | 
						|
                              MemberDecorate 24(S) 2 Offset 12
 | 
						|
                              MemberDecorate 24(S) 3 Offset 24
 | 
						|
                              MemberDecorate 24(S) 4 Offset 40
 | 
						|
                              MemberDecorate 24(S) 5 Offset 52
 | 
						|
                              MemberDecorate 24(S) 6 Offset 76
 | 
						|
                              MemberDecorate 24(S) 7 Offset 124
 | 
						|
                              MemberDecorate 24(S) 8 Offset 196
 | 
						|
                              MemberDecorate 24(S) 9 Offset 292
 | 
						|
                              Decorate 25 ArrayStride 364
 | 
						|
                              MemberDecorate 26(Block) 0 Offset 0
 | 
						|
                              MemberDecorate 26(Block) 1 Offset 364
 | 
						|
                              Decorate 26(Block) Block
 | 
						|
               2:             TypeVoid
 | 
						|
               3:             TypeFunction 2
 | 
						|
               6:             TypeInt 32 0
 | 
						|
               7:             TypeVector 6(int) 3
 | 
						|
               8:      6(int) Constant 8
 | 
						|
               9:      6(int) Constant 1
 | 
						|
              10:    7(ivec3) ConstantComposite 8 9 9
 | 
						|
              11:             TypeFloat 32
 | 
						|
              12:             TypeVector 11(float) 2
 | 
						|
              13:             TypeVector 11(float) 3
 | 
						|
              14:             TypeVector 11(float) 4
 | 
						|
              15:      6(int) Constant 3
 | 
						|
              16:             TypeArray 11(float) 15
 | 
						|
           17(T):             TypeStruct 16
 | 
						|
              18:      6(int) Constant 6
 | 
						|
              19:             TypeArray 11(float) 18
 | 
						|
              20:             TypeArray 12(fvec2) 18
 | 
						|
              21:             TypeArray 13(fvec3) 18
 | 
						|
              22:             TypeArray 14(fvec4) 18
 | 
						|
              23:             TypeArray 17(T) 18
 | 
						|
           24(S):             TypeStruct 11(float) 12(fvec2) 13(fvec3) 14(fvec4) 17(T) 19 20 21 22 23
 | 
						|
              25:             TypeArray 24(S) 18
 | 
						|
       26(Block):             TypeStruct 24(S) 25
 | 
						|
              27:             TypePointer Workgroup 26(Block)
 | 
						|
              28:     27(ptr) Variable Workgroup
 | 
						|
         4(main):           2 Function None 3
 | 
						|
               5:             Label
 | 
						|
                              Return
 | 
						|
                              FunctionEnd
 |