Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'shaders-hlsl/asm/comp/nmin-max-clamp.asm.comp')
-rw-r--r--shaders-hlsl/asm/comp/nmin-max-clamp.asm.comp203
1 files changed, 203 insertions, 0 deletions
diff --git a/shaders-hlsl/asm/comp/nmin-max-clamp.asm.comp b/shaders-hlsl/asm/comp/nmin-max-clamp.asm.comp
new file mode 100644
index 00000000..6c060eed
--- /dev/null
+++ b/shaders-hlsl/asm/comp/nmin-max-clamp.asm.comp
@@ -0,0 +1,203 @@
+; SPIR-V
+; Version: 1.3
+; Generator: Khronos SPIR-V Tools Assembler; 0
+; Bound: 139
+; Schema: 0
+ OpCapability Shader
+ %1 = OpExtInstImport "GLSL.std.450"
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint GLCompute %main "main"
+ OpExecutionMode %main LocalSize 1 1 1
+ OpSource GLSL 450
+ OpName %main "main"
+ OpName %SSBO "SSBO"
+ OpMemberName %SSBO 0 "a1"
+ OpMemberName %SSBO 1 "a2"
+ OpMemberName %SSBO 2 "a3"
+ OpMemberName %SSBO 3 "a4"
+ OpMemberName %SSBO 4 "b1"
+ OpMemberName %SSBO 5 "b2"
+ OpMemberName %SSBO 6 "b3"
+ OpMemberName %SSBO 7 "b4"
+ OpMemberName %SSBO 8 "c1"
+ OpMemberName %SSBO 9 "c2"
+ OpMemberName %SSBO 10 "c3"
+ OpMemberName %SSBO 11 "c4"
+ OpName %_ ""
+ OpName %i "i"
+ OpMemberDecorate %SSBO 0 Offset 0
+ OpMemberDecorate %SSBO 1 Offset 8
+ OpMemberDecorate %SSBO 2 Offset 16
+ OpMemberDecorate %SSBO 3 Offset 32
+ OpMemberDecorate %SSBO 4 Offset 48
+ OpMemberDecorate %SSBO 5 Offset 56
+ OpMemberDecorate %SSBO 6 Offset 64
+ OpMemberDecorate %SSBO 7 Offset 80
+ OpMemberDecorate %SSBO 8 Offset 96
+ OpMemberDecorate %SSBO 9 Offset 104
+ OpMemberDecorate %SSBO 10 Offset 112
+ OpMemberDecorate %SSBO 11 Offset 128
+ OpDecorate %SSBO BufferBlock
+ OpDecorate %_ DescriptorSet 0
+ OpDecorate %_ Binding 0
+ %void = OpTypeVoid
+ %7 = OpTypeFunction %void
+ %float = OpTypeFloat 32
+ %v2float = OpTypeVector %float 2
+ %v3float = OpTypeVector %float 3
+ %v4float = OpTypeVector %float 4
+ %SSBO = OpTypeStruct %float %v2float %v3float %v4float %float %v2float %v3float %v4float %float %v2float %v3float %v4float
+%_ptr_Uniform_SSBO = OpTypePointer Uniform %SSBO
+ %_ = OpVariable %_ptr_Uniform_SSBO Uniform
+ %int = OpTypeInt 32 1
+ %int_0 = OpConstant %int 0
+ %int_4 = OpConstant %int 4
+%_ptr_Uniform_float = OpTypePointer Uniform %float
+ %int_8 = OpConstant %int 8
+ %int_1 = OpConstant %int 1
+ %int_5 = OpConstant %int 5
+%_ptr_Uniform_v2float = OpTypePointer Uniform %v2float
+ %int_9 = OpConstant %int 9
+ %int_2 = OpConstant %int 2
+ %int_6 = OpConstant %int 6
+%_ptr_Uniform_v3float = OpTypePointer Uniform %v3float
+ %int_10 = OpConstant %int 10
+ %int_3 = OpConstant %int 3
+ %int_7 = OpConstant %int 7
+%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
+ %int_11 = OpConstant %int 11
+%_ptr_Function_int = OpTypePointer Function %int
+ %bool = OpTypeBool
+ %uint = OpTypeInt 32 0
+ %uint_0 = OpConstant %uint 0
+ %uint_1 = OpConstant %uint 1
+ %main = OpFunction %void None %7
+ %35 = OpLabel
+ %i = OpVariable %_ptr_Function_int Function
+ %36 = OpAccessChain %_ptr_Uniform_float %_ %int_4
+ %37 = OpLoad %float %36
+ %38 = OpAccessChain %_ptr_Uniform_float %_ %int_8
+ %39 = OpLoad %float %38
+ %40 = OpExtInst %float %1 NMin %37 %39
+ %41 = OpAccessChain %_ptr_Uniform_float %_ %int_0
+ OpStore %41 %40
+ %42 = OpAccessChain %_ptr_Uniform_v2float %_ %int_5
+ %43 = OpLoad %v2float %42
+ %44 = OpAccessChain %_ptr_Uniform_v2float %_ %int_9
+ %45 = OpLoad %v2float %44
+ %46 = OpExtInst %v2float %1 NMin %43 %45
+ %47 = OpAccessChain %_ptr_Uniform_v2float %_ %int_1
+ OpStore %47 %46
+ %48 = OpAccessChain %_ptr_Uniform_v3float %_ %int_6
+ %49 = OpLoad %v3float %48
+ %50 = OpAccessChain %_ptr_Uniform_v3float %_ %int_10
+ %51 = OpLoad %v3float %50
+ %52 = OpExtInst %v3float %1 NMin %49 %51
+ %53 = OpAccessChain %_ptr_Uniform_v3float %_ %int_2
+ OpStore %53 %52
+ %54 = OpAccessChain %_ptr_Uniform_v4float %_ %int_7
+ %55 = OpLoad %v4float %54
+ %56 = OpAccessChain %_ptr_Uniform_v4float %_ %int_11
+ %57 = OpLoad %v4float %56
+ %58 = OpExtInst %v4float %1 NMin %55 %57
+ %59 = OpAccessChain %_ptr_Uniform_v4float %_ %int_3
+ OpStore %59 %58
+ %60 = OpAccessChain %_ptr_Uniform_float %_ %int_4
+ %61 = OpLoad %float %60
+ %62 = OpAccessChain %_ptr_Uniform_float %_ %int_8
+ %63 = OpLoad %float %62
+ %64 = OpExtInst %float %1 NMax %61 %63
+ %65 = OpAccessChain %_ptr_Uniform_float %_ %int_0
+ OpStore %65 %64
+ %66 = OpAccessChain %_ptr_Uniform_v2float %_ %int_5
+ %67 = OpLoad %v2float %66
+ %68 = OpAccessChain %_ptr_Uniform_v2float %_ %int_9
+ %69 = OpLoad %v2float %68
+ %70 = OpExtInst %v2float %1 NMax %67 %69
+ %71 = OpAccessChain %_ptr_Uniform_v2float %_ %int_1
+ OpStore %71 %70
+ %72 = OpAccessChain %_ptr_Uniform_v3float %_ %int_6
+ %73 = OpLoad %v3float %72
+ %74 = OpAccessChain %_ptr_Uniform_v3float %_ %int_10
+ %75 = OpLoad %v3float %74
+ %76 = OpExtInst %v3float %1 NMax %73 %75
+ %77 = OpAccessChain %_ptr_Uniform_v3float %_ %int_2
+ OpStore %77 %76
+ %78 = OpAccessChain %_ptr_Uniform_v4float %_ %int_7
+ %79 = OpLoad %v4float %78
+ %80 = OpAccessChain %_ptr_Uniform_v4float %_ %int_11
+ %81 = OpLoad %v4float %80
+ %82 = OpExtInst %v4float %1 NMax %79 %81
+ %83 = OpAccessChain %_ptr_Uniform_v4float %_ %int_3
+ OpStore %83 %82
+ %84 = OpAccessChain %_ptr_Uniform_float %_ %int_0
+ %85 = OpLoad %float %84
+ %86 = OpAccessChain %_ptr_Uniform_float %_ %int_4
+ %87 = OpLoad %float %86
+ %88 = OpAccessChain %_ptr_Uniform_float %_ %int_8
+ %89 = OpLoad %float %88
+ %90 = OpExtInst %float %1 NClamp %85 %87 %89
+ %91 = OpAccessChain %_ptr_Uniform_float %_ %int_0
+ OpStore %91 %90
+ %92 = OpAccessChain %_ptr_Uniform_v2float %_ %int_1
+ %93 = OpLoad %v2float %92
+ %94 = OpAccessChain %_ptr_Uniform_v2float %_ %int_5
+ %95 = OpLoad %v2float %94
+ %96 = OpAccessChain %_ptr_Uniform_v2float %_ %int_9
+ %97 = OpLoad %v2float %96
+ %98 = OpExtInst %v2float %1 NClamp %93 %95 %97
+ %99 = OpAccessChain %_ptr_Uniform_v2float %_ %int_1
+ OpStore %99 %98
+ %100 = OpAccessChain %_ptr_Uniform_v3float %_ %int_2
+ %101 = OpLoad %v3float %100
+ %102 = OpAccessChain %_ptr_Uniform_v3float %_ %int_6
+ %103 = OpLoad %v3float %102
+ %104 = OpAccessChain %_ptr_Uniform_v3float %_ %int_10
+ %105 = OpLoad %v3float %104
+ %106 = OpExtInst %v3float %1 NClamp %101 %103 %105
+ %107 = OpAccessChain %_ptr_Uniform_v3float %_ %int_2
+ OpStore %107 %106
+ %108 = OpAccessChain %_ptr_Uniform_v4float %_ %int_3
+ %109 = OpLoad %v4float %108
+ %110 = OpAccessChain %_ptr_Uniform_v4float %_ %int_7
+ %111 = OpLoad %v4float %110
+ %112 = OpAccessChain %_ptr_Uniform_v4float %_ %int_11
+ %113 = OpLoad %v4float %112
+ %114 = OpExtInst %v4float %1 NClamp %109 %111 %113
+ %115 = OpAccessChain %_ptr_Uniform_v4float %_ %int_3
+ OpStore %115 %114
+ OpStore %i %int_0
+ OpBranch %116
+ %116 = OpLabel
+ OpLoopMerge %117 %118 None
+ OpBranch %119
+ %119 = OpLabel
+ %120 = OpLoad %int %i
+ %121 = OpSLessThan %bool %120 %int_2
+ OpBranchConditional %121 %122 %117
+ %122 = OpLabel
+ %123 = OpAccessChain %_ptr_Uniform_v2float %_ %int_5
+ %124 = OpLoad %v2float %123
+ %125 = OpAccessChain %_ptr_Uniform_v2float %_ %int_9
+ %126 = OpLoad %v2float %125
+ %127 = OpExtInst %v2float %1 NMin %124 %126
+ %128 = OpAccessChain %_ptr_Uniform_v2float %_ %int_1
+ OpStore %128 %127
+ OpBranch %118
+ %118 = OpLabel
+ %129 = OpLoad %int %i
+ %130 = OpIAdd %int %129 %int_1
+ OpStore %i %130
+ %131 = OpAccessChain %_ptr_Uniform_float %_ %int_0
+ %132 = OpLoad %float %131
+ %133 = OpAccessChain %_ptr_Uniform_float %_ %int_5 %uint_0
+ %134 = OpLoad %float %133
+ %135 = OpAccessChain %_ptr_Uniform_float %_ %int_5 %uint_1
+ %136 = OpLoad %float %135
+ %137 = OpExtInst %float %1 NClamp %132 %134 %136
+ %138 = OpAccessChain %_ptr_Uniform_float %_ %int_0
+ OpStore %138 %137
+ OpBranch %116
+ %117 = OpLabel
+ OpReturn
+ OpFunctionEnd