mirror of
https://github.com/gfx-rs/wgpu.git
synced 2026-04-22 03:02:01 -04:00
Add a new Naga feature, `"compact"`, which adds a new function `naga::compact::compact`, which removes unused expressions, types, and constants from a `Module`.
76 lines
1.9 KiB
Plaintext
76 lines
1.9 KiB
Plaintext
; SPIR-V
|
|
; Version: 1.2
|
|
; Generator: rspirv
|
|
; Bound: 48
|
|
OpCapability Shader
|
|
OpCapability Float64
|
|
OpCapability Geometry
|
|
%1 = OpExtInstImport "GLSL.std.450"
|
|
OpMemoryModel Logical GLSL450
|
|
OpEntryPoint Fragment %23 "main" %15 %18 %21
|
|
OpExecutionMode %23 OriginUpperLeft
|
|
OpMemberDecorate %6 0 Offset 0
|
|
OpMemberDecorate %6 1 Offset 16
|
|
OpMemberDecorate %9 0 Offset 0
|
|
OpMemberDecorate %9 1 Offset 16
|
|
OpDecorate %11 Block
|
|
OpMemberDecorate %11 0 Offset 0
|
|
OpDecorate %15 Location 0
|
|
OpDecorate %18 BuiltIn PrimitiveId
|
|
OpDecorate %18 Flat
|
|
OpDecorate %21 Location 0
|
|
%2 = OpTypeVoid
|
|
%3 = OpTypeInt 32 0
|
|
%5 = OpTypeFloat 64
|
|
%4 = OpTypeVector %5 2
|
|
%6 = OpTypeStruct %3 %4
|
|
%8 = OpTypeFloat 32
|
|
%7 = OpTypeVector %8 4
|
|
%9 = OpTypeStruct %7 %3
|
|
%11 = OpTypeStruct %6
|
|
%12 = OpTypePointer PushConstant %11
|
|
%10 = OpVariable %12 PushConstant
|
|
%16 = OpTypePointer Input %7
|
|
%15 = OpVariable %16 Input
|
|
%19 = OpTypePointer Input %3
|
|
%18 = OpVariable %19 Input
|
|
%22 = OpTypePointer Output %7
|
|
%21 = OpVariable %22 Output
|
|
%24 = OpTypeFunction %2
|
|
%25 = OpTypePointer PushConstant %6
|
|
%26 = OpConstant %3 0
|
|
%28 = OpConstant %8 1.0
|
|
%31 = OpTypePointer PushConstant %3
|
|
%34 = OpTypeBool
|
|
%40 = OpTypeVector %8 3
|
|
%23 = OpFunction %2 None %24
|
|
%13 = OpLabel
|
|
%17 = OpLoad %7 %15
|
|
%20 = OpLoad %3 %18
|
|
%14 = OpCompositeConstruct %9 %17 %20
|
|
%27 = OpAccessChain %25 %10 %26
|
|
OpBranch %29
|
|
%29 = OpLabel
|
|
%30 = OpCompositeExtract %3 %14 1
|
|
%32 = OpAccessChain %31 %27 %26
|
|
%33 = OpLoad %3 %32
|
|
%35 = OpIEqual %34 %30 %33
|
|
OpSelectionMerge %36 None
|
|
OpBranchConditional %35 %37 %38
|
|
%37 = OpLabel
|
|
%39 = OpCompositeExtract %7 %14 0
|
|
OpStore %21 %39
|
|
OpReturn
|
|
%38 = OpLabel
|
|
%41 = OpCompositeConstruct %40 %28 %28 %28
|
|
%42 = OpCompositeExtract %7 %14 0
|
|
%43 = OpVectorShuffle %40 %42 %42 0 1 2
|
|
%44 = OpFSub %40 %41 %43
|
|
%45 = OpCompositeExtract %7 %14 0
|
|
%46 = OpCompositeExtract %8 %45 3
|
|
%47 = OpCompositeConstruct %7 %44 %46
|
|
OpStore %21 %47
|
|
OpReturn
|
|
%36 = OpLabel
|
|
OpReturn
|
|
OpFunctionEnd |