Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save sharkautarch/2d97fec229221d630b8d8ec534cb6481 to your computer and use it in GitHub Desktop.
Save sharkautarch/2d97fec229221d630b8d8ec534cb6481 to your computer and use it in GitHub Desktop.
gamescope_paint_window_orig.ir
;; Function paint_window (_ZL12paint_windowP18steamcompmgr_win_tS0_P11FrameInfo_tP11MouseCursorjfS0_.lto_priv.0, funcdef_no=158, decl_uid=6650, cgraph_uid=614, symbol_order=6764)
void paint_window (struct steamcompmgr_win_t * w, struct steamcompmgr_win_t * scaleW, struct FrameInfo_t * frameInfo, struct MouseCursor * cursor, PaintWindowFlags flags, float flOpacityScale, struct steamcompmgr_win_t * fit)
{
void * D.16499;
vector(4) float vect__149.395;
vector(4) float vect__147.393;
float * vectp.384;
vector(2) float vect__92.382;
vector(2) int vect__91.381;
float * vectp.380;
float * vectp.378;
vector(2) float vect_prephitmp_365.376;
vector(2) float vect__579.375;
int SR.351;
struct commit_t * lastCommit$m_pObject;
long long int * __both_counts;
_Atomic_word __result;
struct _Sp_counted_base * __tmp;
long long int * __both_counts;
_Atomic_word __result;
struct _Sp_counted_base * __tmp;
struct timespec ts;
int height;
int width;
int yOffset;
int xOffset;
const bool notificationMode;
struct steamcompmgr_win_t * mainOverlayWindow;
struct Rc lastCommit;
float currentScaleRatio_y;
float currentScaleRatio_x;
int drawYOffset;
int drawXOffset;
uint32_t sourceHeight;
uint32_t sourceWidth;
struct Rect D.15653;
struct Rect D.15652;
struct Rect D.15647;
struct Rect D.15646;
struct Rect D.15643;
struct Rect D.15642;
struct Rect D.15639;
struct Rect D.15638;
unsigned int _1;
bool _4;
bool _5;
unsigned int _10;
unsigned int _11;
unsigned int _12;
int _15;
unsigned int _16;
int _17;
unsigned int _18;
unsigned int _19;
int _20;
int _21;
int _22;
int _23;
unsigned int _26;
int _27;
int _28;
int _29;
int _30;
float _40;
float _42;
float _43;
int _44;
float _45;
int _46;
float _47;
float _48;
float _49;
float _50;
float _51;
int _53;
float _54;
int _55;
float _56;
float _57;
float _58;
float _59;
float _60;
float _67;
float _68;
float _69;
int _70;
int _71;
float _72;
float _73;
float _74;
int _75;
int _76;
float _77;
float _78;
float _79;
int _80;
int _81;
bool _82;
bool _83;
unsigned int _84;
float _85;
int _95;
float _96;
float _97;
int _98;
float _99;
float _100;
float _101;
float _102;
float _104;
float _105;
double _106;
double _107;
float _109;
float _110;
double _111;
double _112;
unsigned int _116;
unsigned int _117;
float _118;
float _119;
unsigned int _123;
unsigned int _124;
float _125;
float _126;
int _127;
float _128;
int _129;
float _130;
bool _134;
bool _135;
bool _136;
unsigned int _139;
unsigned int _143;
unsigned int _145;
float _151;
GamescopeUpscaleFilter _152;
unsigned int _153;
long unsigned int _154;
float prephitmp_161;
GamescopeUpscaleFilter _163;
struct CVulkanTexture * _205;
unsigned int _206;
unsigned int _221;
float _248;
unsigned int _250;
float _251;
sizetype _254;
long unsigned int _276;
GamescopeUpscaleFilter _278;
GamescopeAppTextureColorspace _282;
float _286;
int _303;
int _305;
int _306;
unsigned int _308;
struct __shared_ptr * _309;
struct element_type * _310;
float _312;
float _313;
float _314;
float _315;
float _316;
float _317;
struct RcObject * _318;
struct RcObject * _320;
struct RcObject * _322;
int _330;
unsigned int prephitmp_331;
float _332;
float _346;
float _352;
float prephitmp_362;
unsigned int _371;
bool _411;
void * _429;
sizetype _430;
float _431;
bool _434;
bool _435;
bool _448;
bool _450;
unsigned int _456;
unsigned int prephitmp_457;
unsigned int _458;
bool _461;
bool _462;
bool _463;
long int _464;
long unsigned int _465;
long unsigned int _466;
long int _467;
long unsigned int _468;
long unsigned int _469;
steamcompmgr_win_type_t _470;
unsigned char _471;
bool _472;
int _473;
unsigned int _475;
int _476;
int _477;
unsigned char _478;
bool _479;
int _480;
int _483;
int _484;
steamcompmgr_win_type_t _500;
unsigned char _501;
bool _502;
int _503;
int _504;
int _505;
unsigned char _508;
bool _509;
int _510;
int _511;
int _512;
float prephitmp_513;
float prephitmp_514;
GamescopeAppTextureColorspace prephitmp_515;
unsigned char _531;
bool _532;
int _533;
int _534;
unsigned int prephitmp_535;
unsigned int _536;
unsigned int prephitmp_537;
unsigned char _538;
bool _539;
int _540;
int _541;
struct _Sp_counted_base * pretmp_542;
struct _Sp_counted_base * prephitmp_543;
GamescopeUpscaleFilter pretmp_544;
int _550;
unsigned int pretmp_551;
unsigned int pretmp_552;
unsigned int pretmp_556;
int _557;
unsigned int _558;
bool _559;
struct CVulkanTexture * _560;
struct CVulkanTexture * _561;
struct CVulkanTexture * _562;
long unsigned int _567;
char _568;
int _570;
unsigned int _571;
int _572;
int _573;
int (*__vtbl_ptr_type) () * _574;
int (*__vtbl_ptr_type) () _575;
int (*__vtbl_ptr_type) () * _576;
int (*__vtbl_ptr_type) () _577;
bool _580;
unsigned int _585;
unsigned int _586;
vector(2) float _587;
unsigned int prephitmp_588;
struct _Sp_counted_base * _591;
_Atomic_word * _593;
char _594;
int _595;
int _596;
long unsigned int _598;
char _599;
int _601;
unsigned int _602;
int _603;
int _604;
int (*__vtbl_ptr_type) () * _605;
int (*__vtbl_ptr_type) () _606;
int (*__vtbl_ptr_type) () * _607;
int (*__vtbl_ptr_type) () _608;
__int_type * _612;
__int_type * _614;
int (*__vtbl_ptr_type) () * _616;
int (*__vtbl_ptr_type) () _617;
__int_type * _618;
void * _619;
__int_type * _620;
int (*__vtbl_ptr_type) () * _622;
int (*__vtbl_ptr_type) () _623;
bool _630;
unsigned int prephitmp_636;
unsigned int _639;
float _657;
float _658;
float _659;
float _660;
GamescopeAppTextureColorspace pretmp_664;
GamescopeAppTextureColorspace pretmp_665;
float _672;
float _673;
GamescopeAppTextureColorspace pretmp_674;
float _675;
float _677;
unsigned int pretmp_682;
unsigned int pretmp_683;
bool _690;
bool _692;
unsigned int _693;
bool _698;
bool _700;
unsigned int _701;
unsigned int _710;
struct commit_t * _713;
float _725;
float _726;
float _733;
bool _734;
float _754;
float _755;
unsigned int _771;
sizetype _774;
unsigned int _785;
unsigned int _787;
int cstore_791;
int cstore_795;
int cstore_796;
unsigned int _799;
vector(2) int _815;
vector(2) float _823;
unsigned int _862;
unsigned int _863;
float _864;
float _865;
float _867;
float _868;
unsigned int _894;
float _899;
unsigned int pretmp_907;
<bb 2> [local count: 1073741820]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG drawXOffset => 0
# DEBUG drawYOffset => 0
# DEBUG BEGIN_STMT
currentScaleRatio_x = 1.0e+0;
# DEBUG BEGIN_STMT
currentScaleRatio_y = 1.0e+0;
# DEBUG BEGIN_STMT
# DEBUG this => &lastCommit
# DEBUG INLINE_ENTRY __ct
# DEBUG lastCommit$m_pObject => 0B
# DEBUG this => NULL
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
lastCommit.m_pObject = 0B;
get_window_last_done_commit (w_188(D), &lastCommit);
lastCommit$m_pObject_762 = lastCommit.m_pObject;
# DEBUG lastCommit$m_pObject => lastCommit$m_pObject_762
# DEBUG BEGIN_STMT
_1 = flags_190(D) & 1;
if (_1 != 0)
goto <bb 3>; [50.00%]
else
goto <bb 10>; [50.00%]
<bb 3> [local count: 536870910]:
# DEBUG BEGIN_STMT
# DEBUG this => &lastCommit
# DEBUG D.15627 => 0
# DEBUG this => NULL
# DEBUG D.15627 => NULL
if (lastCommit$m_pObject_762 == 0B)
goto <bb 4>; [30.00%]
else
goto <bb 7>; [70.00%]
<bb 4> [local count: 161061271]:
# DEBUG BEGIN_STMT
# DEBUG this => &g_HeldCommits._M_elems[0]
# DEBUG D.15624 => 0
# DEBUG INLINE_ENTRY operator!=
_713 = MEM[(const struct Rc *)&g_HeldCommits].m_pObject;
# DEBUG this => NULL
# DEBUG D.15624 => NULL
if (_713 != 0B)
goto <bb 6>; [37.19%]
else
goto <bb 5>; [62.81%]
<bb 5> [local count: 907875685]:
goto <bb 136>; [100.00%]
<bb 6> [local count: 59898687]:
# DEBUG BEGIN_STMT
paint_cached_base_layer (&g_HeldCommits._M_elems[0], &g_CachedPlanes._M_elems[0], frameInfo_193(D), flOpacityScale_194(D), 1);
goto <bb 5>; [100.00%]
<bb 7> [local count: 375809639]:
# DEBUG BEGIN_STMT
_461 = g_bPendingFade;
if (_461 != 0)
goto <bb 9>; [33.00%]
else
goto <bb 8>; [67.00%]
<bb 8> [local count: 251792459]:
_558 = flags_190(D) & 4;
# DEBUG this => &lastCommit
# DEBUG D.15620 => 0
# DEBUG this => NULL
# DEBUG D.15620 => NULL
# DEBUG BEGIN_STMT
mainOverlayWindow_196 = global_focus.D.6673.overlayWindow;
# DEBUG mainOverlayWindow => mainOverlayWindow_196
# DEBUG BEGIN_STMT
# DEBUG D#301 => flags_190(D) & 4
# DEBUG notificationMode => D#301 != 0
# DEBUG BEGIN_STMT
_4 = mainOverlayWindow_196 == 0B;
_559 = _558 != 0;
_5 = _4 & _559;
if (_5 != 0)
goto <bb 137>; [34.00%]
else
goto <bb 12>; [66.00%]
<bb 9> [local count: 124017180]:
# DEBUG BEGIN_STMT
# DEBUG INLINE_ENTRY get_time_in_milliseconds
# DEBUG BEGIN_STMT
# DEBUG INLINE_ENTRY get_time_in_nanos
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
clock_gettime (1, &ts);
# DEBUG BEGIN_STMT
# DEBUG spec => &ts
# DEBUG INLINE_ENTRY timespec_to_nanos
# DEBUG BEGIN_STMT
_464 = ts.tv_sec;
_465 = (long unsigned int) _464;
_466 = _465 * 1000000000;
_467 = ts.tv_nsec;
_468 = (long unsigned int) _467;
_469 = _466 + _468;
# DEBUG spec => NULL
ts ={v} {CLOBBER(eos)};
_276 = _469 / 1000000;
_250 = (unsigned int) _276;
fadeOutStartTime = _250;
# DEBUG BEGIN_STMT
g_bPendingFade = 0;
# DEBUG BEGIN_STMT
# DEBUG this => &lastCommit
# DEBUG D.15620 => 0
# DEBUG this => NULL
# DEBUG D.15620 => NULL
goto <bb 11>; [100.00%]
<bb 10> [local count: 353466688]:
# DEBUG this => &lastCommit
# DEBUG D.15620 => 0
# DEBUG this => NULL
# DEBUG D.15620 => NULL
if (lastCommit$m_pObject_762 == 0B)
goto <bb 5>; [13.88%]
else
goto <bb 11>; [86.12%]
<bb 11> [local count: 428420052]:
# DEBUG this => NULL
# DEBUG D.15620 => NULL
# DEBUG BEGIN_STMT
mainOverlayWindow_772 = global_focus.D.6673.overlayWindow;
# DEBUG mainOverlayWindow => mainOverlayWindow_772
# DEBUG BEGIN_STMT
_771 = flags_190(D) & 4;
notificationMode_455 = _771 != 0;
# DEBUG notificationMode => notificationMode_455
# DEBUG BEGIN_STMT
_450 = mainOverlayWindow_772 == 0B;
_448 = _450 & notificationMode_455;
if (_448 != 0)
goto <bb 137>; [34.00%]
else
goto <bb 12>; [66.00%]
<bb 12> [local count: 448940256]:
# _710 = PHI <_558(8), _771(11)>
# mainOverlayWindow_709 = PHI <mainOverlayWindow_196(8), mainOverlayWindow_772(11)>
# DEBUG BEGIN_STMT
if (_710 != 0)
goto <bb 13>; [33.00%]
else
goto <bb 22>; [67.00%]
<bb 13> [local count: 148150284]:
# DEBUG BEGIN_STMT
# DEBUG this => mainOverlayWindow_709
# DEBUG INLINE_ENTRY GetGeometry
# DEBUG BEGIN_STMT
_470 = MEM[(const struct steamcompmgr_win_t *)mainOverlayWindow_709].type;
if (_470 == 0)
goto <bb 14>; [50.00%]
else
goto <bb 17>; [50.00%]
<bb 14> [local count: 74075142]:
# DEBUG BEGIN_STMT
# DEBUG this => mainOverlayWindow_709
# DEBUG INLINE_ENTRY xwayland
# DEBUG BEGIN_STMT
# DEBUG D#278 => &MEM[(const struct steamcompmgr_win_t *)mainOverlayWindow_709]._window_types
# DEBUG __v => D#278
# DEBUG INLINE_ENTRY get
# DEBUG __n => 0
# DEBUG __v => D#278
# DEBUG INLINE_ENTRY get
# DEBUG this => D#278
# DEBUG INLINE_ENTRY index
_471 = MEM[(const struct variant *)mainOverlayWindow_709 + 152B].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_index;
# DEBUG this => NULL
if (_471 != 0)
goto <bb 15>; [0.00%]
else
goto <bb 16>; [100.00%]
<bb 15> [count: 0]:
# DEBUG this => D#278
# DEBUG INLINE_ENTRY valueless_by_exception
_472 = _471 == 255;
# DEBUG this => NULL
_473 = (int) _472;
__throw_bad_variant_access (_473);
<bb 16> [local count: 74075142]:
# DEBUG D#279 => &MEM[(const struct type &)D#278].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG __v => NULL
# DEBUG __v => NULL
# DEBUG this => NULL
# DEBUG D#278 => &MEM[(const struct steamcompmgr_win_t *)mainOverlayWindow_709]._window_types
# DEBUG __n => 0
# DEBUG D#279 => &MEM[(const struct type &)D#278].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG D#278 => &MEM[(const struct steamcompmgr_win_t *)mainOverlayWindow_709]._window_types
# DEBUG __n => 0
# DEBUG D#279 => &MEM[(const struct type &)D#278].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
_476 = MEM[(const struct steamcompmgr_xwayland_win_t &)mainOverlayWindow_709 + 152].a.width;
# DEBUG D#278 => &MEM[(const struct steamcompmgr_win_t *)mainOverlayWindow_709]._window_types
# DEBUG __n => 0
# DEBUG D#279 => &MEM[(const struct type &)D#278].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
_477 = MEM[(const struct steamcompmgr_xwayland_win_t &)mainOverlayWindow_709 + 152].a.height;
# DEBUG D.16380 => MEM[(const struct steamcompmgr_xwayland_win_t &)mainOverlayWindow_709 + 152].a.x
# DEBUG D.16381 => MEM[(const struct steamcompmgr_xwayland_win_t &)mainOverlayWindow_709 + 152].a.y
# DEBUG D.16383 => _477
# DEBUG this => NULL
_799 = (unsigned int) _476;
# DEBUG sourceWidth => _799
# DEBUG BEGIN_STMT
# DEBUG this => mainOverlayWindow_709
# DEBUG INLINE_ENTRY GetGeometry
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG this => mainOverlayWindow_709
# DEBUG D#278 => &MEM[(const struct steamcompmgr_win_t *)mainOverlayWindow_709]._window_types
# DEBUG __v => D#278
# DEBUG __n => 0
# DEBUG __v => D#278
# DEBUG this => D#278
# DEBUG this => NULL
# DEBUG D#279 => &MEM[(const struct type &)D#278].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG __v => NULL
# DEBUG __v => NULL
# DEBUG this => NULL
# DEBUG D#278 => &MEM[(const struct steamcompmgr_win_t *)mainOverlayWindow_709]._window_types
# DEBUG __n => 0
# DEBUG D#279 => &MEM[(const struct type &)D#278].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG D#278 => &MEM[(const struct steamcompmgr_win_t *)mainOverlayWindow_709]._window_types
# DEBUG __n => 0
# DEBUG D#279 => &MEM[(const struct type &)D#278].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG D#278 => &MEM[(const struct steamcompmgr_win_t *)mainOverlayWindow_709]._window_types
# DEBUG __n => 0
# DEBUG D#279 => &MEM[(const struct type &)D#278].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
_639 = (unsigned int) _477;
goto <bb 21>; [100.00%]
<bb 17> [local count: 74075142]:
# DEBUG BEGIN_STMT
if (_470 == 1)
goto <bb 18>; [34.00%]
else
goto <bb 21>; [66.00%]
<bb 18> [local count: 25185549]:
# DEBUG this => mainOverlayWindow_709
# DEBUG INLINE_ENTRY GetGeometry
# DEBUG BEGIN_STMT
# DEBUG this => mainOverlayWindow_709
# DEBUG INLINE_ENTRY xdg
# DEBUG BEGIN_STMT
# DEBUG D#280 => &MEM[(const struct steamcompmgr_win_t *)mainOverlayWindow_709]._window_types
# DEBUG __v => D#280
# DEBUG INLINE_ENTRY get
# DEBUG __n => 1
# DEBUG __v => D#280
# DEBUG INLINE_ENTRY get
# DEBUG this => D#280
# DEBUG INLINE_ENTRY index
_478 = MEM[(const struct variant *)mainOverlayWindow_709 + 152B].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_index;
# DEBUG this => NULL
if (_478 != 1)
goto <bb 19>; [0.00%]
else
goto <bb 20>; [100.00%]
<bb 19> [count: 0]:
# DEBUG this => D#280
# DEBUG INLINE_ENTRY valueless_by_exception
_479 = _478 == 255;
# DEBUG this => NULL
_480 = (int) _479;
__throw_bad_variant_access (_480);
<bb 20> [local count: 25185549]:
# DEBUG D#281 => &MEM[(const struct type &)D#280].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG __v => NULL
# DEBUG __v => NULL
# DEBUG this => NULL
# DEBUG D#280 => &MEM[(const struct steamcompmgr_win_t *)mainOverlayWindow_709]._window_types
# DEBUG __n => 1
# DEBUG D#281 => &MEM[(const struct type &)D#280].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG D#280 => &MEM[(const struct steamcompmgr_win_t *)mainOverlayWindow_709]._window_types
# DEBUG __n => 1
# DEBUG D#281 => &MEM[(const struct type &)D#280].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
_483 = MEM[(const struct steamcompmgr_xdg_win_t &)mainOverlayWindow_709 + 152].geometry.width;
# DEBUG D#280 => &MEM[(const struct steamcompmgr_win_t *)mainOverlayWindow_709]._window_types
# DEBUG __n => 1
# DEBUG D#281 => &MEM[(const struct type &)D#280].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
_484 = MEM[(const struct steamcompmgr_xdg_win_t &)mainOverlayWindow_709 + 152].geometry.height;
# DEBUG this => NULL
# DEBUG D.16380 => MEM[(const struct steamcompmgr_xdg_win_t &)mainOverlayWindow_709 + 152].geometry.x
# DEBUG D.16381 => MEM[(const struct steamcompmgr_xdg_win_t &)mainOverlayWindow_709 + 152].geometry.y
# DEBUG D.16383 => _484
# DEBUG this => NULL
_308 = (unsigned int) _483;
# DEBUG sourceWidth => _308
# DEBUG BEGIN_STMT
# DEBUG this => mainOverlayWindow_709
# DEBUG INLINE_ENTRY GetGeometry
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG this => mainOverlayWindow_709
# DEBUG this => mainOverlayWindow_709
# DEBUG D#280 => &MEM[(const struct steamcompmgr_win_t *)mainOverlayWindow_709]._window_types
# DEBUG __v => D#280
# DEBUG __n => 1
# DEBUG __v => D#280
# DEBUG this => D#280
# DEBUG this => NULL
# DEBUG D#281 => &MEM[(const struct type &)D#280].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG __v => NULL
# DEBUG __v => NULL
# DEBUG this => NULL
# DEBUG D#280 => &MEM[(const struct steamcompmgr_win_t *)mainOverlayWindow_709]._window_types
# DEBUG __n => 1
# DEBUG D#281 => &MEM[(const struct type &)D#280].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG D#280 => &MEM[(const struct steamcompmgr_win_t *)mainOverlayWindow_709]._window_types
# DEBUG __n => 1
# DEBUG D#281 => &MEM[(const struct type &)D#280].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG D#280 => &MEM[(const struct steamcompmgr_win_t *)mainOverlayWindow_709]._window_types
# DEBUG __n => 1
# DEBUG D#281 => &MEM[(const struct type &)D#280].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG this => NULL
_586 = (unsigned int) _484;
<bb 21> [local count: 148150284]:
# _787 = PHI <_799(16), _308(20), 0(17)>
# prephitmp_588 = PHI <_639(16), _586(20), 0(17)>
# DEBUG D.16380 => NULL
# DEBUG D.16381 => NULL
# DEBUG D.16383 => NULL
# DEBUG this => NULL
# DEBUG sourceWidth => NULL
# DEBUG this => NULL
# DEBUG sourceHeight => NULL
goto <bb 39>; [100.00%]
<bb 22> [local count: 300789972]:
# DEBUG BEGIN_STMT
_10 = flags_190(D) & 16;
if (_10 != 0)
goto <bb 23>; [50.00%]
else
goto <bb 24>; [50.00%]
<bb 23> [local count: 150394986]:
# DEBUG BEGIN_STMT
_11 = currentOutputWidth;
# DEBUG sourceWidth => _11
# DEBUG BEGIN_STMT
_12 = currentOutputHeight;
# DEBUG sourceHeight => _12
goto <bb 39>; [100.00%]
<bb 24> [local count: 150394986]:
# DEBUG BEGIN_STMT
if (w_188(D) == scaleW_198(D))
goto <bb 25>; [46.53%]
else
goto <bb 26>; [53.47%]
<bb 25> [local count: 69978787]:
# DEBUG BEGIN_STMT
# DEBUG this => &lastCommit$m_pObject_762->vulkanTex
# DEBUG INLINE_ENTRY operator->
_205 = MEM[(const struct Rc *)lastCommit$m_pObject_762 + 32B].m_pObject;
# DEBUG this => NULL
# DEBUG this => _205
# DEBUG INLINE_ENTRY width
# DEBUG BEGIN_STMT
_206 = _205->m_width;
# DEBUG this => NULL
# DEBUG sourceWidth => _206
# DEBUG BEGIN_STMT
# DEBUG this => _205
# DEBUG INLINE_ENTRY height
# DEBUG BEGIN_STMT
_221 = _205->m_height;
# DEBUG this => NULL
# DEBUG sourceHeight => _221
goto <bb 29>; [100.00%]
<bb 26> [local count: 80416199]:
# DEBUG BEGIN_STMT
D.15638 = GetGeometry (scaleW_198(D));
<bb 27> [local count: 80416199]:
_15 = D.15638.nWidth;
_16 = (unsigned int) _15;
# DEBUG sourceWidth => _16
# DEBUG BEGIN_STMT
D.15639 = GetGeometry (scaleW_198(D));
<bb 28> [local count: 80416199]:
_17 = D.15639.nHeight;
_18 = (unsigned int) _17;
# DEBUG sourceHeight => _18
<bb 29> [local count: 150394986]:
# sourceHeight_777 = PHI <_221(25), _18(28)>
# sourceWidth_779 = PHI <_206(25), _16(28)>
# DEBUG sourceWidth => sourceWidth_779
# DEBUG sourceHeight => sourceHeight_777
# DEBUG BEGIN_STMT
if (fit_208(D) != 0B)
goto <bb 30>; [53.47%]
else
goto <bb 39>; [46.53%]
<bb 30> [local count: 80416199]:
# DEBUG BEGIN_STMT
_19 = currentOutputWidth;
D.15642 = GetGeometry (fit_208(D));
<bb 31> [local count: 80416199]:
_21 = D.15642.nX;
D.15643 = GetGeometry (fit_208(D));
<bb 32> [local count: 80416199]:
_22 = D.15643.nWidth;
_23 = _21 + _22;
# DEBUG x => &D.15660
# DEBUG min => &D.15641
# DEBUG max => &D.15640
# DEBUG INLINE_ENTRY clamp
if (_23 >= 0)
goto <bb 33>; [50.00%]
else
goto <bb 34>; [50.00%]
<bb 33> [local count: 40208099]:
_20 = (int) _19;
_303 = MIN_EXPR <_20, _23>;
_371 = (unsigned int) _303;
_458 = MAX_EXPR <_371, sourceWidth_779>;
<bb 34> [local count: 80416199]:
# prephitmp_457 = PHI <sourceWidth_779(32), _458(33)>
# DEBUG x => NULL
# DEBUG min => NULL
# DEBUG max => NULL
# DEBUG __a => &sourceWidth
# DEBUG __b => &D.15661
# DEBUG INLINE_ENTRY max
# DEBUG __a => NULL
# DEBUG __b => NULL
# DEBUG sourceWidth => MAX_EXPR <D#300, sourceWidth_779>
# DEBUG BEGIN_STMT
_26 = currentOutputHeight;
D.15646 = GetGeometry (fit_208(D));
<bb 35> [local count: 80416199]:
_28 = D.15646.nY;
D.15647 = GetGeometry (fit_208(D));
<bb 36> [local count: 80416199]:
_29 = D.15647.nHeight;
_30 = _28 + _29;
# DEBUG x => &D.15662
# DEBUG min => &D.15645
# DEBUG max => &D.15644
# DEBUG INLINE_ENTRY clamp
if (_30 >= 0)
goto <bb 37>; [50.00%]
else
goto <bb 38>; [50.00%]
<bb 37> [local count: 40208099]:
_27 = (int) _26;
_330 = MIN_EXPR <_27, _30>;
_456 = (unsigned int) _330;
_475 = MAX_EXPR <_456, sourceHeight_777>;
<bb 38> [local count: 80416199]:
# prephitmp_331 = PHI <sourceHeight_777(36), _475(37)>
# DEBUG x => NULL
# DEBUG min => NULL
# DEBUG max => NULL
# DEBUG __a => &sourceHeight
# DEBUG __b => &D.15663
# DEBUG INLINE_ENTRY max
# DEBUG __a => NULL
# DEBUG __b => NULL
# DEBUG sourceHeight => MAX_EXPR <D#299, sourceHeight_777>
<bb 39> [local count: 448940256]:
# sourceHeight_778 = PHI <prephitmp_588(21), _12(23), sourceHeight_777(29), prephitmp_331(38)>
# sourceWidth_780 = PHI <_787(21), _11(23), sourceWidth_779(29), prephitmp_457(38)>
# DEBUG sourceWidth => sourceWidth_780
# DEBUG sourceHeight => sourceHeight_778
# DEBUG BEGIN_STMT
# DEBUG this => w_188(D)
# DEBUG INLINE_ENTRY GetGeometry
# DEBUG BEGIN_STMT
_500 = MEM[(const struct steamcompmgr_win_t *)w_188(D)].type;
if (_500 == 0)
goto <bb 40>; [50.00%]
else
goto <bb 44>; [50.00%]
<bb 40> [local count: 224470128]:
# DEBUG BEGIN_STMT
# DEBUG this => w_188(D)
# DEBUG INLINE_ENTRY xwayland
# DEBUG BEGIN_STMT
# DEBUG D#278 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __v => D#278
# DEBUG INLINE_ENTRY get
# DEBUG __n => 0
# DEBUG __v => D#278
# DEBUG INLINE_ENTRY get
# DEBUG this => D#278
# DEBUG INLINE_ENTRY index
_501 = MEM[(const struct variant *)w_188(D) + 152B].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_index;
# DEBUG this => NULL
if (_501 != 0)
goto <bb 41>; [0.00%]
else
goto <bb 42>; [100.00%]
<bb 41> [count: 0]:
# DEBUG this => D#278
# DEBUG INLINE_ENTRY valueless_by_exception
_502 = _501 == 255;
# DEBUG this => NULL
_503 = (int) _502;
__throw_bad_variant_access (_503);
<bb 42> [local count: 224470128]:
# DEBUG D#279 => &MEM[(const struct type &)D#278].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG __v => NULL
# DEBUG __v => NULL
# DEBUG this => NULL
_504 = MEM[(const struct steamcompmgr_xwayland_win_t &)w_188(D) + 152].a.x;
# DEBUG D#278 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __n => 0
# DEBUG D#279 => &MEM[(const struct type &)D#278].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG D#278 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __n => 0
# DEBUG D#279 => &MEM[(const struct type &)D#278].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG D#278 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __n => 0
# DEBUG D#279 => &MEM[(const struct type &)D#278].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG D.16389 => MEM[(const struct steamcompmgr_xwayland_win_t &)w_188(D) + 152].a.y
# DEBUG D.16390 => MEM[(const struct steamcompmgr_xwayland_win_t &)w_188(D) + 152].a.width
# DEBUG D.16391 => MEM[(const struct steamcompmgr_xwayland_win_t &)w_188(D) + 152].a.height
# DEBUG this => NULL
if (_504 != 0)
goto <bb 52>; [67.00%]
else
goto <bb 43>; [33.00%]
<bb 43> [local count: 74075142]:
_505 = MEM[(const struct steamcompmgr_xwayland_win_t &)w_188(D) + 152].a.y;
goto <bb 49>; [100.00%]
<bb 44> [local count: 224470128]:
# DEBUG BEGIN_STMT
if (_500 == 1)
goto <bb 45>; [34.00%]
else
goto <bb 50>; [66.00%]
<bb 45> [local count: 76319844]:
# DEBUG this => w_188(D)
# DEBUG INLINE_ENTRY GetGeometry
# DEBUG BEGIN_STMT
# DEBUG this => w_188(D)
# DEBUG INLINE_ENTRY xdg
# DEBUG BEGIN_STMT
# DEBUG D#280 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __v => D#280
# DEBUG INLINE_ENTRY get
# DEBUG __n => 1
# DEBUG __v => D#280
# DEBUG INLINE_ENTRY get
# DEBUG this => D#280
# DEBUG INLINE_ENTRY index
_508 = MEM[(const struct variant *)w_188(D) + 152B].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_index;
# DEBUG this => NULL
if (_508 != 1)
goto <bb 46>; [0.00%]
else
goto <bb 47>; [100.00%]
<bb 46> [count: 0]:
# DEBUG this => D#280
# DEBUG INLINE_ENTRY valueless_by_exception
_509 = _508 == 255;
# DEBUG this => NULL
_510 = (int) _509;
__throw_bad_variant_access (_510);
<bb 47> [local count: 76319844]:
# DEBUG D#281 => &MEM[(const struct type &)D#280].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG __v => NULL
# DEBUG __v => NULL
# DEBUG this => NULL
_511 = MEM[(const struct steamcompmgr_xdg_win_t &)w_188(D) + 152].geometry.x;
# DEBUG D#280 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __n => 1
# DEBUG D#281 => &MEM[(const struct type &)D#280].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG D#280 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __n => 1
# DEBUG D#281 => &MEM[(const struct type &)D#280].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG D#280 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __n => 1
# DEBUG D#281 => &MEM[(const struct type &)D#280].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG this => NULL
# DEBUG D.16389 => MEM[(const struct steamcompmgr_xdg_win_t &)w_188(D) + 152].geometry.y
# DEBUG D.16390 => MEM[(const struct steamcompmgr_xdg_win_t &)w_188(D) + 152].geometry.width
# DEBUG D.16391 => MEM[(const struct steamcompmgr_xdg_win_t &)w_188(D) + 152].geometry.height
# DEBUG this => NULL
if (_511 != 0)
goto <bb 52>; [67.00%]
else
goto <bb 48>; [33.00%]
<bb 48> [local count: 25185548]:
_512 = MEM[(const struct steamcompmgr_xdg_win_t &)w_188(D) + 152].geometry.y;
<bb 49> [local count: 99260691]:
# SR.351_792 = PHI <_505(43), _512(48)>
# DEBUG __n => NULL
# DEBUG __n => NULL
# DEBUG __n => NULL
# DEBUG D.16392 => 0
if (SR.351_792 != 0)
goto <bb 52>; [74.63%]
else
goto <bb 50>; [25.37%]
<bb 50> [local count: 74075142]:
# DEBUG D.16389 => NULL
# DEBUG D.16390 => NULL
# DEBUG D.16391 => NULL
# DEBUG this => NULL
# DEBUG D.16392 => NULL
# DEBUG offset => 0
# DEBUG BEGIN_STMT
_585 = currentOutputWidth;
pretmp_556 = currentOutputHeight;
if (_585 != sourceWidth_780)
goto <bb 57>; [48.88%]
else
goto <bb 51>; [51.12%]
<bb 51> [local count: 37867213]:
if (pretmp_556 != sourceHeight_778)
goto <bb 57>; [66.00%]
else
goto <bb 55>; [34.00%]
<bb 52> [local count: 374865114]:
pretmp_551 = currentOutputHeight;
pretmp_552 = currentOutputWidth;
if (w_188(D) != scaleW_198(D))
goto <bb 57>; [70.00%]
else
goto <bb 53>; [30.00%]
<bb 53> [local count: 112459533]:
# DEBUG offset => 0
# DEBUG BEGIN_STMT
if (pretmp_552 != sourceWidth_780)
goto <bb 57>; [48.88%]
else
goto <bb 54>; [51.12%]
<bb 54> [local count: 57489314]:
if (pretmp_551 != sourceHeight_778)
goto <bb 57>; [66.00%]
else
goto <bb 55>; [34.00%]
<bb 55> [local count: 39014705]:
_40 = globalScaleRatio;
if (_40 != 1.0e+0)
goto <bb 56>; [50.00%]
else
goto <bb 70>; [50.00%]
<bb 56> [local count: 19507353]:
pretmp_907 = currentOutputHeight;
<bb 57> [local count: 429432904]:
# _785 = PHI <sourceWidth_780(54), pretmp_552(52), sourceWidth_780(51), sourceWidth_780(56), _585(50), pretmp_552(53)>
# prephitmp_636 = PHI <pretmp_551(54), pretmp_551(52), pretmp_556(51), pretmp_907(56), pretmp_556(50), pretmp_551(53)>
# DEBUG offset => NULL
# DEBUG BEGIN_STMT
_42 = (float) sourceHeight_778;
_43 = (float) sourceWidth_780;
calc_scale_factor (&currentScaleRatio_x, &currentScaleRatio_y, _43, _42);
# DEBUG BEGIN_STMT
_44 = (int) _785;
_45 = (float) _44;
_46 = (int) sourceWidth_780;
_47 = (float) _46;
_48 = currentScaleRatio_x;
_49 = _47 * _48;
_50 = _45 - _49;
_51 = _50 * 5.0e-1;
drawXOffset_238 = (int) _51;
# DEBUG drawXOffset => drawXOffset_238
# DEBUG BEGIN_STMT
_53 = (int) prephitmp_636;
_54 = (float) _53;
_55 = (int) sourceHeight_778;
_56 = (float) _55;
_57 = currentScaleRatio_y;
_587 = {_48, _57};
vect__579.375_696 = { 1.0e+0, 1.0e+0 } / _587;
_58 = _56 * _57;
_59 = _54 - _58;
_60 = _59 * 5.0e-1;
drawYOffset_239 = (int) _60;
# DEBUG drawYOffset => drawYOffset_239
# DEBUG BEGIN_STMT
if (w_188(D) != scaleW_198(D))
goto <bb 58>; [53.47%]
else
goto <bb 68>; [46.53%]
<bb 58> [local count: 229617773]:
# DEBUG BEGIN_STMT
# DEBUG this => w_188(D)
# DEBUG INLINE_ENTRY GetGeometry
# DEBUG BEGIN_STMT
if (_500 == 0)
goto <bb 59>; [50.00%]
else
goto <bb 62>; [50.00%]
<bb 59> [local count: 114808887]:
# DEBUG BEGIN_STMT
# DEBUG this => w_188(D)
# DEBUG INLINE_ENTRY xwayland
# DEBUG BEGIN_STMT
# DEBUG D#278 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __v => D#278
# DEBUG INLINE_ENTRY get
# DEBUG __n => 0
# DEBUG __v => D#278
# DEBUG INLINE_ENTRY get
# DEBUG this => D#278
# DEBUG INLINE_ENTRY index
_531 = MEM[(const struct variant *)w_188(D) + 152B].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_index;
# DEBUG this => NULL
if (_531 != 0)
goto <bb 60>; [0.00%]
else
goto <bb 61>; [100.00%]
<bb 60> [count: 0]:
# DEBUG this => D#278
# DEBUG INLINE_ENTRY valueless_by_exception
_532 = _531 == 255;
# DEBUG this => NULL
_533 = (int) _532;
__throw_bad_variant_access (_533);
<bb 61> [local count: 114808887]:
# DEBUG D#279 => &MEM[(const struct type &)D#278].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG __v => NULL
# DEBUG __v => NULL
# DEBUG this => NULL
_534 = MEM[(const struct steamcompmgr_xwayland_win_t &)w_188(D) + 152].a.x;
# DEBUG D#278 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __n => 0
# DEBUG D#279 => &MEM[(const struct type &)D#278].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG D#296 => MEM[(const struct steamcompmgr_xwayland_win_t &)w_188(D) + 152].a.y
# DEBUG D#278 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __n => 0
# DEBUG D#279 => &MEM[(const struct type &)D#278].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG D#295 => MEM[(const struct steamcompmgr_xwayland_win_t &)w_188(D) + 152].a.width
# DEBUG D#278 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __n => 0
# DEBUG D#279 => &MEM[(const struct type &)D#278].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG D#294 => MEM[(const struct steamcompmgr_xwayland_win_t &)w_188(D) + 152].a.height
# DEBUG D.16397 => D#296
# DEBUG D.16398 => D#295
# DEBUG D.16399 => D#294
# DEBUG this => NULL
_660 = (float) _534;
_659 = _48 * _660;
_658 = (float) drawXOffset_238;
_657 = _658 + _659;
drawXOffset_656 = (int) _657;
# DEBUG drawXOffset => drawXOffset_656
# DEBUG BEGIN_STMT
# DEBUG this => w_188(D)
# DEBUG INLINE_ENTRY GetGeometry
# DEBUG BEGIN_STMT
# DEBUG D.16397 => D#296
# DEBUG D.16398 => D#295
# DEBUG D.16399 => D#294
# DEBUG this => NULL
# DEBUG drawXOffset => drawXOffset_656
# DEBUG this => w_188(D)
# DEBUG BEGIN_STMT
# DEBUG this => w_188(D)
# DEBUG D#278 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __v => D#278
# DEBUG __n => 0
# DEBUG __v => D#278
# DEBUG this => D#278
# DEBUG this => NULL
# DEBUG D#279 => &MEM[(const struct type &)D#278].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG __v => NULL
# DEBUG __v => NULL
# DEBUG this => NULL
# DEBUG D#278 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __n => 0
# DEBUG D#279 => &MEM[(const struct type &)D#278].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
_550 = MEM[(const struct steamcompmgr_xwayland_win_t &)w_188(D) + 152].a.y;
# DEBUG D#278 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __n => 0
# DEBUG D#279 => &MEM[(const struct type &)D#278].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG D#278 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __n => 0
# DEBUG D#279 => &MEM[(const struct type &)D#278].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
_346 = (float) _550;
_867 = _57 * _346;
goto <bb 67>; [100.00%]
<bb 62> [local count: 114808887]:
# DEBUG BEGIN_STMT
if (_500 == 1)
goto <bb 63>; [34.00%]
else
goto <bb 66>; [66.00%]
<bb 63> [local count: 39035022]:
# DEBUG this => w_188(D)
# DEBUG INLINE_ENTRY GetGeometry
# DEBUG BEGIN_STMT
# DEBUG this => w_188(D)
# DEBUG INLINE_ENTRY xdg
# DEBUG BEGIN_STMT
# DEBUG D#280 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __v => D#280
# DEBUG INLINE_ENTRY get
# DEBUG __n => 1
# DEBUG __v => D#280
# DEBUG INLINE_ENTRY get
# DEBUG this => D#280
# DEBUG INLINE_ENTRY index
_538 = MEM[(const struct variant *)w_188(D) + 152B].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_index;
# DEBUG this => NULL
if (_538 != 1)
goto <bb 64>; [0.00%]
else
goto <bb 65>; [100.00%]
<bb 64> [count: 0]:
# DEBUG this => D#280
# DEBUG INLINE_ENTRY valueless_by_exception
_539 = _538 == 255;
# DEBUG this => NULL
_540 = (int) _539;
__throw_bad_variant_access (_540);
<bb 65> [local count: 39035022]:
# DEBUG D#281 => &MEM[(const struct type &)D#280].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG __v => NULL
# DEBUG __v => NULL
# DEBUG this => NULL
_541 = MEM[(const struct steamcompmgr_xdg_win_t &)w_188(D) + 152].geometry.x;
# DEBUG D#280 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __n => 1
# DEBUG D#281 => &MEM[(const struct type &)D#280].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG D#293 => MEM[(const struct steamcompmgr_xdg_win_t &)w_188(D) + 152].geometry.y
# DEBUG D#280 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __n => 1
# DEBUG D#281 => &MEM[(const struct type &)D#280].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG D#292 => MEM[(const struct steamcompmgr_xdg_win_t &)w_188(D) + 152].geometry.width
# DEBUG D#280 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __n => 1
# DEBUG D#281 => &MEM[(const struct type &)D#280].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG D#291 => MEM[(const struct steamcompmgr_xdg_win_t &)w_188(D) + 152].geometry.height
# DEBUG this => NULL
# DEBUG D.16397 => D#293
# DEBUG D.16398 => D#292
# DEBUG D.16399 => D#291
# DEBUG this => NULL
_677 = (float) _541;
_675 = _48 * _677;
_673 = (float) drawXOffset_238;
_672 = _673 + _675;
drawXOffset_671 = (int) _672;
# DEBUG drawXOffset => drawXOffset_671
# DEBUG BEGIN_STMT
# DEBUG this => w_188(D)
# DEBUG INLINE_ENTRY GetGeometry
# DEBUG BEGIN_STMT
# DEBUG D.16397 => D#293
# DEBUG D.16398 => D#292
# DEBUG D.16399 => D#291
# DEBUG this => NULL
# DEBUG drawXOffset => drawXOffset_671
# DEBUG this => w_188(D)
# DEBUG this => w_188(D)
# DEBUG INLINE_ENTRY GetGeometry
# DEBUG BEGIN_STMT
# DEBUG this => w_188(D)
# DEBUG D#280 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __v => D#280
# DEBUG __n => 1
# DEBUG __v => D#280
# DEBUG this => D#280
# DEBUG this => NULL
# DEBUG D#281 => &MEM[(const struct type &)D#280].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG __v => NULL
# DEBUG __v => NULL
# DEBUG this => NULL
# DEBUG D#280 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __n => 1
# DEBUG D#281 => &MEM[(const struct type &)D#280].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
_557 = MEM[(const struct steamcompmgr_xdg_win_t &)w_188(D) + 152].geometry.y;
# DEBUG D#280 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __n => 1
# DEBUG D#281 => &MEM[(const struct type &)D#280].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG D#280 => &MEM[(const struct steamcompmgr_win_t *)w_188(D)]._window_types
# DEBUG __n => 1
# DEBUG D#281 => &MEM[(const struct type &)D#280].D.5656.D.5653.D.5651.D.5649.D.5647.D.5645._M_u
# DEBUG this => NULL
_865 = (float) _557;
_868 = _57 * _865;
goto <bb 67>; [100.00%]
<bb 66> [local count: 75773865]:
# DEBUG BEGIN_STMT
# DEBUG D.16397 => 0
# DEBUG D.16398 => 0
# DEBUG D.16399 => 0
# DEBUG this => NULL
_899 = (float) drawXOffset_238;
drawXOffset_901 = (int) _899;
# DEBUG drawXOffset => drawXOffset_901
# DEBUG BEGIN_STMT
# DEBUG this => w_188(D)
# DEBUG INLINE_ENTRY GetGeometry
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG D.16397 => 0
# DEBUG D.16398 => 0
# DEBUG D.16399 => 0
# DEBUG this => NULL
# DEBUG drawXOffset => drawXOffset_901
# DEBUG this => w_188(D)
# DEBUG BEGIN_STMT
<bb 67> [local count: 229617773]:
# drawXOffset_904 = PHI <drawXOffset_656(61), drawXOffset_671(65), drawXOffset_901(66)>
# prephitmp_513 = PHI <_867(61), _868(65), 0.0(66)>
# DEBUG this => NULL
_67 = (float) drawYOffset_239;
_68 = _67 + prephitmp_513;
drawYOffset_245 = (int) _68;
# DEBUG drawYOffset => drawYOffset_245
<bb 68> [local count: 429432904]:
# drawXOffset_155 = PHI <drawXOffset_238(57), drawXOffset_904(67)>
# drawYOffset_157 = PHI <drawYOffset_239(57), drawYOffset_245(67)>
# DEBUG drawYOffset => drawYOffset_157
# DEBUG drawXOffset => drawXOffset_155
# DEBUG BEGIN_STMT
_69 = zoomScaleRatio;
if (_69 != 1.0e+0)
goto <bb 69>; [50.00%]
else
goto <bb 70>; [50.00%]
<bb 69> [local count: 214716452]:
# DEBUG BEGIN_STMT
_70 = _46 / 2;
# DEBUG this => cursor_246(D)
# DEBUG INLINE_ENTRY x
# DEBUG BEGIN_STMT
_306 = MEM[(const struct MouseCursor *)cursor_246(D)].m_x;
# DEBUG this => NULL
_71 = _70 - _306;
_72 = (float) _71;
_248 = _48 * _72;
_73 = (float) drawXOffset_155;
_74 = _73 + _248;
drawXOffset_249 = (int) _74;
# DEBUG drawXOffset => drawXOffset_249
# DEBUG BEGIN_STMT
_75 = _55 / 2;
# DEBUG this => cursor_246(D)
# DEBUG INLINE_ENTRY y
# DEBUG BEGIN_STMT
_305 = MEM[(const struct MouseCursor *)cursor_246(D)].m_y;
# DEBUG this => NULL
_76 = _75 - _305;
_77 = (float) _76;
_251 = _57 * _77;
_78 = (float) drawYOffset_157;
_79 = _78 + _251;
drawYOffset_252 = (int) _79;
# DEBUG drawYOffset => drawYOffset_252
<bb 70> [local count: 448940256]:
# drawXOffset_156 = PHI <0(55), drawXOffset_155(68), drawXOffset_249(69)>
# drawYOffset_158 = PHI <0(55), drawYOffset_157(68), drawYOffset_252(69)>
# prephitmp_514 = PHI <_40(55), _48(68), _48(69)>
# prephitmp_362 = PHI <_40(55), _57(68), _57(69)>
# vect_prephitmp_365.376_687 = PHI <{ 1.0e+0, 1.0e+0 }(55), vect__579.375_696(68), vect__579.375_696(69)>
# DEBUG drawYOffset => drawYOffset_158
# DEBUG drawXOffset => drawXOffset_156
# DEBUG BEGIN_STMT
_80 = frameInfo_193(D)->layerCount;
_81 = _80 + 1;
frameInfo_193(D)->layerCount = _81;
# DEBUG curLayer => _80
# DEBUG BEGIN_STMT
# DEBUG layer => &frameInfo_193(D)->layers[_80]
# DEBUG BEGIN_STMT
_82 = w_188(D)->isOverlay;
if (_82 != 0)
goto <bb 72>; [50.00%]
else
goto <bb 71>; [50.00%]
<bb 71> [local count: 224470128]:
_83 = w_188(D)->isExternalOverlay;
if (_83 != 0)
goto <bb 72>; [50.00%]
else
goto <bb 73>; [50.00%]
<bb 72> [local count: 336705192]:
_84 = w_188(D)->opacity;
_85 = (float) _84;
_431 = flOpacityScale_194(D) * 2.3283064365386962890625e-10;
_332 = _85 * _431;
<bb 73> [local count: 448940257]:
# prephitmp_161 = PHI <flOpacityScale_194(D)(71), _332(72)>
MEM <struct FrameInfo_t> [(struct Layer_t *)frameInfo_193(D)].layers[_80].opacity = prephitmp_161;
# DEBUG BEGIN_STMT
# DEBUG D#298 => currentScaleRatio_x
# DEBUG BEGIN_STMT
vectp.378_825 = &MEM <struct FrameInfo_t> [(struct Layer_t *)frameInfo_193(D)].layers[_80].scale;
MEM <vector(2) float> [(float *)vectp.378_825] = vect_prephitmp_365.376_687;
# DEBUG BEGIN_STMT
if (w_188(D) != scaleW_198(D))
goto <bb 74>; [70.00%]
else
goto <bb 75>; [30.00%]
<bb 74> [local count: 314258181]:
_815 = {drawXOffset_156, drawYOffset_158};
vect__91.381_814 = -_815;
vect__92.382_784 = (vector(2) float) vect__91.381_814;
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
vectp.384_783 = &MEM <struct FrameInfo_t> [(struct Layer_t *)frameInfo_193(D)].layers[_80].offset;
MEM <vector(2) float> [(float *)vectp.384_783] = vect__92.382_784;
# DEBUG BEGIN_STMT
_701 = flags_190(D) & 8;
_700 = _701 != 0;
MEM <struct FrameInfo_t> [(struct Layer_t *)frameInfo_193(D)].layers[_80].blackBorder = _700;
# DEBUG BEGIN_STMT
_698 = g_ColorMgmt.pending.enabled;
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 82>; [100.00%]
<bb 75> [local count: 134682076]:
# DEBUG BEGIN_STMT
if (_710 != 0)
goto <bb 76>; [33.00%]
else
goto <bb 81>; [67.00%]
<bb 76> [local count: 44445085]:
# DEBUG BEGIN_STMT
# DEBUG xOffset => 0
# DEBUG yOffset => 0
# DEBUG BEGIN_STMT
D.15652 = GetGeometry (w_188(D));
<bb 77> [local count: 44445085]:
_95 = D.15652.nWidth;
_96 = (float) _95;
_97 = _96 * prephitmp_514;
width_261 = (int) _97;
# DEBUG width => width_261
# DEBUG BEGIN_STMT
D.15653 = GetGeometry (w_188(D));
<bb 78> [local count: 44445085]:
_98 = D.15653.nHeight;
_99 = (float) _98;
_100 = _99 * prephitmp_362;
height_263 = (int) _100;
# DEBUG height => height_263
# DEBUG BEGIN_STMT
_101 = globalScaleRatio;
pretmp_683 = currentOutputWidth;
pretmp_682 = currentOutputHeight;
if (_101 != 1.0e+0)
goto <bb 79>; [50.00%]
else
goto <bb 80>; [50.00%]
<bb 79> [local count: 22222542]:
# DEBUG BEGIN_STMT
_102 = 1.0e+0 - _101;
_104 = (float) pretmp_683;
_105 = _102 * _104;
_106 = (double) _105;
_107 = _106 * 5.0e-1;
xOffset_264 = (int) _107;
# DEBUG xOffset => xOffset_264
# DEBUG BEGIN_STMT
_109 = (float) pretmp_682;
_110 = _102 * _109;
_111 = (double) _110;
_112 = _111 * 5.0e-1;
yOffset_265 = (int) _112;
# DEBUG yOffset => yOffset_265
_894 = (unsigned int) xOffset_264;
_536 = (unsigned int) yOffset_265;
<bb 80> [local count: 44445085]:
# prephitmp_535 = PHI <0(78), _894(79)>
# prephitmp_537 = PHI <0(78), _536(79)>
# DEBUG yOffset => NULL
# DEBUG xOffset => NULL
# DEBUG BEGIN_STMT
_116 = (unsigned int) width_261;
_862 = pretmp_683 - _116;
_117 = _862 - prephitmp_535;
_118 = (float) _117;
_119 = -_118;
# DEBUG BEGIN_STMT
_123 = (unsigned int) height_263;
_863 = pretmp_682 - _123;
_124 = _863 - prephitmp_537;
_125 = (float) _124;
_126 = -_125;
goto <bb 144>; [100.00%]
<bb 81> [local count: 90236991]:
# DEBUG BEGIN_STMT
_127 = -drawXOffset_156;
_128 = (float) _127;
# DEBUG BEGIN_STMT
_129 = -drawYOffset_158;
_130 = (float) _129;
goto <bb 144>; [100.00%]
<bb 82> [local count: 448940257]:
# cstore_791 = PHI <0(144), 1(74)>
# _630 = PHI <_690(144), _698(74)>
MEM <struct FrameInfo_t> [(struct Layer_t *)frameInfo_193(D)].layers[_80].applyColorMgmt = _630;
_254 = (sizetype) _80;
_430 = _254 * 64;
_429 = frameInfo_193(D) + _430;
MEM <int> [(void *)_429 + 72B] = cstore_791;
# DEBUG BEGIN_STMT
_134 = w_188(D)->isOverlay;
if (_134 != 0)
goto <bb 84>; [50.00%]
else
goto <bb 83>; [50.00%]
<bb 83> [local count: 224470128]:
_135 = w_188(D)->isSteamStreamingClient;
if (_135 != 0)
goto <bb 84>; [50.00%]
else
goto <bb 85>; [50.00%]
<bb 84> [local count: 336705192]:
# DEBUG BEGIN_STMT
MEM <int> [(struct Layer_t *)_429 + 72B] = 3;
<bb 85> [local count: 448940257]:
# DEBUG BEGIN_STMT
_136 = w_188(D)->isExternalOverlay;
if (_136 != 0)
goto <bb 87>; [50.00%]
else
goto <bb 86>; [50.00%]
<bb 86> [local count: 224470129]:
cstore_795 = MEM <int> [(void *)_429 + 72B];
<bb 87> [local count: 448940257]:
# cstore_796 = PHI <cstore_795(86), 2(85)>
MEM <int> [(void *)_429 + 72B] = cstore_796;
# DEBUG BEGIN_STMT
# DEBUG this => &lastCommit
# DEBUG this => NULL
# DEBUG D#288 => &lastCommit$m_pObject_762->vulkanTex
# DEBUG D#290 => &MEM <struct FrameInfo_t> [(struct Layer_t *)frameInfo_193(D)].layers[_80].tex
# DEBUG this => D#290
# DEBUG other => D#288
# DEBUG INLINE_ENTRY operator=
# DEBUG this => D#288
_560 = MEM[(const struct Rc *)lastCommit$m_pObject_762 + 32B].m_pObject;
if (_560 != 0B)
goto <bb 88>; [53.47%]
else
goto <bb 89>; [46.53%]
<bb 88> [local count: 240048355]:
# DEBUG pObject => _560
IncRef.isra (_560);
<bb 89> [local count: 448940257]:
# DEBUG pObject => NULL
# DEBUG this => NULL
# DEBUG this => D#290
_561 = MEM[(const struct Rc *)_429 + 64B];
if (_561 != 0B)
goto <bb 90>; [53.47%]
else
goto <bb 91>; [46.53%]
<bb 90> [local count: 240048355]:
# DEBUG pObject => _561
DecRef (_561);
<bb 91> [local count: 448940257]:
# DEBUG pObject => NULL
# DEBUG this => NULL
_562 = MEM[(const struct Rc &)lastCommit$m_pObject_762 + 32].m_pObject;
MEM[(struct Rc *)_429 + 64B] = _562;
# DEBUG this => NULL
# DEBUG other => NULL
# DEBUG BEGIN_STMT
_139 = flags_190(D) & 32;
if (_139 == 0)
goto <bb 92>; [50.00%]
else
goto <bb 93>; [50.00%]
<bb 92> [local count: 224470128]:
_278 = g_upscaleFilter;
<bb 93> [local count: 448940257]:
# _163 = PHI <0(91), _278(92)>
MEM <struct FrameInfo_t> [(struct Layer_t *)frameInfo_193(D)].layers[_80].filter = _163;
# DEBUG BEGIN_STMT
_282 = colorspace (lastCommit$m_pObject_762);
MEM <struct FrameInfo_t> [(struct Layer_t *)frameInfo_193(D)].layers[_80].colorspace = _282;
# DEBUG BEGIN_STMT
# DEBUG this => &D.15654
# DEBUG D.15573 => 0
# DEBUG INLINE_ENTRY __ct
# DEBUG this => &D.15654
# DEBUG INLINE_ENTRY __ct
# DEBUG D#284 => &D.15654.D.5294
# DEBUG this => D#284
# DEBUG INLINE_ENTRY __ct_base
# DEBUG this => &D#284->_M_refcount
# DEBUG INLINE_ENTRY __ct
# DEBUG this => NULL
# DEBUG this => NULL
# DEBUG this => NULL
# DEBUG this => NULL
# DEBUG D.15573 => NULL
# DEBUG this => &MEM <struct FrameInfo_t> [(struct Layer_t *)frameInfo_193(D)].layers[_80].ctm
# DEBUG __r => &D.15654
# DEBUG INLINE_ENTRY operator=
_774 = _430 + 104;
_309 = frameInfo_193(D) + _774;
# DEBUG this => _309
# DEBUG __r => &D.15654.D.5294
# DEBUG INLINE_ENTRY operator=
# DEBUG __r => &D.15654.D.5294
# DEBUG INLINE_ENTRY __ct
# DEBUG INLINE_ENTRY __ct
# DEBUG __r => &D.15654._M_refcount
# DEBUG INLINE_ENTRY _M_swap
# DEBUG __r => NULL
# DEBUG __r => NULL
# DEBUG __other => _309
# DEBUG INLINE_ENTRY swap
# DEBUG __b => &_309->_M_ptr
# DEBUG INLINE_ENTRY swap
# DEBUG __tmp => 0B
# DEBUG __b => NULL
# DEBUG __r => &_309->_M_refcount
# DEBUG INLINE_ENTRY _M_swap
__tmp_565 = MEM[(struct __shared_count &)_309 + 8]._M_pi;
# DEBUG __tmp => __tmp_565
MEM <vector(2) long unsigned int> [(void *)_309] = { 0, 0 };
# DEBUG __r => NULL
# DEBUG __other => NULL
# DEBUG __tmp => NULL
# DEBUG INLINE_ENTRY __dt_base
# DEBUG INLINE_ENTRY __dt_base
if (__tmp_565 != 0B)
goto <bb 94>; [53.47%]
else
goto <bb 102>; [46.53%]
<bb 94> [local count: 240048355]:
# DEBUG this => __tmp_565
# DEBUG INLINE_ENTRY _M_release
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG __lock_free => 1
# DEBUG BEGIN_STMT
# DEBUG __double_word => 1
# DEBUG BEGIN_STMT
# DEBUG __aligned => 1
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG __wordbits => 32
# DEBUG BEGIN_STMT
# DEBUG __shiftbits => 32
# DEBUG BEGIN_STMT
# DEBUG __unique_ref => 4294967297
# DEBUG BEGIN_STMT
__both_counts_566 = &__tmp_565->_M_use_count;
# DEBUG __both_counts => __both_counts_566
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_567 = __atomic_load_8 (__both_counts_566, 2);
if (_567 == 4294967297)
goto <bb 95>; [20.97%]
else
goto <bb 96>; [79.03%]
<bb 95> [local count: 50338141]:
# DEBUG this => __tmp_565
# DEBUG INLINE_ENTRY _M_release
# DEBUG BEGIN_STMT
MEM <vector(2) int> [(int *)__tmp_565 + 8B] = { 0, 0 };
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_574 = __tmp_565->_vptr._Sp_counted_base;
_575 = MEM[(int (*__vtbl_ptr_type) () *)_574 + 16B];
OBJ_TYPE_REF(_575;(struct _Sp_counted_base)__tmp_565->2B) (__tmp_565);
# DEBUG BEGIN_STMT
_576 = __tmp_565->_vptr._Sp_counted_base;
_577 = MEM[(int (*__vtbl_ptr_type) () *)_576 + 24B];
OBJ_TYPE_REF(_577;(struct _Sp_counted_base)__tmp_565->3B) (__tmp_565);
# DEBUG BEGIN_STMT
# DEBUG this => NULL
pretmp_664 = MEM <struct FrameInfo_t> [(struct Layer_t *)frameInfo_193(D)].layers[_80].colorspace;
goto <bb 102>; [100.00%]
<bb 96> [local count: 189710214]:
# DEBUG BEGIN_STMT
# DEBUG __mem => __both_counts_566
# DEBUG __val => -1
# DEBUG INLINE_ENTRY __exchange_and_add_dispatch
# DEBUG BEGIN_STMT
# DEBUG INLINE_ENTRY __is_single_threaded
# DEBUG BEGIN_STMT
_568 = __libc_single_threaded;
if (_568 != 0)
goto <bb 97>; [67.00%]
else
goto <bb 98>; [33.00%]
<bb 97> [local count: 127105844]:
# DEBUG BEGIN_STMT
# DEBUG __mem => __both_counts_566
# DEBUG __val => -1
# DEBUG INLINE_ENTRY __exchange_and_add_single
# DEBUG BEGIN_STMT
__result_569 = MEM[(_Atomic_word *)__tmp_565 + 8B];
# DEBUG __result => __result_569
# DEBUG BEGIN_STMT
_570 = __result_569 + -1;
MEM[(_Atomic_word *)__tmp_565 + 8B] = _570;
# DEBUG BEGIN_STMT
# DEBUG __mem => NULL
# DEBUG __val => NULL
# DEBUG __result => NULL
goto <bb 99>; [100.00%]
<bb 98> [local count: 62604370]:
# DEBUG BEGIN_STMT
# DEBUG __mem => __both_counts_566
# DEBUG __val => -1
# DEBUG INLINE_ENTRY __exchange_and_add
# DEBUG BEGIN_STMT
_571 = __atomic_fetch_add_4 (__both_counts_566, 4294967295, 4);
_572 = (int) _571;
# DEBUG __mem => NULL
# DEBUG __val => NULL
<bb 99> [local count: 189710214]:
# _573 = PHI <__result_569(97), _572(98)>
# DEBUG __mem => NULL
# DEBUG __val => NULL
# DEBUG __result => NULL
if (_573 == 1)
goto <bb 101>; [10.00%]
else
goto <bb 100>; [90.00%]
<bb 100> [local count: 170739192]:
pretmp_665 = MEM <struct FrameInfo_t> [(struct Layer_t *)frameInfo_193(D)].layers[_80].colorspace;
goto <bb 102>; [100.00%]
<bb 101> [local count: 18971022]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_M_release_last_use_cold (__tmp_565);
# DEBUG BEGIN_STMT
pretmp_674 = MEM <struct FrameInfo_t> [(struct Layer_t *)frameInfo_193(D)].layers[_80].colorspace;
<bb 102> [local count: 448940257]:
# prephitmp_515 = PHI <_282(93), pretmp_665(100), pretmp_664(95), pretmp_674(101)>
# DEBUG this => NULL
# DEBUG __result => NULL
# DEBUG __both_counts => NULL
# DEBUG this => NULL
# DEBUG __r => NULL
# DEBUG __tmp => NULL
# DEBUG this => NULL
# DEBUG __r => NULL
# DEBUG this => &D.15654
# DEBUG INLINE_ENTRY __dt_base
# DEBUG D#285 => &D.15654.D.5294
# DEBUG this => D#285
# DEBUG INLINE_ENTRY __dt_base
# DEBUG this => &D#285->_M_refcount
# DEBUG INLINE_ENTRY __dt_base
# DEBUG D#289 => MEM[(struct __shared_count *)&D.15654 + 8B]._M_pi
# DEBUG this => NULL
# DEBUG this => NULL
# DEBUG this => NULL
# DEBUG BEGIN_STMT
if (prephitmp_515 == 2)
goto <bb 104>; [20.24%]
else
goto <bb 103>; [79.76%]
<bb 103> [local count: 385334401]:
goto <bb 120>; [100.00%]
<bb 104> [local count: 90865507]:
# DEBUG BEGIN_STMT
# DEBUG this => _309
# DEBUG D.15565 => &s_scRGB709To2020Matrix
# DEBUG INLINE_ENTRY operator=
# DEBUG this => &MEM[(struct shared_ptr *)_309].D.5294
# DEBUG D.15569 => &s_scRGB709To2020Matrix.D.5294
# DEBUG INLINE_ENTRY operator=
_310 = MEM[(const struct __shared_ptr &)&s_scRGB709To2020Matrix]._M_ptr;
MEM <struct FrameInfo_t> [(struct __shared_ptr *)frameInfo_193(D)].layers[_80].ctm.D.5294._M_ptr = _310;
# DEBUG this => &_309->_M_refcount
# DEBUG __r => &MEM[(const struct __shared_ptr &)&s_scRGB709To2020Matrix]._M_refcount
# DEBUG INLINE_ENTRY operator=
__tmp_590 = MEM[(const struct __shared_count &)&s_scRGB709To2020Matrix + 8]._M_pi;
# DEBUG __tmp => __tmp_590
_591 = MEM[(struct __shared_count *)_309 + 8B]._M_pi;
if (__tmp_590 != _591)
goto <bb 105>; [70.00%]
else
goto <bb 103>; [30.00%]
<bb 105> [local count: 63605855]:
if (__tmp_590 != 0B)
goto <bb 107>; [53.47%]
else
goto <bb 106>; [46.53%]
<bb 106> [local count: 22786734]:
goto <bb 110>; [100.00%]
<bb 107> [local count: 34010051]:
# DEBUG this => __tmp_590
# DEBUG INLINE_ENTRY _M_add_ref_copy
# DEBUG D#303 => &__tmp_590->_M_use_count
# DEBUG __mem => D#303
# DEBUG __val => 1
# DEBUG INLINE_ENTRY __atomic_add_dispatch
# DEBUG BEGIN_STMT
# DEBUG INLINE_ENTRY __is_single_threaded
# DEBUG BEGIN_STMT
_594 = __libc_single_threaded;
if (_594 != 0)
goto <bb 108>; [67.00%]
else
goto <bb 109>; [33.00%]
<bb 108> [local count: 22786734]:
# DEBUG BEGIN_STMT
# DEBUG __mem => D#303
# DEBUG __val => 1
# DEBUG INLINE_ENTRY __atomic_add_single
# DEBUG BEGIN_STMT
_595 = MEM[(_Atomic_word *)__tmp_590 + 8B];
_596 = _595 + 1;
MEM[(_Atomic_word *)__tmp_590 + 8B] = _596;
# DEBUG __mem => NULL
# DEBUG __val => NULL
goto <bb 106>; [100.00%]
<bb 109> [local count: 11223317]:
# DEBUG BEGIN_STMT
# DEBUG __mem => D#303
# DEBUG __val => 1
# DEBUG INLINE_ENTRY __atomic_add
# DEBUG BEGIN_STMT
_593 = &__tmp_590->_M_use_count;
__atomic_fetch_add_4 (_593, 1, 4);
# DEBUG __mem => NULL
# DEBUG __val => NULL
pretmp_542 = MEM[(struct __shared_count *)_309 + 8B]._M_pi;
<bb 110> [local count: 63605855]:
# prephitmp_543 = PHI <_591(106), pretmp_542(109)>
# DEBUG __mem => NULL
# DEBUG __val => NULL
# DEBUG this => NULL
# DEBUG D#297 => MEM[(struct __shared_count *)_309 + 8B]._M_pi
if (prephitmp_543 != 0B)
goto <bb 112>; [53.47%]
else
goto <bb 111>; [46.53%]
<bb 111> [local count: 53786133]:
goto <bb 119>; [100.00%]
<bb 112> [local count: 34010051]:
# DEBUG this => D#297
# DEBUG INLINE_ENTRY _M_release
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG __lock_free => 1
# DEBUG BEGIN_STMT
# DEBUG __double_word => 1
# DEBUG BEGIN_STMT
# DEBUG __aligned => 1
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG __wordbits => 32
# DEBUG BEGIN_STMT
# DEBUG __shiftbits => 32
# DEBUG BEGIN_STMT
# DEBUG __unique_ref => 4294967297
# DEBUG BEGIN_STMT
__both_counts_597 = &prephitmp_543->_M_use_count;
# DEBUG __both_counts => __both_counts_597
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_598 = __atomic_load_8 (__both_counts_597, 2);
if (_598 == 4294967297)
goto <bb 113>; [20.97%]
else
goto <bb 114>; [79.03%]
<bb 113> [local count: 7131908]:
# DEBUG this => D#297
# DEBUG INLINE_ENTRY _M_release
# DEBUG BEGIN_STMT
MEM <vector(2) int> [(int *)prephitmp_543 + 8B] = { 0, 0 };
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_605 = prephitmp_543->_vptr._Sp_counted_base;
_606 = MEM[(int (*__vtbl_ptr_type) () *)_605 + 16B];
OBJ_TYPE_REF(_606;(struct _Sp_counted_base)prephitmp_543->2B) (prephitmp_543);
# DEBUG BEGIN_STMT
_607 = prephitmp_543->_vptr._Sp_counted_base;
_608 = MEM[(int (*__vtbl_ptr_type) () *)_607 + 24B];
OBJ_TYPE_REF(_608;(struct _Sp_counted_base)prephitmp_543->3B) (prephitmp_543);
# DEBUG BEGIN_STMT
# DEBUG this => NULL
goto <bb 119>; [100.00%]
<bb 114> [local count: 26878143]:
# DEBUG BEGIN_STMT
# DEBUG __mem => __both_counts_597
# DEBUG __val => -1
# DEBUG INLINE_ENTRY __exchange_and_add_dispatch
# DEBUG BEGIN_STMT
# DEBUG INLINE_ENTRY __is_single_threaded
# DEBUG BEGIN_STMT
_599 = __libc_single_threaded;
if (_599 != 0)
goto <bb 115>; [67.00%]
else
goto <bb 116>; [33.00%]
<bb 115> [local count: 18008356]:
# DEBUG BEGIN_STMT
# DEBUG __mem => __both_counts_597
# DEBUG __val => -1
# DEBUG INLINE_ENTRY __exchange_and_add_single
# DEBUG BEGIN_STMT
__result_600 = MEM[(_Atomic_word *)prephitmp_543 + 8B];
# DEBUG __result => __result_600
# DEBUG BEGIN_STMT
_601 = __result_600 + -1;
MEM[(_Atomic_word *)prephitmp_543 + 8B] = _601;
# DEBUG BEGIN_STMT
# DEBUG __mem => NULL
# DEBUG __val => NULL
# DEBUG __result => NULL
goto <bb 117>; [100.00%]
<bb 116> [local count: 8869787]:
# DEBUG BEGIN_STMT
# DEBUG __mem => __both_counts_597
# DEBUG __val => -1
# DEBUG INLINE_ENTRY __exchange_and_add
# DEBUG BEGIN_STMT
_602 = __atomic_fetch_add_4 (__both_counts_597, 4294967295, 4);
_603 = (int) _602;
# DEBUG __mem => NULL
# DEBUG __val => NULL
<bb 117> [local count: 26878143]:
# _604 = PHI <__result_600(115), _603(116)>
# DEBUG __mem => NULL
# DEBUG __val => NULL
# DEBUG __result => NULL
if (_604 == 1)
goto <bb 118>; [10.00%]
else
goto <bb 111>; [90.00%]
<bb 118> [local count: 2687814]:
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_M_release_last_use_cold (prephitmp_543);
# DEBUG BEGIN_STMT
<bb 119> [local count: 63605855]:
# DEBUG this => NULL
# DEBUG __result => NULL
# DEBUG __both_counts => NULL
MEM[(struct __shared_count *)_309 + 8B]._M_pi = __tmp_590;
<bb 120> [local count: 448940257]:
# DEBUG this => NULL
# DEBUG __r => NULL
# DEBUG __tmp => NULL
# DEBUG this => NULL
# DEBUG D.15569 => NULL
# DEBUG this => NULL
# DEBUG D.15565 => NULL
# DEBUG BEGIN_STMT
_143 = flags_190(D) & 64;
pretmp_544 = MEM <struct FrameInfo_t> [(struct Layer_t *)frameInfo_193(D)].layers[_80].filter;
if (_143 != 0)
goto <bb 121>; [50.00%]
else
goto <bb 125>; [50.00%]
<bb 121> [local count: 224470129]:
_145 = pretmp_544 + 4294967294;
if (_145 <= 1)
goto <bb 122>; [41.00%]
else
goto <bb 123>; [59.00%]
<bb 122> [local count: 92032752]:
# DEBUG BEGIN_STMT
MEM <struct FrameInfo_t> [(struct Layer_t *)frameInfo_193(D)].layers[_80].filter = 0;
# DEBUG BEGIN_STMT
goto <bb 133>; [100.00%]
<bb 123> [local count: 132437377]:
# DEBUG BEGIN_STMT
if (pretmp_544 == 4)
goto <bb 143>; [34.00%]
else
goto <bb 124>; [66.00%]
<bb 124> [local count: 87408670]:
goto <bb 133>; [100.00%]
<bb 125> [local count: 224470129]:
# DEBUG BEGIN_STMT
if (pretmp_544 == 4)
goto <bb 126>; [34.00%]
else
goto <bb 129>; [66.00%]
<bb 126> [local count: 107610980]:
# DEBUG BEGIN_STMT
# DEBUG x => D#298
# DEBUG INLINE_ENTRY float_is_integer
# DEBUG BEGIN_STMT
_312 = ceilf (prephitmp_514);
_313 = _312 - prephitmp_514;
_314 = ABS_EXPR <_313>;
# DEBUG x => NULL
if (_314 <= 1.000000047497451305389404296875e-3)
goto <bb 127>; [29.08%]
else
goto <bb 129>; [70.92%]
<bb 127> [local count: 31291138]:
# DEBUG x => currentScaleRatio_y
# DEBUG INLINE_ENTRY float_is_integer
# DEBUG BEGIN_STMT
_315 = ceilf (prephitmp_362);
_316 = _315 - prephitmp_362;
_317 = ABS_EXPR <_316>;
# DEBUG x => NULL
if (_317 <= 1.000000047497451305389404296875e-3)
goto <bb 128>; [0.00%]
else
goto <bb 129>; [100.00%]
<bb 128> [local count: 0]:
# DEBUG BEGIN_STMT
MEM <struct FrameInfo_t> [(struct Layer_t *)frameInfo_193(D)].layers[_80].filter = 1;
<bb 129> [local count: 262630050]:
# DEBUG BEGIN_STMT
if (_1 != 0)
goto <bb 130>; [100.00%]
else
goto <bb 124>; [0.00%]
<bb 130> [local count: 300789974]:
# DEBUG BEGIN_STMT
# DEBUG basePlane$scale$0 => 0.0
# DEBUG basePlane$scale$1 => 0.0
# DEBUG basePlane$offset$0 => 0.0
# DEBUG basePlane$offset$1 => 0.0
# DEBUG basePlane$opacity => 0.0
# DEBUG basePlane$20 => 0
# DEBUG BEGIN_STMT
vect__147.393_507 = MEM <vector(4) float> [(float *)vectp.378_825 + -8B];
vect__149.395_388 = VEC_PERM_EXPR <vect__147.393_507, vect__147.393_507, { 2, 3, 0, 1 }>;
# DEBUG basePlane$scale$0 => MEM <struct FrameInfo_t> [(struct Layer_t *)frameInfo_193(D)].layers[_80].scale.x
# DEBUG BEGIN_STMT
# DEBUG basePlane$scale$1 => MEM <struct FrameInfo_t> [(struct Layer_t *)frameInfo_193(D)].layers[_80].scale.y
# DEBUG BEGIN_STMT
# DEBUG basePlane$offset$0 => MEM <float> [(struct Layer_t *)_429 + 76B]
# DEBUG BEGIN_STMT
# DEBUG basePlane$offset$1 => MEM <float> [(struct Layer_t *)_429 + 80B]
# DEBUG BEGIN_STMT
_151 = MEM <struct FrameInfo_t> [(struct Layer_t *)frameInfo_193(D)].layers[_80].opacity;
# DEBUG basePlane$opacity => _151
# DEBUG BEGIN_STMT
_152 = MEM <struct FrameInfo_t> [(struct Layer_t *)frameInfo_193(D)].layers[_80].filter;
# DEBUG basePlane$20 => _152
# DEBUG BEGIN_STMT
MEM <vector(4) float> [(float *)&g_CachedPlanes] = vect__149.395_388;
MEM[(struct value_type *)&g_CachedPlanes].opacity = _151;
MEM <unsigned int> [(struct value_type *)&g_CachedPlanes + 20B] = _152;
# DEBUG BEGIN_STMT
_153 = flags_190(D) & 2;
if (_153 == 0)
goto <bb 131>; [50.00%]
else
goto <bb 132>; [50.00%]
<bb 131> [local count: 150394987]:
# DEBUG BEGIN_STMT
MEM <vector(4) float> [(float *)&g_CachedPlanes + 24B] = vect__149.395_388;
MEM[(struct value_type *)&g_CachedPlanes + 24B].opacity = _151;
MEM <unsigned int> [(struct value_type *)&g_CachedPlanes + 44B] = _152;
<bb 132> [local count: 300789974]:
# DEBUG BEGIN_STMT
_154 = lastCommit$m_pObject_762->commitID;
g_uCurrentBasePlaneCommitID = _154;
# DEBUG BEGIN_STMT
_462 = MEM[(bool *)lastCommit$m_pObject_762 + 50B];
_463 = MEM[(bool *)lastCommit$m_pObject_762 + 51B];
# DEBUG D#286 => lastCommit$m_pObject_762
# DEBUG INLINE_ENTRY IsPerfOverlayFIFO
# DEBUG D#287 => D#286
# DEBUG this => D#287
_411 = _462 | _463;
# DEBUG this => NULL
g_bCurrentBasePlaneIsFifo = _411;
# DEBUG basePlane$scale$0 => NULL
# DEBUG basePlane$scale$1 => NULL
# DEBUG basePlane$offset$0 => NULL
# DEBUG basePlane$offset$1 => NULL
# DEBUG basePlane$opacity => NULL
# DEBUG basePlane$20 => NULL
<bb 133> [local count: 448940258]:
# DEBUG this => &lastCommit
# DEBUG INLINE_ENTRY __dt_base
# DEBUG this => &lastCommit
# DEBUG INLINE_ENTRY DecRef
# DEBUG pObject => lastCommit$m_pObject_762
# DEBUG INLINE_ENTRY DecRef
# DEBUG D#302 => &lastCommit$m_pObject_762->D.8179
# DEBUG this => D#302
# DEBUG INLINE_ENTRY DecRef
# DEBUG BEGIN_STMT
# DEBUG this => &D#302->m_uRefCount.D.5394
# DEBUG INLINE_ENTRY operator--
_612 = &MEM[(struct __atomic_base *)lastCommit$m_pObject_762 + 16B]._M_i;
_580 = .ATOMIC_SUB_FETCH_CMP_0 (0, _612, 1, 5, __atomic_sub_fetch_4);
# DEBUG this => NULL
# DEBUG BEGIN_STMT
if (_580 != 0)
goto <bb 134>; [33.00%]
else
goto <bb 5>; [67.00%]
<bb 134> [local count: 148150284]:
# DEBUG BEGIN_STMT
# DEBUG this => D#302
# DEBUG INLINE_ENTRY DecRefPrivate
# DEBUG BEGIN_STMT
# DEBUG this => &D#302->m_uRefPrivate.D.5394
# DEBUG INLINE_ENTRY operator--
_614 = &MEM[(struct __atomic_base *)lastCommit$m_pObject_762 + 20B]._M_i;
_734 = .ATOMIC_SUB_FETCH_CMP_0 (0, _614, 1, 5, __atomic_sub_fetch_4);
# DEBUG this => NULL
# DEBUG BEGIN_STMT
if (_734 != 0)
goto <bb 135>; [33.00%]
else
goto <bb 5>; [67.00%]
<bb 135> [local count: 48889593]:
# DEBUG BEGIN_STMT
# DEBUG this => &D#302->m_uRefPrivate.D.5394
# DEBUG __i => 2147483648
# DEBUG INLINE_ENTRY operator+=
__atomic_add_fetch_4 (_614, 2147483648, 5);
# DEBUG this => NULL
# DEBUG __i => NULL
# DEBUG BEGIN_STMT
_616 = MEM[(struct RcObject *)lastCommit$m_pObject_762 + 8B]._vptr.RcObject;
_617 = MEM[(int (*__vtbl_ptr_type) () *)_616 + 8B];
_318 = &lastCommit$m_pObject_762->D.8179;
OBJ_TYPE_REF(_617;(struct RcObject)_318->1B) (_318); [tail call]
<bb 136> [local count: 1073741824]:
# DEBUG this => NULL
# DEBUG BEGIN_STMT
# DEBUG this => NULL
# DEBUG pObject => NULL
# DEBUG this => NULL
# DEBUG lastCommit$m_pObject => NULL
# DEBUG this => NULL
# DEBUG sourceWidth => NULL
# DEBUG sourceHeight => NULL
currentScaleRatio_x ={v} {CLOBBER(eos)};
currentScaleRatio_y ={v} {CLOBBER(eos)};
# DEBUG lastCommit$m_pObject => NULL
return;
<bb 137> [local count: 334081397]:
# DEBUG pObject => lastCommit$m_pObject_762
# DEBUG INLINE_ENTRY DecRef
# DEBUG D#304 => &lastCommit$m_pObject_762->D.8179
# DEBUG this => D#304
# DEBUG INLINE_ENTRY DecRef
# DEBUG BEGIN_STMT
# DEBUG this => &D#304->m_uRefCount.D.5394
# DEBUG INLINE_ENTRY operator--
_618 = &MEM[(struct __atomic_base *)lastCommit$m_pObject_762 + 16B]._M_i;
_435 = .ATOMIC_SUB_FETCH_CMP_0 (0, _618, 1, 5, __atomic_sub_fetch_4);
# DEBUG this => NULL
# DEBUG BEGIN_STMT
if (_435 != 0)
goto <bb 138>; [33.00%]
else
goto <bb 5>; [67.00%]
<bb 138> [local count: 110246860]:
# DEBUG BEGIN_STMT
# DEBUG this => D#304
# DEBUG INLINE_ENTRY DecRefPrivate
# DEBUG BEGIN_STMT
# DEBUG this => &D#304->m_uRefPrivate.D.5394
# DEBUG INLINE_ENTRY operator--
_620 = &MEM[(struct __atomic_base *)lastCommit$m_pObject_762 + 20B]._M_i;
_434 = .ATOMIC_SUB_FETCH_CMP_0 (0, _620, 1, 5, __atomic_sub_fetch_4);
# DEBUG this => NULL
# DEBUG BEGIN_STMT
if (_434 != 0)
goto <bb 139>; [33.00%]
else
goto <bb 5>; [67.00%]
<bb 139> [local count: 36381464]:
# DEBUG BEGIN_STMT
# DEBUG this => &D#304->m_uRefPrivate.D.5394
# DEBUG __i => 2147483648
# DEBUG INLINE_ENTRY operator+=
__atomic_add_fetch_4 (_620, 2147483648, 5);
# DEBUG this => NULL
# DEBUG __i => NULL
# DEBUG BEGIN_STMT
_622 = MEM[(struct RcObject *)lastCommit$m_pObject_762 + 8B]._vptr.RcObject;
_623 = MEM[(int (*__vtbl_ptr_type) () *)_622 + 8B];
_320 = &lastCommit$m_pObject_762->D.8179;
OBJ_TYPE_REF(_623;(struct RcObject)_320->1B) (_320); [tail call]
goto <bb 136>; [100.00%]
<bb 140> [count: 0]:
<L0>:
# DEBUG pObject => NULL
# DEBUG pObject => NULL
# DEBUG this => &lastCommit
# DEBUG INLINE_ENTRY __dt_base
# DEBUG this => &lastCommit
# DEBUG INLINE_ENTRY DecRef
if (lastCommit$m_pObject_762 != 0B)
goto <bb 141>; [0.00%]
else
goto <bb 142>; [0.00%]
<bb 141> [count: 0]:
# DEBUG pObject => lastCommit$m_pObject_762
# DEBUG INLINE_ENTRY DecRef
_322 = &lastCommit$m_pObject_762->D.8179;
DecRef (_322);
# DEBUG pObject => NULL
<bb 142> [count: 0]:
# DEBUG this => NULL
# DEBUG lastCommit$m_pObject => NULL
# DEBUG this => NULL
_619 = __builtin_eh_pointer (2);
__builtin_unwind_resume (_619);
<bb 143> [local count: 45028709]:
# DEBUG BEGIN_STMT
# DEBUG x => D#298
# DEBUG INLINE_ENTRY float_is_integer
# DEBUG BEGIN_STMT
_725 = ceilf (prephitmp_514);
_726 = _725 - prephitmp_514;
_286 = ABS_EXPR <_726>;
# DEBUG x => NULL
if (_286 <= 1.000000047497451305389404296875e-3)
goto <bb 145>; [100.00%]
else
goto <bb 124>; [0.00%]
<bb 144> [local count: 134682076]:
# _352 = PHI <_130(81), _126(80)>
# _864 = PHI <_128(81), _119(80)>
_823 = {_864, _352};
vectp.380_817 = &MEM <struct FrameInfo_t> [(struct Layer_t *)frameInfo_193(D)].layers[_80].offset;
MEM <vector(2) float> [(float *)vectp.380_817] = _823;
# DEBUG BEGIN_STMT
_693 = flags_190(D) & 8;
_692 = _693 != 0;
MEM <struct FrameInfo_t> [(struct Layer_t *)frameInfo_193(D)].layers[_80].blackBorder = _692;
# DEBUG BEGIN_STMT
_690 = g_ColorMgmt.pending.enabled;
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
goto <bb 82>; [100.00%]
<bb 145> [local count: 45028707]:
# DEBUG x => currentScaleRatio_y
# DEBUG INLINE_ENTRY float_is_integer
# DEBUG BEGIN_STMT
_733 = ceilf (prephitmp_362);
_755 = _733 - prephitmp_362;
_754 = ABS_EXPR <_755>;
# DEBUG x => NULL
if (_754 <= 1.000000047497451305389404296875e-3)
goto <bb 146>; [100.00%]
else
goto <bb 124>; [0.00%]
<bb 146> [local count: 38159922]:
# DEBUG BEGIN_STMT
MEM <struct FrameInfo_t> [(struct Layer_t *)frameInfo_193(D)].layers[_80].filter = 1;
# DEBUG BEGIN_STMT
goto <bb 124>; [100.00%]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment