summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/3rdparty/spirv-cross/shaders-no-opt/asm/frag/pixel-interlock-control-flow.asm.frag
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/3rdparty/spirv-cross/shaders-no-opt/asm/frag/pixel-interlock-control-flow.asm.frag')
-rw-r--r--3rdparty/bgfx/3rdparty/spirv-cross/shaders-no-opt/asm/frag/pixel-interlock-control-flow.asm.frag121
1 files changed, 121 insertions, 0 deletions
diff --git a/3rdparty/bgfx/3rdparty/spirv-cross/shaders-no-opt/asm/frag/pixel-interlock-control-flow.asm.frag b/3rdparty/bgfx/3rdparty/spirv-cross/shaders-no-opt/asm/frag/pixel-interlock-control-flow.asm.frag
new file mode 100644
index 00000000000..69b8f911204
--- /dev/null
+++ b/3rdparty/bgfx/3rdparty/spirv-cross/shaders-no-opt/asm/frag/pixel-interlock-control-flow.asm.frag
@@ -0,0 +1,121 @@
+; SPIR-V
+; Version: 1.0
+; Generator: Khronos Glslang Reference Front End; 7
+; Bound: 45
+; Schema: 0
+ OpCapability Shader
+ OpCapability FragmentShaderPixelInterlockEXT
+ OpExtension "SPV_EXT_fragment_shader_interlock"
+ %1 = OpExtInstImport "GLSL.std.450"
+ OpMemoryModel Logical GLSL450
+ OpEntryPoint Fragment %main "main" %gl_FragCoord
+ OpExecutionMode %main OriginUpperLeft
+ OpExecutionMode %main PixelInterlockOrderedEXT
+ OpSource GLSL 450
+ OpSourceExtension "GL_ARB_fragment_shader_interlock"
+ OpName %main "main"
+ OpName %callee2_ "callee2("
+ OpName %callee_ "callee("
+ OpName %SSBO1 "SSBO1"
+ OpMemberName %SSBO1 0 "values1"
+ OpName %_ ""
+ OpName %gl_FragCoord "gl_FragCoord"
+ OpName %SSBO0 "SSBO0"
+ OpMemberName %SSBO0 0 "values0"
+ OpName %__0 ""
+ OpDecorate %_runtimearr_uint ArrayStride 4
+ OpMemberDecorate %SSBO1 0 Offset 0
+ OpDecorate %SSBO1 BufferBlock
+ OpDecorate %_ DescriptorSet 0
+ OpDecorate %_ Binding 1
+ OpDecorate %gl_FragCoord BuiltIn FragCoord
+ OpDecorate %_runtimearr_uint_0 ArrayStride 4
+ OpMemberDecorate %SSBO0 0 Offset 0
+ OpDecorate %SSBO0 BufferBlock
+ OpDecorate %__0 DescriptorSet 0
+ OpDecorate %__0 Binding 0
+
+ OpMemberDecorate %SSBO2 0 Offset 0
+ OpDecorate %SSBO2 BufferBlock
+ OpDecorate %ssbo2 DescriptorSet 0
+ OpDecorate %ssbo2 Binding 2
+
+ %void = OpTypeVoid
+ %3 = OpTypeFunction %void
+ %uint = OpTypeInt 32 0
+%_runtimearr_uint = OpTypeRuntimeArray %uint
+ %SSBO1 = OpTypeStruct %_runtimearr_uint
+ %SSBO2 = OpTypeStruct %_runtimearr_uint
+%_ptr_Uniform_SSBO1 = OpTypePointer Uniform %SSBO1
+%_ptr_Uniform_SSBO2 = OpTypePointer Uniform %SSBO2
+ %_ = OpVariable %_ptr_Uniform_SSBO1 Uniform
+ %ssbo2 = OpVariable %_ptr_Uniform_SSBO2 Uniform
+ %int = OpTypeInt 32 1
+ %int_0 = OpConstant %int 0
+ %uint_4 = OpConstant %uint 4
+ %float = OpTypeFloat 32
+ %v4float = OpTypeVector %float 4
+ %bool = OpTypeBool
+ %true = OpConstantTrue %bool
+%_ptr_Input_v4float = OpTypePointer Input %v4float
+%gl_FragCoord = OpVariable %_ptr_Input_v4float Input
+ %uint_0 = OpConstant %uint 0
+%_ptr_Input_float = OpTypePointer Input %float
+ %uint_1 = OpConstant %uint 1
+%_ptr_Uniform_uint = OpTypePointer Uniform %uint
+%_runtimearr_uint_0 = OpTypeRuntimeArray %uint
+ %SSBO0 = OpTypeStruct %_runtimearr_uint_0
+%_ptr_Uniform_SSBO0 = OpTypePointer Uniform %SSBO0
+ %__0 = OpVariable %_ptr_Uniform_SSBO0 Uniform
+ %main = OpFunction %void None %3
+ %5 = OpLabel
+ %44 = OpFunctionCall %void %callee_
+ %callee3_res = OpFunctionCall %void %callee3_
+ OpReturn
+ OpFunctionEnd
+
+ %callee3_ = OpFunction %void None %3
+ %calle3_block = OpLabel
+ %frag_coord_x_ptr = OpAccessChain %_ptr_Input_float %gl_FragCoord %uint_0
+ %frag_coord_x = OpLoad %float %frag_coord_x_ptr
+ %frag_coord_int = OpConvertFToS %int %frag_coord_x
+ %ssbo_ptr = OpAccessChain %_ptr_Uniform_uint %ssbo2 %int_0 %frag_coord_int
+ OpStore %ssbo_ptr %uint_4
+ OpReturn
+ OpFunctionEnd
+
+ %callee2_ = OpFunction %void None %3
+ %7 = OpLabel
+ %23 = OpAccessChain %_ptr_Input_float %gl_FragCoord %uint_0
+ %24 = OpLoad %float %23
+ %25 = OpConvertFToS %int %24
+ %28 = OpAccessChain %_ptr_Uniform_uint %_ %int_0 %25
+ %29 = OpLoad %uint %28
+ %30 = OpIAdd %uint %29 %uint_1
+ %31 = OpAccessChain %_ptr_Uniform_uint %_ %int_0 %25
+ OpStore %31 %30
+ OpReturn
+ OpFunctionEnd
+ %callee_ = OpFunction %void None %3
+ %9 = OpLabel
+ %36 = OpAccessChain %_ptr_Input_float %gl_FragCoord %uint_0
+ %37 = OpLoad %float %36
+ %38 = OpConvertFToS %int %37
+ %39 = OpAccessChain %_ptr_Uniform_uint %__0 %int_0 %38
+ %40 = OpLoad %uint %39
+ %41 = OpIAdd %uint %40 %uint_1
+ %42 = OpAccessChain %_ptr_Uniform_uint %__0 %int_0 %38
+ OpStore %42 %41
+ %43 = OpFunctionCall %void %callee2_
+
+ OpSelectionMerge %merged_block None
+ OpBranchConditional %true %dummy_block %merged_block
+ %dummy_block = OpLabel
+ OpBeginInvocationInterlockEXT
+ OpEndInvocationInterlockEXT
+ OpBranch %merged_block
+
+ %merged_block = OpLabel
+ OpReturn
+
+ OpFunctionEnd