Skip to content

Instantly share code, notes, and snippets.

@MaikKlein
Created June 27, 2018 18:25
Show Gist options
  • Save MaikKlein/da94caa05105c13d1cb7782e946805a0 to your computer and use it in GitHub Desktop.
Save MaikKlein/da94caa05105c13d1cb7782e946805a0 to your computer and use it in GitHub Desktop.
; SPIR-V
; Version: 1.0
; Generator: Google rspirv; 0
; Bound: 64
; Schema: 0
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %2 "compute" %12
OpExecutionMode %2 LocalSize 1 1 1
OpMemberName %_ZN9rlsl_math5entry6Buffer 0 "data"
OpName %_ZN9rlsl_math5entry6Buffer "_ZN9rlsl_math5entry6Buffer"
OpMemberName %_ZN9rlsl_math5entry7Compute 0 "local_invocation_index"
OpMemberName %_ZN9rlsl_math5entry7Compute 1 "global_invocation_index"
OpName %_ZN9rlsl_math5entry7Compute "_ZN9rlsl_math5entry7Compute"
OpName %bb0 "bb0"
OpName %bb1 "bb1"
OpName %bb2 "bb2"
OpName %bb3 "bb3"
OpDecorate %_runtimearr_float ArrayStride 4
OpMemberDecorate %_ZN9rlsl_math5entry6Buffer 0 Offset 0
OpMemberDecorate %_ZN9rlsl_math5entry7Compute 0 Offset 0
OpMemberDecorate %_ZN9rlsl_math5entry7Compute 1 Offset 16
OpMemberDecorate %_ZN9rlsl_math5entry7Compute 0 BuiltIn LocalInvocationIndex
OpMemberDecorate %_ZN9rlsl_math5entry7Compute 1 BuiltIn GlobalInvocationId
OpDecorate %7 DescriptorSet 0
OpDecorate %7 Binding 0
%float = OpTypeFloat 32
%_runtimearr_float = OpTypeRuntimeArray %float
%_ZN9rlsl_math5entry6Buffer = OpTypeStruct %_runtimearr_float
%_ptr_StorageBuffer__ZN9rlsl_math5entry6Buffer = OpTypePointer StorageBuffer %_ZN9rlsl_math5entry6Buffer
%7 = OpVariable %_ptr_StorageBuffer__ZN9rlsl_math5entry6Buffer StorageBuffer
%uint = OpTypeInt 32 0
%v3uint = OpTypeVector %uint 3
%_ZN9rlsl_math5entry7Compute = OpTypeStruct %uint %v3uint
%_ptr_Input__ZN9rlsl_math5entry7Compute = OpTypePointer Input %_ZN9rlsl_math5entry7Compute
%12 = OpVariable %_ptr_Input__ZN9rlsl_math5entry7Compute Input
%void = OpTypeVoid
%14 = OpTypeFunction %void
%_ptr_Function_uint = OpTypePointer Function %uint
%_ptr_Function_float = OpTypePointer Function %float
%bool = OpTypeBool
%_struct_32 = OpTypeStruct %uint %bool
%_ptr_Function__struct_32 = OpTypePointer Function %_struct_32
%_ptr_Function_void = OpTypePointer Function %void
%_ptr_Input_uint = OpTypePointer Input %uint
%uint_1 = OpConstant %uint 1
%uint_0 = OpConstant %uint 0
%_ptr_Function__runtimearr_float = OpTypePointer Function %_runtimearr_float
%_ptr_StorageBuffer__runtimearr_float = OpTypePointer StorageBuffer %_runtimearr_float
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
%_struct_51 = OpTypeStruct %uint %uint
%2 = OpFunction %void None %14
%15 = OpLabel
%21 = OpVariable %_ptr_Function_uint Function
%22 = OpVariable %_ptr_Function_uint Function
%24 = OpVariable %_ptr_Function_float Function
%25 = OpVariable %_ptr_Function_uint Function
%26 = OpVariable %_ptr_Function_float Function
%27 = OpVariable %_ptr_Function_uint Function
%28 = OpVariable %_ptr_Function_uint Function
%29 = OpVariable %_ptr_Function_uint Function
%30 = OpVariable %_ptr_Function_uint Function
%34 = OpVariable %_ptr_Function__struct_32 Function
%36 = OpVariable %_ptr_Function_void Function
OpBranch %bb0
%bb0 = OpLabel
%40 = OpAccessChain %_ptr_Input_uint %12 %uint_1 %uint_0
%41 = OpLoad %uint %40
OpStore %22 %41
%43 = OpLoad %uint %22
OpStore %25 %43
%45 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %7 %uint_0
%46 = OpLoad %uint %25
%48 = OpAccessChain %_ptr_StorageBuffer_float %45 %46
%49 = OpLoad %float %48
OpStore %24 %49
OpBranch %bb1
%bb1 = OpLabel
%50 = OpLoad %uint %22
OpStore %27 %50
%52 = OpIAddCarry %_struct_51 %uint_1 %uint_1
%53 = OpCompositeExtract %uint %52 0
%54 = OpCompositeExtract %uint %52 1
%55 = OpBitcast %bool %54
%56 = OpCompositeConstruct %_struct_32 %53 %55
OpStore %34 %56
OpBranch %bb2
%bb2 = OpLabel
%57 = OpAccessChain %_ptr_Function_uint %34 %uint_0
%58 = OpLoad %uint %57
OpStore %30 %58
%59 = OpLoad %uint %22
OpStore %28 %59
%60 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %7 %uint_0
%61 = OpLoad %uint %28
%62 = OpLoad %float %24
%63 = OpAccessChain %_ptr_StorageBuffer_float %60 %61
OpStore %63 %62
OpBranch %bb3
%bb3 = OpLabel
OpReturn
OpFunctionEnd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment