wgpu/naga/tests/out/spv/skybox.spvasm
2023-10-25 14:25:04 -04:00

139 lines
3.8 KiB
Plaintext

; SPIR-V
; Version: 1.0
; Generator: rspirv
; Bound: 98
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %29 "vs_main" %22 %25 %27
OpEntryPoint Fragment %90 "fs_main" %83 %86 %89
OpExecutionMode %90 OriginUpperLeft
OpMemberDecorate %6 0 Offset 0
OpMemberDecorate %6 1 Offset 16
OpMemberDecorate %8 0 Offset 0
OpMemberDecorate %8 0 ColMajor
OpMemberDecorate %8 0 MatrixStride 16
OpMemberDecorate %8 1 Offset 64
OpMemberDecorate %8 1 ColMajor
OpMemberDecorate %8 1 MatrixStride 16
OpDecorate %14 DescriptorSet 0
OpDecorate %14 Binding 0
OpDecorate %15 Block
OpMemberDecorate %15 0 Offset 0
OpDecorate %17 DescriptorSet 0
OpDecorate %17 Binding 1
OpDecorate %19 DescriptorSet 0
OpDecorate %19 Binding 2
OpDecorate %22 BuiltIn VertexIndex
OpDecorate %25 BuiltIn Position
OpDecorate %27 Location 0
OpDecorate %83 BuiltIn FragCoord
OpDecorate %86 Location 0
OpDecorate %89 Location 0
%2 = OpTypeVoid
%4 = OpTypeFloat 32
%3 = OpTypeVector %4 4
%5 = OpTypeVector %4 3
%6 = OpTypeStruct %3 %5
%7 = OpTypeMatrix %3 4
%8 = OpTypeStruct %7 %7
%9 = OpTypeInt 32 0
%10 = OpTypeInt 32 1
%11 = OpTypeMatrix %5 3
%12 = OpTypeImage %4 Cube 0 0 0 1 Unknown
%13 = OpTypeSampler
%15 = OpTypeStruct %8
%16 = OpTypePointer Uniform %15
%14 = OpVariable %16 Uniform
%18 = OpTypePointer UniformConstant %12
%17 = OpVariable %18 UniformConstant
%20 = OpTypePointer UniformConstant %13
%19 = OpVariable %20 UniformConstant
%23 = OpTypePointer Input %9
%22 = OpVariable %23 Input
%26 = OpTypePointer Output %3
%25 = OpVariable %26 Output
%28 = OpTypePointer Output %5
%27 = OpVariable %28 Output
%30 = OpTypeFunction %2
%31 = OpTypePointer Uniform %8
%32 = OpConstant %9 0
%34 = OpConstant %10 2
%35 = OpConstant %10 1
%36 = OpConstant %4 4.0
%37 = OpConstant %4 1.0
%38 = OpConstant %4 0.0
%40 = OpTypePointer Function %10
%41 = OpConstantNull %10
%43 = OpConstantNull %10
%58 = OpTypePointer Uniform %7
%59 = OpTypePointer Uniform %3
%60 = OpConstant %9 1
%67 = OpConstant %9 2
%84 = OpTypePointer Input %3
%83 = OpVariable %84 Input
%87 = OpTypePointer Input %5
%86 = OpVariable %87 Input
%89 = OpVariable %26 Output
%95 = OpTypeSampledImage %12
%29 = OpFunction %2 None %30
%21 = OpLabel
%39 = OpVariable %40 Function %41
%42 = OpVariable %40 Function %43
%24 = OpLoad %9 %22
%33 = OpAccessChain %31 %14 %32
OpBranch %44
%44 = OpLabel
%45 = OpBitcast %10 %24
%46 = OpSDiv %10 %45 %34
OpStore %39 %46
%47 = OpBitcast %10 %24
%48 = OpBitwiseAnd %10 %47 %35
OpStore %42 %48
%49 = OpLoad %10 %39
%50 = OpConvertSToF %4 %49
%51 = OpFMul %4 %50 %36
%52 = OpFSub %4 %51 %37
%53 = OpLoad %10 %42
%54 = OpConvertSToF %4 %53
%55 = OpFMul %4 %54 %36
%56 = OpFSub %4 %55 %37
%57 = OpCompositeConstruct %3 %52 %56 %38 %37
%61 = OpAccessChain %59 %33 %60 %32
%62 = OpLoad %3 %61
%63 = OpVectorShuffle %5 %62 %62 0 1 2
%64 = OpAccessChain %59 %33 %60 %60
%65 = OpLoad %3 %64
%66 = OpVectorShuffle %5 %65 %65 0 1 2
%68 = OpAccessChain %59 %33 %60 %67
%69 = OpLoad %3 %68
%70 = OpVectorShuffle %5 %69 %69 0 1 2
%71 = OpCompositeConstruct %11 %63 %66 %70
%72 = OpTranspose %11 %71
%73 = OpAccessChain %58 %33 %32
%74 = OpLoad %7 %73
%75 = OpMatrixTimesVector %3 %74 %57
%76 = OpVectorShuffle %5 %75 %75 0 1 2
%77 = OpMatrixTimesVector %5 %72 %76
%78 = OpCompositeConstruct %6 %57 %77
%79 = OpCompositeExtract %3 %78 0
OpStore %25 %79
%80 = OpCompositeExtract %5 %78 1
OpStore %27 %80
OpReturn
OpFunctionEnd
%90 = OpFunction %2 None %30
%81 = OpLabel
%85 = OpLoad %3 %83
%88 = OpLoad %5 %86
%82 = OpCompositeConstruct %6 %85 %88
%91 = OpLoad %12 %17
%92 = OpLoad %13 %19
OpBranch %93
%93 = OpLabel
%94 = OpCompositeExtract %5 %82 1
%96 = OpSampledImage %95 %91 %92
%97 = OpImageSampleImplicitLod %3 %96 %94
OpStore %89 %97
OpReturn
OpFunctionEnd