adding builtin support
This commit is contained in:
@@ -1,83 +1,68 @@
|
||||
OpCapability Shader
|
||||
%1 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %4 "main" %11 %20
|
||||
OpExecutionMode %4 LocalSize 1 1 1
|
||||
OpDecorate %11 BuiltIn NumWorkgroups
|
||||
OpDecorate %20 BuiltIn WorkgroupId
|
||||
OpMemberDecorate %37 0 Offset 0
|
||||
OpDecorate %38 ArrayStride 4
|
||||
OpDecorate %39 BufferBlock
|
||||
OpMemberDecorate %39 0 Offset 0
|
||||
OpDecorate %41 Binding 0
|
||||
OpDecorate %41 DescriptorSet 0
|
||||
OpMemberDecorate %50 0 Offset 0
|
||||
OpDecorate %51 ArrayStride 4
|
||||
OpDecorate %52 BufferBlock
|
||||
OpMemberDecorate %52 0 Offset 0
|
||||
OpDecorate %54 Binding 1
|
||||
OpDecorate %54 DescriptorSet 0
|
||||
OpDecorate %58 BuiltIn WorkgroupSize
|
||||
%2 = OpTypeVoid
|
||||
%3 = OpTypeFunction %2
|
||||
%6 = OpTypeInt 32 0
|
||||
%7 = OpTypePointer Function %6
|
||||
%9 = OpTypeVector %6 3
|
||||
%10 = OpTypePointer Input %9
|
||||
%11 = OpVariable %10 Input
|
||||
%12 = OpConstant %6 0
|
||||
%13 = OpTypePointer Input %6
|
||||
%16 = OpConstant %6 1
|
||||
%20 = OpVariable %10 Input
|
||||
%21 = OpConstant %6 2
|
||||
%34 = OpTypeInt 32 1
|
||||
%35 = OpTypePointer Function %34
|
||||
%37 = OpTypeStruct %34
|
||||
%38 = OpTypeRuntimeArray %37
|
||||
%39 = OpTypeStruct %38
|
||||
%40 = OpTypePointer Uniform %39
|
||||
%41 = OpVariable %40 Uniform
|
||||
%42 = OpConstant %34 0
|
||||
%44 = OpTypePointer Uniform %34
|
||||
%50 = OpTypeStruct %34
|
||||
%51 = OpTypeRuntimeArray %50
|
||||
%52 = OpTypeStruct %51
|
||||
%53 = OpTypePointer Uniform %52
|
||||
%54 = OpVariable %53 Uniform
|
||||
%58 = OpConstantComposite %9 %16 %16 %16
|
||||
%4 = OpFunction %2 None %3
|
||||
%5 = OpLabel
|
||||
%8 = OpVariable %7 Function
|
||||
%36 = OpVariable %35 Function
|
||||
%47 = OpVariable %35 Function
|
||||
%14 = OpAccessChain %13 %11 %12
|
||||
%15 = OpLoad %6 %14
|
||||
%17 = OpAccessChain %13 %11 %16
|
||||
%18 = OpLoad %6 %17
|
||||
%19 = OpIMul %6 %15 %18
|
||||
%22 = OpAccessChain %13 %20 %21
|
||||
%23 = OpLoad %6 %22
|
||||
%24 = OpIMul %6 %19 %23
|
||||
%25 = OpAccessChain %13 %11 %12
|
||||
%26 = OpLoad %6 %25
|
||||
%27 = OpAccessChain %13 %20 %16
|
||||
%28 = OpLoad %6 %27
|
||||
%29 = OpIMul %6 %26 %28
|
||||
%30 = OpIAdd %6 %24 %29
|
||||
%31 = OpAccessChain %13 %20 %12
|
||||
%32 = OpLoad %6 %31
|
||||
%33 = OpIAdd %6 %30 %32
|
||||
OpStore %8 %33
|
||||
%43 = OpLoad %6 %8
|
||||
%45 = OpAccessChain %44 %41 %42 %43 %42
|
||||
%46 = OpLoad %34 %45
|
||||
OpStore %36 %46
|
||||
%48 = OpLoad %34 %36
|
||||
%49 = OpExtInst %34 %1 SAbs %48
|
||||
OpStore %47 %49
|
||||
%55 = OpLoad %6 %8
|
||||
%56 = OpLoad %34 %47
|
||||
%57 = OpAccessChain %44 %54 %42 %55 %42
|
||||
OpStore %57 %56
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
Version 1.0
|
||||
Generator: 2560130
|
||||
Bound: 41
|
||||
Schema: 0
|
||||
OpCapability Capability(Shader)
|
||||
OpMemoryModel AddressingModel(Logical) MemoryModel(GLSL450)
|
||||
OpEntryPoint ExecutionModel(GLCompute) %18 "main" %11
|
||||
OpExecutionMode %18 ExecutionMode(LocalSize) 16 16 1
|
||||
OpSource SourceLanguage(NZSL) 4198400
|
||||
OpSourceExtension "Version: 1.1"
|
||||
OpName %3 "SSBO"
|
||||
OpMemberName %3 0 "data"
|
||||
OpName %14 "Input"
|
||||
OpMemberName %14 0 "indices"
|
||||
OpName %5 "ssbo"
|
||||
OpName %11 "global_invocation_indices"
|
||||
OpName %18 "main"
|
||||
OpDecorate %5 Decoration(Binding) 0
|
||||
OpDecorate %5 Decoration(DescriptorSet) 0
|
||||
OpDecorate %11 Decoration(BuiltIn) BuiltIn(GlobalInvocationId)
|
||||
OpDecorate %2 Decoration(ArrayStride) 4
|
||||
OpDecorate %3 Decoration(BufferBlock)
|
||||
OpMemberDecorate %3 0 Decoration(Offset) 0
|
||||
OpMemberDecorate %14 0 Decoration(Offset) 0
|
||||
%1 = OpTypeInt 32 1
|
||||
%2 = OpTypeRuntimeArray %1
|
||||
%3 = OpTypeStruct %2
|
||||
%4 = OpTypePointer StorageClass(Uniform) %3
|
||||
%6 = OpTypeVoid
|
||||
%7 = OpTypeFunction %6
|
||||
%8 = OpTypeInt 32 0
|
||||
%9 = OpTypeVector %8 3
|
||||
%10 = OpTypePointer StorageClass(Input) %9
|
||||
%12 = OpConstant %1 i32(0)
|
||||
%13 = OpTypePointer StorageClass(Function) %9
|
||||
%14 = OpTypeStruct %9
|
||||
%15 = OpTypePointer StorageClass(Function) %14
|
||||
%16 = OpTypeRuntimeArray %1
|
||||
%17 = OpConstant %1 i32(1)
|
||||
%31 = OpTypePointer StorageClass(Uniform) %2
|
||||
%40 = OpTypePointer StorageClass(Uniform) %1
|
||||
%5 = OpVariable %4 StorageClass(Uniform)
|
||||
%11 = OpVariable %10 StorageClass(Input)
|
||||
%18 = OpFunction %6 FunctionControl(0) %7
|
||||
%19 = OpLabel
|
||||
%20 = OpVariable %15 StorageClass(Function)
|
||||
%21 = OpAccessChain %13 %20 %12
|
||||
OpCopyMemory %21 %11
|
||||
%22 = OpAccessChain %13 %20 %12
|
||||
%23 = OpLoad %9 %22
|
||||
%24 = OpCompositeExtract %8 %23 0
|
||||
%25 = OpAccessChain %13 %20 %12
|
||||
%26 = OpLoad %9 %25
|
||||
%27 = OpCompositeExtract %8 %26 1
|
||||
%28 = OpIMul %8 %24 %27
|
||||
%29 = OpBitcast %1 %28
|
||||
%30 = OpAccessChain %31 %5 %12
|
||||
%32 = OpAccessChain %13 %20 %12
|
||||
%33 = OpLoad %9 %32
|
||||
%34 = OpCompositeExtract %8 %33 0
|
||||
%35 = OpAccessChain %13 %20 %12
|
||||
%36 = OpLoad %9 %35
|
||||
%37 = OpCompositeExtract %8 %36 1
|
||||
%38 = OpIMul %8 %34 %37
|
||||
%39 = OpAccessChain %40 %30 %38
|
||||
OpStore %39 %29
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
|
||||
Reference in New Issue
Block a user