Mini Kabibi Habibi
BPLG �� �r 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� @ � � ��� � �������������������������������������������� �������������������� �������������������� �������������������� �������������������� 2 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 _JOIN_TYPE3045 = _utessControlArgs_S0.y;
float _STROKE_RADIUS3046 = _utessControlArgs_S0.z;
(_vdynamicColor_S0 = _dynamicColorAttr);
float2x2 _AFFINE_MATRIX3047 = mat2_ctor(_uaffineMatrix_S0.xy, _uaffineMatrix_S0.zw);
float2 _TRANSLATE3048 = _utranslate_S0;
float2 _p03049 = _pts01Attr.xy;
float2 _p13050 = _pts01Attr.zw;
float2 _p23051 = _pts23Attr.xy;
float2 _p33052 = _pts23Attr.zw;
float2 _lastControlPoint3053 = _argsAttr;
float _w3054 = {-1.0};
if (isinf(_pts23Attr.w))
{
(_w3054 = _p33052.x);
(_p33052 = _p23051);
}
float _numParametricSegments3055 = {0};
if ((_w3054 < 0.0))
{
if ((all(_p03049 == _p13050) && all(_p23051 == _p33052)))
{
(_numParametricSegments3055 = 1.0);
}
else
{
float __0_m3056 = f_wangs_formula_max_fdiff_p2_ff2f2f2f2f22_float2x2(_p03049, _p13050, _p23051, _p33052, _AFFINE_MATRIX3047);
(_numParametricSegments3055 = max(ceil(sqrt((3.0 * sqrt(__0_m3056)))), 1.0));
}
}
else
{
float __1_n23057 = f_wangs_formula_conic_p2_fff2f2f2f(4.0, mul(transpose(_AFFINE_MATRIX3047), _p03049), mul(transpose(_AFFINE_MATRIX3047), _p13050), mul(transpose(_AFFINE_MATRIX3047), _p23051), _w3054);
(_numParametricSegments3055 = max(ceil(sqrt(__1_n23057)), 1.0));
}
float2 sc2e = {0, 0};
if (all(_p03049 == _p13050))
{
float2 sc2f = {0, 0};
if (all(_p13050 == _p23051))
{
(sc2f = _p33052);
}
else
{
(sc2f = _p23051);
}
(sc2e = sc2f);
}
else
{
(sc2e = _p13050);
}
float2 _tan03058 = f_robust_normalize_diff_f2f2f2(sc2e, _p03049);
float2 sc30 = {0, 0};
if (all(_p33052 == _p23051))
{
float2 sc31 = {0, 0};
if (all(_p23051 == _p13050))
{
(sc31 = _p03049);
}
else
{
(sc31 = _p13050);
}
(sc30 = sc31);
}
else
{
(sc30 = _p23051);
}
float2 _tan13059 = f_robust_normalize_diff_f2f2f2(_p33052, sc30);
if (all(_tan03058 == float2(0.0, 0.0)))
{
(_tan03058 = float2(1.0, 0.0));
(_tan13059 = float2(-1.0, 0.0));
}
float _edgeID3060 = float_ctor_int((gl_VertexID >> 1));
if (((gl_VertexID & 1) != 0))
{
(_edgeID3060 = (-_edgeID3060));
}
float _numEdgesInJoin3061 = {4.0};
float _turn3062 = determinant(transpose(mat2_ctor((_p23051 - _p03049), (_p33052 - _p13050))));
float _combinedEdgeID3063 = (abs(_edgeID3060) - _numEdgesInJoin3061);
if ((_combinedEdgeID3063 < 0.0))
{
(_tan13059 = _tan03058);
if (!all(_lastControlPoint3053 == _p03049))
{
(_tan03058 = f_robust_normalize_diff_f2f2f2(_p03049, _lastControlPoint3053));
}
(_turn3062 = determinant(transpose(mat2_ctor(_tan03058, _tan13059))));
}
float _cosTheta3064 = clamp(dot(_tan03058, _tan13059), -1.0, 1.0);
float _rotation3065 = acos(_cosTheta3064);
if ((_turn3062 < 0.0))
{
(_rotation3065 = (-_rotation3065));
}
float _numRadialSegments3066 = {0};
float _strokeOutset3067 = sign(_edgeID3060);
if ((_combinedEdgeID3063 < 0.0))
{
(_numRadialSegments3066 = (_numEdgesInJoin3061 - 2.0));
(_numParametricSegments3055 = 1.0);
(_p33052 = (_p23051 = (_p13050 = _p03049)));
(_combinedEdgeID3063 += (_numRadialSegments3066 + 1.0));
float _sinEpsilon3068 = {0.00999999978};
bool _tangentsNearlyParallel3069 = ((abs(_turn3062) * rsqrt((dot(_tan03058, _tan03058) * dot(_tan13059, _tan13059)))) < _sinEpsilon3068);
if (((!_tangentsNearlyParallel3069) || (dot(_tan03058, _tan13059) < 0.0)))
{
if ((_combinedEdgeID3063 >= 0.0))
{
float sc32 = {0};
if ((_turn3062 < 0.0))
{
(sc32 = min(_strokeOutset3067, 0.0));
}
else
{
(sc32 = max(_strokeOutset3067, 0.0));
}
(_strokeOutset3067 = sc32);
}
}
(_combinedEdgeID3063 = max(_combinedEdgeID3063, 0.0));
}
else
{
float _maxCombinedSegments3070 = ((16383.0 - _numEdgesInJoin3061) - 1.0);
(_numRadialSegments3066 = max(ceil((abs(_rotation3065) * _NUM_RADIAL_SEGMENTS_PER_RADIAN3044)), 1.0));
(_numRadialSegments3066 = min(_numRadialSegments3066, _maxCombinedSegments3070));
(_numParametricSegments3055 = min(_numParametricSegments3055, ((_maxCombinedSegments3070 - _numRadialSegments3066) + 1.0)));
}
float _radsPerSegment3071 = (_rotation3065 / _numRadialSegments3066);
float _numCombinedSegments3072 = ((_numParametricSegments3055 + _numRadialSegments3066) - 1.0);
bool _isFinalEdge3073 = (_combinedEdgeID3063 >= _numCombinedSegments3072);
if ((_combinedEdgeID3063 > _numCombinedSegments3072))
{
(_strokeOutset3067 = 0.0);
}
if ((abs(_edgeID3060) == 2.0))
{
float __2_x3074 = ((_cosTheta3064 * 0.5) + 0.5);
float sc33 = {0};
if ((((__2_x3074 * _JOIN_TYPE3045) * _JOIN_TYPE3045) >= 1.0))
{
(sc33 = rsqrt(__2_x3074));
}
else
{
(sc33 = sqrt(__2_x3074));
}
(_strokeOutset3067 *= sc33);
}
float2 _tangent3075 = {0, 0};
float2 _strokeCoord3076 = {0, 0};
if (((_combinedEdgeID3063 != 0.0) && (!_isFinalEdge3073)))
{
float2 _A3077 = {0, 0};
float2 _B3078 = {0, 0};
float2 _C3079 = (_p13050 - _p03049);
float2 _D3080 = (_p33052 - _p03049);
if ((_w3054 >= 0.0))
{
(_C3079 *= _w3054);
(_B3078 = ((0.5 * _D3080) - _C3079));
(_A3077 = ((_w3054 - 1.0) * _D3080));
(_p13050 *= _w3054);
}
else
{
float2 _E3081 = (_p23051 - _p13050);
(_B3078 = (_E3081 - _C3079));
(_A3077 = ((float2(-3.0, -3.0) * _E3081) + _D3080));
}
float2 _B_3082 = (_B3078 * (_numParametricSegments3055 * 2.0));
float2 _C_3083 = (_C3079 * (_numParametricSegments3055 * _numParametricSegments3055));
float _lastParametricEdgeID3084 = {0.0};
float _maxParametricEdgeID3085 = min((_numParametricSegments3055 - 1.0), _combinedEdgeID3063);
float _negAbsRadsPerSegment3086 = (-abs(_radsPerSegment3071));
float _maxRotation03087 = ((1.0 + _combinedEdgeID3063) * abs(_radsPerSegment3071));
{ for(int __0_exp3088 = {4}; (__0_exp3088 >= 0); (--__0_exp3088))
{
float _testParametricID3089 = (_lastParametricEdgeID3084 + exp2(float_ctor_int(__0_exp3088)));
if ((_testParametricID3089 <= _maxParametricEdgeID3085))
{
float2 _testTan3090 = ((vec2_ctor(_testParametricID3089) * _A3077) + _B_3082);
(_testTan3090 = ((vec2_ctor(_testParametricID3089) * _testTan3090) + _C_3083));
float _cosRotation3091 = dot(normalize(_testTan3090), _tan03058);
float _maxRotation3092 = ((_testParametricID3089 * _negAbsRadsPerSegment3086) + _maxRotation03087);
(_maxRotation3092 = min(_maxRotation3092, 3.14159274));
if ((_cosRotation3091 >= cos(_maxRotation3092)))
{
(_lastParametricEdgeID3084 = _testParametricID3089);
}
}
}
}
float _parametricT3093 = (_lastParametricEdgeID3084 / _numParametricSegments3055);
float _lastRadialEdgeID3094 = (_combinedEdgeID3063 - _lastParametricEdgeID3084);
float _angle03095 = acos(clamp(_tan03058.x, -1.0, 1.0));
float sc34 = {0};
if ((_tan03058.y >= 0.0))
{
(sc34 = _angle03095);
}
else
{
(sc34 = (-_angle03095));
}
(_angle03095 = sc34);
float _radialAngle3096 = ((_lastRadialEdgeID3094 * _radsPerSegment3071) + _angle03095);
(_tangent3075 = vec2_ctor(cos(_radialAngle3096), sin(_radialAngle3096)));
float2 _norm3097 = vec2_ctor((-_tangent3075.y), _tangent3075.x);
float _a3098 = dot(_norm3097, _A3077);
float _b_over_23099 = dot(_norm3097, _B3078);
float _c3100 = dot(_norm3097, _C3079);
float _discr_over_43101 = max(((_b_over_23099 * _b_over_23099) - (_a3098 * _c3100)), 0.0);
float _q3102 = sqrt(_discr_over_43101);
if ((_b_over_23099 > 0.0))
{
(_q3102 = (-_q3102));
}
(_q3102 -= _b_over_23099);
float __5qa3103 = ((-0.5 * _q3102) * _a3098);
float2 sc35 = {0, 0};
if ((abs(((_q3102 * _q3102) + __5qa3103)) < abs(((_a3098 * _c3100) + __5qa3103))))
{
(sc35 = vec2_ctor(_q3102, _a3098));
}
else
{
(sc35 = vec2_ctor(_c3100, _q3102));
}
float2 _root3104 = sc35;
float sc36 = {0};
if ((_root3104.y != 0.0))
{
(sc36 = (_root3104.x / _root3104.y));
}
else
{
(sc36 = 0.0);
}
float _radialT3105 = sc36;
(_radialT3105 = clamp(_radialT3105, 0.0, 1.0));
if ((_lastRadialEdgeID3094 == 0.0))
{
(_radialT3105 = 0.0);
}
float _T3106 = max(_parametricT3093, _radialT3105);
float2 _ab3107 = f_unchecked_mix_f2f2f2f(_p03049, _p13050, _T3106);
float2 _bc3108 = f_unchecked_mix_f2f2f2f(_p13050, _p23051, _T3106);
float2 _cd3109 = f_unchecked_mix_f2f2f2f(_p23051, _p33052, _T3106);
float2 _abc3110 = f_unchecked_mix_f2f2f2f(_ab3107, _bc3108, _T3106);
float2 _bcd3111 = f_unchecked_mix_f2f2f2f(_bc3108, _cd3109, _T3106);
float2 _abcd3112 = f_unchecked_mix_f2f2f2f(_abc3110, _bcd3111, _T3106);
float _u3113 = (((_w3054 - 1.0) * _T3106) + 1.0);
float _v3114 = ((_w3054 + 1.0) - _u3113);
float _uv3115 = (((_v3114 - _u3113) * _T3106) + _u3113);
if ((_T3106 != _radialT3105))
{
float2 sc37 = {0, 0};
if ((_w3054 >= 0.0))
{
(sc37 = f_robust_normalize_diff_f2f2f2((_bc3108 * _u3113), (_ab3107 * _v3114)));
}
else
{
(sc37 = f_robust_normalize_diff_f2f2f2(_bcd3111, _abc3110));
}
(_tangent3075 = sc37);
}
float2 sc38 = {0, 0};
if ((_w3054 >= 0.0))
{
(sc38 = (_abc3110 / _uv3115));
}
else
{
(sc38 = _abcd3112);
}
(_strokeCoord3076 = sc38);
}
else
{
float2 sc39 = {0, 0};
if ((_combinedEdgeID3063 == 0.0))
{
(sc39 = _tan03058);
}
else
{
(sc39 = _tan13059);
}
(_tangent3075 = sc39);
float2 sc3a = {0, 0};
if ((_combinedEdgeID3063 == 0.0))
{
(sc3a = _p03049);
}
else
{
(sc3a = _p33052);
}
(_strokeCoord3076 = sc3a);
}
float2 _ortho3116 = vec2_ctor(_tangent3075.y, (-_tangent3075.x));
(_strokeCoord3076 += (_ortho3116 * (_STROKE_RADIUS3046 * _strokeOutset3067)));
float2 _devCoord3117 = (mul(transpose(_AFFINE_MATRIX3047), _strokeCoord3076) + _TRANSLATE3048);
(gl_Position = vec4_ctor(_devCoord3117, 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
}
� � � � � @/ DXBC��䛈��#VY�bpR @/ 4 4 � D �. RDEF� � <