xref: /aosp_15_r20/external/skia/tests/sksl/shared/TextureSharpen.asm.frag (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1               OpCapability Shader
2          %1 = OpExtInstImport "GLSL.std.450"
3               OpMemoryModel Logical GLSL450
4               OpEntryPoint Fragment %main "main" %sk_FragColor
5               OpExecutionMode %main OriginUpperLeft
6               OpName %sk_FragColor "sk_FragColor"
7               OpName %s "s"
8               OpName %main "main"
9               OpName %a "a"
10               OpName %b "b"
11               OpDecorate %sk_FragColor RelaxedPrecision
12               OpDecorate %sk_FragColor Location 0
13               OpDecorate %sk_FragColor Index 0
14               OpDecorate %s RelaxedPrecision
15               OpDecorate %s Binding 0
16               OpDecorate %s DescriptorSet 0
17               OpDecorate %17 RelaxedPrecision
18               OpDecorate %24 RelaxedPrecision
19               OpDecorate %28 RelaxedPrecision
20               OpDecorate %29 RelaxedPrecision
21               OpDecorate %31 RelaxedPrecision
22               OpDecorate %32 RelaxedPrecision
23               OpDecorate %33 RelaxedPrecision
24      %float = OpTypeFloat 32
25    %v4float = OpTypeVector %float 4
26%_ptr_Output_v4float = OpTypePointer Output %v4float
27%sk_FragColor = OpVariable %_ptr_Output_v4float Output
28          %8 = OpTypeImage %float 2D 0 0 0 1 Unknown
29          %9 = OpTypeSampledImage %8
30%_ptr_UniformConstant_9 = OpTypePointer UniformConstant %9
31          %s = OpVariable %_ptr_UniformConstant_9 UniformConstant
32       %void = OpTypeVoid
33         %12 = OpTypeFunction %void
34%_ptr_Function_v4float = OpTypePointer Function %v4float
35    %float_0 = OpConstant %float 0
36    %v2float = OpTypeVector %float 2
37         %20 = OpConstantComposite %v2float %float_0 %float_0
38%float_n0_474999994 = OpConstant %float -0.474999994
39    %v3float = OpTypeVector %float 3
40         %26 = OpConstantComposite %v3float %float_0 %float_0 %float_0
41       %main = OpFunction %void None %12
42         %13 = OpLabel
43          %a = OpVariable %_ptr_Function_v4float Function
44          %b = OpVariable %_ptr_Function_v4float Function
45         %17 = OpLoad %9 %s
46         %16 = OpImageSampleImplicitLod %v4float %17 %20 Bias %float_n0_474999994
47               OpStore %a %16
48         %24 = OpLoad %9 %s
49         %23 = OpImageSampleProjImplicitLod %v4float %24 %26 Bias %float_n0_474999994
50               OpStore %b %23
51         %27 = OpVectorShuffle %v2float %16 %16 0 1
52         %28 = OpCompositeExtract %float %27 0
53         %29 = OpCompositeExtract %float %27 1
54         %30 = OpVectorShuffle %v2float %23 %23 0 1
55         %31 = OpCompositeExtract %float %30 0
56         %32 = OpCompositeExtract %float %30 1
57         %33 = OpCompositeConstruct %v4float %28 %29 %31 %32
58               OpStore %sk_FragColor %33
59               OpReturn
60               OpFunctionEnd
61