mirror of
https://github.com/gfx-rs/wgpu.git
synced 2024-12-03 12:13:30 +00:00
4cbef59dd6
* Add struct instantiation support to wgsl-in * Readd type matching and move struct test * rebase onto master and update tests * Update tests to upstream * Fix merge errors * Rebase onto master * [wgsl-in] delay composite type creation * Use the new WGSL construction syntax in the tests Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
105 lines
2.6 KiB
Plaintext
105 lines
2.6 KiB
Plaintext
; SPIR-V
|
|
; Version: 1.0
|
|
; Generator: rspirv
|
|
; Bound: 58
|
|
OpCapability Shader
|
|
%1 = OpExtInstImport "GLSL.std.450"
|
|
OpMemoryModel Logical GLSL450
|
|
OpEntryPoint Vertex %26 "main" %17 %20 %22 %24
|
|
OpEntryPoint Fragment %44 "main" %41 %43
|
|
OpExecutionMode %44 OriginUpperLeft
|
|
OpSource GLSL 450
|
|
OpName %3 "c_scale"
|
|
OpName %9 "VertexOutput"
|
|
OpMemberName %9 0 "uv"
|
|
OpMemberName %9 1 "position"
|
|
OpName %12 "u_texture"
|
|
OpName %14 "u_sampler"
|
|
OpName %17 "pos"
|
|
OpName %20 "uv"
|
|
OpName %22 "uv"
|
|
OpName %24 "position"
|
|
OpName %26 "main"
|
|
OpName %41 "uv"
|
|
OpName %44 "main"
|
|
OpMemberDecorate %9 0 Offset 0
|
|
OpMemberDecorate %9 1 Offset 16
|
|
OpDecorate %12 DescriptorSet 0
|
|
OpDecorate %12 Binding 0
|
|
OpDecorate %14 DescriptorSet 0
|
|
OpDecorate %14 Binding 1
|
|
OpDecorate %17 Location 0
|
|
OpDecorate %20 Location 1
|
|
OpDecorate %22 Location 0
|
|
OpDecorate %24 BuiltIn Position
|
|
OpDecorate %41 Location 0
|
|
OpDecorate %43 Location 0
|
|
%2 = OpTypeVoid
|
|
%4 = OpTypeFloat 32
|
|
%3 = OpConstant %4 1.2
|
|
%5 = OpConstant %4 0.0
|
|
%6 = OpConstant %4 1.0
|
|
%7 = OpTypeVector %4 2
|
|
%8 = OpTypeVector %4 4
|
|
%9 = OpTypeStruct %7 %8
|
|
%10 = OpTypeImage %4 2D 0 0 0 1 Unknown
|
|
%11 = OpTypeSampler
|
|
%13 = OpTypePointer UniformConstant %10
|
|
%12 = OpVariable %13 UniformConstant
|
|
%15 = OpTypePointer UniformConstant %11
|
|
%14 = OpVariable %15 UniformConstant
|
|
%18 = OpTypePointer Input %7
|
|
%17 = OpVariable %18 Input
|
|
%20 = OpVariable %18 Input
|
|
%23 = OpTypePointer Output %7
|
|
%22 = OpVariable %23 Output
|
|
%25 = OpTypePointer Output %8
|
|
%24 = OpVariable %25 Output
|
|
%27 = OpTypeFunction %2
|
|
%35 = OpTypePointer Output %4
|
|
%36 = OpTypeInt 32 1
|
|
%37 = OpConstant %36 1
|
|
%41 = OpVariable %18 Input
|
|
%43 = OpVariable %25 Output
|
|
%48 = OpTypeSampledImage %10
|
|
%52 = OpTypeBool
|
|
%26 = OpFunction %2 None %27
|
|
%16 = OpLabel
|
|
%19 = OpLoad %7 %17
|
|
%21 = OpLoad %7 %20
|
|
OpBranch %28
|
|
%28 = OpLabel
|
|
%29 = OpVectorTimesScalar %7 %19 %3
|
|
%30 = OpCompositeConstruct %8 %29 %5 %6
|
|
%31 = OpCompositeConstruct %9 %21 %30
|
|
%32 = OpCompositeExtract %7 %31 0
|
|
OpStore %22 %32
|
|
%33 = OpCompositeExtract %8 %31 1
|
|
OpStore %24 %33
|
|
%34 = OpAccessChain %35 %24 %37
|
|
%38 = OpLoad %4 %34
|
|
%39 = OpFNegate %4 %38
|
|
OpStore %34 %39
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%44 = OpFunction %2 None %27
|
|
%40 = OpLabel
|
|
%42 = OpLoad %7 %41
|
|
%45 = OpLoad %10 %12
|
|
%46 = OpLoad %11 %14
|
|
OpBranch %47
|
|
%47 = OpLabel
|
|
%49 = OpSampledImage %48 %45 %46
|
|
%50 = OpImageSampleImplicitLod %8 %49 %42
|
|
%51 = OpCompositeExtract %4 %50 3
|
|
%53 = OpFOrdEqual %52 %51 %5
|
|
OpSelectionMerge %54 None
|
|
OpBranchConditional %53 %55 %54
|
|
%55 = OpLabel
|
|
OpKill
|
|
%54 = OpLabel
|
|
%56 = OpCompositeExtract %4 %50 3
|
|
%57 = OpVectorTimesScalar %8 %50 %56
|
|
OpStore %43 %57
|
|
OpReturn
|
|
OpFunctionEnd |