472f9d4f6d
Tests provided by @cdavis5e.
102 lines
3.8 KiB
GLSL
102 lines
3.8 KiB
GLSL
; SPIR-V
|
|
; Version: 1.0
|
|
; Generator: Khronos Glslang Reference Front End; 1
|
|
; Bound: 58
|
|
; Schema: 0
|
|
OpCapability Shader
|
|
OpCapability ClipDistance
|
|
OpCapability CullDistance
|
|
%1 = OpExtInstImport "GLSL.std.450"
|
|
OpMemoryModel Logical GLSL450
|
|
OpEntryPoint Vertex %4 "main" %52 %output
|
|
OpSource GLSL 450
|
|
OpName %4 "main"
|
|
OpName %9 "pos"
|
|
OpName %50 "gl_PerVertex"
|
|
OpMemberName %50 0 "gl_Position"
|
|
OpMemberName %50 1 "gl_PointSize"
|
|
OpMemberName %50 2 "gl_ClipDistance"
|
|
OpMemberName %50 3 "gl_CullDistance"
|
|
OpName %52 ""
|
|
OpDecorate %13 SpecId 201
|
|
OpDecorate %24 SpecId 202
|
|
OpMemberDecorate %50 0 BuiltIn Position
|
|
OpMemberDecorate %50 1 BuiltIn PointSize
|
|
OpMemberDecorate %50 2 BuiltIn ClipDistance
|
|
OpMemberDecorate %50 3 BuiltIn CullDistance
|
|
OpDecorate %50 Block
|
|
OpDecorate %57 SpecId 200
|
|
OpDecorate %output Flat
|
|
OpDecorate %output Location 0
|
|
%2 = OpTypeVoid
|
|
%3 = OpTypeFunction %2
|
|
%6 = OpTypeFloat 32
|
|
%7 = OpTypeVector %6 4
|
|
%8 = OpTypePointer Function %7
|
|
%10 = OpConstant %6 0
|
|
%11 = OpConstantComposite %7 %10 %10 %10 %10
|
|
%12 = OpTypeInt 32 1
|
|
%int_ptr = OpTypePointer Output %12
|
|
%13 = OpSpecConstant %12 -10
|
|
%14 = OpConstant %12 2
|
|
%15 = OpSpecConstantOp %12 IAdd %13 %14
|
|
%17 = OpTypeInt 32 0
|
|
%18 = OpConstant %17 1
|
|
%19 = OpTypePointer Function %6
|
|
%24 = OpSpecConstant %17 100
|
|
%25 = OpConstant %17 5
|
|
%26 = OpSpecConstantOp %17 UMod %24 %25
|
|
%28 = OpConstant %17 2
|
|
%33 = OpConstant %12 20
|
|
%34 = OpConstant %12 30
|
|
%int_3 = OpConstant %12 -3
|
|
%bar = OpSpecConstantOp %12 SRem %13 %int_3
|
|
%35 = OpTypeVector %12 4
|
|
%36 = OpSpecConstantComposite %35 %33 %34 %15 %bar
|
|
%40 = OpTypeVector %12 2
|
|
%41 = OpSpecConstantOp %40 VectorShuffle %36 %36 1 0
|
|
%foo = OpSpecConstantOp %12 CompositeExtract %36 1
|
|
%42 = OpTypeVector %6 2
|
|
%49 = OpTypeArray %6 %18
|
|
%50 = OpTypeStruct %7 %6 %49 %49
|
|
%51 = OpTypePointer Output %50
|
|
%52 = OpVariable %51 Output
|
|
%output = OpVariable %int_ptr Output
|
|
%53 = OpConstant %12 0
|
|
%55 = OpTypePointer Output %7
|
|
%57 = OpSpecConstant %6 3.14159
|
|
%baz = OpSpecConstantOp %6 QuantizeToF16 %57
|
|
%4 = OpFunction %2 None %3
|
|
%5 = OpLabel
|
|
%9 = OpVariable %8 Function
|
|
OpStore %9 %11
|
|
%16 = OpConvertSToF %6 %15
|
|
%20 = OpAccessChain %19 %9 %18
|
|
%21 = OpLoad %6 %20
|
|
%22 = OpFAdd %6 %21 %16
|
|
%23 = OpAccessChain %19 %9 %18
|
|
OpStore %23 %22
|
|
%27 = OpConvertUToF %6 %26
|
|
%29 = OpAccessChain %19 %9 %28
|
|
%30 = OpLoad %6 %29
|
|
%31 = OpFAdd %6 %30 %27
|
|
%32 = OpAccessChain %19 %9 %28
|
|
OpStore %32 %31
|
|
%37 = OpConvertSToF %7 %36
|
|
%38 = OpLoad %7 %9
|
|
%39 = OpFAdd %7 %38 %37
|
|
OpStore %9 %39
|
|
%43 = OpConvertSToF %42 %41
|
|
%44 = OpLoad %7 %9
|
|
%45 = OpVectorShuffle %42 %44 %44 0 1
|
|
%46 = OpFAdd %42 %45 %43
|
|
%47 = OpLoad %7 %9
|
|
%48 = OpVectorShuffle %7 %47 %46 4 5 2 3
|
|
OpStore %9 %48
|
|
%54 = OpLoad %7 %9
|
|
%56 = OpAccessChain %55 %52 %53
|
|
OpStore %56 %54
|
|
OpStore %output %foo
|
|
OpReturn
|
|
OpFunctionEnd
|