wgpu/tests/out/spv/interface.vertex_two_structs.spvasm
Jim Blandy 170faab6db
Move invariant bit from Binding::Builtin to Builtin::Position. (#1822)
Use the type system to enforce the rule that the invariant attribute
may only appear on `Position` builtins.
2022-04-13 14:57:05 -07:00

69 lines
1.8 KiB
Plaintext

; SPIR-V
; Version: 1.0
; Generator: rspirv
; Bound: 45
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %34 "vertex_two_structs" %24 %28 %30 %32
OpMemberDecorate %13 0 Offset 0
OpMemberDecorate %13 1 Offset 16
OpMemberDecorate %14 0 Offset 0
OpMemberDecorate %14 1 Offset 4
OpMemberDecorate %14 2 Offset 8
OpDecorate %16 ArrayStride 4
OpMemberDecorate %18 0 Offset 0
OpMemberDecorate %19 0 Offset 0
OpDecorate %24 BuiltIn VertexIndex
OpDecorate %28 BuiltIn InstanceIndex
OpDecorate %30 Invariant
OpDecorate %30 BuiltIn Position
OpDecorate %32 BuiltIn PointSize
%2 = OpTypeVoid
%4 = OpTypeFloat 32
%3 = OpConstant %4 1.0
%6 = OpTypeInt 32 0
%5 = OpConstant %6 1
%7 = OpConstant %4 0.0
%9 = OpTypeInt 32 1
%8 = OpConstant %9 1
%10 = OpConstant %9 0
%11 = OpConstant %6 2
%12 = OpTypeVector %4 4
%13 = OpTypeStruct %12 %4
%14 = OpTypeStruct %4 %6 %4
%15 = OpTypeBool
%16 = OpTypeArray %6 %8
%17 = OpTypeVector %6 3
%18 = OpTypeStruct %6
%19 = OpTypeStruct %6
%21 = OpTypePointer Function %6
%25 = OpTypePointer Input %6
%24 = OpVariable %25 Input
%28 = OpVariable %25 Input
%31 = OpTypePointer Output %12
%30 = OpVariable %31 Output
%33 = OpTypePointer Output %4
%32 = OpVariable %33 Output
%35 = OpTypeFunction %2
%36 = OpTypePointer Workgroup %16
%34 = OpFunction %2 None %35
%22 = OpLabel
%20 = OpVariable %21 Function %11
%26 = OpLoad %6 %24
%23 = OpCompositeConstruct %18 %26
%29 = OpLoad %6 %28
%27 = OpCompositeConstruct %19 %29
OpStore %32 %3
OpBranch %37
%37 = OpLabel
%38 = OpCompositeExtract %6 %23 0
%39 = OpConvertUToF %4 %38
%40 = OpCompositeExtract %6 %27 0
%41 = OpConvertUToF %4 %40
%42 = OpLoad %6 %20
%43 = OpConvertUToF %4 %42
%44 = OpCompositeConstruct %12 %39 %41 %43 %7
OpStore %30 %44
OpReturn
OpFunctionEnd