summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/3rdparty/glsl-optimizer/tests/fragment/intrinsics-outES3Metal.txt
blob: 223b512f488468b2e070b8cb96a0ba45b5d976df (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
#include <metal_stdlib>
#pragma clang diagnostic ignored "-Wparentheses-equality"
using namespace metal;
struct xlatMtlShaderInput {
  float4 xlv_TEXCOORD0;
};
struct xlatMtlShaderOutput {
  half4 _fragData [[color(0)]];
};
struct xlatMtlShaderUniform {
};
fragment xlatMtlShaderOutput xlatMtlMain (xlatMtlShaderInput _mtl_i [[stage_in]], constant xlatMtlShaderUniform& _mtl_u [[buffer(0)]])
{
  xlatMtlShaderOutput _mtl_o;
  half4 c_1;
  c_1 = half4(float4(0.0, 0.0, 0.0, 0.0));
  float tmpvar_2;
  tmpvar_2 = (_mtl_i.xlv_TEXCOORD0.x / 2.0);
  float tmpvar_3;
  tmpvar_3 = (fract(abs(tmpvar_2)) * 2.0);
  float tmpvar_4;
  if ((tmpvar_2 >= 0.0)) {
    tmpvar_4 = tmpvar_3;
  } else {
    tmpvar_4 = -(tmpvar_3);
  };
  c_1.x = half(tmpvar_4);
  float2 tmpvar_5;
  tmpvar_5 = (_mtl_i.xlv_TEXCOORD0.xy / float2(2.0, 2.0));
  float2 tmpvar_6;
  tmpvar_6 = (fract(abs(tmpvar_5)) * float2(2.0, 2.0));
  float tmpvar_7;
  if ((tmpvar_5.x >= 0.0)) {
    tmpvar_7 = tmpvar_6.x;
  } else {
    tmpvar_7 = -(tmpvar_6.x);
  };
  float tmpvar_8;
  if ((tmpvar_5.y >= 0.0)) {
    tmpvar_8 = tmpvar_6.y;
  } else {
    tmpvar_8 = -(tmpvar_6.y);
  };
  float2 tmpvar_9;
  tmpvar_9.x = tmpvar_7;
  tmpvar_9.y = tmpvar_8;
  c_1.xy = ((half2)((float2)c_1.xy + tmpvar_9));
  float3 tmpvar_10;
  tmpvar_10 = (_mtl_i.xlv_TEXCOORD0.xyz / float3(2.0, 2.0, 2.0));
  float3 tmpvar_11;
  tmpvar_11 = (fract(abs(tmpvar_10)) * float3(2.0, 2.0, 2.0));
  float tmpvar_12;
  if ((tmpvar_10.x >= 0.0)) {
    tmpvar_12 = tmpvar_11.x;
  } else {
    tmpvar_12 = -(tmpvar_11.x);
  };
  float tmpvar_13;
  if ((tmpvar_10.y >= 0.0)) {
    tmpvar_13 = tmpvar_11.y;
  } else {
    tmpvar_13 = -(tmpvar_11.y);
  };
  float tmpvar_14;
  if ((tmpvar_10.z >= 0.0)) {
    tmpvar_14 = tmpvar_11.z;
  } else {
    tmpvar_14 = -(tmpvar_11.z);
  };
  float3 tmpvar_15;
  tmpvar_15.x = tmpvar_12;
  tmpvar_15.y = tmpvar_13;
  tmpvar_15.z = tmpvar_14;
  c_1.xyz = ((half3)((float3)c_1.xyz + tmpvar_15));
  float4 tmpvar_16;
  tmpvar_16 = (_mtl_i.xlv_TEXCOORD0 / float4(2.0, 2.0, 2.0, 2.0));
  float4 tmpvar_17;
  tmpvar_17 = (fract(abs(tmpvar_16)) * float4(2.0, 2.0, 2.0, 2.0));
  float tmpvar_18;
  if ((tmpvar_16.x >= 0.0)) {
    tmpvar_18 = tmpvar_17.x;
  } else {
    tmpvar_18 = -(tmpvar_17.x);
  };
  float tmpvar_19;
  if ((tmpvar_16.y >= 0.0)) {
    tmpvar_19 = tmpvar_17.y;
  } else {
    tmpvar_19 = -(tmpvar_17.y);
  };
  float tmpvar_20;
  if ((tmpvar_16.z >= 0.0)) {
    tmpvar_20 = tmpvar_17.z;
  } else {
    tmpvar_20 = -(tmpvar_17.z);
  };
  float tmpvar_21;
  if ((tmpvar_16.w >= 0.0)) {
    tmpvar_21 = tmpvar_17.w;
  } else {
    tmpvar_21 = -(tmpvar_17.w);
  };
  float4 tmpvar_22;
  tmpvar_22.x = tmpvar_18;
  tmpvar_22.y = tmpvar_19;
  tmpvar_22.z = tmpvar_20;
  tmpvar_22.w = tmpvar_21;
  c_1 = ((half4)((float4)c_1 + tmpvar_22));
  float tmpvar_23;
  half ip_24;
  int tmpvar_25;
  tmpvar_25 = int(_mtl_i.xlv_TEXCOORD0.x);
  ip_24 = half(float(tmpvar_25));
  tmpvar_23 = (_mtl_i.xlv_TEXCOORD0.x - (float)ip_24);
  c_1.x = ((half)((float)c_1.x + tmpvar_23));
  float2 tmpvar_26;
  int2 tmpvar_27;
  tmpvar_27 = int2(_mtl_i.xlv_TEXCOORD0.xy);
  half2 tmpvar_28;
  tmpvar_28 = half2(float2(tmpvar_27));
  tmpvar_26 = (_mtl_i.xlv_TEXCOORD0.xy - (float2)tmpvar_28);
  c_1.xy = ((half2)((float2)c_1.xy + tmpvar_26));
  float3 tmpvar_29;
  int3 tmpvar_30;
  tmpvar_30 = int3(_mtl_i.xlv_TEXCOORD0.xyz);
  half3 tmpvar_31;
  tmpvar_31 = half3(float3(tmpvar_30));
  tmpvar_29 = (_mtl_i.xlv_TEXCOORD0.xyz - (float3)tmpvar_31);
  c_1.xyz = ((half3)((float3)c_1.xyz + tmpvar_29));
  float4 tmpvar_32;
  int4 tmpvar_33;
  tmpvar_33 = int4(_mtl_i.xlv_TEXCOORD0);
  half4 tmpvar_34;
  tmpvar_34 = half4(float4(tmpvar_33));
  tmpvar_32 = (_mtl_i.xlv_TEXCOORD0 - (float4)tmpvar_34);
  c_1 = ((half4)((float4)c_1 + tmpvar_32));
  float tmpvar_35;
  tmpvar_35 = (float(fmod (_mtl_i.xlv_TEXCOORD0.x, (float)tmpvar_34.x)));
  c_1.x = half(((float)c_1.x + tmpvar_35));
  float2 tmpvar_36;
  tmpvar_36 = (float2(fmod (_mtl_i.xlv_TEXCOORD0.xy, (float2)tmpvar_34.xy)));
  c_1.xy = half2(((float2)c_1.xy + tmpvar_36));
  float3 tmpvar_37;
  tmpvar_37 = (float3(fmod (_mtl_i.xlv_TEXCOORD0.xyz, (float3)tmpvar_34.xyz)));
  c_1.xyz = half3(((float3)c_1.xyz + tmpvar_37));
  float tmpvar_38;
  tmpvar_38 = (1.0/(_mtl_i.xlv_TEXCOORD0.x));
  c_1.x = half(((float)c_1.x + tmpvar_38));
  float tmpvar_39;
  tmpvar_39 = max (0.0, tmpvar_38);
  c_1.x = half(((float)c_1.x + tmpvar_39));
  c_1.y = (c_1.y + ((half)1.0/(c_1.z)));
  c_1.y = (c_1.y + max ((half)0.0, ((half)1.0/(c_1.w))));
  float tmpvar_40;
  tmpvar_40 = max (_mtl_i.xlv_TEXCOORD0.x, (float)c_1.z);
  c_1.x = half(((float)c_1.x + tmpvar_40));
  _mtl_o._fragData = c_1;
  return _mtl_o;
}


// stats: 73 alu 0 tex 10 flow
// inputs: 1
//  #0: xlv_TEXCOORD0 (high float) 4x1 [-1]