RetroArch/deps/SPIRV-Cross/shaders/asm/geom/store-uint-layer.invalid.asm.geom

131 lines
5.8 KiB
Plaintext
Raw Normal View History

Squashed 'deps/SPIRV-Cross/' changes from e59cc24495..f96c9f9fb4 f96c9f9fb4 Merge pull request #635 from KhronosGroup/fix-631 e044732896 Support OpTypeImage with depth == 2 (unknown) properly. a6814a405a Merge pull request #630 from KhronosGroup/fix-628 af2d3abd03 Fail more gracefully with some unsupported opcodes. 26107ba200 Fix os.errno issues on Travis. ee44f6027b Changed OpTypeImage to only flag depth if the op is 1 c863f53cac Merge pull request #627 from KhronosGroup/macro-namespace-fix 9ddbd5aff6 Run format_all.sh. f1752e58e1 Add basic namespace to internal macros. d67e586b2e Merge pull request #626 from billhollings/master 9bf226cb05 Fixes for code review of PR 626. 4c5142b9d3 CompilerMSL support larger texel buffers by using 2D Metal textures. 314f39a7c4 Merge pull request #621 from billhollings/master 4beefe756c Fixes from PR 621 code review. f66507a701 Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross 0ea5e0549e Merge pull request #615 from JustSid/master 5ac55ee735 Fixed emission of some legacy texture ops without requiring the appropriate extensions ceec708b89 Added better fallbacks for legacy textureProjLod() and textureProjLodOffset() generation 994f789465 Merge pull request #624 from KhronosGroup/fix-619 33c61d2abe Support branch/loop hints in HLSL. 327fb03677 Merge pull request #623 from KhronosGroup/fix-618 2077478651 Merge pull request #622 from KhronosGroup/fix-620 10dfaf79d5 Support globallycoherent in HLSL. ffa9133d77 Support ternary expressions in OpSpecConstantOp. e091031613 CompilerMSL pass builtin struct members into functions. 7607eb6923 Merge pull request #617 from KhronosGroup/fix-612 d94d20f4f3 Deal with some builtins being declared with wrong signedness. 0f62b5dc1e Moved check for depth texture and shadowXY emission completely to legacy_tex_op() 447a253ce7 Simplified check for depth texture 76c8e3c1c4 Merge pull request #616 from KhronosGroup/fix-614 b29629fd46 Add support to remove SPIRV_Cross_BaseInstance uniform. 809631ce21 Mention JSON backend in README. 040204d65c Fix warnings and run format_all.sh. b4c8c3b9b2 Merge branch 'reflection' of git://github.com/jherico/SPIRV-Cross f6dad78c99 Added support for shadowXY() sample instructions in legacy GLSL 9ad432463c Prefix integer types with underscore 0ad0f948e1 More PR feedback 3b30202bee Add reflection specific test cases, add reflection testing to test_shaders.sh 8d84a541ac Add specialization constant output in reflection 762040084d More feedback d0a67ba6a7 Code consolidation, const correctness, faster regression testing 3a825349bc More cleanup 6c88b0048b PR feedback ee86000529 Cleanup code 709d3c60f2 Working on reflection output 0039cb86fc Merge pull request #613 from KhronosGroup/fix-609 9d31154917 Deal with switch case labels which share a block. git-subtree-dir: deps/SPIRV-Cross git-subtree-split: f96c9f9fb4fc7d17991cecb2b2294dce06d08d9c
2018-07-04 22:50:02 +02:00
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 6
; Bound: 74
; Schema: 0
OpCapability Geometry
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Geometry %main "main" %stream_pos %stream_layer %input_pos
OpExecutionMode %main Triangles
OpExecutionMode %main Invocations 1
OpExecutionMode %main OutputTriangleStrip
OpExecutionMode %main OutputVertices 3
OpSource HLSL 500
OpName %main "main"
OpName %VertexOutput "VertexOutput"
OpMemberName %VertexOutput 0 "pos"
OpName %GeometryOutput "GeometryOutput"
OpMemberName %GeometryOutput 0 "pos"
OpMemberName %GeometryOutput 1 "layer"
OpName %_main_struct_VertexOutput_vf41_3__struct_GeometryOutput_vf4_u11_ "@main(struct-VertexOutput-vf41[3];struct-GeometryOutput-vf4-u11;"
OpName %input "input"
OpName %stream "stream"
OpName %output "output"
OpName %v "v"
OpName %stream_pos "stream.pos"
OpName %stream_layer "stream.layer"
OpName %input_0 "input"
OpName %input_pos "input.pos"
OpName %stream_0 "stream"
OpName %param "param"
OpName %param_0 "param"
OpDecorate %stream_pos BuiltIn Position
OpDecorate %stream_layer BuiltIn Layer
OpDecorate %input_pos BuiltIn Position
%void = OpTypeVoid
%3 = OpTypeFunction %void
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%VertexOutput = OpTypeStruct %v4float
%uint = OpTypeInt 32 0
%uint_3 = OpConstant %uint 3
%_arr_VertexOutput_uint_3 = OpTypeArray %VertexOutput %uint_3
%_ptr_Function__arr_VertexOutput_uint_3 = OpTypePointer Function %_arr_VertexOutput_uint_3
%GeometryOutput = OpTypeStruct %v4float %uint
%_ptr_Function_GeometryOutput = OpTypePointer Function %GeometryOutput
%15 = OpTypeFunction %void %_ptr_Function__arr_VertexOutput_uint_3 %_ptr_Function_GeometryOutput
%int = OpTypeInt 32 1
%int_1 = OpConstant %int 1
%uint_1 = OpConstant %uint 1
%_ptr_Function_uint = OpTypePointer Function %uint
%_ptr_Function_int = OpTypePointer Function %int
%int_0 = OpConstant %int 0
%int_3 = OpConstant %int 3
%bool = OpTypeBool
%_ptr_Function_v4float = OpTypePointer Function %v4float
%_ptr_Output_v4float = OpTypePointer Output %v4float
%stream_pos = OpVariable %_ptr_Output_v4float Output
%_ptr_Output_uint = OpTypePointer Output %uint
%stream_layer = OpVariable %_ptr_Output_uint Output
%_arr_v4float_uint_3 = OpTypeArray %v4float %uint_3
%_ptr_Input__arr_v4float_uint_3 = OpTypePointer Input %_arr_v4float_uint_3
%input_pos = OpVariable %_ptr_Input__arr_v4float_uint_3 Input
%_ptr_Input_v4float = OpTypePointer Input %v4float
%int_2 = OpConstant %int 2
%main = OpFunction %void None %3
%5 = OpLabel
%input_0 = OpVariable %_ptr_Function__arr_VertexOutput_uint_3 Function
%stream_0 = OpVariable %_ptr_Function_GeometryOutput Function
%param = OpVariable %_ptr_Function__arr_VertexOutput_uint_3 Function
%param_0 = OpVariable %_ptr_Function_GeometryOutput Function
%58 = OpAccessChain %_ptr_Input_v4float %input_pos %int_0
%59 = OpLoad %v4float %58
%60 = OpAccessChain %_ptr_Function_v4float %input_0 %int_0 %int_0
OpStore %60 %59
%61 = OpAccessChain %_ptr_Input_v4float %input_pos %int_1
%62 = OpLoad %v4float %61
%63 = OpAccessChain %_ptr_Function_v4float %input_0 %int_1 %int_0
OpStore %63 %62
%65 = OpAccessChain %_ptr_Input_v4float %input_pos %int_2
%66 = OpLoad %v4float %65
%67 = OpAccessChain %_ptr_Function_v4float %input_0 %int_2 %int_0
OpStore %67 %66
%70 = OpLoad %_arr_VertexOutput_uint_3 %input_0
OpStore %param %70
%72 = OpFunctionCall %void %_main_struct_VertexOutput_vf41_3__struct_GeometryOutput_vf4_u11_ %param %param_0
%73 = OpLoad %GeometryOutput %param_0
OpStore %stream_0 %73
OpReturn
OpFunctionEnd
%_main_struct_VertexOutput_vf41_3__struct_GeometryOutput_vf4_u11_ = OpFunction %void None %15
%input = OpFunctionParameter %_ptr_Function__arr_VertexOutput_uint_3
%stream = OpFunctionParameter %_ptr_Function_GeometryOutput
%19 = OpLabel
%output = OpVariable %_ptr_Function_GeometryOutput Function
%v = OpVariable %_ptr_Function_int Function
%25 = OpAccessChain %_ptr_Function_uint %output %int_1
OpStore %25 %uint_1
OpStore %v %int_0
OpBranch %29
%29 = OpLabel
OpLoopMerge %31 %32 None
OpBranch %33
%33 = OpLabel
%34 = OpLoad %int %v
%37 = OpSLessThan %bool %34 %int_3
OpBranchConditional %37 %30 %31
%30 = OpLabel
%38 = OpLoad %int %v
%40 = OpAccessChain %_ptr_Function_v4float %input %38 %int_0
%41 = OpLoad %v4float %40
%42 = OpAccessChain %_ptr_Function_v4float %output %int_0
OpStore %42 %41
%45 = OpAccessChain %_ptr_Function_v4float %output %int_0
%46 = OpLoad %v4float %45
OpStore %stream_pos %46
%49 = OpAccessChain %_ptr_Function_uint %output %int_1
%50 = OpLoad %uint %49
OpStore %stream_layer %50
OpEmitVertex
OpBranch %32
%32 = OpLabel
%51 = OpLoad %int %v
%52 = OpIAdd %int %51 %int_1
OpStore %v %52
OpBranch %29
%31 = OpLabel
OpEndPrimitive
OpReturn
OpFunctionEnd