Mini Kabibi Habibi
BPLG �� �t 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� dynamicColorAttr _udynamicColorAttrR� gl_VertexID gl_VertexID ��� ������ ��� ������ ��� ������ ��� ������ sk_RTAdjust utessControlArgs_S0 uaffineMatrix_S0
utranslate_S0
_usk_RTAdjust _uutessControlArgs_S0 _uuaffineMatrix_S0 _uutranslate_S0 sk_FragColor _usk_FragColorR� @ � � ��� � �������������������������������������������� �������������������� �������������������� �������������������� �������������������� Q2 struct VS_OUTPUT
{
float4 dx_Position : SV_Position;
float4 gl_Position : TEXCOORD1;
noperspective float4 v0 : 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 _dynamicColorAttr = {0, 0, 0, 0};
static float4 gl_Position = float4(0, 0, 0, 0);
static int gl_VertexID;
// Varyings
static noperspective float4 _vdynamicColor_S0 = {0, 0, 0, 0};
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 _diff3016 = (_a - _b);
if (all(_diff3016 == float2(0.0, 0.0)))
{
return float2(0.0, 0.0);
}
else
{
float _invMag3017 = (1.0 / max(abs(_diff3016.x), abs(_diff3016.y)));
return normalize((_invMag3017 * _diff3016));
}
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 _d03028 = mul(transpose(_matrix), (((float2(-2.0, -2.0) * _p1) + _p2) + _p0));
float2 _d13029 = mul(transpose(_matrix), (((float2(-2.0, -2.0) * _p2) + _p3) + _p1));
return max(dot(_d03028, _d03028), dot(_d13029, _d13029));
}
float f_wangs_formula_conic_p2_fff2f2f2f(in float __precision_, in float2 _p0, in float2 _p1, in float2 _p2, in float _w)
{
float2 _C3036 = ((min(min(_p0, _p1), _p2) + max(max(_p0, _p1), _p2)) * 0.5);
(_p0 -= _C3036);
(_p1 -= _C3036);
(_p2 -= _C3036);
float _m3037 = sqrt(max(max(dot(_p0, _p0), dot(_p1, _p1)), dot(_p2, _p2)));
float2 _dp3038 = (((vec2_ctor((-2.0 * _w)) * _p1) + _p0) + _p2);
float _dw3039 = abs(((-2.0 * _w) + 2.0));
float _rp_minus_13040 = max(0.0, ((_m3037 * __precision_) + -1.0));
float _numer3041 = ((length(_dp3038) * __precision_) + (_rp_minus_13040 * _dw3039));
float _denom3042 = (4.0 * min(_w, 1.0));
return (_numer3041 / _denom3042);
}
@@ 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;
output.v0 = _vdynamicColor_S0;
return output;
}
VS_OUTPUT main(VS_INPUT input){
initAttributes(input);
float _NUM_RADIAL_SEGMENTS_PER_RADIAN3044 = _utessControlArgs_S0.x;
float _STROKE_RADIUS3045 = _utessControlArgs_S0.z;
(_vdynamicColor_S0 = _dynamicColorAttr);
float2x2 _AFFINE_MATRIX3046 = mat2_ctor(_uaffineMatrix_S0.xy, _uaffineMatrix_S0.zw);
float2 _TRANSLATE3047 = _utranslate_S0;
float2 _p03048 = _pts01Attr.xy;
float2 _p13049 = _pts01Attr.zw;
float2 _p23050 = _pts23Attr.xy;
float2 _p33051 = _pts23Attr.zw;
float2 _lastControlPoint3052 = _argsAttr;
float _w3053 = {-1.0};
if (isinf(_pts23Attr.w))
{
(_w3053 = _p33051.x);
(_p33051 = _p23050);
}
float _numParametricSegments3054 = {0};
if ((_w3053 < 0.0))
{
if ((all(_p03048 == _p13049) && all(_p23050 == _p33051)))
{
(_numParametricSegments3054 = 1.0);
}
else
{
float __0_m3055 = f_wangs_formula_max_fdiff_p2_ff2f2f2f2f22_float2x2(_p03048, _p13049, _p23050, _p33051, _AFFINE_MATRIX3046);
(_numParametricSegments3054 = max(ceil(sqrt((3.0 * sqrt(__0_m3055)))), 1.0));
}
}
else
{
float __1_n23056 = f_wangs_formula_conic_p2_fff2f2f2f(4.0, mul(transpose(_AFFINE_MATRIX3046), _p03048), mul(transpose(_AFFINE_MATRIX3046), _p13049), mul(transpose(_AFFINE_MATRIX3046), _p23050), _w3053);
(_numParametricSegments3054 = max(ceil(sqrt(__1_n23056)), 1.0));
}
float2 sc2f = {0, 0};
if (all(_p03048 == _p13049))
{
float2 sc30 = {0, 0};
if (all(_p13049 == _p23050))
{
(sc30 = _p33051);
}
else
{
(sc30 = _p23050);
}
(sc2f = sc30);
}
else
{
(sc2f = _p13049);
}
float2 _tan03057 = f_robust_normalize_diff_f2f2f2(sc2f, _p03048);
float2 sc31 = {0, 0};
if (all(_p33051 == _p23050))
{
float2 sc32 = {0, 0};
if (all(_p23050 == _p13049))
{
(sc32 = _p03048);
}
else
{
(sc32 = _p13049);
}
(sc31 = sc32);
}
else
{
(sc31 = _p23050);
}
float2 _tan13058 = f_robust_normalize_diff_f2f2f2(_p33051, sc31);
if (all(_tan03057 == float2(0.0, 0.0)))
{
(_tan03057 = float2(1.0, 0.0));
(_tan13058 = float2(-1.0, 0.0));
}
float _edgeID3059 = float_ctor_int((gl_VertexID >> 1));
if (((gl_VertexID & 1) != 0))
{
(_edgeID3059 = (-_edgeID3059));
}
float2 _prevTan3060 = f_robust_normalize_diff_f2f2f2(_p03048, _lastControlPoint3052);
float _joinRads3061 = acos(clamp(dot(_prevTan3060, _tan03057), -1.0, 1.0));
float _numRadialSegmentsInJoin3062 = max(ceil((_joinRads3061 * _NUM_RADIAL_SEGMENTS_PER_RADIAN3044)), 1.0);
float _numEdgesInJoin3063 = (_numRadialSegmentsInJoin3062 + 2.0);
(_numEdgesInJoin3063 = min(_numEdgesInJoin3063, 16381.0));
float _turn3064 = determinant(transpose(mat2_ctor((_p23050 - _p03048), (_p33051 - _p13049))));
float _combinedEdgeID3065 = (abs(_edgeID3059) - _numEdgesInJoin3063);
if ((_combinedEdgeID3065 < 0.0))
{
(_tan13058 = _tan03057);
if (!all(_lastControlPoint3052 == _p03048))
{
(_tan03057 = f_robust_normalize_diff_f2f2f2(_p03048, _lastControlPoint3052));
}
(_turn3064 = determinant(transpose(mat2_ctor(_tan03057, _tan13058))));
}
float _cosTheta3066 = clamp(dot(_tan03057, _tan13058), -1.0, 1.0);
float _rotation3067 = acos(_cosTheta3066);
if ((_turn3064 < 0.0))
{
(_rotation3067 = (-_rotation3067));
}
float _numRadialSegments3068 = {0};
float _strokeOutset3069 = sign(_edgeID3059);
if ((_combinedEdgeID3065 < 0.0))
{
(_numRadialSegments3068 = (_numEdgesInJoin3063 - 2.0));
(_numParametricSegments3054 = 1.0);
(_p33051 = (_p23050 = (_p13049 = _p03048)));
(_combinedEdgeID3065 += (_numRadialSegments3068 + 1.0));
float _sinEpsilon3070 = {0.00999999978};
bool _tangentsNearlyParallel3071 = ((abs(_turn3064) * rsqrt((dot(_tan03057, _tan03057) * dot(_tan13058, _tan13058)))) < _sinEpsilon3070);
if (((!_tangentsNearlyParallel3071) || (dot(_tan03057, _tan13058) < 0.0)))
{
if ((_combinedEdgeID3065 >= 0.0))
{
float sc33 = {0};
if ((_turn3064 < 0.0))
{
(sc33 = min(_strokeOutset3069, 0.0));
}
else
{
(sc33 = max(_strokeOutset3069, 0.0));
}
(_strokeOutset3069 = sc33);
}
}
(_combinedEdgeID3065 = max(_combinedEdgeID3065, 0.0));
}
else
{
float _maxCombinedSegments3072 = ((16383.0 - _numEdgesInJoin3063) - 1.0);
(_numRadialSegments3068 = max(ceil((abs(_rotation3067) * _NUM_RADIAL_SEGMENTS_PER_RADIAN3044)), 1.0));
(_numRadialSegments3068 = min(_numRadialSegments3068, _maxCombinedSegments3072));
(_numParametricSegments3054 = min(_numParametricSegments3054, ((_maxCombinedSegments3072 - _numRadialSegments3068) + 1.0)));
}
float _radsPerSegment3073 = (_rotation3067 / _numRadialSegments3068);
float _numCombinedSegments3074 = ((_numParametricSegments3054 + _numRadialSegments3068) - 1.0);
bool _isFinalEdge3075 = (_combinedEdgeID3065 >= _numCombinedSegments3074);
if ((_combinedEdgeID3065 > _numCombinedSegments3074))
{
(_strokeOutset3069 = 0.0);
}
float2 _tangent3076 = {0, 0};
float2 _strokeCoord3077 = {0, 0};
if (((_combinedEdgeID3065 != 0.0) && (!_isFinalEdge3075)))
{
float2 _A3078 = {0, 0};
float2 _B3079 = {0, 0};
float2 _C3080 = (_p13049 - _p03048);
float2 _D3081 = (_p33051 - _p03048);
if ((_w3053 >= 0.0))
{
(_C3080 *= _w3053);
(_B3079 = ((0.5 * _D3081) - _C3080));
(_A3078 = ((_w3053 - 1.0) * _D3081));
(_p13049 *= _w3053);
}
else
{
float2 _E3082 = (_p23050 - _p13049);
(_B3079 = (_E3082 - _C3080));
(_A3078 = ((float2(-3.0, -3.0) * _E3082) + _D3081));
}
float2 _B_3083 = (_B3079 * (_numParametricSegments3054 * 2.0));
float2 _C_3084 = (_C3080 * (_numParametricSegments3054 * _numParametricSegments3054));
float _lastParametricEdgeID3085 = {0.0};
float _maxParametricEdgeID3086 = min((_numParametricSegments3054 - 1.0), _combinedEdgeID3065);
float _negAbsRadsPerSegment3087 = (-abs(_radsPerSegment3073));
float _maxRotation03088 = ((1.0 + _combinedEdgeID3065) * abs(_radsPerSegment3073));
{ for(int __0_exp3089 = {4}; (__0_exp3089 >= 0); (--__0_exp3089))
{
float _testParametricID3090 = (_lastParametricEdgeID3085 + exp2(float_ctor_int(__0_exp3089)));
if ((_testParametricID3090 <= _maxParametricEdgeID3086))
{
float2 _testTan3091 = ((vec2_ctor(_testParametricID3090) * _A3078) + _B_3083);
(_testTan3091 = ((vec2_ctor(_testParametricID3090) * _testTan3091) + _C_3084));
float _cosRotation3092 = dot(normalize(_testTan3091), _tan03057);
float _maxRotation3093 = ((_testParametricID3090 * _negAbsRadsPerSegment3087) + _maxRotation03088);
(_maxRotation3093 = min(_maxRotation3093, 3.14159274));
if ((_cosRotation3092 >= cos(_maxRotation3093)))
{
(_lastParametricEdgeID3085 = _testParametricID3090);
}
}
}
}
float _parametricT3094 = (_lastParametricEdgeID3085 / _numParametricSegments3054);
float _lastRadialEdgeID3095 = (_combinedEdgeID3065 - _lastParametricEdgeID3085);
float _angle03096 = acos(clamp(_tan03057.x, -1.0, 1.0));
float sc34 = {0};
if ((_tan03057.y >= 0.0))
{
(sc34 = _angle03096);
}
else
{
(sc34 = (-_angle03096));
}
(_angle03096 = sc34);
float _radialAngle3097 = ((_lastRadialEdgeID3095 * _radsPerSegment3073) + _angle03096);
(_tangent3076 = vec2_ctor(cos(_radialAngle3097), sin(_radialAngle3097)));
float2 _norm3098 = vec2_ctor((-_tangent3076.y), _tangent3076.x);
float _a3099 = dot(_norm3098, _A3078);
float _b_over_23100 = dot(_norm3098, _B3079);
float _c3101 = dot(_norm3098, _C3080);
float _discr_over_43102 = max(((_b_over_23100 * _b_over_23100) - (_a3099 * _c3101)), 0.0);
float _q3103 = sqrt(_discr_over_43102);
if ((_b_over_23100 > 0.0))
{
(_q3103 = (-_q3103));
}
(_q3103 -= _b_over_23100);
float __5qa3104 = ((-0.5 * _q3103) * _a3099);
float2 sc35 = {0, 0};
if ((abs(((_q3103 * _q3103) + __5qa3104)) < abs(((_a3099 * _c3101) + __5qa3104))))
{
(sc35 = vec2_ctor(_q3103, _a3099));
}
else
{
(sc35 = vec2_ctor(_c3101, _q3103));
}
float2 _root3105 = sc35;
float sc36 = {0};
if ((_root3105.y != 0.0))
{
(sc36 = (_root3105.x / _root3105.y));
}
else
{
(sc36 = 0.0);
}
float _radialT3106 = sc36;
(_radialT3106 = clamp(_radialT3106, 0.0, 1.0));
if ((_lastRadialEdgeID3095 == 0.0))
{
(_radialT3106 = 0.0);
}
float _T3107 = max(_parametricT3094, _radialT3106);
float2 _ab3108 = f_unchecked_mix_f2f2f2f(_p03048, _p13049, _T3107);
float2 _bc3109 = f_unchecked_mix_f2f2f2f(_p13049, _p23050, _T3107);
float2 _cd3110 = f_unchecked_mix_f2f2f2f(_p23050, _p33051, _T3107);
float2 _abc3111 = f_unchecked_mix_f2f2f2f(_ab3108, _bc3109, _T3107);
float2 _bcd3112 = f_unchecked_mix_f2f2f2f(_bc3109, _cd3110, _T3107);
float2 _abcd3113 = f_unchecked_mix_f2f2f2f(_abc3111, _bcd3112, _T3107);
float _u3114 = (((_w3053 - 1.0) * _T3107) + 1.0);
float _v3115 = ((_w3053 + 1.0) - _u3114);
float _uv3116 = (((_v3115 - _u3114) * _T3107) + _u3114);
if ((_T3107 != _radialT3106))
{
float2 sc37 = {0, 0};
if ((_w3053 >= 0.0))
{
(sc37 = f_robust_normalize_diff_f2f2f2((_bc3109 * _u3114), (_ab3108 * _v3115)));
}
else
{
(sc37 = f_robust_normalize_diff_f2f2f2(_bcd3112, _abc3111));
}
(_tangent3076 = sc37);
}
float2 sc38 = {0, 0};
if ((_w3053 >= 0.0))
{
(sc38 = (_abc3111 / _uv3116));
}
else
{
(sc38 = _abcd3113);
}
(_strokeCoord3077 = sc38);
}
else
{
float2 sc39 = {0, 0};
if ((_combinedEdgeID3065 == 0.0))
{
(sc39 = _tan03057);
}
else
{
(sc39 = _tan13058);
}
(_tangent3076 = sc39);
float2 sc3a = {0, 0};
if ((_combinedEdgeID3065 == 0.0))
{
(sc3a = _p03048);
}
else
{
(sc3a = _p33051);
}
(_strokeCoord3077 = sc3a);
}
float2 _ortho3117 = vec2_ctor(_tangent3076.y, (-_tangent3076.x));
(_strokeCoord3077 += (_ortho3117 * (_STROKE_RADIUS3045 * _strokeOutset3069)));
float2 _devCoord3118 = (mul(transpose(_AFFINE_MATRIX3046), _strokeCoord3077) + _TRANSLATE3047);
(gl_Position = vec4_ctor(_devCoord3118, 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 : TEXCOORD1;
noperspective float4 v0 : TEXCOORD0;
};
#pragma warning( disable: 3556 3571 )
#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 noperspective float4 _vdynamicColor_S0 = {0, 0, 0, 0};
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){
_vdynamicColor_S0 = input.v0;
float4 _outputColor_S03004 = _vdynamicColor_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 : TEXCOORD1;
noperspective float4 v0 : TEXCOORD0;
};
struct GS_OUTPUT
{
float4 dx_Position : SV_Position;
float4 gl_Position : TEXCOORD1;
noperspective float4 v0 : TEXCOORD0;
};
void copyVertex(inout GS_OUTPUT output, GS_INPUT input, GS_INPUT flatinput)
{
output.gl_Position = input.gl_Position;
output.v0 = input.v0;
#ifndef ANGLE_POINT_SPRITE_SHADER
output.dx_Position = input.dx_Position;
#endif // ANGLE_POINT_SPRITE_SHADER
}
� � � � � �0 DXBCK3�_�^��i�� �0 4 4 � D 0 RDEF� � <