mirror of
https://github.com/gfx-rs/wgpu.git
synced 2024-12-04 04:38:02 +00:00
170faab6db
Use the type system to enforce the rule that the invariant attribute may only appear on `Position` builtins.
69 lines
1.8 KiB
Plaintext
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 |