Mini Kabibi Habibi
BPLG �� �q 911db897eaa2d9b7 ` ANGLE (NVIDIA, NVIDIA GeForce GT 730 (0x00001287) Direct3D11 vs_5_0 ps_5_0, D3D11-27.21.14.5671) �� @ �� ���������������� , , pts01Attr _upts01AttrR� pts23Attr _upts23AttrR� argsAttr
_uargsAttrP� gl_VertexID gl_VertexID ��� ������ ��� ������ ��� ������ ��� ������ ��� ������ sk_RTAdjust utessControlArgs_S0 uaffineMatrix_S0
utranslate_S0 ucolor_S0
_usk_RTAdjust _uutessControlArgs_S0 _uuaffineMatrix_S0 _uutranslate_S0 _uucolor_S0 sk_FragColor _usk_FragColorR� @ � � ��� � ������������������������������������������������ �������������������� �������������������� �������������������� �������������������� ���������������� ���� 81 struct VS_OUTPUT
{
float4 dx_Position : SV_Position;
float4 gl_Position : TEXCOORD0;
};
#pragma warning( disable: 3556 3571 )
float float_ctor_int(int x0)
{
return float(x0);
}
float2 vec2_ctor(float x0)
{
return float2(x0, x0);
}
float2 vec2_ctor(float x0, float x1)
{
return float2(x0, x1);
}
float2x2 mat2_ctor(float2 x0, float2 x1)
{
return float2x2(x0, x1);
}
float4 vec4_ctor(float2 x0, float x1, float x2)
{
return float4(x0, x1, x2);
}
// Uniforms
uniform float4 _sk_RTAdjust : register(c1);
uniform float3 _utessControlArgs_S0 : register(c2);
uniform float4 _uaffineMatrix_S0 : register(c3);
uniform float2 _utranslate_S0 : register(c4);
#ifdef ANGLE_ENABLE_LOOP_FLATTEN
#define LOOP [loop]
#define FLATTEN [flatten]
#else
#define LOOP
#define FLATTEN
#endif
#define ATOMIC_COUNTER_ARRAY_STRIDE 4
// Attributes
static float4 _pts01Attr = {0, 0, 0, 0};
static float4 _pts23Attr = {0, 0, 0, 0};
static float2 _argsAttr = {0, 0};
static float4 gl_Position = float4(0, 0, 0, 0);
static int gl_VertexID;
// Varyings
cbuffer DriverConstants : register(b1)
{
float4 dx_ViewAdjust : packoffset(c1);
float2 dx_ViewCoords : packoffset(c2);
float2 dx_ViewScale : packoffset(c3);
float clipControlOrigin : packoffset(c3.z);
float clipControlZeroToOne : packoffset(c3.w);
uint dx_VertexID : packoffset(c4.x);
};
#define GL_USES_VERTEX_ID
float2 f_robust_normalize_diff_f2f2f2(in float2 _a, in float2 _b)
{
float2 _diff3014 = (_a - _b);
if (all(_diff3014 == float2(0.0, 0.0)))
{
return float2(0.0, 0.0);
}
else
{
float _invMag3015 = (1.0 / max(abs(_diff3014.x), abs(_diff3014.y)));
return normalize((_invMag3015 * _diff3014));
}
return float2(0.0, 0.0);
}
float2 f_unchecked_mix_f2f2f2f(in float2 _a, in float2 _b, in float _T)
{
return (((_b - _a) * vec2_ctor(_T)) + _a);
}
float f_wangs_formula_max_fdiff_p2_ff2f2f2f2f22_float2x2(in float2 _p0, in float2 _p1, in float2 _p2, in float2 _p3, in float2x2 _matrix)
{
float2 _d03026 = mul(transpose(_matrix), (((float2(-2.0, -2.0) * _p1) + _p2) + _p0));
float2 _d13027 = mul(transpose(_matrix), (((float2(-2.0, -2.0) * _p2) + _p3) + _p1));
return max(dot(_d03026, _d03026), dot(_d13027, _d13027));
}
float f_wangs_formula_conic_p2_fff2f2f2f(in float __precision_, in float2 _p0, in float2 _p1, in float2 _p2, in float _w)
{
float2 _C3034 = ((min(min(_p0, _p1), _p2) + max(max(_p0, _p1), _p2)) * 0.5);
(_p0 -= _C3034);
(_p1 -= _C3034);
(_p2 -= _C3034);
float _m3035 = sqrt(max(max(dot(_p0, _p0), dot(_p1, _p1)), dot(_p2, _p2)));
float2 _dp3036 = (((vec2_ctor((-2.0 * _w)) * _p1) + _p0) + _p2);
float _dw3037 = abs(((-2.0 * _w) + 2.0));
float _rp_minus_13038 = max(0.0, ((_m3035 * __precision_) + -1.0));
float _numer3039 = ((length(_dp3036) * __precision_) + (_rp_minus_13038 * _dw3037));
float _denom3040 = (4.0 * min(_w, 1.0));
return (_numer3039 / _denom3040);
}
@@ VERTEX ATTRIBUTES @@
VS_OUTPUT generateOutput(VS_INPUT input)
{
VS_OUTPUT output;
output.gl_Position = gl_Position;
output.dx_Position.x = gl_Position.x;
output.dx_Position.y = clipControlOrigin * gl_Position.y;
if (clipControlZeroToOne)
{
output.dx_Position.z = gl_Position.z;
} else {
output.dx_Position.z = (gl_Position.z + gl_Position.w) * 0.5;
}
output.dx_Position.w = gl_Position.w;
return output;
}
VS_OUTPUT main(VS_INPUT input){
initAttributes(input);
float _NUM_RADIAL_SEGMENTS_PER_RADIAN3042 = _utessControlArgs_S0.x;
float _JOIN_TYPE3043 = _utessControlArgs_S0.y;
float _STROKE_RADIUS3044 = _utessControlArgs_S0.z;
float2x2 _AFFINE_MATRIX3045 = mat2_ctor(_uaffineMatrix_S0.xy, _uaffineMatrix_S0.zw);
float2 _TRANSLATE3046 = _utranslate_S0;
float2 _p03047 = _pts01Attr.xy;
float2 _p13048 = _pts01Attr.zw;
float2 _p23049 = _pts23Attr.xy;
float2 _p33050 = _pts23Attr.zw;
float2 _lastControlPoint3051 = _argsAttr;
float _w3052 = {-1.0};
if (isinf(_pts23Attr.w))
{
(_w3052 = _p33050.x);
(_p33050 = _p23049);
}
float _numParametricSegments3053 = {0};
if ((_w3052 < 0.0))
{
if ((all(_p03047 == _p13048) && all(_p23049 == _p33050)))
{
(_numParametricSegments3053 = 1.0);
}
else
{
float __0_m3054 = f_wangs_formula_max_fdiff_p2_ff2f2f2f2f22_float2x2(_p03047, _p13048, _p23049, _p33050, _AFFINE_MATRIX3045);
(_numParametricSegments3053 = max(ceil(sqrt((3.0 * sqrt(__0_m3054)))), 1.0));
}
}
else
{
float __1_n23055 = f_wangs_formula_conic_p2_fff2f2f2f(4.0, mul(transpose(_AFFINE_MATRIX3045), _p03047), mul(transpose(_AFFINE_MATRIX3045), _p13048), mul(transpose(_AFFINE_MATRIX3045), _p23049), _w3052);
(_numParametricSegments3053 = max(ceil(sqrt(__1_n23055)), 1.0));
}
float2 sc2c = {0, 0};
if (all(_p03047 == _p13048))
{
float2 sc2d = {0, 0};
if (all(_p13048 == _p23049))
{
(sc2d = _p33050);
}
else
{
(sc2d = _p23049);
}
(sc2c = sc2d);
}
else
{
(sc2c = _p13048);
}
float2 _tan03056 = f_robust_normalize_diff_f2f2f2(sc2c, _p03047);
float2 sc2e = {0, 0};
if (all(_p33050 == _p23049))
{
float2 sc2f = {0, 0};
if (all(_p23049 == _p13048))
{
(sc2f = _p03047);
}
else
{
(sc2f = _p13048);
}
(sc2e = sc2f);
}
else
{
(sc2e = _p23049);
}
float2 _tan13057 = f_robust_normalize_diff_f2f2f2(_p33050, sc2e);
if (all(_tan03056 == float2(0.0, 0.0)))
{
(_tan03056 = float2(1.0, 0.0));
(_tan13057 = float2(-1.0, 0.0));
}
float _edgeID3058 = float_ctor_int((gl_VertexID >> 1));
if (((gl_VertexID & 1) != 0))
{
(_edgeID3058 = (-_edgeID3058));
}
float _numEdgesInJoin3059 = {4.0};
float _turn3060 = determinant(transpose(mat2_ctor((_p23049 - _p03047), (_p33050 - _p13048))));
float _combinedEdgeID3061 = (abs(_edgeID3058) - _numEdgesInJoin3059);
if ((_combinedEdgeID3061 < 0.0))
{
(_tan13057 = _tan03056);
if (!all(_lastControlPoint3051 == _p03047))
{
(_tan03056 = f_robust_normalize_diff_f2f2f2(_p03047, _lastControlPoint3051));
}
(_turn3060 = determinant(transpose(mat2_ctor(_tan03056, _tan13057))));
}
float _cosTheta3062 = clamp(dot(_tan03056, _tan13057), -1.0, 1.0);
float _rotation3063 = acos(_cosTheta3062);
if ((_turn3060 < 0.0))
{
(_rotation3063 = (-_rotation3063));
}
float _numRadialSegments3064 = {0};
float _strokeOutset3065 = sign(_edgeID3058);
if ((_combinedEdgeID3061 < 0.0))
{
(_numRadialSegments3064 = (_numEdgesInJoin3059 - 2.0));
(_numParametricSegments3053 = 1.0);
(_p33050 = (_p23049 = (_p13048 = _p03047)));
(_combinedEdgeID3061 += (_numRadialSegments3064 + 1.0));
float _sinEpsilon3066 = {0.00999999978};
bool _tangentsNearlyParallel3067 = ((abs(_turn3060) * rsqrt((dot(_tan03056, _tan03056) * dot(_tan13057, _tan13057)))) < _sinEpsilon3066);
if (((!_tangentsNearlyParallel3067) || (dot(_tan03056, _tan13057) < 0.0)))
{
if ((_combinedEdgeID3061 >= 0.0))
{
float sc30 = {0};
if ((_turn3060 < 0.0))
{
(sc30 = min(_strokeOutset3065, 0.0));
}
else
{
(sc30 = max(_strokeOutset3065, 0.0));
}
(_strokeOutset3065 = sc30);
}
}
(_combinedEdgeID3061 = max(_combinedEdgeID3061, 0.0));
}
else
{
float _maxCombinedSegments3068 = ((16383.0 - _numEdgesInJoin3059) - 1.0);
(_numRadialSegments3064 = max(ceil((abs(_rotation3063) * _NUM_RADIAL_SEGMENTS_PER_RADIAN3042)), 1.0));
(_numRadialSegments3064 = min(_numRadialSegments3064, _maxCombinedSegments3068));
(_numParametricSegments3053 = min(_numParametricSegments3053, ((_maxCombinedSegments3068 - _numRadialSegments3064) + 1.0)));
}
float _radsPerSegment3069 = (_rotation3063 / _numRadialSegments3064);
float _numCombinedSegments3070 = ((_numParametricSegments3053 + _numRadialSegments3064) - 1.0);
bool _isFinalEdge3071 = (_combinedEdgeID3061 >= _numCombinedSegments3070);
if ((_combinedEdgeID3061 > _numCombinedSegments3070))
{
(_strokeOutset3065 = 0.0);
}
if ((abs(_edgeID3058) == 2.0))
{
float __2_x3072 = ((_cosTheta3062 * 0.5) + 0.5);
float sc31 = {0};
if ((((__2_x3072 * _JOIN_TYPE3043) * _JOIN_TYPE3043) >= 1.0))
{
(sc31 = rsqrt(__2_x3072));
}
else
{
(sc31 = sqrt(__2_x3072));
}
(_strokeOutset3065 *= sc31);
}
float2 _tangent3073 = {0, 0};
float2 _strokeCoord3074 = {0, 0};
if (((_combinedEdgeID3061 != 0.0) && (!_isFinalEdge3071)))
{
float2 _A3075 = {0, 0};
float2 _B3076 = {0, 0};
float2 _C3077 = (_p13048 - _p03047);
float2 _D3078 = (_p33050 - _p03047);
if ((_w3052 >= 0.0))
{
(_C3077 *= _w3052);
(_B3076 = ((0.5 * _D3078) - _C3077));
(_A3075 = ((_w3052 - 1.0) * _D3078));
(_p13048 *= _w3052);
}
else
{
float2 _E3079 = (_p23049 - _p13048);
(_B3076 = (_E3079 - _C3077));
(_A3075 = ((float2(-3.0, -3.0) * _E3079) + _D3078));
}
float2 _B_3080 = (_B3076 * (_numParametricSegments3053 * 2.0));
float2 _C_3081 = (_C3077 * (_numParametricSegments3053 * _numParametricSegments3053));
float _lastParametricEdgeID3082 = {0.0};
float _maxParametricEdgeID3083 = min((_numParametricSegments3053 - 1.0), _combinedEdgeID3061);
float _negAbsRadsPerSegment3084 = (-abs(_radsPerSegment3069));
float _maxRotation03085 = ((1.0 + _combinedEdgeID3061) * abs(_radsPerSegment3069));
{ for(int __0_exp3086 = {4}; (__0_exp3086 >= 0); (--__0_exp3086))
{
float _testParametricID3087 = (_lastParametricEdgeID3082 + exp2(float_ctor_int(__0_exp3086)));
if ((_testParametricID3087 <= _maxParametricEdgeID3083))
{
float2 _testTan3088 = ((vec2_ctor(_testParametricID3087) * _A3075) + _B_3080);
(_testTan3088 = ((vec2_ctor(_testParametricID3087) * _testTan3088) + _C_3081));
float _cosRotation3089 = dot(normalize(_testTan3088), _tan03056);
float _maxRotation3090 = ((_testParametricID3087 * _negAbsRadsPerSegment3084) + _maxRotation03085);
(_maxRotation3090 = min(_maxRotation3090, 3.14159274));
if ((_cosRotation3089 >= cos(_maxRotation3090)))
{
(_lastParametricEdgeID3082 = _testParametricID3087);
}
}
}
}
float _parametricT3091 = (_lastParametricEdgeID3082 / _numParametricSegments3053);
float _lastRadialEdgeID3092 = (_combinedEdgeID3061 - _lastParametricEdgeID3082);
float _angle03093 = acos(clamp(_tan03056.x, -1.0, 1.0));
float sc32 = {0};
if ((_tan03056.y >= 0.0))
{
(sc32 = _angle03093);
}
else
{
(sc32 = (-_angle03093));
}
(_angle03093 = sc32);
float _radialAngle3094 = ((_lastRadialEdgeID3092 * _radsPerSegment3069) + _angle03093);
(_tangent3073 = vec2_ctor(cos(_radialAngle3094), sin(_radialAngle3094)));
float2 _norm3095 = vec2_ctor((-_tangent3073.y), _tangent3073.x);
float _a3096 = dot(_norm3095, _A3075);
float _b_over_23097 = dot(_norm3095, _B3076);
float _c3098 = dot(_norm3095, _C3077);
float _discr_over_43099 = max(((_b_over_23097 * _b_over_23097) - (_a3096 * _c3098)), 0.0);
float _q3100 = sqrt(_discr_over_43099);
if ((_b_over_23097 > 0.0))
{
(_q3100 = (-_q3100));
}
(_q3100 -= _b_over_23097);
float __5qa3101 = ((-0.5 * _q3100) * _a3096);
float2 sc33 = {0, 0};
if ((abs(((_q3100 * _q3100) + __5qa3101)) < abs(((_a3096 * _c3098) + __5qa3101))))
{
(sc33 = vec2_ctor(_q3100, _a3096));
}
else
{
(sc33 = vec2_ctor(_c3098, _q3100));
}
float2 _root3102 = sc33;
float sc34 = {0};
if ((_root3102.y != 0.0))
{
(sc34 = (_root3102.x / _root3102.y));
}
else
{
(sc34 = 0.0);
}
float _radialT3103 = sc34;
(_radialT3103 = clamp(_radialT3103, 0.0, 1.0));
if ((_lastRadialEdgeID3092 == 0.0))
{
(_radialT3103 = 0.0);
}
float _T3104 = max(_parametricT3091, _radialT3103);
float2 _ab3105 = f_unchecked_mix_f2f2f2f(_p03047, _p13048, _T3104);
float2 _bc3106 = f_unchecked_mix_f2f2f2f(_p13048, _p23049, _T3104);
float2 _cd3107 = f_unchecked_mix_f2f2f2f(_p23049, _p33050, _T3104);
float2 _abc3108 = f_unchecked_mix_f2f2f2f(_ab3105, _bc3106, _T3104);
float2 _bcd3109 = f_unchecked_mix_f2f2f2f(_bc3106, _cd3107, _T3104);
float2 _abcd3110 = f_unchecked_mix_f2f2f2f(_abc3108, _bcd3109, _T3104);
float _u3111 = (((_w3052 - 1.0) * _T3104) + 1.0);
float _v3112 = ((_w3052 + 1.0) - _u3111);
float _uv3113 = (((_v3112 - _u3111) * _T3104) + _u3111);
if ((_T3104 != _radialT3103))
{
float2 sc35 = {0, 0};
if ((_w3052 >= 0.0))
{
(sc35 = f_robust_normalize_diff_f2f2f2((_bc3106 * _u3111), (_ab3105 * _v3112)));
}
else
{
(sc35 = f_robust_normalize_diff_f2f2f2(_bcd3109, _abc3108));
}
(_tangent3073 = sc35);
}
float2 sc36 = {0, 0};
if ((_w3052 >= 0.0))
{
(sc36 = (_abc3108 / _uv3113));
}
else
{
(sc36 = _abcd3110);
}
(_strokeCoord3074 = sc36);
}
else
{
float2 sc37 = {0, 0};
if ((_combinedEdgeID3061 == 0.0))
{
(sc37 = _tan03056);
}
else
{
(sc37 = _tan13057);
}
(_tangent3073 = sc37);
float2 sc38 = {0, 0};
if ((_combinedEdgeID3061 == 0.0))
{
(sc38 = _p03047);
}
else
{
(sc38 = _p33050);
}
(_strokeCoord3074 = sc38);
}
float2 _ortho3114 = vec2_ctor(_tangent3073.y, (-_tangent3073.x));
(_strokeCoord3074 += (_ortho3114 * (_STROKE_RADIUS3044 * _strokeOutset3065)));
float2 _devCoord3115 = (mul(transpose(_AFFINE_MATRIX3045), _strokeCoord3074) + _TRANSLATE3046);
(gl_Position = vec4_ctor(_devCoord3115, 0.0, 1.0));
(gl_Position = vec4_ctor(((gl_Position.xy * _sk_RTAdjust.xz) + (gl_Position.ww * _sk_RTAdjust.yw)), 0.0, gl_Position.w));
return generateOutput(input);
}
� struct PS_INPUT
{
float4 dx_Position : SV_Position;
float4 gl_Position : TEXCOORD0;
};
#pragma warning( disable: 3556 3571 )
// Uniforms
uniform float4 _ucolor_S0 : register(c0);
#ifdef ANGLE_ENABLE_LOOP_FLATTEN
#define LOOP [loop]
#define FLATTEN [flatten]
#else
#define LOOP
#define FLATTEN
#endif
#define ATOMIC_COUNTER_ARRAY_STRIDE 4
// Varyings
static float4 out_sk_FragColor = {0, 0, 0, 0};
cbuffer DriverConstants : register(b1)
{
uint dx_Misc : packoffset(c2.w);
};
@@ PIXEL OUTPUT @@
PS_OUTPUT main(PS_INPUT input){
float4 _outputColor_S03004 = _ucolor_S0;
{
(out_sk_FragColor = _outputColor_S03004);
}
return generateOutput();
}
R� out_sk_FragColor out_sk_FragColor � struct GS_INPUT
{
float4 dx_Position : SV_Position;
float4 gl_Position : TEXCOORD0;
};
struct GS_OUTPUT
{
float4 dx_Position : SV_Position;
float4 gl_Position : TEXCOORD0;
};
void copyVertex(inout GS_OUTPUT output, GS_INPUT input, GS_INPUT flatinput)
{
output.gl_Position = input.gl_Position;
#ifndef ANGLE_POINT_SPRITE_SHADER
output.dx_Position = input.dx_Position;
#endif // ANGLE_POINT_SPRITE_SHADER
}
� � � � �. DXBCf�U��l;���X �. 4 4 � H. RDEF� � <