Mini Kabibi Habibi
BPLG �� `s 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� @ � � ��� � ������������������������������������������������ �������������������� �������������������� �������������������� �������������������� ���������������� ���� n1 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 _STROKE_RADIUS3043 = _utessControlArgs_S0.z;
float2x2 _AFFINE_MATRIX3044 = mat2_ctor(_uaffineMatrix_S0.xy, _uaffineMatrix_S0.zw);
float2 _TRANSLATE3045 = _utranslate_S0;
float2 _p03046 = _pts01Attr.xy;
float2 _p13047 = _pts01Attr.zw;
float2 _p23048 = _pts23Attr.xy;
float2 _p33049 = _pts23Attr.zw;
float2 _lastControlPoint3050 = _argsAttr;
float _w3051 = {-1.0};
if (isinf(_pts23Attr.w))
{
(_w3051 = _p33049.x);
(_p33049 = _p23048);
}
float _numParametricSegments3052 = {0};
if ((_w3051 < 0.0))
{
if ((all(_p03046 == _p13047) && all(_p23048 == _p33049)))
{
(_numParametricSegments3052 = 1.0);
}
else
{
float __0_m3053 = f_wangs_formula_max_fdiff_p2_ff2f2f2f2f22_float2x2(_p03046, _p13047, _p23048, _p33049, _AFFINE_MATRIX3044);
(_numParametricSegments3052 = max(ceil(sqrt((3.0 * sqrt(__0_m3053)))), 1.0));
}
}
else
{
float __1_n23054 = f_wangs_formula_conic_p2_fff2f2f2f(4.0, mul(transpose(_AFFINE_MATRIX3044), _p03046), mul(transpose(_AFFINE_MATRIX3044), _p13047), mul(transpose(_AFFINE_MATRIX3044), _p23048), _w3051);
(_numParametricSegments3052 = max(ceil(sqrt(__1_n23054)), 1.0));
}
float2 sc2d = {0, 0};
if (all(_p03046 == _p13047))
{
float2 sc2e = {0, 0};
if (all(_p13047 == _p23048))
{
(sc2e = _p33049);
}
else
{
(sc2e = _p23048);
}
(sc2d = sc2e);
}
else
{
(sc2d = _p13047);
}
float2 _tan03055 = f_robust_normalize_diff_f2f2f2(sc2d, _p03046);
float2 sc2f = {0, 0};
if (all(_p33049 == _p23048))
{
float2 sc30 = {0, 0};
if (all(_p23048 == _p13047))
{
(sc30 = _p03046);
}
else
{
(sc30 = _p13047);
}
(sc2f = sc30);
}
else
{
(sc2f = _p23048);
}
float2 _tan13056 = f_robust_normalize_diff_f2f2f2(_p33049, sc2f);
if (all(_tan03055 == float2(0.0, 0.0)))
{
(_tan03055 = float2(1.0, 0.0));
(_tan13056 = float2(-1.0, 0.0));
}
float _edgeID3057 = float_ctor_int((gl_VertexID >> 1));
if (((gl_VertexID & 1) != 0))
{
(_edgeID3057 = (-_edgeID3057));
}
float2 _prevTan3058 = f_robust_normalize_diff_f2f2f2(_p03046, _lastControlPoint3050);
float _joinRads3059 = acos(clamp(dot(_prevTan3058, _tan03055), -1.0, 1.0));
float _numRadialSegmentsInJoin3060 = max(ceil((_joinRads3059 * _NUM_RADIAL_SEGMENTS_PER_RADIAN3042)), 1.0);
float _numEdgesInJoin3061 = (_numRadialSegmentsInJoin3060 + 2.0);
(_numEdgesInJoin3061 = min(_numEdgesInJoin3061, 16381.0));
float _turn3062 = determinant(transpose(mat2_ctor((_p23048 - _p03046), (_p33049 - _p13047))));
float _combinedEdgeID3063 = (abs(_edgeID3057) - _numEdgesInJoin3061);
if ((_combinedEdgeID3063 < 0.0))
{
(_tan13056 = _tan03055);
if (!all(_lastControlPoint3050 == _p03046))
{
(_tan03055 = f_robust_normalize_diff_f2f2f2(_p03046, _lastControlPoint3050));
}
(_turn3062 = determinant(transpose(mat2_ctor(_tan03055, _tan13056))));
}
float _cosTheta3064 = clamp(dot(_tan03055, _tan13056), -1.0, 1.0);
float _rotation3065 = acos(_cosTheta3064);
if ((_turn3062 < 0.0))
{
(_rotation3065 = (-_rotation3065));
}
float _numRadialSegments3066 = {0};
float _strokeOutset3067 = sign(_edgeID3057);
if ((_combinedEdgeID3063 < 0.0))
{
(_numRadialSegments3066 = (_numEdgesInJoin3061 - 2.0));
(_numParametricSegments3052 = 1.0);
(_p33049 = (_p23048 = (_p13047 = _p03046)));
(_combinedEdgeID3063 += (_numRadialSegments3066 + 1.0));
float _sinEpsilon3068 = {0.00999999978};
bool _tangentsNearlyParallel3069 = ((abs(_turn3062) * rsqrt((dot(_tan03055, _tan03055) * dot(_tan13056, _tan13056)))) < _sinEpsilon3068);
if (((!_tangentsNearlyParallel3069) || (dot(_tan03055, _tan13056) < 0.0)))
{
if ((_combinedEdgeID3063 >= 0.0))
{
float sc31 = {0};
if ((_turn3062 < 0.0))
{
(sc31 = min(_strokeOutset3067, 0.0));
}
else
{
(sc31 = max(_strokeOutset3067, 0.0));
}
(_strokeOutset3067 = sc31);
}
}
(_combinedEdgeID3063 = max(_combinedEdgeID3063, 0.0));
}
else
{
float _maxCombinedSegments3070 = ((16383.0 - _numEdgesInJoin3061) - 1.0);
(_numRadialSegments3066 = max(ceil((abs(_rotation3065) * _NUM_RADIAL_SEGMENTS_PER_RADIAN3042)), 1.0));
(_numRadialSegments3066 = min(_numRadialSegments3066, _maxCombinedSegments3070));
(_numParametricSegments3052 = min(_numParametricSegments3052, ((_maxCombinedSegments3070 - _numRadialSegments3066) + 1.0)));
}
float _radsPerSegment3071 = (_rotation3065 / _numRadialSegments3066);
float _numCombinedSegments3072 = ((_numParametricSegments3052 + _numRadialSegments3066) - 1.0);
bool _isFinalEdge3073 = (_combinedEdgeID3063 >= _numCombinedSegments3072);
if ((_combinedEdgeID3063 > _numCombinedSegments3072))
{
(_strokeOutset3067 = 0.0);
}
float2 _tangent3074 = {0, 0};
float2 _strokeCoord3075 = {0, 0};
if (((_combinedEdgeID3063 != 0.0) && (!_isFinalEdge3073)))
{
float2 _A3076 = {0, 0};
float2 _B3077 = {0, 0};
float2 _C3078 = (_p13047 - _p03046);
float2 _D3079 = (_p33049 - _p03046);
if ((_w3051 >= 0.0))
{
(_C3078 *= _w3051);
(_B3077 = ((0.5 * _D3079) - _C3078));
(_A3076 = ((_w3051 - 1.0) * _D3079));
(_p13047 *= _w3051);
}
else
{
float2 _E3080 = (_p23048 - _p13047);
(_B3077 = (_E3080 - _C3078));
(_A3076 = ((float2(-3.0, -3.0) * _E3080) + _D3079));
}
float2 _B_3081 = (_B3077 * (_numParametricSegments3052 * 2.0));
float2 _C_3082 = (_C3078 * (_numParametricSegments3052 * _numParametricSegments3052));
float _lastParametricEdgeID3083 = {0.0};
float _maxParametricEdgeID3084 = min((_numParametricSegments3052 - 1.0), _combinedEdgeID3063);
float _negAbsRadsPerSegment3085 = (-abs(_radsPerSegment3071));
float _maxRotation03086 = ((1.0 + _combinedEdgeID3063) * abs(_radsPerSegment3071));
{ for(int __0_exp3087 = {4}; (__0_exp3087 >= 0); (--__0_exp3087))
{
float _testParametricID3088 = (_lastParametricEdgeID3083 + exp2(float_ctor_int(__0_exp3087)));
if ((_testParametricID3088 <= _maxParametricEdgeID3084))
{
float2 _testTan3089 = ((vec2_ctor(_testParametricID3088) * _A3076) + _B_3081);
(_testTan3089 = ((vec2_ctor(_testParametricID3088) * _testTan3089) + _C_3082));
float _cosRotation3090 = dot(normalize(_testTan3089), _tan03055);
float _maxRotation3091 = ((_testParametricID3088 * _negAbsRadsPerSegment3085) + _maxRotation03086);
(_maxRotation3091 = min(_maxRotation3091, 3.14159274));
if ((_cosRotation3090 >= cos(_maxRotation3091)))
{
(_lastParametricEdgeID3083 = _testParametricID3088);
}
}
}
}
float _parametricT3092 = (_lastParametricEdgeID3083 / _numParametricSegments3052);
float _lastRadialEdgeID3093 = (_combinedEdgeID3063 - _lastParametricEdgeID3083);
float _angle03094 = acos(clamp(_tan03055.x, -1.0, 1.0));
float sc32 = {0};
if ((_tan03055.y >= 0.0))
{
(sc32 = _angle03094);
}
else
{
(sc32 = (-_angle03094));
}
(_angle03094 = sc32);
float _radialAngle3095 = ((_lastRadialEdgeID3093 * _radsPerSegment3071) + _angle03094);
(_tangent3074 = vec2_ctor(cos(_radialAngle3095), sin(_radialAngle3095)));
float2 _norm3096 = vec2_ctor((-_tangent3074.y), _tangent3074.x);
float _a3097 = dot(_norm3096, _A3076);
float _b_over_23098 = dot(_norm3096, _B3077);
float _c3099 = dot(_norm3096, _C3078);
float _discr_over_43100 = max(((_b_over_23098 * _b_over_23098) - (_a3097 * _c3099)), 0.0);
float _q3101 = sqrt(_discr_over_43100);
if ((_b_over_23098 > 0.0))
{
(_q3101 = (-_q3101));
}
(_q3101 -= _b_over_23098);
float __5qa3102 = ((-0.5 * _q3101) * _a3097);
float2 sc33 = {0, 0};
if ((abs(((_q3101 * _q3101) + __5qa3102)) < abs(((_a3097 * _c3099) + __5qa3102))))
{
(sc33 = vec2_ctor(_q3101, _a3097));
}
else
{
(sc33 = vec2_ctor(_c3099, _q3101));
}
float2 _root3103 = sc33;
float sc34 = {0};
if ((_root3103.y != 0.0))
{
(sc34 = (_root3103.x / _root3103.y));
}
else
{
(sc34 = 0.0);
}
float _radialT3104 = sc34;
(_radialT3104 = clamp(_radialT3104, 0.0, 1.0));
if ((_lastRadialEdgeID3093 == 0.0))
{
(_radialT3104 = 0.0);
}
float _T3105 = max(_parametricT3092, _radialT3104);
float2 _ab3106 = f_unchecked_mix_f2f2f2f(_p03046, _p13047, _T3105);
float2 _bc3107 = f_unchecked_mix_f2f2f2f(_p13047, _p23048, _T3105);
float2 _cd3108 = f_unchecked_mix_f2f2f2f(_p23048, _p33049, _T3105);
float2 _abc3109 = f_unchecked_mix_f2f2f2f(_ab3106, _bc3107, _T3105);
float2 _bcd3110 = f_unchecked_mix_f2f2f2f(_bc3107, _cd3108, _T3105);
float2 _abcd3111 = f_unchecked_mix_f2f2f2f(_abc3109, _bcd3110, _T3105);
float _u3112 = (((_w3051 - 1.0) * _T3105) + 1.0);
float _v3113 = ((_w3051 + 1.0) - _u3112);
float _uv3114 = (((_v3113 - _u3112) * _T3105) + _u3112);
if ((_T3105 != _radialT3104))
{
float2 sc35 = {0, 0};
if ((_w3051 >= 0.0))
{
(sc35 = f_robust_normalize_diff_f2f2f2((_bc3107 * _u3112), (_ab3106 * _v3113)));
}
else
{
(sc35 = f_robust_normalize_diff_f2f2f2(_bcd3110, _abc3109));
}
(_tangent3074 = sc35);
}
float2 sc36 = {0, 0};
if ((_w3051 >= 0.0))
{
(sc36 = (_abc3109 / _uv3114));
}
else
{
(sc36 = _abcd3111);
}
(_strokeCoord3075 = sc36);
}
else
{
float2 sc37 = {0, 0};
if ((_combinedEdgeID3063 == 0.0))
{
(sc37 = _tan03055);
}
else
{
(sc37 = _tan13056);
}
(_tangent3074 = sc37);
float2 sc38 = {0, 0};
if ((_combinedEdgeID3063 == 0.0))
{
(sc38 = _p03046);
}
else
{
(sc38 = _p33049);
}
(_strokeCoord3075 = sc38);
}
float2 _ortho3115 = vec2_ctor(_tangent3074.y, (-_tangent3074.x));
(_strokeCoord3075 += (_ortho3115 * (_STROKE_RADIUS3043 * _strokeOutset3067)));
float2 _devCoord3116 = (mul(transpose(_AFFINE_MATRIX3044), _strokeCoord3075) + _TRANSLATE3045);
(gl_Position = vec4_ctor(_devCoord3116, 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
}
� � � � \0 DXBC7지`d3U�A���I \0 4 4 � �/ RDEF� � <