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

214 lines
4.8 KiB
Plaintext

; SPIR-V
; Version: 1.1
; Generator: rspirv
; Bound: 94
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %21 "vs_main" %12 %15 %17 %19
OpEntryPoint Fragment %49 "fs_main" %43 %46 %48
OpExecutionMode %49 OriginUpperLeft
%3 = OpString "debug-symbol-simple.wgsl"
OpSource Unknown 0 %3 "struct VertexInput {
@location(0) position: vec3<f32>,
@location(1) color: vec3<f32>,
};
struct VertexOutput {
@builtin(position) clip_position: vec4<f32>,
@location(0) color: vec3<f32>,
};
@vertex
fn vs_main(
model: VertexInput,
) -> VertexOutput {
var out: VertexOutput;
out.color = model.color;
out.clip_position = vec4<f32>(model.position, 1.0);
return out;
}
// Fragment shader
@fragment
fn fs_main(in: VertexOutput) -> @location(0) vec4<f32> {
var color = in.color;
for (var i = 0; i < 10; i += 1) {
var ii = f32(i);
color.x += ii*0.001;
color.y += ii*0.002;
}
return vec4<f32>(color, 1.0);
}"
OpMemberName %6 0 "position"
OpMemberName %6 1 "color"
OpName %6 "VertexInput"
OpMemberName %8 0 "clip_position"
OpMemberName %8 1 "color"
OpName %8 "VertexOutput"
OpName %12 "position"
OpName %15 "color"
OpName %17 "clip_position"
OpName %19 "color"
OpName %21 "vs_main"
OpName %24 "out"
OpName %43 "clip_position"
OpName %46 "color"
OpName %49 "fs_main"
OpName %55 "color"
OpName %57 "i"
OpName %59 "ii"
OpMemberDecorate %6 0 Offset 0
OpMemberDecorate %6 1 Offset 16
OpMemberDecorate %8 0 Offset 0
OpMemberDecorate %8 1 Offset 16
OpDecorate %12 Location 0
OpDecorate %15 Location 1
OpDecorate %17 BuiltIn Position
OpDecorate %19 Location 0
OpDecorate %43 BuiltIn FragCoord
OpDecorate %46 Location 0
OpDecorate %48 Location 0
%2 = OpTypeVoid
%5 = OpTypeFloat 32
%4 = OpTypeVector %5 3
%6 = OpTypeStruct %4 %4
%7 = OpTypeVector %5 4
%8 = OpTypeStruct %7 %4
%9 = OpTypeInt 32 1
%13 = OpTypePointer Input %4
%12 = OpVariable %13 Input
%15 = OpVariable %13 Input
%18 = OpTypePointer Output %7
%17 = OpVariable %18 Output
%20 = OpTypePointer Output %4
%19 = OpVariable %20 Output
%22 = OpTypeFunction %2
%23 = OpConstant %5 1.0
%25 = OpTypePointer Function %8
%26 = OpConstantNull %8
%28 = OpTypePointer Function %4
%31 = OpTypeInt 32 0
%30 = OpConstant %31 1
%33 = OpTypePointer Function %7
%36 = OpConstant %31 0
%44 = OpTypePointer Input %7
%43 = OpVariable %44 Input
%46 = OpVariable %13 Input
%48 = OpVariable %18 Output
%50 = OpConstant %9 0
%51 = OpConstant %9 10
%52 = OpConstant %5 0.001
%53 = OpConstant %5 0.002
%54 = OpConstant %9 1
%56 = OpConstantNull %4
%58 = OpTypePointer Function %9
%60 = OpTypePointer Function %5
%61 = OpConstantNull %5
%69 = OpTypeBool
%77 = OpTypePointer Function %5
%21 = OpFunction %2 None %22
%10 = OpLabel
%24 = OpVariable %25 Function %26
%14 = OpLoad %4 %12
%16 = OpLoad %4 %15
%11 = OpCompositeConstruct %6 %14 %16
OpBranch %27
%27 = OpLabel
OpLine %3 16 5
%29 = OpCompositeExtract %4 %11 1
OpLine %3 16 5
%32 = OpAccessChain %28 %24 %30
OpStore %32 %29
OpLine %3 17 5
%34 = OpCompositeExtract %4 %11 0
OpLine %3 17 25
%35 = OpCompositeConstruct %7 %34 %23
OpLine %3 17 5
%37 = OpAccessChain %33 %24 %36
OpStore %37 %35
OpLine %3 1 1
%38 = OpLoad %8 %24
%39 = OpCompositeExtract %7 %38 0
OpStore %17 %39
%40 = OpCompositeExtract %4 %38 1
OpStore %19 %40
OpReturn
OpFunctionEnd
%49 = OpFunction %2 None %22
%41 = OpLabel
%55 = OpVariable %28 Function %56
%57 = OpVariable %58 Function %50
%59 = OpVariable %60 Function %61
%45 = OpLoad %7 %43
%47 = OpLoad %4 %46
%42 = OpCompositeConstruct %8 %45 %47
OpBranch %62
%62 = OpLabel
OpLine %3 25 17
%63 = OpCompositeExtract %4 %42 1
OpLine %3 25 5
OpStore %55 %63
OpBranch %64
%64 = OpLabel
OpLine %3 26 5
OpLoopMerge %65 %67 None
OpBranch %66
%66 = OpLabel
OpLine %3 1 1
%68 = OpLoad %9 %57
OpLine %3 26 21
%70 = OpSLessThan %69 %68 %51
OpLine %3 26 20
OpSelectionMerge %71 None
OpBranchConditional %70 %71 %72
%72 = OpLabel
OpBranch %65
%71 = OpLabel
OpBranch %73
%73 = OpLabel
OpLine %3 27 18
%75 = OpLoad %9 %57
%76 = OpConvertSToF %5 %75
OpLine %3 27 9
OpStore %59 %76
OpLine %3 28 9
%78 = OpLoad %5 %59
OpLine %3 28 9
%79 = OpFMul %5 %78 %52
%80 = OpAccessChain %77 %55 %36
%81 = OpLoad %5 %80
%82 = OpFAdd %5 %81 %79
OpLine %3 28 9
%83 = OpAccessChain %77 %55 %36
OpStore %83 %82
OpLine %3 29 9
%84 = OpLoad %5 %59
OpLine %3 29 9
%85 = OpFMul %5 %84 %53
%86 = OpAccessChain %77 %55 %30
%87 = OpLoad %5 %86
%88 = OpFAdd %5 %87 %85
OpLine %3 29 9
%89 = OpAccessChain %77 %55 %30
OpStore %89 %88
OpBranch %74
%74 = OpLabel
OpBranch %67
%67 = OpLabel
OpLine %3 26 29
%90 = OpLoad %9 %57
%91 = OpIAdd %9 %90 %54
OpLine %3 26 29
OpStore %57 %91
OpBranch %64
%65 = OpLabel
OpLine %3 1 1
%92 = OpLoad %4 %55
OpLine %3 32 12
%93 = OpCompositeConstruct %7 %92 %23
OpStore %48 %93
OpReturn
OpFunctionEnd