summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/3rdparty/glsl-optimizer/tests/vertex/loops-for-withvec4-outES3Metal.txt
blob: 8976a6750d2cfd1728b333c33a7a91755242cab3 (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
#include <metal_stdlib>
using namespace metal;
struct xlatMtlShaderInput {
  float4 dcl_Input0_POSITION0 [[attribute(0)]];
  float4 dcl_Input1_NORMAL0 [[attribute(1)]];
  float4 dcl_Input2_TEXCOORD0 [[attribute(2)]];
};
struct xlatMtlShaderOutput {
  float4 gl_Position [[position]];
  float4 VtxGeoOutput1_TEXCOORD0;
  float4 VtxGeoOutput2_COLOR0;
};
struct xlatMtlShaderUniform {
  float4 unity_AmbientGround;
  float4 unity_AmbientSky;
  float4 unity_MatrixVP[4];
  float4 unity_MatrixV[4];
  float4 glstate_lightmodel_ambient;
  float4 glstate_matrix_projection[4];
  float4 unity_LODFade;
  float4 unity_Scale;
  float4 _World2Object[4];
  float4 _Object2World[4];
  float4 glstate_matrix_invtrans_modelview0[4];
  float4 glstate_matrix_modelview0[4];
  float4 glstate_matrix_mvp[4];
  float4 unity_SHC;
  float4 unity_SHBb;
  float4 unity_SHBg;
  float4 unity_SHBr;
  float4 unity_SHAb;
  float4 unity_SHAg;
  float4 unity_SHAr;
  float4 unity_SpotDirection[8];
  float4 unity_LightAtten[8];
  float4 unity_LightPosition[8];
  float4 unity_LightColor[8];
  float4 unity_4LightAtten0;
  float4 unity_4LightPosZ0;
  float4 unity_4LightPosY0;
  float4 unity_4LightPosX0;
  float4 _LightPositionRange;
  float4 _WorldSpaceLightPos0;
  float4 _MainTex_ST;
  float4 unity_ColorSpaceGrey;
};
vertex xlatMtlShaderOutput xlatMtlMain (xlatMtlShaderInput _mtl_i [[stage_in]], constant xlatMtlShaderUniform& _mtl_u [[buffer(0)]])
{
  xlatMtlShaderOutput _mtl_o;
float4 phase0_Output0_1;
float4 Temp_0_2;
float4 Temp_1_3;
float4 Temp_2_4;
float4 Temp_3_5;
int4 Temp_int_0_6;
  Temp_0_2 = (_mtl_i.dcl_Input0_POSITION0.yyyy * _mtl_u.glstate_matrix_mvp[1]);
  Temp_0_2 = ((_mtl_u.glstate_matrix_mvp[0] * _mtl_i.dcl_Input0_POSITION0.xxxx) + Temp_0_2);
  Temp_0_2 = ((_mtl_u.glstate_matrix_mvp[2] * _mtl_i.dcl_Input0_POSITION0.zzzz) + Temp_0_2);
  phase0_Output0_1 = ((_mtl_u.glstate_matrix_mvp[3] * _mtl_i.dcl_Input0_POSITION0.wwww) + Temp_0_2);
  _mtl_o.VtxGeoOutput1_TEXCOORD0.xy = ((_mtl_i.dcl_Input2_TEXCOORD0.xyxx * _mtl_u._MainTex_ST.xyxx) + _mtl_u._MainTex_ST.zwzz).xy;
  Temp_0_2.xyz = (_mtl_i.dcl_Input0_POSITION0.yyyy * _mtl_u.glstate_matrix_modelview0[1].xyzx).xyz;
  Temp_0_2.xyz = ((_mtl_u.glstate_matrix_modelview0[0].xyzx * _mtl_i.dcl_Input0_POSITION0.xxxx) + Temp_0_2.xyzx).xyz;
  Temp_0_2.xyz = ((_mtl_u.glstate_matrix_modelview0[2].xyzx * _mtl_i.dcl_Input0_POSITION0.zzzz) + Temp_0_2.xyzx).xyz;
  Temp_0_2.xyz = ((_mtl_u.glstate_matrix_modelview0[3].xyzx * _mtl_i.dcl_Input0_POSITION0.wwww) + Temp_0_2.xyzx).xyz;
  Temp_1_3.xyz = (_mtl_i.dcl_Input1_NORMAL0.yyyy * _mtl_u.glstate_matrix_invtrans_modelview0[1].xyzx).xyz;
  Temp_1_3.xyz = ((_mtl_u.glstate_matrix_invtrans_modelview0[0].xyzx * _mtl_i.dcl_Input1_NORMAL0.xxxx) + Temp_1_3.xyzx).xyz;
  Temp_1_3.xyz = ((_mtl_u.glstate_matrix_invtrans_modelview0[2].xyzx * _mtl_i.dcl_Input1_NORMAL0.zzzz) + Temp_1_3.xyzx).xyz;
  Temp_0_2.w = dot (Temp_1_3.xyz, Temp_1_3.xyz);
  Temp_0_2.w = rsqrt(Temp_0_2.w);
  Temp_1_3.xyz = (Temp_0_2.wwww * Temp_1_3.xyzx).xyz;
  Temp_2_4.xyz = _mtl_u.glstate_lightmodel_ambient.xyz;
  Temp_int_0_6.w = 0;
  while (true) {
    if ((Temp_int_0_6.w >= 4)) {
      break;
    };
    Temp_3_5.xyz = ((-(Temp_0_2.xyzx) * _mtl_u.unity_LightPosition[Temp_int_0_6.w].wwww) + _mtl_u.unity_LightPosition[Temp_int_0_6.w].xyzx).xyz;
    Temp_1_3.w = dot (Temp_3_5.xyz, Temp_3_5.xyz);
    Temp_2_4.w = ((Temp_1_3.w * _mtl_u.unity_LightAtten[Temp_int_0_6.w].z) + 1.0);
    Temp_2_4.w = (1.0/(Temp_2_4.w));
    Temp_1_3.w = rsqrt(Temp_1_3.w);
    Temp_3_5.xyz = (Temp_1_3.wwww * Temp_3_5.xyzx).xyz;
    Temp_1_3.w = dot (Temp_1_3.xyz, Temp_3_5.xyz);
    Temp_1_3.w = max (Temp_1_3.w, 0.0);
    Temp_1_3.w = (Temp_1_3.w * Temp_2_4.w);
    Temp_2_4.xyz = ((_mtl_u.unity_LightColor[Temp_int_0_6.w].xyzx * Temp_1_3.wwww) + Temp_2_4.xyzx).xyz;
    Temp_int_0_6.w = (Temp_int_0_6.w + 1);
  };
  _mtl_o.VtxGeoOutput2_COLOR0.xyz = (Temp_2_4.xyzx + Temp_2_4.xyzx).xyz;
  _mtl_o.VtxGeoOutput2_COLOR0.w = 1.0;
  _mtl_o.gl_Position = phase0_Output0_1;
  return _mtl_o;
}


// stats: 43 alu 0 tex 2 flow
// inputs: 3
//  #0: dcl_Input0_POSITION0 (high float) 4x1 [-1] loc 0
//  #1: dcl_Input1_NORMAL0 (high float) 4x1 [-1] loc 1
//  #2: dcl_Input2_TEXCOORD0 (high float) 4x1 [-1] loc 2
// uniforms: 32 (total size: 1344)
//  #0: unity_AmbientGround (high float) 4x1 [-1] loc 0
//  #1: unity_AmbientSky (high float) 4x1 [-1] loc 16
//  #2: unity_MatrixVP (high float) 4x1 [4] loc 32
//  #3: unity_MatrixV (high float) 4x1 [4] loc 96
//  #4: glstate_lightmodel_ambient (high float) 4x1 [-1] loc 160
//  #5: glstate_matrix_projection (high float) 4x1 [4] loc 176
//  #6: unity_LODFade (high float) 4x1 [-1] loc 240
//  #7: unity_Scale (high float) 4x1 [-1] loc 256
//  #8: _World2Object (high float) 4x1 [4] loc 272
//  #9: _Object2World (high float) 4x1 [4] loc 336
//  #10: glstate_matrix_invtrans_modelview0 (high float) 4x1 [4] loc 400
//  #11: glstate_matrix_modelview0 (high float) 4x1 [4] loc 464
//  #12: glstate_matrix_mvp (high float) 4x1 [4] loc 528
//  #13: unity_SHC (high float) 4x1 [-1] loc 592
//  #14: unity_SHBb (high float) 4x1 [-1] loc 608
//  #15: unity_SHBg (high float) 4x1 [-1] loc 624
//  #16: unity_SHBr (high float) 4x1 [-1] loc 640
//  #17: unity_SHAb (high float) 4x1 [-1] loc 656
//  #18: unity_SHAg (high float) 4x1 [-1] loc 672
//  #19: unity_SHAr (high float) 4x1 [-1] loc 688
//  #20: unity_SpotDirection (high float) 4x1 [8] loc 704
//  #21: unity_LightAtten (high float) 4x1 [8] loc 832
//  #22: unity_LightPosition (high float) 4x1 [8] loc 960
//  #23: unity_LightColor (high float) 4x1 [8] loc 1088
//  #24: unity_4LightAtten0 (high float) 4x1 [-1] loc 1216
//  #25: unity_4LightPosZ0 (high float) 4x1 [-1] loc 1232
//  #26: unity_4LightPosY0 (high float) 4x1 [-1] loc 1248
//  #27: unity_4LightPosX0 (high float) 4x1 [-1] loc 1264
//  #28: _LightPositionRange (high float) 4x1 [-1] loc 1280
//  #29: _WorldSpaceLightPos0 (high float) 4x1 [-1] loc 1296
//  #30: _MainTex_ST (high float) 4x1 [-1] loc 1312
//  #31: unity_ColorSpaceGrey (high float) 4x1 [-1] loc 1328