Status for Dolphin Central
Recent events
2026-10-26T07:21:14.829336 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'degasus,leoetlino,CrossVR,Tilka,Pokechu22,iwubcode,OatmealDome,Dentomologist,jordan-woyak,JosJuice,phire,linkmauve,AdmiralCurtiss')", 'type': 'internal_log'}
2026-10-26T07:21:14.483041 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log'}
2026-10-26T07:20:19.138157 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'dreamsyntax,TryTwo,corwin-mcknight,nickbeth,PatrickFerry,linkmauve,RachelBryk,jloehr,cristian64,adamdmoss,gwicks,jjdelvalle,JordanTheToaster,VampireFlower,unknownbrackets,JosJuice,ShimmerGlass,CrossVR,ligfx,kayru,Tilka,mahdihijazi,mathieui,hdcmeta,Lobsterzelda,Sintendo,Zopolis4,CelestialAmber,hrydgard,mmastrac,neobrain,Sam-Belliveau,Sir-Walrus,JoshuaVandaele,crediar,endrift,AdmiralCurtiss,magcius,Ebola16,spxtr,zopieux,jezze,nullgemm,DacoTaco,iwubcode,spycrab,mitaclaw,malleoz,RisingFog,mbc07,Filoppi,Linkinworm,leoetlino,K0bin,riking,randomstuff,hthh,cscd98,zackhow,marcan,Ziek,CookiePLMonster,delroth,Stevoisiak,SuperSamus,Starsam80,yourWaifu,TellowKrinkle,NanoByte011,LAGonauta,aldelaro5,CasualPokePlayer,tygyh,JMC47,Hydr8gon,CrystalGamma,shonumi,galop1n,Dentomologist,orbea,jordan-woyak,Tinob,OatmealDome,Orphis,lioncash,OrN,bentley,sepalani,moncefmechri,kamiyo,EmptyChaos,Buddybenj,Geotale,Parlane,BhaaLseN,archshift,Phatcat,LPFaint99,rlnilsen,smurf3tte,Linktothepast,noahpistilli,Simonx22,skylersaleh,merryhime,MayImilae,SirMangler,ColinDTaylor,LillyJadeKatrin,comex,magumagu,Pokechu22,hackbar,aroulin,glennricster,mandar1jn,Helios747,Gamer64ytb,tom-pratt,skidau,phire,mrgreywater,mimimi085181,deReeperJosh,meffij,degasus,vladfi1,Techjar,krnlyng,FioraAeterna,rukai,booto')", 'type': 'internal_log'}
2026-10-26T07:20:17.589075 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2026-10-26T07:15:17.588736 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'dreamsyntax,TryTwo,corwin-mcknight,nickbeth,PatrickFerry,linkmauve,RachelBryk,jloehr,cristian64,adamdmoss,gwicks,jjdelvalle,JordanTheToaster,VampireFlower,unknownbrackets,JosJuice,ShimmerGlass,CrossVR,ligfx,kayru,Tilka,mahdihijazi,mathieui,hdcmeta,Lobsterzelda,Sintendo,Zopolis4,CelestialAmber,hrydgard,mmastrac,neobrain,Sam-Belliveau,Sir-Walrus,JoshuaVandaele,crediar,endrift,AdmiralCurtiss,magcius,Ebola16,spxtr,zopieux,jezze,nullgemm,DacoTaco,iwubcode,spycrab,mitaclaw,malleoz,RisingFog,mbc07,Filoppi,Linkinworm,leoetlino,K0bin,riking,randomstuff,hthh,cscd98,zackhow,marcan,Ziek,CookiePLMonster,delroth,Stevoisiak,SuperSamus,Starsam80,yourWaifu,TellowKrinkle,NanoByte011,LAGonauta,aldelaro5,CasualPokePlayer,tygyh,JMC47,Hydr8gon,CrystalGamma,shonumi,galop1n,Dentomologist,orbea,jordan-woyak,Tinob,OatmealDome,Orphis,lioncash,OrN,bentley,sepalani,moncefmechri,kamiyo,EmptyChaos,Buddybenj,Geotale,Parlane,BhaaLseN,archshift,Phatcat,LPFaint99,rlnilsen,smurf3tte,Linktothepast,noahpistilli,Simonx22,skylersaleh,merryhime,MayImilae,SirMangler,ColinDTaylor,LillyJadeKatrin,comex,magumagu,Pokechu22,hackbar,aroulin,glennricster,mandar1jn,Helios747,Gamer64ytb,tom-pratt,skidau,phire,mrgreywater,mimimi085181,deReeperJosh,meffij,degasus,vladfi1,Techjar,krnlyng,FioraAeterna,rukai,booto')", 'type': 'internal_log'}
2026-10-26T07:15:15.842913 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2026-10-26T07:14:54.642704 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/discord/gateway.py', 'lineno': 584, 'msg': 'Shard ID %s has successfully RESUMED session %s.', 'args': "(None, '8a066b165c9b7e535d8f5c282b205eb0')", 'type': 'internal_log'}
2026-10-26T07:14:11.078510 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303r\ufeffunlevel5\x03 commented on #14954 (Jit: Add PPC64LE backend): \x1f\x0302https://dolp.in/pr14954#issuecomment-6410393200\x03\x1f', 'type': 'notification'}
2026-10-26T07:14:11.078294 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'id': 6032521100, 'node_id': 'PR_kwDOALCn2M8AAAABKrNDhQ', 'number': 14954, 'title': 'Jit: Add PPC64LE backend', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-10-26T03:01:35Z', 'updated_at': '2026-10-26T07:14:09Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': True, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.patch', 'merged_at': None}, 'body': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme, and FPSCR[FPCC] after compares, which kept the bits that were set before.\r\n- cputest and a fuzzer (Tools/ppc64-jit-tests), which compare the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## Testing\r\n\r\nDolphin's CI has no ppc64le runners, so these are run by hand on POWER9 (bare metal) and Power10 (KVM) hosts:\r\n\r\n- **cputest** (`Tools/ppc64-jit-tests`) runs every instruction the JIT compiles on random and edge-case inputs, on the interpreter and on the JIT, and compares the results. It runs at each Power ISA level the host has (`DOLPHIN_PPC64_ISA=2.07`, `3.0`, `3.1`), with and without fastmem, in MMU mode, with FPRF, and with tiny code chunks to stress block linking.\r\n- **The fuzzer** (`fuzz.c`, `fuzz.py`) generates random programs and runs each on both cores. It covers integer, CR, floating-point and paired-single instructions, every form of load and store, string and cache instructions, and branches. It also raises exceptions: traps, system calls, and DSIs from paged memory in MMU mode. When a program differs, it is reduced to the fewest instructions that still differ. About 5 million programs have run on Power10 at ISA 2.07, 3.0 and 3.1.\r\n- The unit tests, and Luigi's Mansion's frames compared with the cached interpreter's.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nI hope so however I think it might be rejected. I am afraid that the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on the team. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\nEven if the PR is rejected, I hope the team would leave it open so that PowerPC community can still access the source codes and adopt it downstream.\r\n\r\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q5. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6410393200', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954#issuecomment-6410393200', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'id': 6410393200, 'node_id': 'IC_kwDOALCn2M8AAAABfhbWcA', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-26T07:14:09Z', 'updated_at': '2026-10-26T07:14:09Z', 'body': "> 1. What is your personal use-case for this?\r\n\r\nThis is for all OpenPOWER workstations (POWER8/9/10). Companies like Raptor Computing Systems does offer Talos II and Blackbird workstations. IBM too with their own product lines. AFAIK it is pretty niche compared to ARM64, RV64 or even LA64 architectures.\r\n\r\n> 2. What is the involvement of the ones mentioned by the Assisted-By field in the commit message?\r\n\r\nFor many things, from helping me out with prototyping, false-proof design and tracking down bugs.\r\n\r\n> From what I understand of this PR description, this won't work on GC/Wii(U), PS3, X360, PowerMac, IntelMac(+Rosetta). So what is this PR targeting?\r\n\r\nThe title said it all, it is for PowerPC64 LE (Little Endian), that means anything that is newer than POWER8. All of platforms you listed above are much older than POWER8. TL;DR; IBM has been pushing POWER architecture (and still is, Power11 is soon available), few years ago they pushed the OpenPOWER initiative to attract more companies to make computer based on this platform. The aforementioned Raptor Computing System is one of many partners of this initiative.", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6410393200/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-26T07:14:11.078266 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'runlevel5', 'action': 'created', 'id': 14954, 'title': 'Jit: Add PPC64LE backend', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14954#issuecomment-6410393200', 'safe_author': False, 'body': "> 1. What is your personal use-case for this?\r\n\r\nThis is for all OpenPOWER workstations (POWER8/9/10). Companies like Raptor Computing Systems does offer Talos II and Blackbird workstations. IBM too with their own product lines. AFAIK it is pretty niche compared to ARM64, RV64 or even LA64 architectures.\r\n\r\n> 2. What is the involvement of the ones mentioned by the Assisted-By field in the commit message?\r\n\r\nFor many things, from helping me out with prototyping, false-proof design and tracking down bugs.\r\n\r\n> From what I understand of this PR description, this won't work on GC/Wii(U), PS3, X360, PowerMac, IntelMac(+Rosetta). So what is this PR targeting?\r\n\r\nThe title said it all, it is for PowerPC64 LE (Little Endian), that means anything that is newer than POWER8. All of platforms you listed above are much older than POWER8. TL;DR; IBM has been pushing POWER architecture (and still is, Power11 is soon available), few years ago they pushed the OpenPOWER initiative to attract more companies to make computer based on this platform. The aforementioned Raptor Computing System is one of many partners of this initiative.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'id': 6032521100, 'node_id': 'PR_kwDOALCn2M8AAAABKrNDhQ', 'number': 14954, 'title': 'Jit: Add PPC64LE backend', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-10-26T03:01:35Z', 'updated_at': '2026-10-26T07:14:09Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': True, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.patch', 'merged_at': None}, 'body': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme, and FPSCR[FPCC] after compares, which kept the bits that were set before.\r\n- cputest and a fuzzer (Tools/ppc64-jit-tests), which compare the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## Testing\r\n\r\nDolphin's CI has no ppc64le runners, so these are run by hand on POWER9 (bare metal) and Power10 (KVM) hosts:\r\n\r\n- **cputest** (`Tools/ppc64-jit-tests`) runs every instruction the JIT compiles on random and edge-case inputs, on the interpreter and on the JIT, and compares the results. It runs at each Power ISA level the host has (`DOLPHIN_PPC64_ISA=2.07`, `3.0`, `3.1`), with and without fastmem, in MMU mode, with FPRF, and with tiny code chunks to stress block linking.\r\n- **The fuzzer** (`fuzz.c`, `fuzz.py`) generates random programs and runs each on both cores. It covers integer, CR, floating-point and paired-single instructions, every form of load and store, string and cache instructions, and branches. It also raises exceptions: traps, system calls, and DSIs from paged memory in MMU mode. When a program differs, it is reduced to the fewest instructions that still differ. About 5 million programs have run on Power10 at ISA 2.07, 3.0 and 3.1.\r\n- The unit tests, and Luigi's Mansion's frames compared with the cached interpreter's.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nI hope so however I think it might be rejected. I am afraid that the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on the team. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\nEven if the PR is rejected, I hope the team would leave it open so that PowerPC community can still access the source codes and adopt it downstream.\r\n\r\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q5. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6410393200', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954#issuecomment-6410393200', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'id': 6410393200, 'node_id': 'IC_kwDOALCn2M8AAAABfhbWcA', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-26T07:14:09Z', 'updated_at': '2026-10-26T07:14:09Z', 'body': "> 1. What is your personal use-case for this?\r\n\r\nThis is for all OpenPOWER workstations (POWER8/9/10). Companies like Raptor Computing Systems does offer Talos II and Blackbird workstations. IBM too with their own product lines. AFAIK it is pretty niche compared to ARM64, RV64 or even LA64 architectures.\r\n\r\n> 2. What is the involvement of the ones mentioned by the Assisted-By field in the commit message?\r\n\r\nFor many things, from helping me out with prototyping, false-proof design and tracking down bugs.\r\n\r\n> From what I understand of this PR description, this won't work on GC/Wii(U), PS3, X360, PowerMac, IntelMac(+Rosetta). So what is this PR targeting?\r\n\r\nThe title said it all, it is for PowerPC64 LE (Little Endian), that means anything that is newer than POWER8. All of platforms you listed above are much older than POWER8. TL;DR; IBM has been pushing POWER architecture (and still is, Power11 is soon available), few years ago they pushed the OpenPOWER initiative to attract more companies to make computer based on this platform. The aforementioned Raptor Computing System is one of many partners of this initiative.", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6410393200/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-26T07:11:14.482831 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'degasus,leoetlino,CrossVR,Tilka,Pokechu22,iwubcode,OatmealDome,Dentomologist,jordan-woyak,JosJuice,phire,linkmauve,AdmiralCurtiss')", 'type': 'internal_log'}
2026-10-26T07:11:14.144197 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log'}
2026-10-26T07:10:15.842580 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'dreamsyntax,TryTwo,corwin-mcknight,nickbeth,PatrickFerry,linkmauve,RachelBryk,jloehr,cristian64,adamdmoss,gwicks,jjdelvalle,JordanTheToaster,VampireFlower,unknownbrackets,JosJuice,ShimmerGlass,CrossVR,ligfx,kayru,Tilka,mahdihijazi,mathieui,hdcmeta,Lobsterzelda,Sintendo,Zopolis4,CelestialAmber,hrydgard,mmastrac,neobrain,Sam-Belliveau,Sir-Walrus,JoshuaVandaele,crediar,endrift,AdmiralCurtiss,magcius,Ebola16,spxtr,zopieux,jezze,nullgemm,DacoTaco,iwubcode,spycrab,mitaclaw,malleoz,RisingFog,mbc07,Filoppi,Linkinworm,leoetlino,K0bin,riking,randomstuff,hthh,cscd98,zackhow,marcan,Ziek,CookiePLMonster,delroth,Stevoisiak,SuperSamus,Starsam80,yourWaifu,TellowKrinkle,NanoByte011,LAGonauta,aldelaro5,CasualPokePlayer,tygyh,JMC47,Hydr8gon,CrystalGamma,shonumi,galop1n,Dentomologist,orbea,jordan-woyak,Tinob,OatmealDome,Orphis,lioncash,OrN,bentley,sepalani,moncefmechri,kamiyo,EmptyChaos,Buddybenj,Geotale,Parlane,BhaaLseN,archshift,Phatcat,LPFaint99,rlnilsen,smurf3tte,Linktothepast,noahpistilli,Simonx22,skylersaleh,merryhime,MayImilae,SirMangler,ColinDTaylor,LillyJadeKatrin,comex,magumagu,Pokechu22,hackbar,aroulin,glennricster,mandar1jn,Helios747,Gamer64ytb,tom-pratt,skidau,phire,mrgreywater,mimimi085181,deReeperJosh,meffij,degasus,vladfi1,Techjar,krnlyng,FioraAeterna,rukai,booto')", 'type': 'internal_log'}
2026-10-26T07:10:14.126913 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2026-10-26T07:08:58.579391 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14954 \x0304failed\x03 on builders [default]: \x1f\x0302<no url>\x03\x1f', 'type': 'notification'}
2026-10-26T07:08:28.579058 {'source': 'prbuilder', 'repo': 'dolphin-emu/dolphin', 'hash': '61ffbe61a7be3913513fd3c96a36fe5e82edea31', 'shortrev': '61ffbe', 'service': 'default', 'pr': 14954, 'success': False, 'pending': False, 'url': '', 'description': 'PR not built because runlevel5 is not auto-trusted.', 'type': 'build_status'}
2026-10-26T07:08:27.813861 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/buildbot.py', 'lineno': 131, 'msg': 'PR %s mergeable: %s (%s)', 'args': "(14954, True, 'clean')", 'type': 'internal_log'}
2026-10-26T07:08:27.378586 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303r\ufeffunlevel5\x03 synchronized pull request #14954: Jit: Add PPC64LE backend (\x0306master\x03...\x0306ppc64le-jit\x03): \x1f\x0302https://dolp.in/pr14954\x03\x1f', 'type': 'notification'}
2026-10-26T07:08:27.378271 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'synchronize', 'number': 14954, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954', 'id': 5011358597, 'node_id': 'PR_kwDOALCn2M8AAAABKrNDhQ', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'number': 14954, 'state': 'open', 'locked': False, 'title': 'Jit: Add PPC64LE backend', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme, and FPSCR[FPCC] after compares, which kept the bits that were set before.\r\n- cputest and a fuzzer (Tools/ppc64-jit-tests), which compare the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## Testing\r\n\r\nDolphin's CI has no ppc64le runners, so these are run by hand on POWER9 (bare metal) and Power10 (KVM) hosts:\r\n\r\n- **cputest** (`Tools/ppc64-jit-tests`) runs every instruction the JIT compiles on random and edge-case inputs, on the interpreter and on the JIT, and compares the results. It runs at each Power ISA level the host has (`DOLPHIN_PPC64_ISA=2.07`, `3.0`, `3.1`), with and without fastmem, in MMU mode, with FPRF, and with tiny code chunks to stress block linking.\r\n- **The fuzzer** (`fuzz.c`, `fuzz.py`) generates random programs and runs each on both cores. It covers integer, CR, floating-point and paired-single instructions, every form of load and store, string and cache instructions, and branches. It also raises exceptions: traps, system calls, and DSIs from paged memory in MMU mode. When a program differs, it is reduced to the fewest instructions that still differ. About 5 million programs have run on Power10 at ISA 2.07, 3.0 and 3.1.\r\n- The unit tests, and Luigi's Mansion's frames compared with the cached interpreter's.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nI hope so however I think it might be rejected. I am afraid that the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on the team. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\nEven if the PR is rejected, I hope the team would leave it open so that PowerPC community can still access the source codes and adopt it downstream.\r\n\r\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q5. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n", 'created_at': '2026-10-26T03:01:35Z', 'updated_at': '2026-10-26T07:08:25Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '78a1e810ad47bfea8404db40435b0d0e7ce57d3a', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': True, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/61ffbe61a7be3913513fd3c96a36fe5e82edea31', 'head': {'label': 'runlevel5:ppc64le-jit', 'ref': 'ppc64le-jit', 'sha': '61ffbe61a7be3913513fd3c96a36fe5e82edea31', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1430975266, 'node_id': 'R_kgDOVUrzIg', 'name': 'dolphin-ppc64', 'full_name': 'runlevel5/dolphin-ppc64', 'private': False, 'owner': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/runlevel5/dolphin-ppc64', 'description': 'PP64LE JIT backend for Dolphin emulator', 'fork': True, 'url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64', 'forks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/forks', 'keys_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/teams', 'hooks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/hooks', 'issue_events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/events{/number}', 'events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/events', 'assignees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/assignees{/user}', 'branches_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/branches{/branch}', 'tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/tags', 'blobs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/languages', 'stargazers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/stargazers', 'contributors_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contributors', 'subscribers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscribers', 'subscription_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscription', 'commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contents/{+path}', 'compare_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/merges', 'archive_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/downloads', 'issues_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues{/number}', 'pulls_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/labels{/name}', 'releases_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/releases{/id}', 'deployments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/deployments', 'created_at': '2026-10-23T11:45:47Z', 'updated_at': '2026-10-26T03:48:16Z', 'pushed_at': '2026-10-26T07:08:23Z', 'git_url': 'git://github.com/runlevel5/dolphin-ppc64.git', 'ssh_url': 'git@github.com:runlevel5/dolphin-ppc64.git', 'clone_url': 'https://github.com/runlevel5/dolphin-ppc64.git', 'svn_url': 'https://github.com/runlevel5/dolphin-ppc64', 'homepage': '', 'size': 518639, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14954'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/61ffbe61a7be3913513fd3c96a36fe5e82edea31'}}, 'author_association': 'NONE', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 1, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 18343, 'deletions': 9, 'changed_files': 61}, 'before': 'de2a3a457968e2cb2066a0fbe46f4425ab101373', 'after': '61ffbe61a7be3913513fd3c96a36fe5e82edea31', 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-26T07:08:27.378261 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'runlevel5', 'action': 'synchronize', 'id': 14954, 'title': 'Jit: Add PPC64LE backend', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'head_ref_name': 'ppc64le-jit', 'safe_author': False, 'base_sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'head_sha': '61ffbe61a7be3913513fd3c96a36fe5e82edea31', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-26T07:05:14.126531 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'dreamsyntax,TryTwo,corwin-mcknight,nickbeth,PatrickFerry,linkmauve,RachelBryk,jloehr,cristian64,adamdmoss,gwicks,jjdelvalle,JordanTheToaster,VampireFlower,unknownbrackets,JosJuice,ShimmerGlass,CrossVR,ligfx,kayru,Tilka,mahdihijazi,mathieui,hdcmeta,Lobsterzelda,Sintendo,Zopolis4,CelestialAmber,hrydgard,mmastrac,neobrain,Sam-Belliveau,Sir-Walrus,JoshuaVandaele,crediar,endrift,AdmiralCurtiss,magcius,Ebola16,spxtr,zopieux,jezze,nullgemm,DacoTaco,iwubcode,spycrab,mitaclaw,malleoz,RisingFog,mbc07,Filoppi,Linkinworm,leoetlino,K0bin,riking,randomstuff,hthh,cscd98,zackhow,marcan,Ziek,CookiePLMonster,delroth,Stevoisiak,SuperSamus,Starsam80,yourWaifu,TellowKrinkle,NanoByte011,LAGonauta,aldelaro5,CasualPokePlayer,tygyh,JMC47,Hydr8gon,CrystalGamma,shonumi,galop1n,Dentomologist,orbea,jordan-woyak,Tinob,OatmealDome,Orphis,lioncash,OrN,bentley,sepalani,moncefmechri,kamiyo,EmptyChaos,Buddybenj,Geotale,Parlane,BhaaLseN,archshift,Phatcat,LPFaint99,rlnilsen,smurf3tte,Linktothepast,noahpistilli,Simonx22,skylersaleh,merryhime,MayImilae,SirMangler,ColinDTaylor,LillyJadeKatrin,comex,magumagu,Pokechu22,hackbar,aroulin,glennricster,mandar1jn,Helios747,Gamer64ytb,tom-pratt,skidau,phire,mrgreywater,mimimi085181,deReeperJosh,meffij,degasus,vladfi1,Techjar,krnlyng,FioraAeterna,rukai,booto')", 'type': 'internal_log'}
2026-10-26T07:05:12.411740 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2026-10-26T07:01:14.143956 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'degasus,leoetlino,CrossVR,Tilka,Pokechu22,iwubcode,OatmealDome,Dentomologist,jordan-woyak,JosJuice,phire,linkmauve,AdmiralCurtiss')", 'type': 'internal_log'}
2026-10-26T07:01:13.820288 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log'}
2026-10-26T07:00:12.411373 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'dreamsyntax,TryTwo,corwin-mcknight,nickbeth,PatrickFerry,linkmauve,RachelBryk,jloehr,cristian64,adamdmoss,gwicks,jjdelvalle,JordanTheToaster,VampireFlower,unknownbrackets,JosJuice,ShimmerGlass,CrossVR,ligfx,kayru,Tilka,mahdihijazi,mathieui,hdcmeta,Lobsterzelda,Sintendo,Zopolis4,CelestialAmber,hrydgard,mmastrac,neobrain,Sam-Belliveau,Sir-Walrus,JoshuaVandaele,crediar,endrift,AdmiralCurtiss,magcius,Ebola16,spxtr,zopieux,jezze,nullgemm,DacoTaco,iwubcode,spycrab,mitaclaw,malleoz,RisingFog,mbc07,Filoppi,Linkinworm,leoetlino,K0bin,riking,randomstuff,hthh,cscd98,zackhow,marcan,Ziek,CookiePLMonster,delroth,Stevoisiak,SuperSamus,Starsam80,yourWaifu,TellowKrinkle,NanoByte011,LAGonauta,aldelaro5,CasualPokePlayer,tygyh,JMC47,Hydr8gon,CrystalGamma,shonumi,galop1n,Dentomologist,orbea,jordan-woyak,Tinob,OatmealDome,Orphis,lioncash,OrN,bentley,sepalani,moncefmechri,kamiyo,EmptyChaos,Buddybenj,Geotale,Parlane,BhaaLseN,archshift,Phatcat,LPFaint99,rlnilsen,smurf3tte,Linktothepast,noahpistilli,Simonx22,skylersaleh,merryhime,MayImilae,SirMangler,ColinDTaylor,LillyJadeKatrin,comex,magumagu,Pokechu22,hackbar,aroulin,glennricster,mandar1jn,Helios747,Gamer64ytb,tom-pratt,skidau,phire,mrgreywater,mimimi085181,deReeperJosh,meffij,degasus,vladfi1,Techjar,krnlyng,FioraAeterna,rukai,booto')", 'type': 'internal_log'}
Recent 'build_status' events
2026-10-26T07:08:28.579058 {'source': 'prbuilder', 'repo': 'dolphin-emu/dolphin', 'hash': '61ffbe61a7be3913513fd3c96a36fe5e82edea31', 'shortrev': '61ffbe', 'service': 'default', 'pr': 14954, 'success': False, 'pending': False, 'url': '', 'description': 'PR not built because runlevel5 is not auto-trusted.', 'type': 'build_status'}
2026-10-26T04:40:28.668672 {'source': 'prbuilder', 'repo': 'dolphin-emu/dolphin', 'hash': 'de2a3a457968e2cb2066a0fbe46f4425ab101373', 'shortrev': 'de2a3a', 'service': 'default', 'pr': 14954, 'success': False, 'pending': False, 'url': '', 'description': 'PR not built because runlevel5 is not auto-trusted.', 'type': 'build_status'}
2026-10-26T04:10:56.543298 {'source': 'prbuilder', 'repo': 'dolphin-emu/dolphin', 'hash': '9642d36b768beeca55b583137136117a2991535e', 'shortrev': '9642d3', 'service': 'default', 'pr': 14954, 'success': False, 'pending': False, 'url': '', 'description': 'PR not built because runlevel5 is not auto-trusted.', 'type': 'build_status'}
2026-10-26T03:01:38.589886 {'source': 'prbuilder', 'repo': 'dolphin-emu/dolphin', 'hash': '5ca3545c20f034eff8dceef942bb30695f2c47c8', 'shortrev': '5ca354', 'service': 'default', 'pr': 14954, 'success': False, 'pending': False, 'url': '', 'description': 'PR not built because runlevel5 is not auto-trusted.', 'type': 'build_status'}
2026-10-25T22:17:18.977891 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'shortrev': '5528f1', 'service': 'pr-win-dbg-x64', 'pr': 14953, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/31/builds/10830', 'description': 'Build succeeded on builder pr-win-dbg-x64', 'type': 'build_status'}
2026-10-25T22:15:38.752951 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'shortrev': '5528f1', 'service': 'pr-osx-universal', 'pr': 14953, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/7/builds/10840', 'description': 'Build succeeded on builder pr-osx-universal', 'type': 'build_status'}
2026-10-25T22:14:19.192776 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'shortrev': '5528f1', 'service': 'pr-win-dbg-x64', 'pr': 14953, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/31/builds/10830', 'description': 'Auto build in progress on builder pr-win-dbg-x64', 'type': 'build_status'}
2026-10-25T22:14:07.936571 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'shortrev': '0c6f2c', 'service': 'pr-win-dbg-x64', 'pr': 14806, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/31/builds/10829', 'description': 'Build succeeded on builder pr-win-dbg-x64', 'type': 'build_status'}
2026-10-25T22:12:56.795027 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'shortrev': '5528f1', 'service': 'pr-flatpak-x64', 'pr': 14953, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/43/builds/5970', 'description': 'Build succeeded on builder pr-flatpak-x64', 'type': 'build_status'}
2026-10-25T22:11:18.382257 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'shortrev': '5528f1', 'service': 'pr-deb-dbg-x64', 'pr': 14953, 'success': False, 'pending': False, 'url': 'https://dolphin.ci/#/builders/1/builds/10821', 'description': 'Build failed on builder pr-deb-dbg-x64', 'type': 'build_status'}
2026-10-25T22:10:26.387085 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'shortrev': '5528f1', 'service': 'pr-win-x64', 'pr': 14953, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/2/builds/10823', 'description': 'Build succeeded on builder pr-win-x64', 'type': 'build_status'}
2026-10-25T22:09:54.956013 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'shortrev': '0c6f2c', 'service': 'pr-win-dbg-x64', 'pr': 14806, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/31/builds/10829', 'description': 'Auto build in progress on builder pr-win-dbg-x64', 'type': 'build_status'}
2026-10-25T22:08:10.710506 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'shortrev': '5528f1', 'service': 'pr-deb-dbg-x64', 'pr': 14953, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/1/builds/10821', 'description': 'Auto build in progress on builder pr-deb-dbg-x64', 'type': 'build_status'}
2026-10-25T22:08:00.219307 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'shortrev': '5528f1', 'service': 'pr-flatpak-x64', 'pr': 14953, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/43/builds/5970', 'description': 'Auto build in progress on builder pr-flatpak-x64', 'type': 'build_status'}
2026-10-25T22:07:46.840875 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'shortrev': '0c6f2c', 'service': 'pr-deb-dbg-x64', 'pr': 14806, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/1/builds/10820', 'description': 'Build succeeded on builder pr-deb-dbg-x64', 'type': 'build_status'}
2026-10-25T22:07:45.956791 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'shortrev': '0c6f2c', 'service': 'pr-flatpak-x64', 'pr': 14806, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/43/builds/5969', 'description': 'Build succeeded on builder pr-flatpak-x64', 'type': 'build_status'}
2026-10-25T22:06:16.304096 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'shortrev': '5528f1', 'service': 'pr-win-x64', 'pr': 14953, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/2/builds/10823', 'description': 'Auto build in progress on builder pr-win-x64', 'type': 'build_status'}
2026-10-25T22:05:58.726992 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'shortrev': '0c6f2c', 'service': 'pr-win-x64', 'pr': 14806, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/2/builds/10822', 'description': 'Build succeeded on builder pr-win-x64', 'type': 'build_status'}
2026-10-25T22:03:52.072254 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'shortrev': '5528f1', 'service': 'pr-osx-universal', 'pr': 14953, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/7/builds/10840', 'description': 'Auto build in progress on builder pr-osx-universal', 'type': 'build_status'}
2026-10-25T22:03:11.296894 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'shortrev': '5528f1', 'service': 'pr-flatpak-arm64', 'pr': 14953, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/44/builds/5910', 'description': 'Build succeeded on builder pr-flatpak-arm64', 'type': 'build_status'}
2026-10-25T22:00:13.940991 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'shortrev': '5528f1', 'service': 'pr-android', 'pr': 14953, 'success': True, 'pending': False, 'url': 'https://dolphin.ci/#/builders/22/builds/10827', 'description': 'Build succeeded on builder pr-android', 'type': 'build_status'}
2026-10-25T22:00:12.755267 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'shortrev': '5528f1', 'service': 'pr-win-arm64', 'pr': 14953, 'success': False, 'pending': False, 'url': 'https://dolphin.ci/#/builders/13/builds/10821', 'description': 'Build failed on builder pr-win-arm64', 'type': 'build_status'}
2026-10-25T21:59:38.020738 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'shortrev': '0c6f2c', 'service': 'pr-win-x64', 'pr': 14806, 'success': False, 'pending': True, 'url': 'https://dolphin.ci/#/builders/2/builds/10822', 'description': 'Auto build in progress on builder pr-win-x64', 'type': 'build_status'}
2026-10-25T21:59:11.219238 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'shortrev': '5528f1', 'service': 'pr-appimage-x64', 'pr': 14953, 'success': False, 'pending': False, 'url': 'https://dolphin.ci/#/builders/49/builds/74', 'description': 'Build failed on builder pr-appimage-x64', 'type': 'build_status'}
2026-10-25T21:58:37.130817 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'shortrev': '5528f1', 'service': 'pr-deb-x64', 'pr': 14953, 'success': False, 'pending': False, 'url': 'https://dolphin.ci/#/builders/26/builds/10820', 'description': 'Build failed on builder pr-deb-x64', 'type': 'build_status'}
Recent 'command_message' events
2026-10-25T10:47:06.139619 {'source': 'discord', 'who': 'joshuavandaele', 'what': '<@1320924779556900984> please rebuild PR 14950', 'type': 'command_message'}
2026-10-24T12:14:56.831368 {'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14878', 'type': 'command_message'}
2026-10-24T06:04:28.146473 {'source': 'discord', 'who': 'billiard26', 'what': '<@1320924779556900984> please rebuild PR 14947', 'type': 'command_message'}
2026-10-23T22:13:33.399432 {'source': 'discord', 'who': 'billiard26', 'what': '<@1320924779556900984> please rebuild PR 14947', 'type': 'command_message'}
2026-10-20T20:50:52.416011 {'source': 'discord', 'who': 'billiard26', 'what': '<@1320924779556900984> rebuild PR 14941', 'type': 'command_message'}
2026-10-19T23:31:13.450087 {'source': 'discord', 'who': 'billiard26', 'what': '<@1320924779556900984> rebuild PR 14941', 'type': 'command_message'}
2026-10-18T16:25:37.886250 {'source': 'discord', 'who': 'oatmealdome', 'what': '<@1320924779556900984> please rebuild 14924', 'type': 'command_message'}
2026-10-18T16:25:26.801035 {'source': 'discord', 'who': 'oatmealdome', 'what': '<@1320924779556900984> please rebuild 14923', 'type': 'command_message'}
2026-10-18T10:28:43.546446 {'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14924', 'type': 'command_message'}
2026-10-18T10:28:36.025367 {'source': 'discord', 'who': 'josjuice', 'what': '<@1320924779556900984> please rebuild 14923', 'type': 'command_message'}
2026-10-17T16:25:43.666865 {'source': 'discord', 'who': 'oatmealdome', 'what': '<@1320924779556900984> please rebuild 13099', 'type': 'command_message'}
Recent 'dev_wark' events
2026-10-24T06:04:28.146496 {'source': 'discord', 'accepted': True, 'type': 'dev_wark'}
2026-10-23T22:13:33.399466 {'source': 'discord', 'accepted': True, 'type': 'dev_wark'}
2026-10-20T20:50:52.416037 {'source': 'discord', 'accepted': True, 'type': 'dev_wark'}
2026-10-19T23:31:13.450118 {'source': 'discord', 'accepted': True, 'type': 'dev_wark'}
Recent 'gh_issue_comment' events
2026-10-26T07:14:11.078266 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'runlevel5', 'action': 'created', 'id': 14954, 'title': 'Jit: Add PPC64LE backend', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14954#issuecomment-6410393200', 'safe_author': False, 'body': "> 1. What is your personal use-case for this?\r\n\r\nThis is for all OpenPOWER workstations (POWER8/9/10). Companies like Raptor Computing Systems does offer Talos II and Blackbird workstations. IBM too with their own product lines. AFAIK it is pretty niche compared to ARM64, RV64 or even LA64 architectures.\r\n\r\n> 2. What is the involvement of the ones mentioned by the Assisted-By field in the commit message?\r\n\r\nFor many things, from helping me out with prototyping, false-proof design and tracking down bugs.\r\n\r\n> From what I understand of this PR description, this won't work on GC/Wii(U), PS3, X360, PowerMac, IntelMac(+Rosetta). So what is this PR targeting?\r\n\r\nThe title said it all, it is for PowerPC64 LE (Little Endian), that means anything that is newer than POWER8. All of platforms you listed above are much older than POWER8. TL;DR; IBM has been pushing POWER architecture (and still is, Power11 is soon available), few years ago they pushed the OpenPOWER initiative to attract more companies to make computer based on this platform. The aforementioned Raptor Computing System is one of many partners of this initiative.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'id': 6032521100, 'node_id': 'PR_kwDOALCn2M8AAAABKrNDhQ', 'number': 14954, 'title': 'Jit: Add PPC64LE backend', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-10-26T03:01:35Z', 'updated_at': '2026-10-26T07:14:09Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': True, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.patch', 'merged_at': None}, 'body': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme, and FPSCR[FPCC] after compares, which kept the bits that were set before.\r\n- cputest and a fuzzer (Tools/ppc64-jit-tests), which compare the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## Testing\r\n\r\nDolphin's CI has no ppc64le runners, so these are run by hand on POWER9 (bare metal) and Power10 (KVM) hosts:\r\n\r\n- **cputest** (`Tools/ppc64-jit-tests`) runs every instruction the JIT compiles on random and edge-case inputs, on the interpreter and on the JIT, and compares the results. It runs at each Power ISA level the host has (`DOLPHIN_PPC64_ISA=2.07`, `3.0`, `3.1`), with and without fastmem, in MMU mode, with FPRF, and with tiny code chunks to stress block linking.\r\n- **The fuzzer** (`fuzz.c`, `fuzz.py`) generates random programs and runs each on both cores. It covers integer, CR, floating-point and paired-single instructions, every form of load and store, string and cache instructions, and branches. It also raises exceptions: traps, system calls, and DSIs from paged memory in MMU mode. When a program differs, it is reduced to the fewest instructions that still differ. About 5 million programs have run on Power10 at ISA 2.07, 3.0 and 3.1.\r\n- The unit tests, and Luigi's Mansion's frames compared with the cached interpreter's.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nI hope so however I think it might be rejected. I am afraid that the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on the team. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\nEven if the PR is rejected, I hope the team would leave it open so that PowerPC community can still access the source codes and adopt it downstream.\r\n\r\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q5. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6410393200', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954#issuecomment-6410393200', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'id': 6410393200, 'node_id': 'IC_kwDOALCn2M8AAAABfhbWcA', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-26T07:14:09Z', 'updated_at': '2026-10-26T07:14:09Z', 'body': "> 1. What is your personal use-case for this?\r\n\r\nThis is for all OpenPOWER workstations (POWER8/9/10). Companies like Raptor Computing Systems does offer Talos II and Blackbird workstations. IBM too with their own product lines. AFAIK it is pretty niche compared to ARM64, RV64 or even LA64 architectures.\r\n\r\n> 2. What is the involvement of the ones mentioned by the Assisted-By field in the commit message?\r\n\r\nFor many things, from helping me out with prototyping, false-proof design and tracking down bugs.\r\n\r\n> From what I understand of this PR description, this won't work on GC/Wii(U), PS3, X360, PowerMac, IntelMac(+Rosetta). So what is this PR targeting?\r\n\r\nThe title said it all, it is for PowerPC64 LE (Little Endian), that means anything that is newer than POWER8. All of platforms you listed above are much older than POWER8. TL;DR; IBM has been pushing POWER architecture (and still is, Power11 is soon available), few years ago they pushed the OpenPOWER initiative to attract more companies to make computer based on this platform. The aforementioned Raptor Computing System is one of many partners of this initiative.", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6410393200/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-26T06:43:24.260698 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 14954, 'title': 'Jit: Add PPC64LE backend', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14954#issuecomment-6409943904', 'safe_author': True, 'body': "I haven't checked this PR in depth but I have several questions:\r\n1. What is your personal use-case for this?\r\n2. What is the involvement of the ones mentioned by the `Assisted-By` field in the commit message?\r\n\r\nFrom what I understand of this PR description, this won't work on GC/Wii(U), PS3, X360, PowerMac, IntelMac(+Rosetta). So what is this PR targeting?", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'id': 6032521100, 'node_id': 'PR_kwDOALCn2M8AAAABKrNDhQ', 'number': 14954, 'title': 'Jit: Add PPC64LE backend', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-10-26T03:01:35Z', 'updated_at': '2026-10-26T06:43:22Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': True, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.patch', 'merged_at': None}, 'body': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme, and FPSCR[FPCC] after compares, which kept the bits that were set before.\r\n- cputest and a fuzzer (Tools/ppc64-jit-tests), which compare the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## Testing\r\n\r\nDolphin's CI has no ppc64le runners, so these are run by hand on POWER9 (bare metal) and Power10 (KVM) hosts:\r\n\r\n- **cputest** (`Tools/ppc64-jit-tests`) runs every instruction the JIT compiles on random and edge-case inputs, on the interpreter and on the JIT, and compares the results. It runs at each Power ISA level the host has (`DOLPHIN_PPC64_ISA=2.07`, `3.0`, `3.1`), with and without fastmem, in MMU mode, with FPRF, and with tiny code chunks to stress block linking.\r\n- **The fuzzer** (`fuzz.c`, `fuzz.py`) generates random programs and runs each on both cores. It covers integer, CR, floating-point and paired-single instructions, every form of load and store, string and cache instructions, and branches. It also raises exceptions: traps, system calls, and DSIs from paged memory in MMU mode. When a program differs, it is reduced to the fewest instructions that still differ. About 5 million programs have run on Power10 at ISA 2.07, 3.0 and 3.1.\r\n- The unit tests, and Luigi's Mansion's frames compared with the cached interpreter's.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nI hope so however I think it might be rejected. I am afraid that the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on the team. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\nEven if the PR is rejected, I hope the team would leave it open so that PowerPC community can still access the source codes and adopt it downstream.\r\n\r\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q5. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6409943904', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954#issuecomment-6409943904', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'id': 6409943904, 'node_id': 'IC_kwDOALCn2M8AAAABfg_7YA', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-26T06:43:22Z', 'updated_at': '2026-10-26T06:43:22Z', 'body': "I haven't checked this PR in depth but I have several questions:\r\n1. What is your personal use-case for this?\r\n2. What is the involvement of the ones mentioned by the `Assisted-By` field in the commit message?\r\n\r\nFrom what I understand of this PR description, this won't work on GC/Wii(U), PS3, X360, PowerMac, IntelMac(+Rosetta). So what is this PR targeting?", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6409943904/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-26T02:22:59.171958 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14951, 'title': 'Core/TimePlayed: Decouple the TimePlayed tracker thread from CPUManager.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14951#issuecomment-6406816842', 'safe_author': True, 'body': "> Will this properly migrate, or will the time played counter have to reset? It's important to inform users\r\n\r\nThis is just a code-refactoring. Users won't experience any difference.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14951', 'id': 6020650852, 'node_id': 'PR_kwDOALCn2M8AAAABKh76Pg', 'number': 14951, 'title': 'Core/TimePlayed: Decouple the TimePlayed tracker thread from CPUManager.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2026-10-25T04:00:52Z', 'updated_at': '2026-10-26T02:22:56Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14951', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14951', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14951.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14951.patch', 'merged_at': None}, 'body': "I think the play time tracking functionality was too tightly integrated with CPUManager.\n\nIt's now very separate and uses state change callbacks to start and stop tracking.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6406816842', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14951#issuecomment-6406816842', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951', 'id': 6406816842, 'node_id': 'IC_kwDOALCn2M8AAAABfeBESg', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-26T02:22:56Z', 'updated_at': '2026-10-26T02:22:56Z', 'body': "> Will this properly migrate, or will the time played counter have to reset? It's important to inform users\r\n\r\nThis is just a code-refactoring. Users won't experience any difference.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6406816842/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 481, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-26T02:18:56.754268 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Rumi-Larry', 'action': 'created', 'id': 14951, 'title': 'Core/TimePlayed: Decouple the TimePlayed tracker thread from CPUManager.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14951#issuecomment-6406770640', 'safe_author': False, 'body': "Will this properly migrate, or will the time played counter have to reset? It's important to inform users", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14951', 'id': 6020650852, 'node_id': 'PR_kwDOALCn2M8AAAABKh76Pg', 'number': 14951, 'title': 'Core/TimePlayed: Decouple the TimePlayed tracker thread from CPUManager.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-10-25T04:00:52Z', 'updated_at': '2026-10-26T02:18:55Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14951', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14951', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14951.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14951.patch', 'merged_at': None}, 'body': "I think the play time tracking functionality was too tightly integrated with CPUManager.\n\nIt's now very separate and uses state change callbacks to start and stop tracking.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6406770640', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14951#issuecomment-6406770640', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951', 'id': 6406770640, 'node_id': 'IC_kwDOALCn2M8AAAABfd-P0A', 'user': {'login': 'Rumi-Larry', 'id': 65569725, 'node_id': 'MDQ6VXNlcjY1NTY5NzI1', 'avatar_url': 'https://avatars.githubusercontent.com/u/65569725?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Rumi-Larry', 'html_url': 'https://github.com/Rumi-Larry', 'followers_url': 'https://api.github.com/users/Rumi-Larry/followers', 'following_url': 'https://api.github.com/users/Rumi-Larry/following{/other_user}', 'gists_url': 'https://api.github.com/users/Rumi-Larry/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Rumi-Larry/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Rumi-Larry/subscriptions', 'organizations_url': 'https://api.github.com/users/Rumi-Larry/orgs', 'repos_url': 'https://api.github.com/users/Rumi-Larry/repos', 'events_url': 'https://api.github.com/users/Rumi-Larry/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Rumi-Larry/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-26T02:18:54Z', 'updated_at': '2026-10-26T02:18:54Z', 'body': "Will this properly migrate, or will the time played counter have to reset? It's important to inform users", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6406770640/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 481, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'Rumi-Larry', 'id': 65569725, 'node_id': 'MDQ6VXNlcjY1NTY5NzI1', 'avatar_url': 'https://avatars.githubusercontent.com/u/65569725?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Rumi-Larry', 'html_url': 'https://github.com/Rumi-Larry', 'followers_url': 'https://api.github.com/users/Rumi-Larry/followers', 'following_url': 'https://api.github.com/users/Rumi-Larry/following{/other_user}', 'gists_url': 'https://api.github.com/users/Rumi-Larry/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Rumi-Larry/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Rumi-Larry/subscriptions', 'organizations_url': 'https://api.github.com/users/Rumi-Larry/orgs', 'repos_url': 'https://api.github.com/users/Rumi-Larry/repos', 'events_url': 'https://api.github.com/users/Rumi-Larry/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Rumi-Larry/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-25T23:09:16.688264 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'created', 'id': 14888, 'title': "[Needs discussion] Jit: Don't invalidate instruction block cache with dcbx", 'url': 'https://github.com/dolphin-emu/dolphin/pull/14888#issuecomment-6404695709', 'safe_author': True, 'body': "On the topic of Scooby Doo, I do not have Mystery Mayhem, but I do have Unmasked, which is from the same developers.\r\nI can confirm that when making every form of `dcbx` do nothing, the game crashes after loading a new game. With just `dcbf` (the PR as it is now) it loads successfully in-game. I have not tested more than that.\r\n(Monster House is also by the same devs.)\r\n\r\nObviously my testing was minimal, so I'll clean up the commit message and commits when given confirmation to do so.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14888', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14888/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14888/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14888/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14888', 'id': 5589048815, 'node_id': 'PR_kwDOALCn2M8AAAABFMBnrw', 'number': 14888, 'title': "[Needs discussion] Jit: Don't invalidate instruction block cache with dcbx", 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2026-09-25T22:03:22Z', 'updated_at': '2026-10-25T23:09:15Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': True, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14888', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14888', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14888.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14888.patch', 'merged_at': None}, 'body': "`dcbi`, `dcbf` (EDIT and `dcbst`) (commonly grouped as `dcbx`) are instructions that affect the data cache without affecting the instruction cache, yet on Dolphin they invalidate the instruction block cache.\r\nThis is a heuristic for poorly coded games that self-modify code but do not use `icbi`, according to 78b74101b0dc6cb7e2dc8424928e34138423c116 (I don't have, and thus I can't test, the games listed in the commit message).\r\n\r\nHowever, this has a disastrous performance impact on games that do not self-modify code but happen to continuously use `dcbx` on huge portion of code: **Harry Potter and the Prisoner of Azkaban** or **NBA Live 2005**/**06** are notoriously a stuttery mess only for this reason, and treating `dcbx` as a nop fixes their stutters completely.\r\n\r\nThe PR is a draft because currently it's just returning early from `dcbx` (and doesn't do anything to the interpreters).\r\nThis should likely be an option, but:\r\n- What should the default be? The one that makes the GameINI set the opposite of the default for the non-functioning games, or set the opposite for the stuttery games? <super><sub>I vote for the former.</sub></super>\r\n- How many games aren't a stuttery mess anymore thanks to this change? (Other than the ones listed above)\r\n- How many games don't work properly anymore?\r\n- Is `dcbx` as a block cache eraser a good heuristic in the first place? Are there better ways to fix the games that are worked around by `dcbx`? [Plus, there's to consider that it doesn't work around all games with ICache issues](https://bugs.dolphin-emu.org/issues/8037l). (Obviously, having a proper ICache implementation in the JIT would be hard.)\r\n\r\nSo... discussion time!", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14888/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14888/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6404695709', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14888#issuecomment-6404695709', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14888', 'id': 6404695709, 'node_id': 'IC_kwDOALCn2M8AAAABfb_mnQ', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-25T23:09:14Z', 'updated_at': '2026-10-25T23:09:14Z', 'body': "On the topic of Scooby Doo, I do not have Mystery Mayhem, but I do have Unmasked, which is from the same developers.\r\nI can confirm that when making every form of `dcbx` do nothing, the game crashes after loading a new game. With just `dcbf` (the PR as it is now) it loads successfully in-game. I have not tested more than that.\r\n(Monster House is also by the same devs.)\r\n\r\nObviously my testing was minimal, so I'll clean up the commit message and commits when given confirmation to do so.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6404695709/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T21:34:28Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15717, 'watchers_count': 15717, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 481, 'watchers': 15717, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-25T22:03:37.280605 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'edited', 'id': 14953, 'title': 'JitCache: Misc optimizations and cleanup', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14953#issuecomment-6403861544', 'safe_author': True, 'body': '`std::flat_map` is supported since GCC 15 and Clang 20.\r\nWhat should I do about that? Should I wait for the builders to use newer versions?', 'raw': {'action': 'edited', 'changes': {'body': {'from': "Clang supports `std::flat_map` since Clang 20, I suppose that the FreeBSD's builder is less than that..."}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14953', 'id': 6029698044, 'node_id': 'PR_kwDOALCn2M8AAAABKo-b1g', 'number': 14953, 'title': 'JitCache: Misc optimizations and cleanup', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-10-25T21:45:25Z', 'updated_at': '2026-10-25T21:55:01Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14953', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14953', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14953.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14953.patch', 'merged_at': None}, 'body': 'It\'s more cleanups than optimizations since the block cache isn\'t the biggest bottleneck in the codegen performance, but it still does have an impact.\n\nBefore:\n<img width="1479" height="882" alt="JIT_data_oriented" src="https://github.com/user-attachments/assets/11528ba6-bb9b-45d5-96b6-acf0e3f661a3" />\n\nAfter:\n<img width="1479" height="882" alt="JIT_after_block_cache_opts" src="https://github.com/user-attachments/assets/4a6446e4-0565-4be4-ba5f-8a8627d639db" />\n\n\n<super><sub>Comparison screenshots include `#14806`.</sub></super>', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6403861544', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14953#issuecomment-6403861544', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953', 'id': 6403861544, 'node_id': 'IC_kwDOALCn2M8AAAABfbMsKA', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-25T21:55:01Z', 'updated_at': '2026-10-25T22:03:35Z', 'body': '`std::flat_map` is supported since GCC 15 and Clang 20.\r\nWhat should I do about that? Should I wait for the builders to use newer versions?', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6403861544/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T21:34:28Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15717, 'watchers_count': 15717, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 481, 'watchers': 15717, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-25T21:55:03.595820 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'created', 'id': 14953, 'title': 'JitCache: Misc optimizations and cleanup', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14953#issuecomment-6403861544', 'safe_author': True, 'body': "Clang supports `std::flat_map` since Clang 20, I suppose that the FreeBSD's builder is less than that...", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14953', 'id': 6029698044, 'node_id': 'PR_kwDOALCn2M8AAAABKo-b1g', 'number': 14953, 'title': 'JitCache: Misc optimizations and cleanup', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-10-25T21:45:25Z', 'updated_at': '2026-10-25T21:55:01Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14953', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14953', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14953.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14953.patch', 'merged_at': None}, 'body': 'It\'s more cleanups than optimizations since the block cache isn\'t the biggest bottleneck in the codegen performance, but it still does have an impact.\n\nBefore:\n<img width="1479" height="882" alt="JIT_data_oriented" src="https://github.com/user-attachments/assets/11528ba6-bb9b-45d5-96b6-acf0e3f661a3" />\n\nAfter:\n<img width="1479" height="882" alt="JIT_after_block_cache_opts" src="https://github.com/user-attachments/assets/4a6446e4-0565-4be4-ba5f-8a8627d639db" />\n\n\n<super><sub>Comparison screenshots include `#14806`.</sub></super>', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6403861544', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14953#issuecomment-6403861544', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953', 'id': 6403861544, 'node_id': 'IC_kwDOALCn2M8AAAABfbMsKA', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-25T21:55:01Z', 'updated_at': '2026-10-25T21:55:01Z', 'body': "Clang supports `std::flat_map` since Clang 20, I suppose that the FreeBSD's builder is less than that...", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6403861544/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T21:34:28Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15717, 'watchers_count': 15717, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 481, 'watchers': 15717, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-25T21:39:01.587675 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'created', 'id': 14806, 'title': 'JitRegCache: Refactor using a data oriented design', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14806#issuecomment-6403669360', 'safe_author': True, 'body': 'The only change of the force push (aside from rebasing) is in `IsAnyConstraintActive()` so that compilers optimize it better.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14806', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14806/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14806/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14806/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14806', 'id': 5110605233, 'node_id': 'PR_kwDOALCn2M79BvzF', 'number': 14806, 'title': 'JitRegCache: Refactor using a data oriented design', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-08-10T13:29:41Z', 'updated_at': '2026-10-25T21:38:58Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14806', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14806', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14806.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14806.patch', 'merged_at': None}, 'body': '(Revival of #14403.)\r\n\r\nReplace the "array of structure" design with a "structure of array". Boolean members are represented by a bitset.\r\nThe main benefit is that filtering the registers in regcache operations can be done in one simple bitwise instruction.\r\nThis is especially useful on `Flush`, as callers don\'t need anymore to limit the iterated registers for performance reasons.\r\n\r\nGives some noticeable improvements to JIT codegen performance, and makes the first commit of #13261 obsolete (on x86). \r\n\r\nThe change only applies to the x86 regcache.\r\n\r\nBefore:\r\n<img width="1479" height="882" alt="JIT_before" src="https://github.com/user-attachments/assets/ee758a1b-3fa3-4853-9099-7e44fc9d069e" />\r\n\r\nAfter (see how the RegCache percentages are much lower, most of them not even appearing anymore):\r\n<img width="1479" height="882" alt="JIT_data_oriented" src="https://github.com/user-attachments/assets/ebc3f114-629e-4c3e-b432-f5547db6340f" />\r\n\r\n\r\nWhile `Flush()` is much lower, it\'s still there due to how frequently it\'s called. The only idea I have to improve it further is by moving everything into a header file. Speaking of which...\r\n\r\n<details>\r\n<summary>Notes for the future</summary>\r\n\r\nInstead of replicating the changes to the ARM regcache, I\'d prefer that they used the same interface.\r\nWhile deduplicating code is always nice, the main reason is that I have a long-term plan to have the JIT support in-block branches, which is something that would rely a lot on the register cache, but has very few ISA-specific differences otherwise.\r\n\r\nI made a proof of concept of what it should like [in this branch](https://github.com/SuperSamus/dolphin/commits/regcache-dod/) (it\'s still only on x86, and it\'s based on an older version).\r\nIt\'s linked only for skimming purposes, but the short version is that it makes use of [CRTP](https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern) to allow the main regcache interface to get constant parameters from the implementation.\r\nFor instance, x86 has 16 GPRs (32 when APX comes out) and 16 FPU, while ARM has 32 GPRs (but they are also used for the CRs) and 32 FPU, so this allows to use the appropriately sized bitset. Other example, ARM can\'t use memory as a destination like x86 can, so the constraint class is different between the two.\r\n\r\nOne requirement of CRTP is it has to put everything into headers because templates, which one one hand it makes some operations a little faster since it allows them to be inlined without LTO. On the other it will hurt compilation times, though I suppose that can be mitigated through by building all the JIT stuff in [unity](https://cmake.org/cmake/help/latest/prop_tgt/UNITY_BUILD.html).\r\n<super><sub>Small note: if Dolphin has a plan to use xbyak for code emission in the future, since it\'s header-only and the header is huge, then unity builds for the JIT stuff are also a good idea for that.</sub></super>\r\n\r\nAnyway, these notes are more of a proof of concept that I\'m sharing mostly to collect feedback.\r\n</details>\r\n', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14806/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14806/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6403669360', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14806#issuecomment-6403669360', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14806', 'id': 6403669360, 'node_id': 'IC_kwDOALCn2M8AAAABfbA9cA', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-25T21:38:58Z', 'updated_at': '2026-10-25T21:38:58Z', 'body': 'The only change of the force push (aside from rebasing) is in `IsAnyConstraintActive()` so that compilers optimize it better.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6403669360/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T21:34:28Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15717, 'watchers_count': 15717, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 480, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 480, 'watchers': 15717, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-25T18:32:49.717131 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 14951, 'title': 'Core/TimePlayed: Decouple the TimePlayed tracker thread from CPUManager.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14951#issuecomment-6401071920', 'safe_author': True, 'body': "> This no longer pauses on CPUManager::Break, which happen on breakpoints/panic/end of movie like the previous implementation did. Is this wanted? If so, should a comment mention it?\r\n\r\nHmmm, I thought it did pause on break, but I guess not. I don't think that's wanted.\r\n\r\nEdit: It should properly pause now.", 'raw': {'action': 'edited', 'changes': {'body': {'from': "> This no longer pauses on CPUManager::Break, which happen on breakpoints/panic/end of movie like the previous implementation did. Is this wanted? If so, should a comment mention it?\r\n\r\nHmmm, I thought it did pause on break, but I guess not. I don't think that's wanted."}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14951', 'id': 6020650852, 'node_id': 'PR_kwDOALCn2M8AAAABKh76Pg', 'number': 14951, 'title': 'Core/TimePlayed: Decouple the TimePlayed tracker thread from CPUManager.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-10-25T04:00:52Z', 'updated_at': '2026-10-25T18:32:23Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14951', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14951', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14951.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14951.patch', 'merged_at': None}, 'body': "I think the play time tracking functionality was too tightly integrated with CPUManager.\n\nIt's now very separate and uses state change callbacks to start and stop tracking.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6401071920', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14951#issuecomment-6401071920', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951', 'id': 6401071920, 'node_id': 'IC_kwDOALCn2M8AAAABfYibMA', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-25T17:51:47Z', 'updated_at': '2026-10-25T18:32:47Z', 'body': "> This no longer pauses on CPUManager::Break, which happen on breakpoints/panic/end of movie like the previous implementation did. Is this wanted? If so, should a comment mention it?\r\n\r\nHmmm, I thought it did pause on break, but I guess not. I don't think that's wanted.\r\n\r\nEdit: It should properly pause now.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6401071920/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T14:41:16Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15716, 'watchers_count': 15716, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 480, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 480, 'watchers': 15716, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-25T17:51:56.455077 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14951, 'title': 'Core/TimePlayed: Decouple the TimePlayed tracker thread from CPUManager.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14951#issuecomment-6401071920', 'safe_author': True, 'body': "> This no longer pauses on CPUManager::Break, which happen on breakpoints/panic/end of movie like the previous implementation did. Is this wanted? If so, should a comment mention it?\r\n\r\nHmmm, I thought it did pause on break, but I guess not. I don't think that's wanted.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14951', 'id': 6020650852, 'node_id': 'PR_kwDOALCn2M8AAAABKh76Pg', 'number': 14951, 'title': 'Core/TimePlayed: Decouple the TimePlayed tracker thread from CPUManager.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-10-25T04:00:52Z', 'updated_at': '2026-10-25T17:51:47Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14951', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14951', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14951.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14951.patch', 'merged_at': None}, 'body': "I think the play time tracking functionality was too tightly integrated with CPUManager.\n\nIt's now very separate and uses state change callbacks to start and stop tracking.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6401071920', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14951#issuecomment-6401071920', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951', 'id': 6401071920, 'node_id': 'IC_kwDOALCn2M8AAAABfYibMA', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-25T17:51:47Z', 'updated_at': '2026-10-25T17:51:47Z', 'body': "> This no longer pauses on CPUManager::Break, which happen on breakpoints/panic/end of movie like the previous implementation did. Is this wanted? If so, should a comment mention it?\r\n\r\nHmmm, I thought it did pause on break, but I guess not. I don't think that's wanted.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6401071920/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T14:41:16Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15716, 'watchers_count': 15716, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 480, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 480, 'watchers': 15716, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-25T14:58:44.826216 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'dolphin-ci[bot]', 'action': 'created', 'id': 14950, 'title': 'Core/LibusbUtils: Use std::jthread and fix lost interrupt race on shutdown.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14950#issuecomment-6399199131', 'safe_author': False, 'body': '[FifoCI](https://fifo.ci/about/) detected that this change impacts graphical rendering. Here are the [behavior differences](https://fifo.ci/version/b63c9898fa6a5fe36c2b9be1ca8120af2d9918f1/) detected by the system:\n\n<details>\n<summary>Detected differences</summary>\n\n||vk-lin-mesa|\n|-|-|\n|mp4-vertexcache|[❌ fail](https://fifo.ci/compare/16632393-16627317/)|\n</details>\n<sub><sup>automated-fifoci-reporter</sup></sub>', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14950', 'id': 6019504918, 'node_id': 'PR_kwDOALCn2M8AAAABKhCl7g', 'number': 14950, 'title': 'Core/LibusbUtils: Use std::jthread and fix lost interrupt race on shutdown.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-10-25T01:12:44Z', 'updated_at': '2026-10-25T14:58:42Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14950', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14950', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14950.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14950.patch', 'merged_at': None}, 'body': "The `completed` parameter needs to be supplied to `libusb_handle_events_timeout_completed` to handle the case of `libusb_interrupt_event_handler` firing between iterations.\n\nThis avoids the potential of having to wait for the 5 second timeout on shutdown.\n\nI've also adjusted the timeout to one second where `libusb_interrupt_event_handler` is unavailable.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6399199131', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14950#issuecomment-6399199131', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950', 'id': 6399199131, 'node_id': 'IC_kwDOALCn2M8AAAABfWwHmw', 'user': {'login': 'dolphin-ci[bot]', 'id': 59266906, 'node_id': 'MDM6Qm90NTkyNjY5MDY=', 'avatar_url': 'https://avatars.githubusercontent.com/in/49947?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D', 'html_url': 'https://github.com/apps/dolphin-ci', 'followers_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/followers', 'following_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/orgs', 'repos_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/repos', 'events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/received_events', 'type': 'Bot', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-25T14:58:42Z', 'updated_at': '2026-10-25T14:58:42Z', 'body': '[FifoCI](https://fifo.ci/about/) detected that this change impacts graphical rendering. Here are the [behavior differences](https://fifo.ci/version/b63c9898fa6a5fe36c2b9be1ca8120af2d9918f1/) detected by the system:\n\n<details>\n<summary>Detected differences</summary>\n\n||vk-lin-mesa|\n|-|-|\n|mp4-vertexcache|[❌ fail](https://fifo.ci/compare/16632393-16627317/)|\n</details>\n<sub><sup>automated-fifoci-reporter</sup></sub>', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6399199131/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': {'id': 49947, 'client_id': 'Iv1.1fcaea7644d8b727', 'slug': 'dolphin-ci', 'node_id': 'MDM6QXBwNDk5NDc=', 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'Dolphin CI', 'description': 'Continuous Integration setup for [dolphin-emu.org](https://dolphin-emu.org/).', 'external_url': 'https://github.com/dolphin-emu', 'html_url': 'https://github.com/apps/dolphin-ci', 'created_at': '2019-12-26T22:26:07Z', 'updated_at': '2019-12-26T22:33:19Z', 'permissions': {'checks': 'write', 'contents': 'read', 'issues': 'write', 'members': 'read', 'metadata': 'read', 'pull_requests': 'write', 'statuses': 'write'}, 'events': ['check_run', 'commit_comment', 'issue_comment', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push']}, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T14:41:16Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15716, 'watchers_count': 15716, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 480, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 480, 'watchers': 15716, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'dolphin-ci[bot]', 'id': 59266906, 'node_id': 'MDM6Qm90NTkyNjY5MDY=', 'avatar_url': 'https://avatars.githubusercontent.com/in/49947?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D', 'html_url': 'https://github.com/apps/dolphin-ci', 'followers_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/followers', 'following_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/orgs', 'repos_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/repos', 'events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/received_events', 'type': 'Bot', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-25T14:58:42.601224 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'dolphin-ci[bot]', 'action': 'deleted', 'id': 14950, 'title': 'Core/LibusbUtils: Use std::jthread and fix lost interrupt race on shutdown.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14950#issuecomment-6398421695', 'safe_author': False, 'body': '[FifoCI](https://fifo.ci/about/) detected that this change impacts graphical rendering. Here are the [behavior differences](https://fifo.ci/version/b63c9898fa6a5fe36c2b9be1ca8120af2d9918f1/) detected by the system:\n\n<details>\n<summary>Detected differences</summary>\n\n||ogl-lin-mesa|vk-lin-mesa|\n|-|-|-|\n|mp4-vertexcache|-|[❌ fail](https://fifo.ci/compare/16632393-16627317/)|\n|nes-vc|[❌ fail](https://fifo.ci/compare/16633751-16626983/)|-|\n</details>\n<sub><sup>automated-fifoci-reporter</sup></sub>', 'raw': {'action': 'deleted', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14950', 'id': 6019504918, 'node_id': 'PR_kwDOALCn2M8AAAABKhCl7g', 'number': 14950, 'title': 'Core/LibusbUtils: Use std::jthread and fix lost interrupt race on shutdown.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 0, 'created_at': '2026-10-25T01:12:44Z', 'updated_at': '2026-10-25T13:45:40Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14950', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14950', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14950.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14950.patch', 'merged_at': None}, 'body': "The `completed` parameter needs to be supplied to `libusb_handle_events_timeout_completed` to handle the case of `libusb_interrupt_event_handler` firing between iterations.\n\nThis avoids the potential of having to wait for the 5 second timeout on shutdown.\n\nI've also adjusted the timeout to one second where `libusb_interrupt_event_handler` is unavailable.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6398421695', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14950#issuecomment-6398421695', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950', 'id': 6398421695, 'node_id': 'IC_kwDOALCn2M8AAAABfWAqvw', 'user': {'login': 'dolphin-ci[bot]', 'id': 59266906, 'node_id': 'MDM6Qm90NTkyNjY5MDY=', 'avatar_url': 'https://avatars.githubusercontent.com/in/49947?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D', 'html_url': 'https://github.com/apps/dolphin-ci', 'followers_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/followers', 'following_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/orgs', 'repos_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/repos', 'events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/received_events', 'type': 'Bot', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-25T13:45:40Z', 'updated_at': '2026-10-25T13:45:40Z', 'body': '[FifoCI](https://fifo.ci/about/) detected that this change impacts graphical rendering. Here are the [behavior differences](https://fifo.ci/version/b63c9898fa6a5fe36c2b9be1ca8120af2d9918f1/) detected by the system:\n\n<details>\n<summary>Detected differences</summary>\n\n||ogl-lin-mesa|vk-lin-mesa|\n|-|-|-|\n|mp4-vertexcache|-|[❌ fail](https://fifo.ci/compare/16632393-16627317/)|\n|nes-vc|[❌ fail](https://fifo.ci/compare/16633751-16626983/)|-|\n</details>\n<sub><sup>automated-fifoci-reporter</sup></sub>', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6398421695/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': {'id': 49947, 'client_id': 'Iv1.1fcaea7644d8b727', 'slug': 'dolphin-ci', 'node_id': 'MDM6QXBwNDk5NDc=', 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'Dolphin CI', 'description': 'Continuous Integration setup for [dolphin-emu.org](https://dolphin-emu.org/).', 'external_url': 'https://github.com/dolphin-emu', 'html_url': 'https://github.com/apps/dolphin-ci', 'created_at': '2019-12-26T22:26:07Z', 'updated_at': '2019-12-26T22:33:19Z', 'permissions': {'checks': 'write', 'contents': 'read', 'issues': 'write', 'members': 'read', 'metadata': 'read', 'pull_requests': 'write', 'statuses': 'write'}, 'events': ['check_run', 'commit_comment', 'issue_comment', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push']}, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T14:41:16Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15716, 'watchers_count': 15716, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 480, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 480, 'watchers': 15716, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'dolphin-ci[bot]', 'id': 59266906, 'node_id': 'MDM6Qm90NTkyNjY5MDY=', 'avatar_url': 'https://avatars.githubusercontent.com/in/49947?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D', 'html_url': 'https://github.com/apps/dolphin-ci', 'followers_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/followers', 'following_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/orgs', 'repos_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/repos', 'events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/received_events', 'type': 'Bot', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-25T13:45:42.397212 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'dolphin-ci[bot]', 'action': 'created', 'id': 14950, 'title': 'Core/LibusbUtils: Use std::jthread and fix lost interrupt race on shutdown.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14950#issuecomment-6398421695', 'safe_author': False, 'body': '[FifoCI](https://fifo.ci/about/) detected that this change impacts graphical rendering. Here are the [behavior differences](https://fifo.ci/version/b63c9898fa6a5fe36c2b9be1ca8120af2d9918f1/) detected by the system:\n\n<details>\n<summary>Detected differences</summary>\n\n||ogl-lin-mesa|vk-lin-mesa|\n|-|-|-|\n|mp4-vertexcache|-|[❌ fail](https://fifo.ci/compare/16632393-16627317/)|\n|nes-vc|[❌ fail](https://fifo.ci/compare/16633751-16626983/)|-|\n</details>\n<sub><sup>automated-fifoci-reporter</sup></sub>', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14950', 'id': 6019504918, 'node_id': 'PR_kwDOALCn2M8AAAABKhCl7g', 'number': 14950, 'title': 'Core/LibusbUtils: Use std::jthread and fix lost interrupt race on shutdown.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 0, 'created_at': '2026-10-25T01:12:44Z', 'updated_at': '2026-10-25T13:45:40Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14950', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14950', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14950.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14950.patch', 'merged_at': None}, 'body': "The `completed` parameter needs to be supplied to `libusb_handle_events_timeout_completed` to handle the case of `libusb_interrupt_event_handler` firing between iterations.\n\nThis avoids the potential of having to wait for the 5 second timeout on shutdown.\n\nI've also adjusted the timeout to one second where `libusb_interrupt_event_handler` is unavailable.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6398421695', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14950#issuecomment-6398421695', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950', 'id': 6398421695, 'node_id': 'IC_kwDOALCn2M8AAAABfWAqvw', 'user': {'login': 'dolphin-ci[bot]', 'id': 59266906, 'node_id': 'MDM6Qm90NTkyNjY5MDY=', 'avatar_url': 'https://avatars.githubusercontent.com/in/49947?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D', 'html_url': 'https://github.com/apps/dolphin-ci', 'followers_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/followers', 'following_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/orgs', 'repos_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/repos', 'events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/received_events', 'type': 'Bot', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-25T13:45:40Z', 'updated_at': '2026-10-25T13:45:40Z', 'body': '[FifoCI](https://fifo.ci/about/) detected that this change impacts graphical rendering. Here are the [behavior differences](https://fifo.ci/version/b63c9898fa6a5fe36c2b9be1ca8120af2d9918f1/) detected by the system:\n\n<details>\n<summary>Detected differences</summary>\n\n||ogl-lin-mesa|vk-lin-mesa|\n|-|-|-|\n|mp4-vertexcache|-|[❌ fail](https://fifo.ci/compare/16632393-16627317/)|\n|nes-vc|[❌ fail](https://fifo.ci/compare/16633751-16626983/)|-|\n</details>\n<sub><sup>automated-fifoci-reporter</sup></sub>', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6398421695/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': {'id': 49947, 'client_id': 'Iv1.1fcaea7644d8b727', 'slug': 'dolphin-ci', 'node_id': 'MDM6QXBwNDk5NDc=', 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'Dolphin CI', 'description': 'Continuous Integration setup for [dolphin-emu.org](https://dolphin-emu.org/).', 'external_url': 'https://github.com/dolphin-emu', 'html_url': 'https://github.com/apps/dolphin-ci', 'created_at': '2019-12-26T22:26:07Z', 'updated_at': '2019-12-26T22:33:19Z', 'permissions': {'checks': 'write', 'contents': 'read', 'issues': 'write', 'members': 'read', 'metadata': 'read', 'pull_requests': 'write', 'statuses': 'write'}, 'events': ['check_run', 'commit_comment', 'issue_comment', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push']}, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T12:40:28Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15715, 'watchers_count': 15715, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 480, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 480, 'watchers': 15715, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'dolphin-ci[bot]', 'id': 59266906, 'node_id': 'MDM6Qm90NTkyNjY5MDY=', 'avatar_url': 'https://avatars.githubusercontent.com/in/49947?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D', 'html_url': 'https://github.com/apps/dolphin-ci', 'followers_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/followers', 'following_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/orgs', 'repos_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/repos', 'events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/received_events', 'type': 'Bot', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-25T13:45:41.239284 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'dolphin-ci[bot]', 'action': 'deleted', 'id': 14950, 'title': 'Core/LibusbUtils: Use std::jthread and fix lost interrupt race on shutdown.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14950#issuecomment-6393293054', 'safe_author': False, 'body': '[FifoCI](https://fifo.ci/about/) detected that this change impacts graphical rendering. Here are the [behavior differences](https://fifo.ci/version/b63c9898fa6a5fe36c2b9be1ca8120af2d9918f1/) detected by the system:\n\n<details>\n<summary>Detected differences</summary>\n\n||ogl-lin-mesa|\n|-|-|\n|nes-vc|[❌ fail](https://fifo.ci/compare/16633751-16626983/)|\n</details>\n<sub><sup>automated-fifoci-reporter</sup></sub>', 'raw': {'action': 'deleted', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14950', 'id': 6019504918, 'node_id': 'PR_kwDOALCn2M8AAAABKhCl7g', 'number': 14950, 'title': 'Core/LibusbUtils: Use std::jthread and fix lost interrupt race on shutdown.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-10-25T01:12:44Z', 'updated_at': '2026-10-25T04:10:36Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14950', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14950', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14950.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14950.patch', 'merged_at': None}, 'body': "The `completed` parameter needs to be supplied to `libusb_handle_events_timeout_completed` to handle the case of `libusb_interrupt_event_handler` firing between iterations.\n\nThis avoids the potential of having to wait for the 5 second timeout on shutdown.\n\nI've also adjusted the timeout to one second where `libusb_interrupt_event_handler` is unavailable.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6393293054', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14950#issuecomment-6393293054', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950', 'id': 6393293054, 'node_id': 'IC_kwDOALCn2M8AAAABfRHo_g', 'user': {'login': 'dolphin-ci[bot]', 'id': 59266906, 'node_id': 'MDM6Qm90NTkyNjY5MDY=', 'avatar_url': 'https://avatars.githubusercontent.com/in/49947?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D', 'html_url': 'https://github.com/apps/dolphin-ci', 'followers_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/followers', 'following_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/orgs', 'repos_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/repos', 'events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/received_events', 'type': 'Bot', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-25T04:10:36Z', 'updated_at': '2026-10-25T04:10:36Z', 'body': '[FifoCI](https://fifo.ci/about/) detected that this change impacts graphical rendering. Here are the [behavior differences](https://fifo.ci/version/b63c9898fa6a5fe36c2b9be1ca8120af2d9918f1/) detected by the system:\n\n<details>\n<summary>Detected differences</summary>\n\n||ogl-lin-mesa|\n|-|-|\n|nes-vc|[❌ fail](https://fifo.ci/compare/16633751-16626983/)|\n</details>\n<sub><sup>automated-fifoci-reporter</sup></sub>', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6393293054/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': {'id': 49947, 'client_id': 'Iv1.1fcaea7644d8b727', 'slug': 'dolphin-ci', 'node_id': 'MDM6QXBwNDk5NDc=', 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'Dolphin CI', 'description': 'Continuous Integration setup for [dolphin-emu.org](https://dolphin-emu.org/).', 'external_url': 'https://github.com/dolphin-emu', 'html_url': 'https://github.com/apps/dolphin-ci', 'created_at': '2019-12-26T22:26:07Z', 'updated_at': '2019-12-26T22:33:19Z', 'permissions': {'checks': 'write', 'contents': 'read', 'issues': 'write', 'members': 'read', 'metadata': 'read', 'pull_requests': 'write', 'statuses': 'write'}, 'events': ['check_run', 'commit_comment', 'issue_comment', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push']}, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T12:40:28Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15715, 'watchers_count': 15715, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 480, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 480, 'watchers': 15715, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'dolphin-ci[bot]', 'id': 59266906, 'node_id': 'MDM6Qm90NTkyNjY5MDY=', 'avatar_url': 'https://avatars.githubusercontent.com/in/49947?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D', 'html_url': 'https://github.com/apps/dolphin-ci', 'followers_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/followers', 'following_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/orgs', 'repos_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/repos', 'events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/received_events', 'type': 'Bot', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-25T12:58:54.702274 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'tygyh', 'action': 'created', 'id': 14783, 'title': 'Remove unused includes', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14783#issuecomment-6397941281', 'safe_author': True, 'body': '@jordan-woyak Done.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14783', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14783/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14783/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14783/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14783', 'id': 5039143901, 'node_id': 'PR_kwDOALCn2M75es3u', 'number': 14783, 'title': 'Remove unused includes', 'user': {'login': 'tygyh', 'id': 32486062, 'node_id': 'MDQ6VXNlcjMyNDg2MDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/32486062?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/tygyh', 'html_url': 'https://github.com/tygyh', 'followers_url': 'https://api.github.com/users/tygyh/followers', 'following_url': 'https://api.github.com/users/tygyh/following{/other_user}', 'gists_url': 'https://api.github.com/users/tygyh/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/tygyh/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/tygyh/subscriptions', 'organizations_url': 'https://api.github.com/users/tygyh/orgs', 'repos_url': 'https://api.github.com/users/tygyh/repos', 'events_url': 'https://api.github.com/users/tygyh/events{/privacy}', 'received_events_url': 'https://api.github.com/users/tygyh/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2026-08-01T21:36:01Z', 'updated_at': '2026-10-25T12:58:52Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14783', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14783', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14783.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14783.patch', 'merged_at': None}, 'body': None, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14783/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14783/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6397941281', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14783#issuecomment-6397941281', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14783', 'id': 6397941281, 'node_id': 'IC_kwDOALCn2M8AAAABfVjWIQ', 'user': {'login': 'tygyh', 'id': 32486062, 'node_id': 'MDQ6VXNlcjMyNDg2MDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/32486062?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/tygyh', 'html_url': 'https://github.com/tygyh', 'followers_url': 'https://api.github.com/users/tygyh/followers', 'following_url': 'https://api.github.com/users/tygyh/following{/other_user}', 'gists_url': 'https://api.github.com/users/tygyh/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/tygyh/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/tygyh/subscriptions', 'organizations_url': 'https://api.github.com/users/tygyh/orgs', 'repos_url': 'https://api.github.com/users/tygyh/repos', 'events_url': 'https://api.github.com/users/tygyh/events{/privacy}', 'received_events_url': 'https://api.github.com/users/tygyh/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-25T12:58:52Z', 'updated_at': '2026-10-25T12:58:52Z', 'body': '@jordan-woyak Done.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6397941281/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T12:40:28Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561396, 'stargazers_count': 15715, 'watchers_count': 15715, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3351, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 480, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3351, 'open_issues': 480, 'watchers': 15715, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'tygyh', 'id': 32486062, 'node_id': 'MDQ6VXNlcjMyNDg2MDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/32486062?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/tygyh', 'html_url': 'https://github.com/tygyh', 'followers_url': 'https://api.github.com/users/tygyh/followers', 'following_url': 'https://api.github.com/users/tygyh/following{/other_user}', 'gists_url': 'https://api.github.com/users/tygyh/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/tygyh/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/tygyh/subscriptions', 'organizations_url': 'https://api.github.com/users/tygyh/orgs', 'repos_url': 'https://api.github.com/users/tygyh/repos', 'events_url': 'https://api.github.com/users/tygyh/events{/privacy}', 'received_events_url': 'https://api.github.com/users/tygyh/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-25T07:19:20.092289 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'brad0', 'action': 'created', 'id': 14903, 'title': 'ArmCPUDetect: check elf_aux_info() return value in ReadHwCap', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14903#issuecomment-6394807069', 'safe_author': False, 'body': "> I don't see this making a difference in practice, but sure I guess.\r\n\r\nI was specifically asked to instate the error checking by another developer for the API in general.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14903', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14903/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14903/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14903/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14903', 'id': 5665684674, 'node_id': 'PR_kwDOALCn2M8AAAABGIm2tw', 'number': 14903, 'title': 'ArmCPUDetect: check elf_aux_info() return value in ReadHwCap', 'user': {'login': 'brad0', 'id': 1129902, 'node_id': 'MDQ6VXNlcjExMjk5MDI=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1129902?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/brad0', 'html_url': 'https://github.com/brad0', 'followers_url': 'https://api.github.com/users/brad0/followers', 'following_url': 'https://api.github.com/users/brad0/following{/other_user}', 'gists_url': 'https://api.github.com/users/brad0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/brad0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/brad0/subscriptions', 'organizations_url': 'https://api.github.com/users/brad0/orgs', 'repos_url': 'https://api.github.com/users/brad0/repos', 'events_url': 'https://api.github.com/users/brad0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/brad0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-10-01T16:37:12Z', 'updated_at': '2026-10-25T07:19:18Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14903', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14903', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14903.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14903.patch', 'merged_at': None}, 'body': 'Handle failure explicitly instead of relying on the initial value.\r\nNo functional change.', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14903/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14903/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6394807069', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14903#issuecomment-6394807069', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14903', 'id': 6394807069, 'node_id': 'IC_kwDOALCn2M8AAAABfSkDHQ', 'user': {'login': 'brad0', 'id': 1129902, 'node_id': 'MDQ6VXNlcjExMjk5MDI=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1129902?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/brad0', 'html_url': 'https://github.com/brad0', 'followers_url': 'https://api.github.com/users/brad0/followers', 'following_url': 'https://api.github.com/users/brad0/following{/other_user}', 'gists_url': 'https://api.github.com/users/brad0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/brad0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/brad0/subscriptions', 'organizations_url': 'https://api.github.com/users/brad0/orgs', 'repos_url': 'https://api.github.com/users/brad0/repos', 'events_url': 'https://api.github.com/users/brad0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/brad0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-25T07:19:17Z', 'updated_at': '2026-10-25T07:19:17Z', 'body': "> I don't see this making a difference in practice, but sure I guess.\r\n\r\nI was specifically asked to instate the error checking by another developer for the API in general.", 'author_association': 'CONTRIBUTOR', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6394807069/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T06:59:53Z', 'pushed_at': '2026-10-24T20:04:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561406, 'stargazers_count': 15715, 'watchers_count': 15715, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3351, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 483, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3351, 'open_issues': 483, 'watchers': 15715, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'brad0', 'id': 1129902, 'node_id': 'MDQ6VXNlcjExMjk5MDI=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1129902?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/brad0', 'html_url': 'https://github.com/brad0', 'followers_url': 'https://api.github.com/users/brad0/followers', 'following_url': 'https://api.github.com/users/brad0/following{/other_user}', 'gists_url': 'https://api.github.com/users/brad0/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/brad0/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/brad0/subscriptions', 'organizations_url': 'https://api.github.com/users/brad0/orgs', 'repos_url': 'https://api.github.com/users/brad0/repos', 'events_url': 'https://api.github.com/users/brad0/events{/privacy}', 'received_events_url': 'https://api.github.com/users/brad0/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-25T07:00:02.698360 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14783, 'title': 'Remove unused includes', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14783#issuecomment-6394641608', 'safe_author': True, 'body': 'Sorry, this has aged a bit.\r\nCan you please rebase this in case some of the later merged stuff would fail to build with the removed includes.', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14783', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14783/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14783/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14783/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14783', 'id': 5039143901, 'node_id': 'PR_kwDOALCn2M75es3u', 'number': 14783, 'title': 'Remove unused includes', 'user': {'login': 'tygyh', 'id': 32486062, 'node_id': 'MDQ6VXNlcjMyNDg2MDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/32486062?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/tygyh', 'html_url': 'https://github.com/tygyh', 'followers_url': 'https://api.github.com/users/tygyh/followers', 'following_url': 'https://api.github.com/users/tygyh/following{/other_user}', 'gists_url': 'https://api.github.com/users/tygyh/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/tygyh/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/tygyh/subscriptions', 'organizations_url': 'https://api.github.com/users/tygyh/orgs', 'repos_url': 'https://api.github.com/users/tygyh/repos', 'events_url': 'https://api.github.com/users/tygyh/events{/privacy}', 'received_events_url': 'https://api.github.com/users/tygyh/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-08-01T21:36:01Z', 'updated_at': '2026-10-25T06:59:59Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14783', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14783', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14783.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14783.patch', 'merged_at': None}, 'body': None, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14783/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14783/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6394641608', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14783#issuecomment-6394641608', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14783', 'id': 6394641608, 'node_id': 'IC_kwDOALCn2M8AAAABfSZ8yA', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-25T06:59:59Z', 'updated_at': '2026-10-25T06:59:59Z', 'body': 'Sorry, this has aged a bit.\r\nCan you please rebase this in case some of the later merged stuff would fail to build with the removed includes.', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6394641608/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T06:59:53Z', 'pushed_at': '2026-10-24T20:04:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561406, 'stargazers_count': 15715, 'watchers_count': 15715, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3351, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 483, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3351, 'open_issues': 483, 'watchers': 15715, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-25T04:10:38.539990 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'dolphin-ci[bot]', 'action': 'created', 'id': 14950, 'title': 'Core/LibusbUtils: Use std::jthread and fix lost interrupt race on shutdown.', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14950#issuecomment-6393293054', 'safe_author': False, 'body': '[FifoCI](https://fifo.ci/about/) detected that this change impacts graphical rendering. Here are the [behavior differences](https://fifo.ci/version/b63c9898fa6a5fe36c2b9be1ca8120af2d9918f1/) detected by the system:\n\n<details>\n<summary>Detected differences</summary>\n\n||ogl-lin-mesa|\n|-|-|\n|nes-vc|[❌ fail](https://fifo.ci/compare/16633751-16626983/)|\n</details>\n<sub><sup>automated-fifoci-reporter</sup></sub>', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14950', 'id': 6019504918, 'node_id': 'PR_kwDOALCn2M8AAAABKhCl7g', 'number': 14950, 'title': 'Core/LibusbUtils: Use std::jthread and fix lost interrupt race on shutdown.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-10-25T01:12:44Z', 'updated_at': '2026-10-25T04:10:36Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14950', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14950', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14950.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14950.patch', 'merged_at': None}, 'body': "The `completed` parameter needs to be supplied to `libusb_handle_events_timeout_completed` to handle the case of `libusb_interrupt_event_handler` firing between iterations.\n\nThis avoids the potential of having to wait for the 5 second timeout on shutdown.\n\nI've also adjusted the timeout to one second where `libusb_interrupt_event_handler` is unavailable.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6393293054', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14950#issuecomment-6393293054', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14950', 'id': 6393293054, 'node_id': 'IC_kwDOALCn2M8AAAABfRHo_g', 'user': {'login': 'dolphin-ci[bot]', 'id': 59266906, 'node_id': 'MDM6Qm90NTkyNjY5MDY=', 'avatar_url': 'https://avatars.githubusercontent.com/in/49947?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D', 'html_url': 'https://github.com/apps/dolphin-ci', 'followers_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/followers', 'following_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/orgs', 'repos_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/repos', 'events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/received_events', 'type': 'Bot', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-25T04:10:36Z', 'updated_at': '2026-10-25T04:10:36Z', 'body': '[FifoCI](https://fifo.ci/about/) detected that this change impacts graphical rendering. Here are the [behavior differences](https://fifo.ci/version/b63c9898fa6a5fe36c2b9be1ca8120af2d9918f1/) detected by the system:\n\n<details>\n<summary>Detected differences</summary>\n\n||ogl-lin-mesa|\n|-|-|\n|nes-vc|[❌ fail](https://fifo.ci/compare/16633751-16626983/)|\n</details>\n<sub><sup>automated-fifoci-reporter</sup></sub>', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6393293054/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': {'id': 49947, 'client_id': 'Iv1.1fcaea7644d8b727', 'slug': 'dolphin-ci', 'node_id': 'MDM6QXBwNDk5NDc=', 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'name': 'Dolphin CI', 'description': 'Continuous Integration setup for [dolphin-emu.org](https://dolphin-emu.org/).', 'external_url': 'https://github.com/dolphin-emu', 'html_url': 'https://github.com/apps/dolphin-ci', 'created_at': '2019-12-26T22:26:07Z', 'updated_at': '2019-12-26T22:33:19Z', 'permissions': {'checks': 'write', 'contents': 'read', 'issues': 'write', 'members': 'read', 'metadata': 'read', 'pull_requests': 'write', 'statuses': 'write'}, 'events': ['check_run', 'commit_comment', 'issue_comment', 'pull_request', 'pull_request_review', 'pull_request_review_comment', 'push']}, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T02:36:55Z', 'pushed_at': '2026-10-24T20:04:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561406, 'stargazers_count': 15711, 'watchers_count': 15711, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3351, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3351, 'open_issues': 482, 'watchers': 15711, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'dolphin-ci[bot]', 'id': 59266906, 'node_id': 'MDM6Qm90NTkyNjY5MDY=', 'avatar_url': 'https://avatars.githubusercontent.com/in/49947?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D', 'html_url': 'https://github.com/apps/dolphin-ci', 'followers_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/followers', 'following_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/orgs', 'repos_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/repos', 'events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-ci%5Bbot%5D/received_events', 'type': 'Bot', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-25T00:14:53.736820 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'uVSthem', 'action': 'created', 'id': 11462, 'title': 'Revert "Remove Boot from DVD Backup"', 'url': 'https://github.com/dolphin-emu/dolphin/pull/11462#issuecomment-6391293708', 'safe_author': False, 'body': "> > Any progress?\r\n> \r\n> I currently have this feature working on a local build, now tidying everything up. I really don't want to fix a date to avoid creating expectations, but if everything goes well, a PR should be published by the end of this month...\r\n\r\nI am willing to test if that is helpful. I use to run back-up discs in Dolphin all the time. If testing with back-up discs in an unflashed drive is helpful at all, let me know.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11462', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11462/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11462/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11462/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11462', 'id': 1548120621, 'node_id': 'PR_kwDOALCn2M5IEdi3', 'number': 11462, 'title': 'Revert "Remove Boot from DVD Backup"', 'user': {'login': 'JosJuice', 'id': 6716818, 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JosJuice', 'html_url': 'https://github.com/JosJuice', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 44, 'created_at': '2023-01-18T21:16:20Z', 'updated_at': '2026-10-25T00:14:52Z', 'closed_at': '2023-03-13T19:47:46Z', 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/11462', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11462', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/11462.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/11462.patch', 'merged_at': None}, 'body': "This reverts PR #11456.\r\n\r\nThe ability to boot DVD backups is in my experience as a maintainer of DiscIO really not a maintenance burden at all, since it's very compartmentalized. I had assumed that few people would be disappointed about this feature going away, but we ended up receiving disappointed comments on GitHub from three different people not long after the removal was merged, which is quite a lot. Therefore I would like to bring back this feature.\r\n\r\nI do agree with the argument that nobody who's maintaining Dolphin is testing this feature. But since it seems like there is a vocal minority actually using this feature, I'd say let's keep the feature until it actually breaks or actually becomes a maintenance burden.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11462/reactions', 'total_count': 4, '+1': 4, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11462/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6391293708', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11462#issuecomment-6391293708', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11462', 'id': 6391293708, 'node_id': 'IC_kwDOALCn2M8AAAABfPNnDA', 'user': {'login': 'uVSthem', 'id': 1913166, 'node_id': 'MDQ6VXNlcjE5MTMxNjY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1913166?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/uVSthem', 'html_url': 'https://github.com/uVSthem', 'followers_url': 'https://api.github.com/users/uVSthem/followers', 'following_url': 'https://api.github.com/users/uVSthem/following{/other_user}', 'gists_url': 'https://api.github.com/users/uVSthem/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/uVSthem/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/uVSthem/subscriptions', 'organizations_url': 'https://api.github.com/users/uVSthem/orgs', 'repos_url': 'https://api.github.com/users/uVSthem/repos', 'events_url': 'https://api.github.com/users/uVSthem/events{/privacy}', 'received_events_url': 'https://api.github.com/users/uVSthem/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-25T00:14:51Z', 'updated_at': '2026-10-25T00:14:51Z', 'body': "> > Any progress?\r\n> \r\n> I currently have this feature working on a local build, now tidying everything up. I really don't want to fix a date to avoid creating expectations, but if everything goes well, a PR should be published by the end of this month...\r\n\r\nI am willing to test if that is helpful. I use to run back-up discs in Dolphin all the time. If testing with back-up discs in an unflashed drive is helpful at all, let me know.", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6391293708/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-24T22:05:41Z', 'pushed_at': '2026-10-24T20:04:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561406, 'stargazers_count': 15710, 'watchers_count': 15710, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3352, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 480, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3352, 'open_issues': 480, 'watchers': 15710, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'uVSthem', 'id': 1913166, 'node_id': 'MDQ6VXNlcjE5MTMxNjY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1913166?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/uVSthem', 'html_url': 'https://github.com/uVSthem', 'followers_url': 'https://api.github.com/users/uVSthem/followers', 'following_url': 'https://api.github.com/users/uVSthem/following{/other_user}', 'gists_url': 'https://api.github.com/users/uVSthem/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/uVSthem/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/uVSthem/subscriptions', 'organizations_url': 'https://api.github.com/users/uVSthem/orgs', 'repos_url': 'https://api.github.com/users/uVSthem/repos', 'events_url': 'https://api.github.com/users/uVSthem/events{/privacy}', 'received_events_url': 'https://api.github.com/users/uVSthem/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-25T00:07:32.117949 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Yola-cola', 'action': 'created', 'id': 11462, 'title': 'Revert "Remove Boot from DVD Backup"', 'url': 'https://github.com/dolphin-emu/dolphin/pull/11462#issuecomment-6391225682', 'safe_author': False, 'body': "> > Any progress?\r\n> \r\n> I currently have this feature working on a local build, now tidying everything up. I really don't want to fix a date to avoid creating expectations, but if everything goes well, a PR should be published by the end of this month...\r\n\r\nDo you need any help with it?", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11462', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11462/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11462/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11462/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11462', 'id': 1548120621, 'node_id': 'PR_kwDOALCn2M5IEdi3', 'number': 11462, 'title': 'Revert "Remove Boot from DVD Backup"', 'user': {'login': 'JosJuice', 'id': 6716818, 'node_id': 'MDQ6VXNlcjY3MTY4MTg=', 'avatar_url': 'https://avatars.githubusercontent.com/u/6716818?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JosJuice', 'html_url': 'https://github.com/JosJuice', 'followers_url': 'https://api.github.com/users/JosJuice/followers', 'following_url': 'https://api.github.com/users/JosJuice/following{/other_user}', 'gists_url': 'https://api.github.com/users/JosJuice/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JosJuice/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JosJuice/subscriptions', 'organizations_url': 'https://api.github.com/users/JosJuice/orgs', 'repos_url': 'https://api.github.com/users/JosJuice/repos', 'events_url': 'https://api.github.com/users/JosJuice/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JosJuice/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'closed', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 43, 'created_at': '2023-01-18T21:16:20Z', 'updated_at': '2026-10-25T00:07:30Z', 'closed_at': '2023-03-13T19:47:46Z', 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/11462', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11462', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/11462.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/11462.patch', 'merged_at': None}, 'body': "This reverts PR #11456.\r\n\r\nThe ability to boot DVD backups is in my experience as a maintainer of DiscIO really not a maintenance burden at all, since it's very compartmentalized. I had assumed that few people would be disappointed about this feature going away, but we ended up receiving disappointed comments on GitHub from three different people not long after the removal was merged, which is quite a lot. Therefore I would like to bring back this feature.\r\n\r\nI do agree with the argument that nobody who's maintaining Dolphin is testing this feature. But since it seems like there is a vocal minority actually using this feature, I'd say let's keep the feature until it actually breaks or actually becomes a maintenance burden.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11462/reactions', 'total_count': 4, '+1': 4, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11462/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6391225682', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/11462#issuecomment-6391225682', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/11462', 'id': 6391225682, 'node_id': 'IC_kwDOALCn2M8AAAABfPJdUg', 'user': {'login': 'Yola-cola', 'id': 53379032, 'node_id': 'MDQ6VXNlcjUzMzc5MDMy', 'avatar_url': 'https://avatars.githubusercontent.com/u/53379032?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Yola-cola', 'html_url': 'https://github.com/Yola-cola', 'followers_url': 'https://api.github.com/users/Yola-cola/followers', 'following_url': 'https://api.github.com/users/Yola-cola/following{/other_user}', 'gists_url': 'https://api.github.com/users/Yola-cola/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Yola-cola/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Yola-cola/subscriptions', 'organizations_url': 'https://api.github.com/users/Yola-cola/orgs', 'repos_url': 'https://api.github.com/users/Yola-cola/repos', 'events_url': 'https://api.github.com/users/Yola-cola/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Yola-cola/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-25T00:07:30Z', 'updated_at': '2026-10-25T00:07:30Z', 'body': "> > Any progress?\r\n> \r\n> I currently have this feature working on a local build, now tidying everything up. I really don't want to fix a date to avoid creating expectations, but if everything goes well, a PR should be published by the end of this month...\r\n\r\nDo you need any help with it?", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6391225682/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-24T22:05:41Z', 'pushed_at': '2026-10-24T20:04:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561406, 'stargazers_count': 15710, 'watchers_count': 15710, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3352, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 480, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3352, 'open_issues': 480, 'watchers': 15710, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'Yola-cola', 'id': 53379032, 'node_id': 'MDQ6VXNlcjUzMzc5MDMy', 'avatar_url': 'https://avatars.githubusercontent.com/u/53379032?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Yola-cola', 'html_url': 'https://github.com/Yola-cola', 'followers_url': 'https://api.github.com/users/Yola-cola/followers', 'following_url': 'https://api.github.com/users/Yola-cola/following{/other_user}', 'gists_url': 'https://api.github.com/users/Yola-cola/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Yola-cola/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Yola-cola/subscriptions', 'organizations_url': 'https://api.github.com/users/Yola-cola/orgs', 'repos_url': 'https://api.github.com/users/Yola-cola/repos', 'events_url': 'https://api.github.com/users/Yola-cola/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Yola-cola/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-24T21:36:01.410964 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 14322, 'title': 'IOS/USB: Add "Connect USB Keyboard" support for HID', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14322#issuecomment-6389829515', 'safe_author': True, 'body': "I'd like to confirm some of the behaviours I'm unsure of, before proceeding further. So I'm switching this PR back to draft and I'm going to write some hardware tests.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14322', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14322/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14322/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14322/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14322', 'id': 3900738846, 'node_id': 'PR_kwDOALCn2M7Brwdv', 'number': 14322, 'title': 'IOS/USB: Add "Connect USB Keyboard" support for HID', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 1667502011, 'node_id': 'MDU6TGFiZWwxNjY3NTAyMDEx', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20rebase', 'name': 'needs rebase', 'color': '053663', 'default': False, 'description': '', 'archived_at': None, 'archived_by': None}], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 5, 'created_at': '2026-02-05T10:06:11Z', 'updated_at': '2026-10-24T21:35:59Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': True, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14322', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14322', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14322.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14322.patch', 'merged_at': None}, 'body': "A split version of https://github.com/dolphin-emu/dolphin/pull/13708, based on https://github.com/dolphin-emu/dolphin/pull/14321.\r\n\r\nThis enables keyboard emulation to work with HID games like Dragon Quest X, Monster Hunter G, and Monster Hunter Tri.\r\n\r\n\r\nThe supported OSes are based on `Common::KeyboardContext` actual support _(currently Windows only)_. Supporting new OSes won't necessitate changes to this PR as this will be entirely handled by the KeyboardContext class.\r\n\r\nReady to be reviewed and merged.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14322/reactions', 'total_count': 1, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 1, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14322/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6389829515', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14322#issuecomment-6389829515', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14322', 'id': 6389829515, 'node_id': 'IC_kwDOALCn2M8AAAABfN0Piw', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-24T21:35:59Z', 'updated_at': '2026-10-24T21:35:59Z', 'body': "I'd like to confirm some of the behaviours I'm unsure of, before proceeding further. So I'm switching this PR back to draft and I'm going to write some hardware tests.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6389829515/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-24T20:04:30Z', 'pushed_at': '2026-10-24T20:04:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561406, 'stargazers_count': 15709, 'watchers_count': 15709, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3352, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 480, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3352, 'open_issues': 480, 'watchers': 15709, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-24T21:08:33.108241 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'created', 'id': 14704, 'title': 'MathUtil: C++20/23 modernisations', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14704#issuecomment-6389554409', 'safe_author': True, 'body': '> Do we know what exactly is causing FifoCI to see minor changes?\r\n\r\nSolely the changes in NativeVertexFormat.h, which I assume cause minor floating point differences', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14704', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14704/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14704/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14704/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14704', 'id': 4761487874, 'node_id': 'PR_kwDOALCn2M7rcvzB', 'number': 14704, 'title': 'MathUtil: C++20/23 modernisations', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2026-06-28T07:40:49Z', 'updated_at': '2026-10-24T21:08:30Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14704', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14704', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14704.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14704.patch', 'merged_at': None}, 'body': "I've also created DegreesToRadians/RadiansToDegrees utility functions since there was a lot of repeated code", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14704/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14704/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6389554409', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14704#issuecomment-6389554409', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14704', 'id': 6389554409, 'node_id': 'IC_kwDOALCn2M8AAAABfNjc6Q', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-24T21:08:30Z', 'updated_at': '2026-10-24T21:08:30Z', 'body': '> Do we know what exactly is causing FifoCI to see minor changes?\r\n\r\nSolely the changes in NativeVertexFormat.h, which I assume cause minor floating point differences', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6389554409/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-24T20:04:30Z', 'pushed_at': '2026-10-24T20:04:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561406, 'stargazers_count': 15709, 'watchers_count': 15709, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3352, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 480, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3352, 'open_issues': 480, 'watchers': 15709, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-24T21:06:43.291910 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14704, 'title': 'MathUtil: C++20/23 modernisations', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14704#issuecomment-6389536247', 'safe_author': True, 'body': 'Do we know what exactly is causing FifoCI to see minor changes?', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14704', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14704/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14704/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14704/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14704', 'id': 4761487874, 'node_id': 'PR_kwDOALCn2M7rcvzB', 'number': 14704, 'title': 'MathUtil: C++20/23 modernisations', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-06-28T07:40:49Z', 'updated_at': '2026-10-24T21:06:41Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14704', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14704', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14704.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14704.patch', 'merged_at': None}, 'body': "I've also created DegreesToRadians/RadiansToDegrees utility functions since there was a lot of repeated code", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14704/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14704/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6389536247', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14704#issuecomment-6389536247', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14704', 'id': 6389536247, 'node_id': 'IC_kwDOALCn2M8AAAABfNiV9w', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-24T21:06:41Z', 'updated_at': '2026-10-24T21:06:41Z', 'body': 'Do we know what exactly is causing FifoCI to see minor changes?', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6389536247/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-24T20:04:30Z', 'pushed_at': '2026-10-24T20:04:25Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561406, 'stargazers_count': 15709, 'watchers_count': 15709, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3352, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 480, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3352, 'open_issues': 480, 'watchers': 15709, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-24T18:48:35.867601 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'sepalani', 'action': 'created', 'id': 14322, 'title': 'IOS/USB: Add "Connect USB Keyboard" support for HID', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14322#issuecomment-6388139691', 'safe_author': True, 'body': "I rebased the PR and added sanity checks against the command's endpoint and length.", 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14322', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14322/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14322/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14322/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14322', 'id': 3900738846, 'node_id': 'PR_kwDOALCn2M7Brwdv', 'number': 14322, 'title': 'IOS/USB: Add "Connect USB Keyboard" support for HID', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [{'id': 1667502011, 'node_id': 'MDU6TGFiZWwxNjY3NTAyMDEx', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels/needs%20rebase', 'name': 'needs rebase', 'color': '053663', 'default': False, 'description': '', 'archived_at': None, 'archived_by': None}], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 4, 'created_at': '2026-02-05T10:06:11Z', 'updated_at': '2026-10-24T18:48:34Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14322', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14322', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14322.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14322.patch', 'merged_at': None}, 'body': "A split version of https://github.com/dolphin-emu/dolphin/pull/13708, based on https://github.com/dolphin-emu/dolphin/pull/14321.\r\n\r\nThis enables keyboard emulation to work with HID games like Dragon Quest X, Monster Hunter G, and Monster Hunter Tri.\r\n\r\n\r\nThe supported OSes are based on `Common::KeyboardContext` actual support _(currently Windows only)_. Supporting new OSes won't necessitate changes to this PR as this will be entirely handled by the KeyboardContext class.\r\n\r\nReady to be reviewed and merged.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14322/reactions', 'total_count': 1, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 1, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14322/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6388139691', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14322#issuecomment-6388139691', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14322', 'id': 6388139691, 'node_id': 'IC_kwDOALCn2M8AAAABfMNGqw', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-24T18:48:34Z', 'updated_at': '2026-10-24T18:48:34Z', 'body': "I rebased the PR and added sanity checks against the command's endpoint and length.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6388139691/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-24T18:22:37Z', 'pushed_at': '2026-10-24T18:22:24Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561397, 'stargazers_count': 15710, 'watchers_count': 15710, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3352, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 480, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3352, 'open_issues': 480, 'watchers': 15710, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
2026-10-24T17:19:14.414926 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'RubGarFue', 'action': 'edited', 'id': 14932, 'title': 'Feature: Automatic SDL Controller Assignment', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14932#issuecomment-6386759630', 'safe_author': False, 'body': 'Hello again, and sorry for the late response. I’ve been away for most of the week and haven’t had much time to work on this issue.\r\n\r\nI would also like to thank the feedback received about the Pull Request, I want to make a useful feature for everyone that might use this so everything that can be improved is more than welcomed.\r\n\r\nI’ll try to clarify the goal of this PR, explain why I approached the problem this way, and address your comments.\r\n\r\n> So, there are many reasons why default mapping hasn\'t been implement for Wii Remotes.\r\n\r\nI am aware of the complexity of creating a default layout for the Wii Remote (I\'ve seen other threads trying to do so and I fully understand the reasons why those have been discarded).\r\n\r\nThe reality is that I have created this default configuration because is one that works well for me, I understand that my particular preferences may not be aligned with most of the users and that there are many changes that could improve waaaaaay more this default configuration (I fully agree that this config is not optimal at all and that many other attempts of creating a default configuration probably much better that mine have already been discarded).\r\n\r\nPersonally, I think more about this default layout as a "template" or a "fallback layout" if that makes any kind of sense. So instead of trying to defend this particular layout I will try to explain the reasons that have led me to the creation of it.\r\n\r\n> Speaking of which, I imagine a lot of players will want to customize after the fact. Can users turn this setting off and customize the mappings?\r\n\r\nBefore starting with the explanation I want to make two things clear about this PR.\r\n\r\nThe first one is that this feature is fully optional, a CheckBox called `Auto Controller Assignment` has been created in the Controller Configuration and it is unmarked by default, so even if you think that this feature will not work for you, you can just let it unmarked and everything will work as always.\r\n\r\nThe second thing, as I said before, is that this default configuration is intended as a fallback for previously unconfigured controllers, not as a universal mapping that works well across the entire Wii library. The idea is that users can create their own configurations for their set of controllers and the feature will select those configurations for each SDL device. \r\n\r\nLet me explain the full issue.\r\n\r\n\r\n### **Why have I created a default layout for the Wii Remote?**\r\n\r\nSo, the main idea of this feature is to simplify the controller connections to the Dolphin Emulator and make them transparent for the final user.\r\n\r\nFor example, you might want to change your controller from one game session to another, doing so requires manually selecting the device and profile for that particular gamepad. Another example would be adding a second controller to play with a friend, again that requires manually adding a second slot, selecting the controller and the profile. What this feature aims to do is to have the possibility to do all of this automatically.\r\n\r\nIn order to achieve that, the code must know what profile you would like to select for a particular controller. That’s why when a controller is connected the code searches for `SDL Auto Assignment + DEVICE_NAME.ini` where `DEVICE_NAME` is the controller name given by SDL library (the one that is shown in the Device list inside the controller configuration), in the case of the Xbox Controller the code might search something like `SDL Auto Assignment Xbox One X Controller.ini` (please note that this is just a placeholder, if you don’t like that particular name I’m more than open to accept ideas)\r\n\r\nThe question that arises then is what happens when you connect a controller that has not been previously configured. This is why the creation of a default layout (that would be used as a “fallback layout” as I said before) looked to me as a good option. \r\n\r\nHaving said that, I understand that after explaining my point, this does not motivate by itself the creation of a default layout, particularly if it gives users the impression that it will work well with every game. But I still need to resolve what happens when we connect a SDL gamepad that has not been configured before. \r\n\r\nThree options come to my mind:\r\n\r\n**Option 1 - Letting the default configuration as a fallback**\r\n\r\nLet the default layout idea as it is (the layout itself can be changed however you prefer), so this configuration is used as a fallback option when no config is specified. I understand this option has several problems.\r\n\r\n**Option 2 - Let the users create a fallback configuration by themselves**\r\n\r\nAnother idea would be not providing a default layout, but letting the users create a default one by themselves.\r\n\r\nFor example, if users create a config called `SDL Auto Assignment Default.ini` it could be used as the fallback if no specific configuration is found. \r\n\r\nPersonally, I think this option would also be great if option 1 is not suitable.\r\n\r\n**Option 3 - No configuration at all**\r\n\r\nThe last option that I can think of is just selecting the SDL device but with a “void” layout. No buttons are mapped until the user manually does it or creates a specific configuration for that controller.\r\n\r\nIf you have any other idea that might fix this issue and you consider it a better solution I am more than open to discuss it.\r\n\r\nOne final thought regarding the layout discussion is that one additional improvement I’d like to explore in the future is extending this feature to support automatic configuration selection not only based on the connected controller, but also on the game being played. This would allow users to have different mappings for the same controller depending on the game, which could be particularly useful for games with very different control schemes.\r\n\r\nThis is outside the scope of the current PR, but I’d be happy to work on extending it in this direction in the future if this feature is finally accepted (and also if I have the time to do so).\r\n\r\n> Finally, forgive me if I\'m wrong, but there is a lot about how your post is structured that smells like AI. That\'s fine, our project has no issue with LLM use in this part of our code, as this doesn\'t touch any emulation bits. Buuut I and many other developers would appreciate a clear disclosure of any LLM use.\r\n\r\nAbout this topic, you are not wrong at all and I have used AI tools for this PR. I’m so sorry I didn’t add a disclaimer in the first comment, it was not my intention to hide it.\r\n\r\nTo make things clear. AI tools have been used in three different ways:\r\n\r\n- **Investigation:** Although I have a programming background I have no experience with Dolphin Emulator codebase. I have used AI to better understand the code and what parts I had to change to create this feature.\r\n- **Bug fixes & Refactoring:** In order to search for hidden bugs that I might have introduced, I have used AI tools to review the added changes. In addition to that, I also have also used it to refactor or change parts of the code that I was not originally very happy with.\r\n- **Comments:** I have used AI to comment all the changes in the code, the comments from the PR have been fully AI generated. I know that AI can result in verbose comments sometimes but considering that other people had to review it and might have questions about specific parts of the code I prefer to have more than less. I’m happy to revise or remove them where appropriate.\r\n\r\nIf you want me to add a disclaimer in the first comment or in any other part I have no complaints to do so.\r\n\r\nI think I haven’t left anything unsaid but again do not hesitate to reach me back for any other open question.', 'raw': {'action': 'edited', 'changes': {'body': {'from': 'Hello again, and sorry for the late response. I’ve been away for most of the week and haven’t had much time to work on this issue.\r\n\r\nI would also like to thank the feedback received about the Pull Request, I want to make a useful feature for everyone that might use this so everything that can be improved is more than welcomed.\r\n\r\nI’ll try to clarify the goal of this PR, explain why I approached the problem this way, and address your comments.\r\n\r\n> So, there are many reasons why default mapping hasn\'t been implement for Wii Remotes.\r\n\r\nI am aware of the complexity of creating a default layout for the Wii Remote (I\'ve seen other threads trying to do so and I fully understand the reasons why those have been discarded).\r\n\r\nThe reality is that I have created this default configuration because is one that works well for me, I understand that my particular preferences may not be aligned with most of the users and that there are many changes that could improve waaaaaay more this default configuration (I fully agree that this config is not optimal at all and that many other attempts of creating a default configuration probably much better that mine have already been discarded).\r\n\r\nPersonally, I think more about this default layout as a "template" or a "fallback layout" if that makes any kind of sense. So instead of trying to defend this particular layout I will try to explain the reasons that have led me to the creation of it.\r\n\r\n> Speaking of which, I imagine a lot of players will want to customize after the fact. Can users turn this setting off and customize the mappings?\r\n\r\nBefore starting with the explanation I want to make two things clear about this PR.\r\n\r\nThe first one is that this feature is fully optional, a CheckBox called `Auto Controller Assignment` has been created in the Controller Configuration and it is unmarked by default, so even if you think that this feature will not work for you, you can just let it unmarked and everything will work as always.\r\n\r\nThe second thing, as I said before, is that this default configuration is intended as a fallback for previously unconfigured controllers, not as a universal mapping that works well across the entire Wii library. The idea is that users can create their own configurations for their set of controllers and the feature will select those configurations for each SDL device. \r\n\r\nLet me explain the full issue.\r\n\r\n\r\n### **Why have I created a default layout for the Wii Remote?**\r\n\r\nSo, the main idea of this feature is to simplify the controller connections to the Dolphin Emulator and make them transparent for the final user.\r\n\r\nFor example, you might want to change your controller from one game session to another, doing so requires manually selecting the device and profile for that particular gamepad. Another example would be adding a second controller to play with a friend, again that requires manually adding a second slot, selecting the controller and the profile. What this feature aims to do is to have the possibility to do all of this automatically.\r\n\r\nIn order to achieve that, the code must know what profile you would like to select for a particular controller. That’s why when a controller is connected the code searches for `SDL Auto Assignment + DEVICE_NAME.ini` where `DEVICE_NAME` is the controller name given by SDL library (the one that is shown in the Device list inside the controller configuration), in the case of the Xbox Controller the code might search something like `SDL Auto Assignment Xbox One X Controller.ini` (please note that this is just a placeholder, if you don’t like that particular name I’m more than open to accept ideas)\r\n\r\nThe question that arises then is what happens when you connect a controller that has not been previously configured. This is why the creation of a default layout (that would be used as a “fallback layout” as I said before) looked to me as a good option. \r\n\r\nHaving said that, I understand that after explaining my point, this does not motivate by itself the creation of a default layout, particularly if it gives users the impression that it will work well with every game. But I still need to resolve what happens when we connect a SDL gamepad that has not been configured before. \r\n\r\nThree options come to my mind:\r\n\r\n**Option 1 - Letting the default configuration as a fallback**\r\n\r\nLet the default layout idea as it is (the layout itself can be changed however you prefer), so this configuration is used as a fallback option when no config is specified. I understand this option has several problems.\r\n\r\n**Option 2 - Let the users create a fallback configuration by themselves**\r\n\r\nAnother idea would be not providing a default layout, but letting the users create a default one by themselves.\r\n\r\nFor example, if users create a config called `SDL Auto Assignment Default.ini` it could be used as the fallback if no specific configuration is found. \r\n\r\nPersonally, I think this option would also be great if option 1 is not suitable.\r\n\r\n**Option 3 - No configuration at all**\r\n\r\nThe last option that I can think of is just selecting the SDL device but with a “void” layout. No buttons are mapped until the user manually does it or creates a specific configuration for that controller.\r\n\r\nIf you have any other idea that might fix this issue and you consider it a better solution I am more than open to discuss it.\r\n\r\n> Finally, forgive me if I\'m wrong, but there is a lot about how your post is structured that smells like AI. That\'s fine, our project has no issue with LLM use in this part of our code, as this doesn\'t touch any emulation bits. Buuut I and many other developers would appreciate a clear disclosure of any LLM use.\r\n\r\nAbout this topic, you are not wrong at all and I have used AI tools for this PR. I’m so sorry I didn’t add a disclaimer in the first comment, it was not my intention to hide it.\r\n\r\nTo make things clear. AI tools have been used in three different ways:\r\n\r\n- **Investigation:** Although I have a programming background I have no experience with Dolphin Emulator codebase. I have used AI to better understand the code and what parts I had to change to create this feature.\r\n- **Bug fixes & Refactoring:** In order to search for hidden bugs that I might have introduced, I have used AI tools to review the added changes. In addition to that, I also have also used it to refactor or change parts of the code that I was not originally very happy with.\r\n- **Comments:** I have used AI to comment all the changes in the code, the comments from the PR have been fully AI generated. I know that AI can result in verbose comments sometimes but considering that other people had to review it and might have questions about specific parts of the code I prefer to have more than less. I’m happy to revise or remove them where appropriate.\r\n\r\nIf you want me to add a disclaimer in the first comment or in any other part I have no complaints to do so.\r\n\r\nI think I haven’t left anything unsaid but again do not hesitate to reach me back for any other open question.'}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14932', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14932/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14932/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14932/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14932', 'id': 5851409517, 'node_id': 'PR_kwDOALCn2M8AAAABIbvV6Q', 'number': 14932, 'title': 'Feature: Automatic SDL Controller Assignment', 'user': {'login': 'RubGarFue', 'id': 62031291, 'node_id': 'MDQ6VXNlcjYyMDMxMjkx', 'avatar_url': 'https://avatars.githubusercontent.com/u/62031291?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/RubGarFue', 'html_url': 'https://github.com/RubGarFue', 'followers_url': 'https://api.github.com/users/RubGarFue/followers', 'following_url': 'https://api.github.com/users/RubGarFue/following{/other_user}', 'gists_url': 'https://api.github.com/users/RubGarFue/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/RubGarFue/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/RubGarFue/subscriptions', 'organizations_url': 'https://api.github.com/users/RubGarFue/orgs', 'repos_url': 'https://api.github.com/users/RubGarFue/repos', 'events_url': 'https://api.github.com/users/RubGarFue/events{/privacy}', 'received_events_url': 'https://api.github.com/users/RubGarFue/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 7, 'created_at': '2026-10-14T16:20:06Z', 'updated_at': '2026-10-24T16:36:40Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14932', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14932', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14932.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14932.patch', 'merged_at': None}, 'body': "The goal of this feature is to make controller management dynamic, so users can connect, disconnect, or switch controllers without having to manually reconfigure Dolphin's controller settings every time.\r\n\r\n**Implemented Features**\r\n\r\n**1. Automatic controller connection and disconnection**\r\n\r\nDolphin automatically detects controller connection and disconnection events and updates the active player slots accordingly. When a controller is connected, it can be assigned to an available player slot; when a controller is disconnected, its slot is deactivated.\r\nThis makes switching between different controllers and setting up local multiplayer much more convenient, specially while a game is already running.\r\n\r\n**2. Automatic Bluetooth device selection for Wiimotes**\r\n\r\nWhen a connected controller is identified as a Wiimote, Dolphin automatically selects its Bluetooth device instead of the SDL one. This is important because it allows Wiimotes to use Dolphin's native motion input support and mapped buttons rather than being treated as ordinary gamepads.\r\n\r\n**3. Default SDL mapping for controllers**\r\n\r\nA default mapping for emulated Wiimote has been added for controllers detected through SDL.\r\nThe default mapping can be customized for individual controllers by creating an SDL configuration for that specific device. Dolphin will automatically select the matching configuration when that controller is detected, allowing different controllers to have their own mappings without requiring manual reconfiguration whenever they are connected.\r\n\r\n**4. Partial Steam Input integration**\r\n\r\nA partial integration with Steam Input has also been implemented to detect controller reordering.\r\nWhen a controller changes position through Steam Input's controller ordering interface, Dolphin can detect the resulting device changes and update its in-game controller assignments accordingly.\r\nHowever, the behavior differs between Windows and Linux (including SteamOS on the Steam Deck), due to differences in how XInput and evdev expose controllers to applications.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14932/reactions', 'total_count': 2, '+1': 1, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 1, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14932/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6386759630', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14932#issuecomment-6386759630', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14932', 'id': 6386759630, 'node_id': 'IC_kwDOALCn2M8AAAABfK43zg', 'user': {'login': 'RubGarFue', 'id': 62031291, 'node_id': 'MDQ6VXNlcjYyMDMxMjkx', 'avatar_url': 'https://avatars.githubusercontent.com/u/62031291?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/RubGarFue', 'html_url': 'https://github.com/RubGarFue', 'followers_url': 'https://api.github.com/users/RubGarFue/followers', 'following_url': 'https://api.github.com/users/RubGarFue/following{/other_user}', 'gists_url': 'https://api.github.com/users/RubGarFue/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/RubGarFue/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/RubGarFue/subscriptions', 'organizations_url': 'https://api.github.com/users/RubGarFue/orgs', 'repos_url': 'https://api.github.com/users/RubGarFue/repos', 'events_url': 'https://api.github.com/users/RubGarFue/events{/privacy}', 'received_events_url': 'https://api.github.com/users/RubGarFue/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-24T16:36:40Z', 'updated_at': '2026-10-24T17:19:13Z', 'body': 'Hello again, and sorry for the late response. I’ve been away for most of the week and haven’t had much time to work on this issue.\r\n\r\nI would also like to thank the feedback received about the Pull Request, I want to make a useful feature for everyone that might use this so everything that can be improved is more than welcomed.\r\n\r\nI’ll try to clarify the goal of this PR, explain why I approached the problem this way, and address your comments.\r\n\r\n> So, there are many reasons why default mapping hasn\'t been implement for Wii Remotes.\r\n\r\nI am aware of the complexity of creating a default layout for the Wii Remote (I\'ve seen other threads trying to do so and I fully understand the reasons why those have been discarded).\r\n\r\nThe reality is that I have created this default configuration because is one that works well for me, I understand that my particular preferences may not be aligned with most of the users and that there are many changes that could improve waaaaaay more this default configuration (I fully agree that this config is not optimal at all and that many other attempts of creating a default configuration probably much better that mine have already been discarded).\r\n\r\nPersonally, I think more about this default layout as a "template" or a "fallback layout" if that makes any kind of sense. So instead of trying to defend this particular layout I will try to explain the reasons that have led me to the creation of it.\r\n\r\n> Speaking of which, I imagine a lot of players will want to customize after the fact. Can users turn this setting off and customize the mappings?\r\n\r\nBefore starting with the explanation I want to make two things clear about this PR.\r\n\r\nThe first one is that this feature is fully optional, a CheckBox called `Auto Controller Assignment` has been created in the Controller Configuration and it is unmarked by default, so even if you think that this feature will not work for you, you can just let it unmarked and everything will work as always.\r\n\r\nThe second thing, as I said before, is that this default configuration is intended as a fallback for previously unconfigured controllers, not as a universal mapping that works well across the entire Wii library. The idea is that users can create their own configurations for their set of controllers and the feature will select those configurations for each SDL device. \r\n\r\nLet me explain the full issue.\r\n\r\n\r\n### **Why have I created a default layout for the Wii Remote?**\r\n\r\nSo, the main idea of this feature is to simplify the controller connections to the Dolphin Emulator and make them transparent for the final user.\r\n\r\nFor example, you might want to change your controller from one game session to another, doing so requires manually selecting the device and profile for that particular gamepad. Another example would be adding a second controller to play with a friend, again that requires manually adding a second slot, selecting the controller and the profile. What this feature aims to do is to have the possibility to do all of this automatically.\r\n\r\nIn order to achieve that, the code must know what profile you would like to select for a particular controller. That’s why when a controller is connected the code searches for `SDL Auto Assignment + DEVICE_NAME.ini` where `DEVICE_NAME` is the controller name given by SDL library (the one that is shown in the Device list inside the controller configuration), in the case of the Xbox Controller the code might search something like `SDL Auto Assignment Xbox One X Controller.ini` (please note that this is just a placeholder, if you don’t like that particular name I’m more than open to accept ideas)\r\n\r\nThe question that arises then is what happens when you connect a controller that has not been previously configured. This is why the creation of a default layout (that would be used as a “fallback layout” as I said before) looked to me as a good option. \r\n\r\nHaving said that, I understand that after explaining my point, this does not motivate by itself the creation of a default layout, particularly if it gives users the impression that it will work well with every game. But I still need to resolve what happens when we connect a SDL gamepad that has not been configured before. \r\n\r\nThree options come to my mind:\r\n\r\n**Option 1 - Letting the default configuration as a fallback**\r\n\r\nLet the default layout idea as it is (the layout itself can be changed however you prefer), so this configuration is used as a fallback option when no config is specified. I understand this option has several problems.\r\n\r\n**Option 2 - Let the users create a fallback configuration by themselves**\r\n\r\nAnother idea would be not providing a default layout, but letting the users create a default one by themselves.\r\n\r\nFor example, if users create a config called `SDL Auto Assignment Default.ini` it could be used as the fallback if no specific configuration is found. \r\n\r\nPersonally, I think this option would also be great if option 1 is not suitable.\r\n\r\n**Option 3 - No configuration at all**\r\n\r\nThe last option that I can think of is just selecting the SDL device but with a “void” layout. No buttons are mapped until the user manually does it or creates a specific configuration for that controller.\r\n\r\nIf you have any other idea that might fix this issue and you consider it a better solution I am more than open to discuss it.\r\n\r\nOne final thought regarding the layout discussion is that one additional improvement I’d like to explore in the future is extending this feature to support automatic configuration selection not only based on the connected controller, but also on the game being played. This would allow users to have different mappings for the same controller depending on the game, which could be particularly useful for games with very different control schemes.\r\n\r\nThis is outside the scope of the current PR, but I’d be happy to work on extending it in this direction in the future if this feature is finally accepted (and also if I have the time to do so).\r\n\r\n> Finally, forgive me if I\'m wrong, but there is a lot about how your post is structured that smells like AI. That\'s fine, our project has no issue with LLM use in this part of our code, as this doesn\'t touch any emulation bits. Buuut I and many other developers would appreciate a clear disclosure of any LLM use.\r\n\r\nAbout this topic, you are not wrong at all and I have used AI tools for this PR. I’m so sorry I didn’t add a disclaimer in the first comment, it was not my intention to hide it.\r\n\r\nTo make things clear. AI tools have been used in three different ways:\r\n\r\n- **Investigation:** Although I have a programming background I have no experience with Dolphin Emulator codebase. I have used AI to better understand the code and what parts I had to change to create this feature.\r\n- **Bug fixes & Refactoring:** In order to search for hidden bugs that I might have introduced, I have used AI tools to review the added changes. In addition to that, I also have also used it to refactor or change parts of the code that I was not originally very happy with.\r\n- **Comments:** I have used AI to comment all the changes in the code, the comments from the PR have been fully AI generated. I know that AI can result in verbose comments sometimes but considering that other people had to review it and might have questions about specific parts of the code I prefer to have more than less. I’m happy to revise or remove them where appropriate.\r\n\r\nIf you want me to add a disclaimer in the first comment or in any other part I have no complaints to do so.\r\n\r\nI think I haven’t left anything unsaid but again do not hesitate to reach me back for any other open question.', 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6386759630/reactions', 'total_count': 1, '+1': 1, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-24T16:13:41Z', 'pushed_at': '2026-10-24T12:16:22Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561397, 'stargazers_count': 15710, 'watchers_count': 15710, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3352, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3352, 'open_issues': 481, 'watchers': 15710, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'RubGarFue', 'id': 62031291, 'node_id': 'MDQ6VXNlcjYyMDMxMjkx', 'avatar_url': 'https://avatars.githubusercontent.com/u/62031291?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/RubGarFue', 'html_url': 'https://github.com/RubGarFue', 'followers_url': 'https://api.github.com/users/RubGarFue/followers', 'following_url': 'https://api.github.com/users/RubGarFue/following{/other_user}', 'gists_url': 'https://api.github.com/users/RubGarFue/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/RubGarFue/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/RubGarFue/subscriptions', 'organizations_url': 'https://api.github.com/users/RubGarFue/orgs', 'repos_url': 'https://api.github.com/users/RubGarFue/repos', 'events_url': 'https://api.github.com/users/RubGarFue/events{/privacy}', 'received_events_url': 'https://api.github.com/users/RubGarFue/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'gh_issue_comment'}
Recent 'gh_pull_request' events
2026-10-26T07:08:27.378261 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'runlevel5', 'action': 'synchronize', 'id': 14954, 'title': 'Jit: Add PPC64LE backend', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'head_ref_name': 'ppc64le-jit', 'safe_author': False, 'base_sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'head_sha': '61ffbe61a7be3913513fd3c96a36fe5e82edea31', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-26T04:40:27.512693 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'runlevel5', 'action': 'synchronize', 'id': 14954, 'title': 'Jit: Add PPC64LE backend', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'head_ref_name': 'ppc64le-jit', 'safe_author': False, 'base_sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'head_sha': 'de2a3a457968e2cb2066a0fbe46f4425ab101373', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-26T04:21:08.600277 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'runlevel5', 'action': 'edited', 'id': 14954, 'title': 'Jit: Add PPC64LE backend', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'head_ref_name': 'ppc64le-jit', 'safe_author': False, 'base_sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'head_sha': '9642d36b768beeca55b583137136117a2991535e', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-26T04:11:22.398875 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'runlevel5', 'action': 'edited', 'id': 14954, 'title': 'Jit: Add PPC64LE backend', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'head_ref_name': 'ppc64le-jit', 'safe_author': False, 'base_sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'head_sha': '9642d36b768beeca55b583137136117a2991535e', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-26T04:10:55.420565 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'runlevel5', 'action': 'synchronize', 'id': 14954, 'title': 'Jit: Add PPC64LE backend', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'head_ref_name': 'ppc64le-jit', 'safe_author': False, 'base_sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'head_sha': '9642d36b768beeca55b583137136117a2991535e', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-26T03:42:31.965347 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'runlevel5', 'action': 'edited', 'id': 14954, 'title': 'Jit: Add PPC64LE backend', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'head_ref_name': 'ppc64le-jit', 'safe_author': False, 'base_sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'head_sha': '5ca3545c20f034eff8dceef942bb30695f2c47c8', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-26T03:40:40.087380 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'runlevel5', 'action': 'converted_to_draft', 'id': 14954, 'title': 'Jit: Add PPC64LE backend', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'head_ref_name': 'ppc64le-jit', 'safe_author': False, 'base_sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'head_sha': '5ca3545c20f034eff8dceef942bb30695f2c47c8', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-26T03:39:58.901971 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'runlevel5', 'action': 'edited', 'id': 14954, 'title': 'Jit: Add PPC64LE backend', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'head_ref_name': 'ppc64le-jit', 'safe_author': False, 'base_sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'head_sha': '5ca3545c20f034eff8dceef942bb30695f2c47c8', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-26T03:39:55.531642 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'runlevel5', 'action': 'edited', 'id': 14954, 'title': 'Hit: Add PPC64LE backend', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'head_ref_name': 'ppc64le-jit', 'safe_author': False, 'base_sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'head_sha': '5ca3545c20f034eff8dceef942bb30695f2c47c8', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-26T03:37:55.590739 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'runlevel5', 'action': 'edited', 'id': 14954, 'title': 'Add a PPC64LE JIT for Gamecube/Wii backend', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'head_ref_name': 'ppc64le-jit', 'safe_author': False, 'base_sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'head_sha': '5ca3545c20f034eff8dceef942bb30695f2c47c8', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-26T03:36:51.375408 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'runlevel5', 'action': 'edited', 'id': 14954, 'title': 'Add a PPC64LE JIT for Gamecube/Wii backend', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'head_ref_name': 'ppc64le-jit', 'safe_author': False, 'base_sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'head_sha': '5ca3545c20f034eff8dceef942bb30695f2c47c8', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-26T03:30:01.694713 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'runlevel5', 'action': 'edited', 'id': 14954, 'title': 'Add a PPC64LE JIT for Gamecube/Wii backend', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'head_ref_name': 'ppc64le-jit', 'safe_author': False, 'base_sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'head_sha': '5ca3545c20f034eff8dceef942bb30695f2c47c8', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-26T03:26:33.441592 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'runlevel5', 'action': 'edited', 'id': 14954, 'title': 'Add a PPC64LE JIT for Gamecube/Wii backend', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'head_ref_name': 'ppc64le-jit', 'safe_author': False, 'base_sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'head_sha': '5ca3545c20f034eff8dceef942bb30695f2c47c8', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-26T03:01:37.457345 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'runlevel5', 'action': 'opened', 'id': 14954, 'title': 'Add a PPC64LE JIT for Gamecube/Wii backend', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'head_ref_name': 'ppc64le-jit', 'safe_author': False, 'base_sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'head_sha': '5ca3545c20f034eff8dceef942bb30695f2c47c8', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-25T21:45:27.433658 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'opened', 'id': 14953, 'title': 'JitCache: Misc optimizations and cleanup', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14953', 'head_ref_name': 'block-cache-optimizations', 'safe_author': True, 'base_sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'head_sha': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-25T21:45:13.875109 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'edited', 'id': 14806, 'title': 'JitRegCache: Refactor using a data oriented design', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14806', 'head_ref_name': 'regcache-data-oriented', 'safe_author': True, 'base_sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'head_sha': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-25T21:38:47.763246 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'edited', 'id': 14806, 'title': 'JitRegCache: Refactor using a data oriented design', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14806', 'head_ref_name': 'regcache-data-oriented', 'safe_author': True, 'base_sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'head_sha': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-25T21:38:32.657915 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'SuperSamus', 'action': 'synchronize', 'id': 14806, 'title': 'JitRegCache: Refactor using a data oriented design', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14806', 'head_ref_name': 'regcache-data-oriented', 'safe_author': True, 'base_sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'head_sha': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-25T18:32:25.168682 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'synchronize', 'id': 14951, 'title': 'Core/TimePlayed: Decouple the TimePlayed tracker thread from CPUManager.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14951', 'head_ref_name': 'time-played-cpumanager-decouple', 'safe_author': True, 'base_sha': '22b581c670d84e60d11c1b02d38e1c7789ae2dfa', 'head_sha': 'bed47bb5c92217246eb96181de1286cef37eab9f', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-25T12:40:26.175747 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'AdmiralCurtiss', 'action': 'closed', 'id': 14939, 'title': 'PPCAnalyst: Avoid using strncmp', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14939', 'head_ref_name': 'ppc-analyst-no-strncmp', 'safe_author': True, 'base_sha': '22b581c670d84e60d11c1b02d38e1c7789ae2dfa', 'head_sha': '786d91da28c31c6431a9f079971acb25eb23c925', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-25T12:40:25.431114 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'tygyh', 'action': 'synchronize', 'id': 14783, 'title': 'Remove unused includes', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14783', 'head_ref_name': 'Videocommon/Remove-unused-includes', 'safe_author': True, 'base_sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'head_sha': '46bc6735c24535c4f35da715199e7093a3045613', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-25T12:31:56.678533 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'tygyh', 'action': 'synchronize', 'id': 14783, 'title': 'Remove unused includes', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14783', 'head_ref_name': 'Videocommon/Remove-unused-includes', 'safe_author': True, 'base_sha': 'edce78926fc20cea65a0599637788715e03644be', 'head_sha': 'c14bfc269a1963601bb26f1d1fbbb1f5eda909dd', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-25T12:19:54.636047 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'tygyh', 'action': 'synchronize', 'id': 14783, 'title': 'Remove unused includes', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14783', 'head_ref_name': 'Videocommon/Remove-unused-includes', 'safe_author': True, 'base_sha': 'edce78926fc20cea65a0599637788715e03644be', 'head_sha': '87d66e3489ae0bce1e4b293c73a477039bf2b855', 'merged': False, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-25T11:30:03.901688 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'closed', 'id': 14853, 'title': 'Jit: Optimize trampoline info allocation', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14853', 'head_ref_name': 'jit-trampoline-info-optimize', 'safe_author': True, 'base_sha': '562875dd60fd0ff50b65dbbb611a2096802cd1b9', 'head_sha': '4c9019d6fb53ea81e49f6ed1ffeb70c52418a300', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
2026-10-25T11:00:46.795558 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'closed', 'id': 14952, 'title': 'Common/Thread: Remove some unused things.', 'base_ref_name': 'master', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14952', 'head_ref_name': 'common-thread-remove-unused', 'safe_author': True, 'base_sha': '22b581c670d84e60d11c1b02d38e1c7789ae2dfa', 'head_sha': 'fa108cf559250aff9d8d0ec812d5bdebf075b7b0', 'merged': True, 'requested_reviewers': [], 'type': 'gh_pull_request'}
Recent 'gh_pull_request_comment' events
2026-10-25T23:12:00.932236 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14948, 'hash': 'b3b5f02be632541fa6939c75dedc2dc20c356f87', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14948#discussion_r4372879923', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-25T16:21:26.799656 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'created', 'id': 14783, 'hash': '46bc6735c24535c4f35da715199e7093a3045613', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14783#discussion_r4371498807', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-25T10:40:34.817160 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'created', 'id': 14948, 'hash': 'c36fdcf8b3ce40a218197731a496748384789ee1', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14948#discussion_r4370539017', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-25T09:48:21.662774 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'created', 'id': 14948, 'hash': '56cae13e30a840ca44b9b1ef3e1a07ca384a3a1f', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14948#discussion_r4370388099', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-25T06:56:00.505347 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14814, 'hash': 'ac62f6b970cf94bc0d258eb2c6288b98c84cf991', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14814#discussion_r4369958773', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-25T06:48:31.315852 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14948, 'hash': '56cae13e30a840ca44b9b1ef3e1a07ca384a3a1f', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14948#discussion_r4369940585', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-25T03:13:40.528289 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'TellowKrinkle', 'action': 'created', 'id': 14916, 'hash': '62fc846755d4692168a26a707c7784e6198f641a', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14916#discussion_r4369488423', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-10-24T23:15:58.977889 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'created', 'id': 14916, 'hash': 'b11980be86d8190c13f6eb3080ebfa3439f2cced', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14916#discussion_r4368896741', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-10-24T21:45:02.981260 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'edited', 'id': 14916, 'hash': 'f73d74c913d5d4d355e4d30ced3468d6fbd95aaf', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14916#discussion_r4368624146', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-24T21:44:49.062848 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14916, 'hash': 'f73d74c913d5d4d355e4d30ced3468d6fbd95aaf', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14916#discussion_r4368624146', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-10-24T20:59:58.611882 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'edited', 'id': 14916, 'hash': 'f73d74c913d5d4d355e4d30ced3468d6fbd95aaf', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14916#discussion_r4368381953', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-24T20:52:54.225898 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'edited', 'id': 14916, 'hash': 'f73d74c913d5d4d355e4d30ced3468d6fbd95aaf', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14916#discussion_r4368381953', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-24T20:34:48.952423 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'created', 'id': 14930, 'hash': 'f8f56af138002dab72c799f8f4a559fbc62c98f1', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14930#discussion_r4368396907', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-10-24T20:34:48.757114 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'created', 'id': 14930, 'hash': 'f8f56af138002dab72c799f8f4a559fbc62c98f1', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14930#discussion_r4368428931', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-10-24T20:32:32.264537 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'edited', 'id': 14916, 'hash': 'f73d74c913d5d4d355e4d30ced3468d6fbd95aaf', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14916#discussion_r4368381953', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-24T20:15:12.808103 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'created', 'id': 14916, 'hash': 'f73d74c913d5d4d355e4d30ced3468d6fbd95aaf', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14916#discussion_r4368381953', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-10-24T20:01:39.700784 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'TellowKrinkle', 'action': 'created', 'id': 14916, 'hash': 'f73d74c913d5d4d355e4d30ced3468d6fbd95aaf', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14916#discussion_r4368342867', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-24T19:55:56.396442 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14933, 'hash': '0131aeac20cce68676a52d25d07b5e2bede40261', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14933#discussion_r4368324745', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-10-24T19:29:08.013308 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14933, 'hash': '0131aeac20cce68676a52d25d07b5e2bede40261', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14933#discussion_r4368234452', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-24T19:10:55.910430 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'created', 'id': 14933, 'hash': '0131aeac20cce68676a52d25d07b5e2bede40261', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14933#discussion_r4368168505', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-10-24T19:10:55.733308 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'created', 'id': 14933, 'hash': '0131aeac20cce68676a52d25d07b5e2bede40261', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14933#discussion_r4368150177', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-10-24T19:10:55.532051 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'created', 'id': 14933, 'hash': '0131aeac20cce68676a52d25d07b5e2bede40261', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14933#discussion_r4368165883', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-10-24T18:21:42.188474 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Sintendo', 'action': 'created', 'id': 14943, 'hash': 'f22dd8677ff402e8e79a796a9355e6c5955fe1fd', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14943#discussion_r4368046696', 'is_part_of_review': True, 'type': 'gh_pull_request_comment'}
2026-10-24T18:21:03.254981 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Dentomologist', 'action': 'created', 'id': 14946, 'hash': '5ef181ba4dffd6d3d5de47d90de0c22f02657215', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14946#discussion_r4368044822', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
2026-10-24T17:37:19.770859 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'created', 'id': 14946, 'hash': '5ef181ba4dffd6d3d5de47d90de0c22f02657215', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14946#discussion_r4367919863', 'is_part_of_review': False, 'type': 'gh_pull_request_comment'}
Recent 'gh_pull_request_review' events
2026-10-25T23:12:00.931371 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14948, 'pr_title': 'CMake: Only trim flags on MSVC, be a little more selective of what to remove', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14948#pullrequestreview-5645824275', 'comments': [{'id': 4372879923, 'node_id': 'PRRC_kwDOALCn2M8AAAABBKTaMw', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4372879923', 'pull_request_review_id': 5645824275, 'diff_hunk': '@@ -1,17 +1,30 @@\n function(dolphin_disable_warnings target)\n- get_target_property(target_flags ${target} COMPILE_OPTIONS)\n- set(new_flags)\n- foreach(flag IN LISTS target_flags)\n- # all warning flags start with "/W" or "/w" or "-W" or "-w"\n- if (NOT flag MATCHES "^[-/][Ww]")\n- list(APPEND new_flags "${flag}")\n- endif()\n- endforeach()\n- set_target_properties(${target} PROPERTIES COMPILE_OPTIONS "${new_flags}")\n+ if(MSVC)\n+ # MSVC warns with D9025 if multiple contradicting warning flags co-exist\n+ get_target_property(target_flags ${target} COMPILE_OPTIONS)\n+ if(target_flags)\n+ # This should match /external:W0, /Wall, /w, /wd4326, /Wv:17, but not /Work\n+ set(warn_re "/(external:)?[Ww](([0-4Xvdeo]|all)[0-9:-]*)?")\n+ # This should match /W4 in $<$<CONFIG:Debug>:/W4>, only /W4 in $<IF:$<CONFIG:Debug>,/F,/W4>, nothing in $<$<CONFIG:Debug>:/I:C:/Work>\n+ set(expres_re "(,|>:)(${warn_re})([,>])")\n+ set(new_flags)\n+ foreach(flag IN LISTS target_flags)\n+ if("${flag}" MATCHES "^${warn_re}$")\n+ continue()\n+ endif()\n+\n+ if("${flag}" MATCHES "^\\\\$<")\n+ while("${flag}" MATCHES "${expres_re}")\n+ string(REGEX REPLACE "${expres_re}" "\\\\1\\\\${CMAKE_MATCH_COUNT}" flag "${flag}")', 'path': 'CMake/DolphinDisableWarnings.cmake', 'position': 27, 'original_position': 27, 'commit_id': 'b3b5f02be632541fa6939c75dedc2dc20c356f87', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': '```suggestion\n string(REGEX REPLACE "${expres_re}" "\\\\1\\\\3" flag "${flag}")\n```\nI suppose you could also remove the inner-most parens in `express_re` and use `\\\\2` ?\nOr is there a reason you used `CMAKE_MATCH_COUNT` ?', 'created_at': '2026-10-25T23:11:57Z', 'updated_at': '2026-10-25T23:11:57Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14948#discussion_r4372879923', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4372879923'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14948#discussion_r4372879923'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948'}}, 'original_commit_id': 'b3b5f02be632541fa6939c75dedc2dc20c356f87', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4372879923/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-10-25T16:21:26.704874 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'submitted', 'pr_id': 14783, 'pr_title': 'Remove unused includes', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14783#pullrequestreview-5644109232', 'comments': [{'id': 4371498807, 'node_id': 'PRRC_kwDOALCn2M8AAAABBI_HNw', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4371498807', 'pull_request_review_id': 5644109232, 'diff_hunk': '@@ -4,7 +4,6 @@\n #include "VideoCommon/AbstractStagingTexture.h"\n \n #include <algorithm>\n-#include <cstring>', 'path': 'Source/Core/VideoCommon/AbstractStagingTexture.cpp', 'position': 4, 'original_position': 4, 'commit_id': '46bc6735c24535c4f35da715199e7093a3045613', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'This header is not unused:\n\n```\nFAILED: [code=1] Source/Core/VideoCommon/CMakeFiles/videocommon.dir/AbstractStagingTexture.cpp.o \n/usr/sbin/ccache /usr/sbin/g++ -DAUTOUPDATE=1 -DDATA_DIR=\\"/usr/local/share/dolphin-emu/\\" -DGLSLANG_IS_SHARED_LIBRARY=1 -DHAS_OPENGL -DHAS_VULKAN -DHAVE_CPPIPC -DHAVE_EGL=1 -DHAVE_FFMPEG -DHAVE_LIBEVDEV=1 -DHAVE_LIBSYSTEMD -DHAVE_LIBUDEV=1 -DHAVE_SDL3 -DHAVE_X11=1 -DHAVE_XRANDR=1 -DIMGUI_USER_CONFIG=\\"imgui_user_config.h\\" -DRC_CLIENT_SUPPORTS_HASH -DTINYGLTF_NOEXCEPTION -DTINYGLTF_NO_EXTERNAL_IMAGE -DTINYGLTF_USE_CPP14 -DUSE_ANALYTICS=1 -DUSE_MEMORYWATCHER=1 -DUSE_PIPES=1 -DUSE_RETRO_ACHIEVEMENTS -DUSE_UPNP -D_ARCH_64=1 -D_DEFAULT_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_M_X86_64=1 -D__LIBUSB__ -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -I/dolphin/Source/Core -I/dolphin/Externals/discord-rpc/include -I/dolphin/Externals/picojson -I/build/Source/Core -I/dolphin/Externals/mbedtls/include -I/dolphin/Externals/expr/include -I/dolphin/Externals/rcheevos -I/dolphin/Externals/imgui -I/dolphin/Externals/imgui/imgui -I/dolphin/Externals/implot/implot -I/dolphin/Externals/tinygltf -isystem /usr/include/minizip-ng -isystem /usr/include/libusb-1.0 -isystem /usr/include/hidapi -O3 -DNDEBUG -std=c++23 -I/usr/include -msse2 -fdiagnostics-color -fno-strict-aliasing -fno-exceptions -fvisibility-inlines-hidden -fvisibility=hidden -fomit-frame-pointer -Wall -Wtype-limits -Wsign-compare -Wignored-qualifiers -Wuninitialized -Wlogical-op -Wshadow -Winit-self -Wmissing-declarations -Wimplicit-fallthrough -Wno-stringop-truncation -Werror=format -Wno-trigraphs -DWITH_GZFILEOP -MD -MT Source/Core/VideoCommon/CMakeFiles/videocommon.dir/AbstractStagingTexture.cpp.o -MF Source/Core/VideoCommon/CMakeFiles/videocommon.dir/AbstractStagingTexture.cpp.o.d -o Source/Core/VideoCommon/CMakeFiles/videocommon.dir/AbstractStagingTexture.cpp.o -c /dolphin/Source/Core/VideoCommon/AbstractStagingTexture.cpp\n/dolphin/Source/Core/VideoCommon/AbstractStagingTexture.cpp: In member function ‘void AbstractStagingTexture::ReadTexels(const MathUtil::Rectangle<int>&, void*, u32)’:\n/dolphin/Source/Core/VideoCommon/AbstractStagingTexture.cpp:52:10: error: ‘memcpy’ is not a member of ‘std’; did you mean ‘wmemcpy’?\n 52 | std::memcpy(out_ptr, current_ptr, m_map_stride * rect.GetHeight());\n | ^~~~~~\n | wmemcpy\n/dolphin/Source/Core/VideoCommon/AbstractStagingTexture.cpp:61:10: error: ‘memcpy’ is not a member of ‘std’; did you mean ‘wmemcpy’?\n 61 | std::memcpy(dst_ptr, current_ptr, copy_size);\n | ^~~~~~\n | wmemcpy\n/dolphin/Source/Core/VideoCommon/AbstractStagingTexture.cpp: In member function ‘void AbstractStagingTexture::ReadTexel(u32, u32, void*)’:\n/dolphin/Source/Core/VideoCommon/AbstractStagingTexture.cpp:75:8: error: ‘memcpy’ is not a member of ‘std’; did you mean ‘wmemcpy’?\n 75 | std::memcpy(out_ptr, src_ptr, m_texel_size);\n | ^~~~~~\n | wmemcpy\n/dolphin/Source/Core/VideoCommon/AbstractStagingTexture.cpp: In member function ‘void AbstractStagingTexture::WriteTexels(const MathUtil::Rectangle<int>&, const void*, u32)’:\n/dolphin/Source/Core/VideoCommon/AbstractStagingTexture.cpp:96:10: error: ‘memcpy’ is not a member of ‘std’; did you mean ‘wmemcpy’?\n 96 | std::memcpy(current_ptr, in_ptr, m_map_stride * rect.GetHeight());\n | ^~~~~~\n | wmemcpy\n/dolphin/Source/Core/VideoCommon/AbstractStagingTexture.cpp:105:10: error: ‘memcpy’ is not a member of ‘std’; did you mean ‘wmemcpy’?\n 105 | std::memcpy(current_ptr, src_ptr, copy_size);\n | ^~~~~~\n | wmemcpy\n/dolphin/Source/Core/VideoCommon/AbstractStagingTexture.cpp: In member function ‘void AbstractStagingTexture::WriteTexel(u32, u32, const void*)’:\n/dolphin/Source/Core/VideoCommon/AbstractStagingTexture.cpp:119:8: error: ‘memcpy’ is not a member of ‘std’; did you mean ‘wmemcpy’?\n 119 | std::memcpy(dest_ptr, in_ptr, m_texel_size);\n | ^~~~~~\n | wmemcpy\n```', 'created_at': '2026-10-25T16:21:24Z', 'updated_at': '2026-10-25T16:21:24Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14783#discussion_r4371498807', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14783', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4371498807'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14783#discussion_r4371498807'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14783'}}, 'original_commit_id': '46bc6735c24535c4f35da715199e7093a3045613', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4371498807/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-10-25T12:40:27.579141 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'AdmiralCurtiss', 'action': 'submitted', 'pr_id': 14939, 'pr_title': 'PPCAnalyst: Avoid using strncmp', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14939#pullrequestreview-5643234695', 'comments': [], 'type': 'gh_pull_request_review'}
2026-10-25T11:43:57.817752 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JosJuice', 'action': 'submitted', 'pr_id': 14939, 'pr_title': 'PPCAnalyst: Avoid using strncmp', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14939#pullrequestreview-5643038432', 'comments': [], 'type': 'gh_pull_request_review'}
2026-10-25T11:05:24.781503 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'submitted', 'pr_id': 14951, 'pr_title': 'Core/TimePlayed: Decouple the TimePlayed tracker thread from CPUManager.', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14951#pullrequestreview-5642856202', 'comments': [], 'type': 'gh_pull_request_review'}
2026-10-25T10:44:23.236917 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'submitted', 'pr_id': 14952, 'pr_title': 'Common/Thread: Remove some unused things.', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14952#pullrequestreview-5642787977', 'comments': [], 'type': 'gh_pull_request_review'}
2026-10-25T10:40:34.815644 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'submitted', 'pr_id': 14948, 'pr_title': 'CMake: Only trim flags on MSVC, be a little more selective of what to remove', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14948#pullrequestreview-5642777631', 'comments': [{'id': 4370539017, 'node_id': 'PRRC_kwDOALCn2M8AAAABBIEiCQ', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4370539017', 'pull_request_review_id': 5642777631, 'diff_hunk': '@@ -1,17 +1,19 @@\n function(dolphin_disable_warnings target)\n- get_target_property(target_flags ${target} COMPILE_OPTIONS)\n- set(new_flags)\n- foreach(flag IN LISTS target_flags)\n- # all warning flags start with "/W" or "/w" or "-W" or "-w"\n- if (NOT flag MATCHES "^[-/][Ww]")\n- list(APPEND new_flags "${flag}")\n+ if(MSVC)\n+ # MSVC warns with D9025 if multiple contradicting warning flags co-exist\n+ get_target_property(target_flags ${target} COMPILE_OPTIONS)\n+ if(target_flags)\n+ set(new_flags)\n+ foreach(flag IN LISTS target_flags)\n+ # This should match /external:W0, /Wall, $<IF:$<CONFIG:Debug>,/W0,/W4>, but not $<IF:$<CONFIG:Debug>,/I:C:/Users/will,/I:C:/Workspace2>', 'path': 'CMake/DolphinDisableWarnings.cmake', 'position': 1, 'original_position': 14, 'commit_id': 'c36fdcf8b3ce40a218197731a496748384789ee1', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "I decided to implement it anyways, I wouldn't want this to cause a build failure headache in the future", 'created_at': '2026-10-25T10:40:32Z', 'updated_at': '2026-10-25T10:40:32Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14948#discussion_r4370539017', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4370539017'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14948#discussion_r4370539017'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948'}}, 'original_commit_id': '56cae13e30a840ca44b9b1ef3e1a07ca384a3a1f', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4370539017/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4369940585, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-10-25T09:48:21.392196 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'submitted', 'pr_id': 14948, 'pr_title': 'CMake: Only trim flags on MSVC, be a little more selective of what to remove', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14948#pullrequestreview-5642592292', 'comments': [{'id': 4370388099, 'node_id': 'PRRC_kwDOALCn2M8AAAABBH7Ugw', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4370388099', 'pull_request_review_id': 5642592292, 'diff_hunk': '@@ -1,17 +1,19 @@\n function(dolphin_disable_warnings target)\n- get_target_property(target_flags ${target} COMPILE_OPTIONS)\n- set(new_flags)\n- foreach(flag IN LISTS target_flags)\n- # all warning flags start with "/W" or "/w" or "-W" or "-w"\n- if (NOT flag MATCHES "^[-/][Ww]")\n- list(APPEND new_flags "${flag}")\n+ if(MSVC)\n+ # MSVC warns with D9025 if multiple contradicting warning flags co-exist\n+ get_target_property(target_flags ${target} COMPILE_OPTIONS)\n+ if(target_flags)\n+ set(new_flags)\n+ foreach(flag IN LISTS target_flags)\n+ # This should match /external:W0, /Wall, $<IF:$<CONFIG:Debug>,/W0,/W4>, but not $<IF:$<CONFIG:Debug>,/I:C:/Users/will,/I:C:/Workspace2>', 'path': 'CMake/DolphinDisableWarnings.cmake', 'position': 14, 'original_position': 14, 'commit_id': '56cae13e30a840ca44b9b1ef3e1a07ca384a3a1f', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "It would indeed remove the entire generator expression, but I can't think of any reason why such an expression would exist. Adding a way to parse conditional generator expressions for this edge case is probably a lot of work for something that will never happen, it might be worth a comment though.", 'created_at': '2026-10-25T09:48:19Z', 'updated_at': '2026-10-25T09:48:19Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14948#discussion_r4370388099', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4370388099'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14948#discussion_r4370388099'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948'}}, 'original_commit_id': '56cae13e30a840ca44b9b1ef3e1a07ca384a3a1f', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4370388099/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4369940585, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-10-25T06:56:00.502483 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14814, 'pr_title': 'GameSettings + RA Whitelist: Add 60fps and 16:9 Aspect Ratio codes for Star Fox Assault', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14814#pullrequestreview-5641947242', 'comments': [{'id': 4369958773, 'node_id': 'PRRC_kwDOALCn2M8AAAABBHhHdQ', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4369958773', 'pull_request_review_id': 5641947242, 'diff_hunk': '@@ -91,5 +91,32 @@ C218068C 00000003\n C2220000 EC5100B2\n D0440000 00000000\n \n+[Gecko]\n+$16:9 Aspect Ratio\n+C2018400 00000002\n+1C000004 7C031670\n+60000000 00000000\n+C2018410 00000002\n+1C000004 7C031670\n+60000000 00000000\n+C21804A8 00000002\n+C3A2BCE0 EC441024\n+EC420772 00000000\n+$60 FPS\n+00385AF7 0000003C\n+C2071124 00000005\n+9421FFF0 BF810008\n+3FE08000 3FC04000\n+93DF1550 C01F1550\n+BB810008 38210010\n+60000000 00000000\n+C2073EE8 00000002\n+3D808000 C00C1550\n+60000000 00000000\n+\n [AR_RetroAchievements_Verified]\n $16:9 Widescreen [gamemasterplc]\n+\n+[Gecko_RetroAchievements_Verified]\n+$16:9 Aspect Ratio\n+$60 FPS', 'path': 'Data/Sys/GameSettings/GF7E01.ini', 'position': 32, 'original_position': 32, 'commit_id': 'ac62f6b970cf94bc0d258eb2c6288b98c84cf991', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'Please have a newline character at the end of this file.\nAlso, this PR needs a rebase.', 'created_at': '2026-10-25T06:55:57Z', 'updated_at': '2026-10-25T06:55:57Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14814#discussion_r4369958773', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14814', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4369958773'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14814#discussion_r4369958773'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14814'}}, 'original_commit_id': 'ac62f6b970cf94bc0d258eb2c6288b98c84cf991', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4369958773/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-10-25T06:48:31.249686 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14948, 'pr_title': 'CMake: Only trim flags on MSVC, be a little more selective of what to remove', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14948#pullrequestreview-5641908837', 'comments': [{'id': 4369940585, 'node_id': 'PRRC_kwDOALCn2M8AAAABBHgAaQ', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4369940585', 'pull_request_review_id': 5641908837, 'diff_hunk': '@@ -1,17 +1,19 @@\n function(dolphin_disable_warnings target)\n- get_target_property(target_flags ${target} COMPILE_OPTIONS)\n- set(new_flags)\n- foreach(flag IN LISTS target_flags)\n- # all warning flags start with "/W" or "/w" or "-W" or "-w"\n- if (NOT flag MATCHES "^[-/][Ww]")\n- list(APPEND new_flags "${flag}")\n+ if(MSVC)\n+ # MSVC warns with D9025 if multiple contradicting warning flags co-exist\n+ get_target_property(target_flags ${target} COMPILE_OPTIONS)\n+ if(target_flags)\n+ set(new_flags)\n+ foreach(flag IN LISTS target_flags)\n+ # This should match /external:W0, /Wall, $<IF:$<CONFIG:Debug>,/W0,/W4>, but not $<IF:$<CONFIG:Debug>,/I:C:/Users/will,/I:C:/Workspace2>', 'path': 'CMake/DolphinDisableWarnings.cmake', 'position': 14, 'original_position': 14, 'commit_id': '56cae13e30a840ca44b9b1ef3e1a07ca384a3a1f', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "I think this logic would break if one of these `$<IF` clauses included both warning flags and non-warning flags? e.g. `<IF:$<CONFIG:Debug>,/W0,/I:C:/necessary-thing>`\nBut maybe that doesn't happen so much?", 'created_at': '2026-10-25T06:48:28Z', 'updated_at': '2026-10-25T06:48:28Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14948#discussion_r4369940585', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4369940585'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14948#discussion_r4369940585'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948'}}, 'original_commit_id': '56cae13e30a840ca44b9b1ef3e1a07ca384a3a1f', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4369940585/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-10-25T03:13:39.964840 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'TellowKrinkle', 'action': 'submitted', 'pr_id': 14916, 'pr_title': 'VideoBackends / VideoCommon: split draw calls into separate commit and render functions', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14916#pullrequestreview-5641309571', 'comments': [{'id': 4369488423, 'node_id': 'PRRC_kwDOALCn2M8AAAABBHEaJw', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4369488423', 'pull_request_review_id': 5641309571, 'diff_hunk': '@@ -1048,38 +1035,54 @@ void VertexManagerBase::OnEndFrame()\n InvalidatePipelineObject();\n }\n \n-void VertexManagerBase::NotifyCustomShaderCacheOfHostChange(const ShaderHostConfig& host_config)\n+void VertexManagerBase::ProcessEmulatedMesh(\n+ PixelShaderManager& pixel_shader_manager, GeometryShaderManager& geometry_shader_manager,\n+ const AbstractPipeline* pipeline, std::span<const SubmittedSampledTexture> sampled_textures)\n {\n- m_custom_shader_cache->SetHostConfig(host_config);\n- m_custom_shader_cache->Reload();\n+ geometry_shader_manager.SetConstants(m_current_primitive_type);\n+ pixel_shader_manager.SetConstants();\n+\n+ const u32 vertex_stride = VertexLoaderManager::GetCurrentVertexFormat()->GetVertexStride();\n+ const u32 index_size = m_index_generator.GetIndexLen();\n+\n+ u32 base_vertex, base_index;\n+ CommitBuffer(m_index_generator.GetNumVerts(), vertex_stride, index_size, &base_vertex,\n+ &base_index);\n+\n+ SubmittedDrawCallData draw_call_data;\n+ draw_call_data.pipeline = pipeline;\n+ draw_call_data.frame_buffer = g_gfx->GetCurrentFramebuffer();\n+ draw_call_data.base_index = base_index;\n+ draw_call_data.base_vertex = base_vertex;\n+ draw_call_data.index_size = index_size;\n+ draw_call_data.vertex_stride = vertex_stride;\n+ draw_call_data.primitive_type = m_current_primitive_type;\n+ for (const SubmittedSampledTexture& texture : sampled_textures)\n+ draw_call_data.textures.emplace_back(texture);\n+\n+ DrawSubmittedDrawData(g_framebuffer_manager.get(), draw_call_data);\n }\n \n-void VertexManagerBase::RenderDrawCall(\n- PixelShaderManager& pixel_shader_manager, GeometryShaderManager& geometry_shader_manager,\n- const CustomPixelShaderContents& custom_pixel_shader_contents,\n- std::span<u8> custom_pixel_shader_uniforms, PrimitiveType primitive_type,\n- const AbstractPipeline* current_pipeline)\n+void VertexManagerBase::DrawSubmittedDrawData(FramebufferManager* /*framebuffer_manager*/,\n+ const SubmittedDrawCallData& draw_call_data)\n {\n+ BindCommittedBuffer(draw_call_data.vertex_stride);', 'path': 'Source/Core/VideoCommon/VertexManagerBase.cpp', 'position': 104, 'original_position': 156, 'commit_id': '62fc846755d4692168a26a707c7784e6198f641a', 'user': {'login': 'TellowKrinkle', 'id': 3315070, 'node_id': 'MDQ6VXNlcjMzMTUwNzA=', 'avatar_url': 'https://avatars.githubusercontent.com/u/3315070?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/TellowKrinkle', 'html_url': 'https://github.com/TellowKrinkle', 'followers_url': 'https://api.github.com/users/TellowKrinkle/followers', 'following_url': 'https://api.github.com/users/TellowKrinkle/following{/other_user}', 'gists_url': 'https://api.github.com/users/TellowKrinkle/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/TellowKrinkle/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/TellowKrinkle/subscriptions', 'organizations_url': 'https://api.github.com/users/TellowKrinkle/orgs', 'repos_url': 'https://api.github.com/users/TellowKrinkle/repos', 'events_url': 'https://api.github.com/users/TellowKrinkle/events{/privacy}', 'received_events_url': 'https://api.github.com/users/TellowKrinkle/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "This change by itself is fine, but note that the Metal renderer currently assumes that allocating on the vertex buffer can invalidate all previous allocations, so if you're doing anything that doesn't work with that, you're going to need to make changes.", 'created_at': '2026-10-25T03:13:37Z', 'updated_at': '2026-10-25T03:13:38Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14916#discussion_r4369488423', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14916', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4369488423'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14916#discussion_r4369488423'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14916'}}, 'original_commit_id': 'f249c9cbff67f60a5ca30cc2a3576a07cf232ea8', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4369488423/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4180887289, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-10-24T23:15:58.797578 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'submitted', 'pr_id': 14916, 'pr_title': 'VideoBackends / VideoCommon: split draw calls into separate commit and render functions', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14916#pullrequestreview-5640548430', 'comments': [{'id': 4368896741, 'node_id': 'PRRC_kwDOALCn2M8AAAABBGgS5Q', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368896741', 'pull_request_review_id': 5640548430, 'diff_hunk': '@@ -1048,38 +1035,54 @@ void VertexManagerBase::OnEndFrame()\n InvalidatePipelineObject();\n }\n \n-void VertexManagerBase::NotifyCustomShaderCacheOfHostChange(const ShaderHostConfig& host_config)\n+void VertexManagerBase::ProcessEmulatedMesh(\n+ PixelShaderManager& pixel_shader_manager, GeometryShaderManager& geometry_shader_manager,\n+ const AbstractPipeline* pipeline, std::span<const SubmittedSampledTexture> sampled_textures)\n {\n- m_custom_shader_cache->SetHostConfig(host_config);\n- m_custom_shader_cache->Reload();\n+ geometry_shader_manager.SetConstants(m_current_primitive_type);\n+ pixel_shader_manager.SetConstants();\n+\n+ const u32 vertex_stride = VertexLoaderManager::GetCurrentVertexFormat()->GetVertexStride();\n+ const u32 index_size = m_index_generator.GetIndexLen();\n+\n+ u32 base_vertex, base_index;\n+ CommitBuffer(m_index_generator.GetNumVerts(), vertex_stride, index_size, &base_vertex,\n+ &base_index);\n+\n+ SubmittedDrawCallData draw_call_data;\n+ draw_call_data.pipeline = pipeline;\n+ draw_call_data.frame_buffer = g_gfx->GetCurrentFramebuffer();\n+ draw_call_data.base_index = base_index;\n+ draw_call_data.base_vertex = base_vertex;\n+ draw_call_data.index_size = index_size;\n+ draw_call_data.vertex_stride = vertex_stride;\n+ draw_call_data.primitive_type = m_current_primitive_type;\n+ for (const SubmittedSampledTexture& texture : sampled_textures)\n+ draw_call_data.textures.emplace_back(texture);\n+\n+ DrawSubmittedDrawData(g_framebuffer_manager.get(), draw_call_data);\n }\n \n-void VertexManagerBase::RenderDrawCall(\n- PixelShaderManager& pixel_shader_manager, GeometryShaderManager& geometry_shader_manager,\n- const CustomPixelShaderContents& custom_pixel_shader_contents,\n- std::span<u8> custom_pixel_shader_uniforms, PrimitiveType primitive_type,\n- const AbstractPipeline* current_pipeline)\n+void VertexManagerBase::DrawSubmittedDrawData(FramebufferManager* /*framebuffer_manager*/,\n+ const SubmittedDrawCallData& draw_call_data)\n {\n+ BindCommittedBuffer(draw_call_data.vertex_stride);', 'path': 'Source/Core/VideoCommon/VertexManagerBase.cpp', 'position': 104, 'original_position': 156, 'commit_id': 'b11980be86d8190c13f6eb3080ebfa3439f2cced', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "I split out the binding per backend, it turns out with a separate change I will need the ability to bind the draw independently.\r\n\r\nMetal is Metal. Tellow or someone with the ability to test/compile mac stuff will likely have to make changes to support my feature if/when it lands as the current change won't work for it.", 'created_at': '2026-10-24T23:15:56Z', 'updated_at': '2026-10-24T23:15:57Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14916#discussion_r4368896741', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14916', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368896741'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14916#discussion_r4368896741'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14916'}}, 'original_commit_id': 'f249c9cbff67f60a5ca30cc2a3576a07cf232ea8', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368896741/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4180887289, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-10-24T21:44:56.155401 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14916, 'pr_title': 'VideoBackends / VideoCommon: split draw calls into separate commit and render functions', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14916#pullrequestreview-5640145686', 'comments': [{'id': 4368624146, 'node_id': 'PRRC_kwDOALCn2M8AAAABBGPqEg', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368624146', 'pull_request_review_id': 5640145686, 'diff_hunk': '@@ -1048,38 +1035,54 @@ void VertexManagerBase::OnEndFrame()\n InvalidatePipelineObject();\n }\n \n-void VertexManagerBase::NotifyCustomShaderCacheOfHostChange(const ShaderHostConfig& host_config)\n+void VertexManagerBase::ProcessEmulatedMesh(\n+ PixelShaderManager& pixel_shader_manager, GeometryShaderManager& geometry_shader_manager,\n+ const AbstractPipeline* pipeline, std::span<const SubmittedSampledTexture> sampled_textures)\n {\n- m_custom_shader_cache->SetHostConfig(host_config);\n- m_custom_shader_cache->Reload();\n+ geometry_shader_manager.SetConstants(m_current_primitive_type);\n+ pixel_shader_manager.SetConstants();\n+\n+ const u32 vertex_stride = VertexLoaderManager::GetCurrentVertexFormat()->GetVertexStride();\n+ const u32 index_size = m_index_generator.GetIndexLen();\n+\n+ u32 base_vertex, base_index;\n+ CommitBuffer(m_index_generator.GetNumVerts(), vertex_stride, index_size, &base_vertex,\n+ &base_index);\n+\n+ SubmittedDrawCallData draw_call_data;\n+ draw_call_data.pipeline = pipeline;\n+ draw_call_data.frame_buffer = g_gfx->GetCurrentFramebuffer();\n+ draw_call_data.base_index = base_index;\n+ draw_call_data.base_vertex = base_vertex;\n+ draw_call_data.index_size = index_size;\n+ draw_call_data.vertex_stride = vertex_stride;\n+ draw_call_data.primitive_type = m_current_primitive_type;\n+ for (const SubmittedSampledTexture& texture : sampled_textures)\n+ draw_call_data.textures.emplace_back(texture);\n+\n+ DrawSubmittedDrawData(g_framebuffer_manager.get(), draw_call_data);\n }\n \n-void VertexManagerBase::RenderDrawCall(\n- PixelShaderManager& pixel_shader_manager, GeometryShaderManager& geometry_shader_manager,\n- const CustomPixelShaderContents& custom_pixel_shader_contents,\n- std::span<u8> custom_pixel_shader_uniforms, PrimitiveType primitive_type,\n- const AbstractPipeline* current_pipeline)\n+void VertexManagerBase::DrawSubmittedDrawData(FramebufferManager* /*framebuffer_manager*/,\n+ const SubmittedDrawCallData& draw_call_data)\n {\n+ BindCommittedBuffer(draw_call_data.vertex_stride);', 'path': 'Source/Core/VideoCommon/VertexManagerBase.cpp', 'position': 104, 'original_position': 156, 'commit_id': 'f73d74c913d5d4d355e4d30ced3468d6fbd95aaf', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "I still feel like the exposed parameter is weird but I really don't know enough about the graphics code to understand the implications of having VertexManager internally store the stride value. Does @TellowKrinkle think it's fine? :P", 'created_at': '2026-10-24T21:44:46Z', 'updated_at': '2026-10-24T21:44:47Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14916#discussion_r4368624146', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14916', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368624146'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14916#discussion_r4368624146'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14916'}}, 'original_commit_id': 'f249c9cbff67f60a5ca30cc2a3576a07cf232ea8', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368624146/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4180887289, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-10-24T21:40:00.576429 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'submitted', 'pr_id': 14941, 'pr_title': 'DolphinQt: Fix crash from stale timer event in ToolTipWidget', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14941#pullrequestreview-5640130890', 'comments': [], 'type': 'gh_pull_request_review'}
2026-10-24T21:15:03.675364 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14704, 'pr_title': 'MathUtil: C++20/23 modernisations', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14704#pullrequestreview-5640059649', 'comments': [], 'type': 'gh_pull_request_review'}
2026-10-24T20:51:35.965377 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'submitted', 'pr_id': 14930, 'pr_title': 'IOS/DolphinDevice: Enable some requests with WantsDeterminism rather than disabling them all.', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14930#pullrequestreview-5639967275', 'comments': [], 'type': 'gh_pull_request_review'}
2026-10-24T20:44:58.498180 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'submitted', 'pr_id': 14949, 'pr_title': 'UnitTests: Use `gtest_discover_tests` in CMakeLists to make CTest aware of individual tests.', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14949#pullrequestreview-5639928291', 'comments': [], 'type': 'gh_pull_request_review'}
2026-10-24T20:34:50.665033 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'submitted', 'pr_id': 14930, 'pr_title': 'IOS/DolphinDevice: Enable some requests with WantsDeterminism rather than disabling them all.', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14930#pullrequestreview-5639805550', 'comments': [{'id': 4368396907, 'node_id': 'PRRC_kwDOALCn2M8AAAABBGByaw', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368396907', 'pull_request_review_id': 5639805550, 'diff_hunk': '@@ -38,6 +38,19 @@ enum\n \n };\n \n+bool IsDeterministicRequest(int request)\n+{\n+ switch (request)\n+ {\n+ case IOCTL_DOLPHIN_GET_VERSION:\n+ case IOCTL_DOLPHIN_SET_SPEED_LIMIT:', 'path': 'Source/Core/Core/IOS/DolphinDevice.cpp', 'position': 9, 'original_position': 9, 'commit_id': 'f8f56af138002dab72c799f8f4a559fbc62c98f1', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "`NetPlayClient.cpp` sets the emulation speed to 1/0 on pad polls, so this most likely will get instantly overwritten. I don't think this is really an issue for determinism, but it's maybe worth a comment?", 'created_at': '2026-10-24T20:21:17Z', 'updated_at': '2026-10-24T20:34:46Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14930#discussion_r4368396907', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14930', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368396907'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14930#discussion_r4368396907'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14930'}}, 'original_commit_id': 'f8f56af138002dab72c799f8f4a559fbc62c98f1', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368396907/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}, {'id': 4368428931, 'node_id': 'PRRC_kwDOALCn2M8AAAABBGDvgw', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368428931', 'pull_request_review_id': 5639805550, 'diff_hunk': '@@ -38,6 +38,19 @@ enum\n \n };\n \n+bool IsDeterministicRequest(int request)\n+{\n+ switch (request)\n+ {\n+ case IOCTL_DOLPHIN_GET_VERSION:\n+ case IOCTL_DOLPHIN_SET_SPEED_LIMIT:', 'path': 'Source/Core/Core/IOS/DolphinDevice.cpp', 'position': 9, 'original_position': 9, 'commit_id': 'f8f56af138002dab72c799f8f4a559fbc62c98f1', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'I think `IOCTL_DOLPHIN_GET_CPU_SPEED` is also a safe add to this list', 'created_at': '2026-10-24T20:33:40Z', 'updated_at': '2026-10-24T20:34:46Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14930#discussion_r4368428931', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14930', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368428931'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14930#discussion_r4368428931'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14930'}}, 'original_commit_id': 'f8f56af138002dab72c799f8f4a559fbc62c98f1', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368428931/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-10-24T20:15:13.475399 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'iwubcode', 'action': 'submitted', 'pr_id': 14916, 'pr_title': 'VideoBackends / VideoCommon: split draw calls into separate commit and render functions', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14916#pullrequestreview-5639788478', 'comments': [{'id': 4368381953, 'node_id': 'PRRC_kwDOALCn2M8AAAABBGA4AQ', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368381953', 'pull_request_review_id': 5639788478, 'diff_hunk': '@@ -1048,38 +1035,54 @@ void VertexManagerBase::OnEndFrame()\n InvalidatePipelineObject();\n }\n \n-void VertexManagerBase::NotifyCustomShaderCacheOfHostChange(const ShaderHostConfig& host_config)\n+void VertexManagerBase::ProcessEmulatedMesh(\n+ PixelShaderManager& pixel_shader_manager, GeometryShaderManager& geometry_shader_manager,\n+ const AbstractPipeline* pipeline, std::span<const SubmittedSampledTexture> sampled_textures)\n {\n- m_custom_shader_cache->SetHostConfig(host_config);\n- m_custom_shader_cache->Reload();\n+ geometry_shader_manager.SetConstants(m_current_primitive_type);\n+ pixel_shader_manager.SetConstants();\n+\n+ const u32 vertex_stride = VertexLoaderManager::GetCurrentVertexFormat()->GetVertexStride();\n+ const u32 index_size = m_index_generator.GetIndexLen();\n+\n+ u32 base_vertex, base_index;\n+ CommitBuffer(m_index_generator.GetNumVerts(), vertex_stride, index_size, &base_vertex,\n+ &base_index);\n+\n+ SubmittedDrawCallData draw_call_data;\n+ draw_call_data.pipeline = pipeline;\n+ draw_call_data.frame_buffer = g_gfx->GetCurrentFramebuffer();\n+ draw_call_data.base_index = base_index;\n+ draw_call_data.base_vertex = base_vertex;\n+ draw_call_data.index_size = index_size;\n+ draw_call_data.vertex_stride = vertex_stride;\n+ draw_call_data.primitive_type = m_current_primitive_type;\n+ for (const SubmittedSampledTexture& texture : sampled_textures)\n+ draw_call_data.textures.emplace_back(texture);\n+\n+ DrawSubmittedDrawData(g_framebuffer_manager.get(), draw_call_data);\n }\n \n-void VertexManagerBase::RenderDrawCall(\n- PixelShaderManager& pixel_shader_manager, GeometryShaderManager& geometry_shader_manager,\n- const CustomPixelShaderContents& custom_pixel_shader_contents,\n- std::span<u8> custom_pixel_shader_uniforms, PrimitiveType primitive_type,\n- const AbstractPipeline* current_pipeline)\n+void VertexManagerBase::DrawSubmittedDrawData(FramebufferManager* /*framebuffer_manager*/,\n+ const SubmittedDrawCallData& draw_call_data)\n {\n+ BindCommittedBuffer(draw_call_data.vertex_stride);', 'path': 'Source/Core/VideoCommon/VertexManagerBase.cpp', 'position': 104, 'original_position': 156, 'commit_id': 'f73d74c913d5d4d355e4d30ced3468d6fbd95aaf', 'user': {'login': 'iwubcode', 'id': 15224722, 'node_id': 'MDQ6VXNlcjE1MjI0NzIy', 'avatar_url': 'https://avatars.githubusercontent.com/u/15224722?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/iwubcode', 'html_url': 'https://github.com/iwubcode', 'followers_url': 'https://api.github.com/users/iwubcode/followers', 'following_url': 'https://api.github.com/users/iwubcode/following{/other_user}', 'gists_url': 'https://api.github.com/users/iwubcode/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/iwubcode/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/iwubcode/subscriptions', 'organizations_url': 'https://api.github.com/users/iwubcode/orgs', 'repos_url': 'https://api.github.com/users/iwubcode/repos', 'events_url': 'https://api.github.com/users/iwubcode/events{/privacy}', 'received_events_url': 'https://api.github.com/users/iwubcode/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "Because I didn't really want to put things that are draw specific on the pipeline? If we're doing that on Metal/OGL that's technically wrong and may eventually bite us (I don't do a lot of testing on those backends). Right now the API of the underlying backends have stride for some backends. That's driven by the backends themselves, not our abstraction.", 'created_at': '2026-10-24T20:15:10Z', 'updated_at': '2026-10-24T20:15:11Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14916#discussion_r4368381953', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14916', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368381953'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14916#discussion_r4368381953'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14916'}}, 'original_commit_id': 'f249c9cbff67f60a5ca30cc2a3576a07cf232ea8', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368381953/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4180887289, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-10-24T20:02:24.668581 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'submitted', 'pr_id': 14940, 'pr_title': 'UnitTests: Fix CoreTiming.SharedSlot test so it can run independently.', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14940#pullrequestreview-5639746064', 'comments': [], 'type': 'gh_pull_request_review'}
2026-10-24T20:01:39.658326 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'TellowKrinkle', 'action': 'submitted', 'pr_id': 14916, 'pr_title': 'VideoBackends / VideoCommon: split draw calls into separate commit and render functions', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14916#pullrequestreview-5639742982', 'comments': [{'id': 4368342867, 'node_id': 'PRRC_kwDOALCn2M8AAAABBF-fUw', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368342867', 'pull_request_review_id': 5639742982, 'diff_hunk': '@@ -1048,38 +1035,54 @@ void VertexManagerBase::OnEndFrame()\n InvalidatePipelineObject();\n }\n \n-void VertexManagerBase::NotifyCustomShaderCacheOfHostChange(const ShaderHostConfig& host_config)\n+void VertexManagerBase::ProcessEmulatedMesh(\n+ PixelShaderManager& pixel_shader_manager, GeometryShaderManager& geometry_shader_manager,\n+ const AbstractPipeline* pipeline, std::span<const SubmittedSampledTexture> sampled_textures)\n {\n- m_custom_shader_cache->SetHostConfig(host_config);\n- m_custom_shader_cache->Reload();\n+ geometry_shader_manager.SetConstants(m_current_primitive_type);\n+ pixel_shader_manager.SetConstants();\n+\n+ const u32 vertex_stride = VertexLoaderManager::GetCurrentVertexFormat()->GetVertexStride();\n+ const u32 index_size = m_index_generator.GetIndexLen();\n+\n+ u32 base_vertex, base_index;\n+ CommitBuffer(m_index_generator.GetNumVerts(), vertex_stride, index_size, &base_vertex,\n+ &base_index);\n+\n+ SubmittedDrawCallData draw_call_data;\n+ draw_call_data.pipeline = pipeline;\n+ draw_call_data.frame_buffer = g_gfx->GetCurrentFramebuffer();\n+ draw_call_data.base_index = base_index;\n+ draw_call_data.base_vertex = base_vertex;\n+ draw_call_data.index_size = index_size;\n+ draw_call_data.vertex_stride = vertex_stride;\n+ draw_call_data.primitive_type = m_current_primitive_type;\n+ for (const SubmittedSampledTexture& texture : sampled_textures)\n+ draw_call_data.textures.emplace_back(texture);\n+\n+ DrawSubmittedDrawData(g_framebuffer_manager.get(), draw_call_data);\n }\n \n-void VertexManagerBase::RenderDrawCall(\n- PixelShaderManager& pixel_shader_manager, GeometryShaderManager& geometry_shader_manager,\n- const CustomPixelShaderContents& custom_pixel_shader_contents,\n- std::span<u8> custom_pixel_shader_uniforms, PrimitiveType primitive_type,\n- const AbstractPipeline* current_pipeline)\n+void VertexManagerBase::DrawSubmittedDrawData(FramebufferManager* /*framebuffer_manager*/,\n+ const SubmittedDrawCallData& draw_call_data)\n {\n+ BindCommittedBuffer(draw_call_data.vertex_stride);', 'path': 'Source/Core/VideoCommon/VertexManagerBase.cpp', 'position': 104, 'original_position': 156, 'commit_id': 'f73d74c913d5d4d355e4d30ced3468d6fbd95aaf', 'user': {'login': 'TellowKrinkle', 'id': 3315070, 'node_id': 'MDQ6VXNlcjMzMTUwNzA=', 'avatar_url': 'https://avatars.githubusercontent.com/u/3315070?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/TellowKrinkle', 'html_url': 'https://github.com/TellowKrinkle', 'followers_url': 'https://api.github.com/users/TellowKrinkle/followers', 'following_url': 'https://api.github.com/users/TellowKrinkle/following{/other_user}', 'gists_url': 'https://api.github.com/users/TellowKrinkle/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/TellowKrinkle/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/TellowKrinkle/subscriptions', 'organizations_url': 'https://api.github.com/users/TellowKrinkle/orgs', 'repos_url': 'https://api.github.com/users/TellowKrinkle/repos', 'events_url': 'https://api.github.com/users/TellowKrinkle/events{/privacy}', 'received_events_url': 'https://api.github.com/users/TellowKrinkle/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "Why not change the D3D backends to store stride on the pipeline object, similar to how Metal and OpenGL store some pipeline parameters in the pipeline object and bind them before drawing, even though they aren't part of the API's idea of a pipeline?", 'created_at': '2026-10-24T20:01:37Z', 'updated_at': '2026-10-24T20:01:37Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14916#discussion_r4368342867', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14916', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368342867'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14916#discussion_r4368342867'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14916'}}, 'original_commit_id': 'f249c9cbff67f60a5ca30cc2a3576a07cf232ea8', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368342867/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4180887289, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-10-24T19:55:56.148290 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14933, 'pr_title': ' Common: Rewrite HookableEvent. More features. Better behavioral guarantees. Unit tests.', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14933#pullrequestreview-5639719222', 'comments': [{'id': 4368324745, 'node_id': 'PRRC_kwDOALCn2M8AAAABBF9YiQ', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368324745', 'pull_request_review_id': 5639719222, 'diff_hunk': '@@ -43,102 +59,270 @@ using EventHook = std::unique_ptr<HookBase>;\n // my_lovely_event.Trigger("Hello world", 42);\n //\n \n-template <typename... CallbackArgs>\n-class HookableEvent\n+// A container of EventHook objects.\n+// If any held EventHook become disconnected the internal container is appropriately adjusted.\n+//\n+// HookableEvent<> event;\n+// HookHolder holder;\n+//\n+// holder.Connect(event, [&] { fmt::print("triggered 1"); });\n+//\n+// WeakEventHook hook = holder.Connect(event, [&] { fmt::print("triggered 2"); });\n+// holder.Disconnect(hook);\n+//\n+class HookHolder\n {\n-public:\n- using CallbackType = std::function<void(CallbackArgs...)>;\n+ template <typename... CallbackArgs>\n+ friend class HookableEvent;\n \n- // Returns a handle that will unregister the listener when destroyed.\n- [[nodiscard]] EventHook Register(CallbackType callback)\n+public:\n+ // Registers an EventHook that is stored internally.\n+ // Returns a WeakEventHook that can disconnect or extend the life of the hook.\n+ template <typename... CallbackArgs>\n+ WeakEventHook Connect(HookableEvent<CallbackArgs...>& event,\n+ HookableEvent<CallbackArgs...>::CallbackType callback)\n {\n- DEBUG_LOG_FMT(COMMON, "Registering event hook handler");\n- std::lock_guard lg(m_storage->listeners_mutex);\n+ std::lock_guard lk{m_mutex};', 'path': 'Source/Core/Common/HookableEvent.h', 'position': 1, 'original_position': 87, 'commit_id': '0131aeac20cce68676a52d25d07b5e2bede40261', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "Good catch. I've adjusted it to use consistent lock order.", 'created_at': '2026-10-24T19:55:53Z', 'updated_at': '2026-10-24T19:55:54Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14933#discussion_r4368324745', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14933', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368324745'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14933#discussion_r4368324745'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14933'}}, 'original_commit_id': '0131aeac20cce68676a52d25d07b5e2bede40261', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368324745/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4368165883, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
2026-10-24T19:43:26.575591 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'JoshuaVandaele', 'action': 'submitted', 'pr_id': 14916, 'pr_title': 'VideoBackends / VideoCommon: split draw calls into separate commit and render functions', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14916#pullrequestreview-5639679409', 'comments': [], 'type': 'gh_pull_request_review'}
2026-10-24T19:39:43.228286 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'Sintendo', 'action': 'submitted', 'pr_id': 14928, 'pr_title': 'VideoCommon: Add TextureDecoder_ARM64.cpp', 'state': 'approved', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14928#pullrequestreview-5639665989', 'comments': [], 'type': 'gh_pull_request_review'}
2026-10-24T19:29:08.012382 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'author': 'jordan-woyak', 'action': 'submitted', 'pr_id': 14933, 'pr_title': ' Common: Rewrite HookableEvent. More features. Better behavioral guarantees. Unit tests.', 'state': 'commented', 'url': 'https://github.com/dolphin-emu/dolphin/pull/14933#pullrequestreview-5639614001', 'comments': [{'id': 4368234452, 'node_id': 'PRRC_kwDOALCn2M8AAAABBF331A', 'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368234452', 'pull_request_review_id': 5639614001, 'diff_hunk': '@@ -43,102 +59,270 @@ using EventHook = std::unique_ptr<HookBase>;\n // my_lovely_event.Trigger("Hello world", 42);\n //\n \n-template <typename... CallbackArgs>\n-class HookableEvent\n+// A container of EventHook objects.\n+// If any held EventHook become disconnected the internal container is appropriately adjusted.\n+//\n+// HookableEvent<> event;\n+// HookHolder holder;\n+//\n+// holder.Connect(event, [&] { fmt::print("triggered 1"); });\n+//\n+// WeakEventHook hook = holder.Connect(event, [&] { fmt::print("triggered 2"); });\n+// holder.Disconnect(hook);\n+//\n+class HookHolder\n {\n-public:\n- using CallbackType = std::function<void(CallbackArgs...)>;\n+ template <typename... CallbackArgs>\n+ friend class HookableEvent;\n \n- // Returns a handle that will unregister the listener when destroyed.\n- [[nodiscard]] EventHook Register(CallbackType callback)\n+public:\n+ // Registers an EventHook that is stored internally.\n+ // Returns a WeakEventHook that can disconnect or extend the life of the hook.\n+ template <typename... CallbackArgs>\n+ WeakEventHook Connect(HookableEvent<CallbackArgs...>& event,\n+ HookableEvent<CallbackArgs...>::CallbackType callback)\n {\n- DEBUG_LOG_FMT(COMMON, "Registering event hook handler");\n- std::lock_guard lg(m_storage->listeners_mutex);\n+ std::lock_guard lk{m_mutex};\n+\n+ const auto it = m_hooks.emplace(m_hooks.end());\n+ return *it = event.AddHook(std::move(callback), this, it);\n+ }\n \n- auto& new_listener =\n- m_storage->listeners.emplace_back(std::make_unique<Listener>(std::move(callback)));\n+ // These are just convenience functions to invoke EventHook::Disconnect()\n+ void Disconnect(EventHook& conn) { conn->Disconnect(); }\n+ void Disconnect(WeakEventHook& conn)\n+ {\n+ if (auto c = conn.lock())\n+ Disconnect(c);\n+ }\n \n- return std::make_unique<HookImpl>(m_storage, new_listener.get());\n+ std::size_t GetConnectionCount() const\n+ {\n+ std::lock_guard lk{m_mutex};\n+ return m_hooks.size();\n }\n \n- // Invokes all registered callbacks.\n- // Hooks added from within a callback will be invoked.\n- // Hooks removed from within a callback will be skipped,\n- // but destruction of the hook\'s callback will be delayed until Trigger() completes.\n- void Trigger(const CallbackArgs&... args)\n+ // Disconnect all held connections regardless of externally held EventHook.\n+ void DisconnectAll()\n {\n- std::lock_guard lg(m_storage->listeners_mutex);\n- m_storage->is_triggering = true;\n+ for (std::unique_lock lk{m_mutex}; !m_hooks.empty(); lk.lock())\n+ {\n+ const EventHook hook = std::move(m_hooks.back());\n+ lk.unlock(); // Avoid deadlock from different lock orders.\n+ hook->Disconnect();\n+ }\n+ }\n \n- // Avoiding an actual iterator because the container may be modified.\n- for (std::size_t i = 0; i != m_storage->listeners.size(); ++i)\n+ // Destruction only removes internal references.\n+ // Any externally held EventHook can keep a connection alive.\n+ ~HookHolder()\n+ {\n+ for (std::unique_lock lk{m_mutex}; !m_hooks.empty(); lk.lock())\n {\n- auto& listener = m_storage->listeners[i];\n+ const EventHook hook = std::move(m_hooks.back());\n+ lk.unlock(); // Avoid deadlock from different lock orders.\n+ hook->ForgetHolder();\n+ }\n+ }\n \n- if (listener->is_pending_removal)\n- continue;\n+private:\n+ mutable std::mutex m_mutex;\n+\n+ using ConnectedHooks = std::list<EventHook>;\n+ ConnectedHooks m_hooks;\n \n- std::invoke(listener->callback, args...);\n+ void EraseHook(ConnectedHooks::iterator it)\n+ {\n+ const EventHook hook = std::move(*it);\n+ std::lock_guard lk{m_mutex};\n+ m_hooks.erase(it);\n+ }\n+};\n+\n+template <typename... CallbackArgs>\n+class HookableEvent\n+{\n+ friend HookHolder;\n+\n+public:\n+ HookableEvent() = default;\n+\n+ using CallbackType = Common::MoveOnlyFunction<void(CallbackArgs...)>;\n+\n+ [[nodiscard]] EventHook Register(HookableEvent::CallbackType callback)\n+ {\n+ return AddHook(std::move(callback));\n+ }\n+\n+ // Currently *not* allowed to cause destruction of the HookableEvent itself.\n+ void Trigger(CallbackArgs... args)\n+ {\n+ std::lock_guard lk{*m_mutex};\n+\n+ // Destruction from Trigger might be feasible if all state is moved into a `shared_ptr`.\n+ TriggerState& trigger_state = m_trigger_states.emplace_front();\n+ trigger_state.next = m_hooks.begin();\n+ trigger_state.end = m_hooks.end();\n+\n+ while (trigger_state.next != trigger_state.end)\n+ {\n+ auto& callback = (trigger_state.next++)->callback;\n+ std::invoke(callback, args...);\n }\n \n- m_storage->is_triggering = false;\n- std::erase_if(m_storage->listeners, std::mem_fn(&Listener::is_pending_removal));\n+ m_trigger_states.pop_front();\n }\n \n+ std::size_t GetConnectionCount() const\n+ {\n+ std::lock_guard lk{*m_mutex};\n+ return m_hooks.size();\n+ }\n+\n+ // Currently *not* allowed to cause destruction of the HookableEvent itself.\n+ void DisconnectAll()\n+ {\n+ std::lock_guard lk{*m_mutex};\n+\n+ while (!m_hooks.empty())\n+ m_hooks.back().hook->Disconnect();\n+ }\n+\n+ HookableEvent(HookableEvent&&) = delete;\n+ HookableEvent(const HookableEvent&) = delete;\n+ HookableEvent& operator=(HookableEvent&&) = delete;\n+ HookableEvent& operator=(const HookableEvent&) = delete;\n+\n+ ~HookableEvent() { DisconnectAll(); }\n+\n private:\n- struct Listener\n+ class Hook;\n+\n+ struct ConnectedHook\n {\n- const CallbackType callback;\n- bool is_pending_removal{};\n+ CallbackType callback;\n+ Hook* const hook;\n };\n \n- struct Storage\n+ using ConnectedHooks = std::list<ConnectedHook>;\n+ ConnectedHooks m_hooks;\n+\n+ // Member variable iterators so Add/Remove inside a Trigger call can adjust them.\n+ struct TriggerState\n {\n- std::recursive_mutex listeners_mutex;\n- std::vector<std::unique_ptr<Listener>> listeners;\n- bool is_triggering{};\n+ ConnectedHooks::iterator next;\n+ ConnectedHooks::iterator end;\n };\n \n- struct HookImpl final : HookBase\n+ // Multiple trigger states to handle recursive Trigger calls.\n+ std::forward_list<TriggerState> m_trigger_states;\n+\n+ // The mutex is shared with all connected hooks.\n+ std::shared_ptr<std::recursive_mutex> m_mutex{std::make_shared<std::recursive_mutex>()};\n+\n+ class Hook final : public HookBase\n {\n- HookImpl(std::weak_ptr<Storage> storage, Listener* listener)\n- : weak_storage{std::move(storage)}, listener_ptr{listener}\n+ friend HookableEvent;\n+\n+ public:\n+ void Disconnect() override\n {\n+ std::lock_guard lk{*m_mutex};\n+\n+ if (auto* holder = std::exchange(m_holder, nullptr))\n+ holder->EraseHook(m_holder_it);\n+\n+ // In the case of the callback itself holding the EventHook, this could be our demise.\n+ if (auto* event = std::exchange(m_event, nullptr))\n+ event->RemoveHook(m_event_it);\n }\n \n- ~HookImpl() override\n+ bool IsConnected() const override\n {\n- const auto storage = weak_storage.lock();\n- if (storage == nullptr)\n- {\n- DEBUG_LOG_FMT(COMMON, "Handler outlived event hook");\n- return;\n- }\n+ std::lock_guard lk{*m_mutex};\n+ return m_event != nullptr;\n+ }\n+\n+ ~Hook() override\n+ {\n+ std::lock_guard lk{*m_mutex};\n \n- DEBUG_LOG_FMT(COMMON, "Removing event hook handler");\n+ // Reaching the destructor is only possible if a potential Holder has already forgoten us.\n+ // We only need to inform the Event.\n+ if (auto* event = std::exchange(m_event, nullptr))\n+ event->RemoveHook(m_event_it);\n+ }\n \n- std::lock_guard lg(storage->listeners_mutex);\n+ private:\n+ void ForgetHolder() override\n+ {\n+ std::lock_guard lk{*m_mutex};\n \n- if (storage->is_triggering)\n- {\n- // Just mark our listener for removal.\n- // Trigger() will erase it for us.\n- listener_ptr->is_pending_removal = true;\n- }\n- else\n+ if (auto* holder = std::exchange(m_holder, nullptr))\n+ holder->EraseHook(m_holder_it);\n+ }\n+\n+ HookableEvent* m_event{};\n+ ConnectedHooks::iterator m_event_it;\n+\n+ HookHolder* m_holder{};\n+ HookHolder::ConnectedHooks::iterator m_holder_it;\n+\n+ // Shared with the event and all other connected hooks.\n+ std::shared_ptr<std::recursive_mutex> m_mutex;\n+ };\n+\n+ EventHook AddHook(CallbackType callback, HookHolder* holder = {},\n+ HookHolder::ConnectedHooks::iterator holder_it = {})\n+ {\n+ DEBUG_LOG_FMT(COMMON, "Registering event hook handler");\n+\n+ std::lock_guard lk{*m_mutex};\n+\n+ auto hook = std::make_shared<Hook>();\n+ auto it = m_hooks.emplace(m_hooks.end(), std::move(callback), hook.get());\n+\n+ hook->m_event = this;\n+ hook->m_event_it = it;\n+\n+ hook->m_holder = holder;\n+ hook->m_holder_it = holder_it;\n+\n+ hook->m_mutex = m_mutex;\n+\n+ // Trigger states about to reach .end() are adjusted to not include the new item.\n+ for (auto& trigger_state : m_trigger_states)\n+ {\n+ if (trigger_state.end == m_hooks.end())\n {\n- // Remove our listener.\n- storage->listeners.erase(std::ranges::find_if(\n- storage->listeners, [&](auto& ptr) { return ptr.get() == listener_ptr; }));\n+ if (trigger_state.next == trigger_state.end)\n+ trigger_state.next = it;\n+ trigger_state.end = it;\n }\n }\n \n- const std::weak_ptr<Storage> weak_storage;\n- Listener* const listener_ptr; // "owned" by the above Storage.\n- };\n+ return hook;\n+ }\n+\n+ void RemoveHook(ConnectedHooks::iterator it)\n+ {\n+ DEBUG_LOG_FMT(COMMON, "Removing event hook handler");\n \n- // shared_ptr storage allows hooks to forget their connection if they outlive the event itself.\n- std::shared_ptr<Storage> m_storage{std::make_shared<Storage>()};\n+ // Note: The mutex is already held from the only caller.\n+\n+ // Trigger states about to reach the removed item are adjusted to the very next item.\n+ const auto next = std::next(it);\n+ for (auto& trigger_state : m_trigger_states)\n+ {\n+ if (trigger_state.next == it)\n+ {\n+ if (trigger_state.end == it)\n+ trigger_state.end = next;', 'path': 'Source/Core/Common/HookableEvent.h', 'position': 374, 'original_position': 374, 'commit_id': '0131aeac20cce68676a52d25d07b5e2bede40261', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "Thanks. I think I had this at one point and incorrectly decided the `end` check wasn't always needed. And my unit test wasn't checking for it properly. I'll fix it.", 'created_at': '2026-10-24T19:29:05Z', 'updated_at': '2026-10-24T19:29:05Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14933#discussion_r4368234452', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14933', 'author_association': 'MEMBER', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368234452'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14933#discussion_r4368234452'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14933'}}, 'original_commit_id': '0131aeac20cce68676a52d25d07b5e2bede40261', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4368234452/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'in_reply_to_id': 4368150177, 'is_copilot_code_review': False, 'copilot_code_review_sources': []}], 'type': 'gh_pull_request_review'}
Recent 'gh_push' events
2026-10-25T12:40:26.192265 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'AdmiralCurtiss', 'before_sha': 'edce78926fc20cea65a0599637788715e03644be', 'after_sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'commits': [{'author': {'name': 'Martino Fontana', 'email': 'tinozzo123@gmail.com', 'date': '2026-09-27T10:48:19+02:00', 'username': 'SuperSamus'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/PowerPC/PPCAnalyst.cpp'], 'removed': [], 'message': "PPCAnalyst: Avoid using strncmp\n\nIts usage appears in the profiler, and while small, it's not completely insignificant.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/786d91da28c31c6431a9f079971acb25eb23c925', 'hash': '786d91da28c31c6431a9f079971acb25eb23c925'}, {'author': {'name': 'Admiral H. Curtiss', 'email': 'pikachu025@gmail.com', 'date': '2026-10-25T13:40:23+01:00', 'username': 'AdmiralCurtiss'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/PowerPC/PPCAnalyst.cpp'], 'removed': [], 'message': 'Merge pull request #14939 from SuperSamus/ppc-analyst-no-strncmp\n\nPPCAnalyst: Avoid using strncmp', 'url': 'https://github.com/dolphin-emu/dolphin/commit/3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'hash': '3eb30c7620b4475b2e0404228ba0d2b238a132f1'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-25T11:30:03.758817 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JosJuice', 'before_sha': 'f8e6bed381f52fba6015fbda0568e447e1a984b2', 'after_sha': 'edce78926fc20cea65a0599637788715e03644be', 'commits': [{'author': {'name': 'Martino Fontana', 'email': 'tinozzo123@gmail.com', 'date': '2026-09-05T00:23:14+02:00', 'username': 'SuperSamus'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/PowerPC/Jit64/Jit.cpp', 'Source/Core/Core/PowerPC/Jit64Common/EmuCodeBlock.cpp', 'Source/Core/Core/PowerPC/Jit64Common/TrampolineInfo.h'], 'removed': [], 'message': "Jit64: Merge m_exception_handler_at_loc in TrampolineInfo\n\nIf MMU is enabled, there's an m_exception_handler_at_loc entry for almost every entry in m_back_patch_info, so keeping them separate is a huge waste: hashmaps aren't free.\nBrings a decent improvement to codegen performance when MMU is enabled.\n\nIf MMU is disabled, however, this increases the size of TrampolineInfo by 8 bytes. It's a little sad, but it's important to prioritize the worst-case performance.\nAlso, it simplifies the next commit, which will reduce the memory usage anyway.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/f0eb5d60b50d01f0609cb26a81136dc6d52beef7', 'hash': 'f0eb5d60b50d01f0609cb26a81136dc6d52beef7'}, {'author': {'name': 'Martino Fontana', 'email': 'tinozzo123@gmail.com', 'date': '2026-09-06T18:14:36+02:00', 'username': 'SuperSamus'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/PowerPC/Jit64/Jit.cpp', 'Source/Core/Core/PowerPC/Jit64Common/EmuCodeBlock.cpp', 'Source/Core/Core/PowerPC/Jit64Common/EmuCodeBlock.h', 'Source/Core/Core/PowerPC/JitArm64/Jit.cpp', 'Source/Core/Core/PowerPC/JitArm64/Jit.h', 'Source/Core/Core/PowerPC/JitArm64/JitArm64_BackPatch.cpp', 'Source/Core/Core/PowerPC/JitCommon/JitBase.h'], 'removed': [], 'message': "Jit: Refactor m_back_patch_info/m_fault_to_handler's maps to store a vector per block\n\n(Tested NBA Live 2005)\nProfiling codegen performance showed that one of the slower functions was inserting elements to this map.\nBy inserting instead a vector of all the entries of a block, this disappears from the profiling, and the improvement is noticeable (tested the match intro sequence, though exact numbers are hard to gather).\n\nOn x86 (ARM was already doing it), now erasing a block will also delete the corresponding entries from the map.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/4c9019d6fb53ea81e49f6ed1ffeb70c52418a300', 'hash': '4c9019d6fb53ea81e49f6ed1ffeb70c52418a300'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-10-25T12:30:00+01:00', 'username': 'JosJuice'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/PowerPC/Jit64/Jit.cpp', 'Source/Core/Core/PowerPC/Jit64Common/EmuCodeBlock.cpp', 'Source/Core/Core/PowerPC/Jit64Common/EmuCodeBlock.h', 'Source/Core/Core/PowerPC/Jit64Common/TrampolineInfo.h', 'Source/Core/Core/PowerPC/JitArm64/Jit.cpp', 'Source/Core/Core/PowerPC/JitArm64/Jit.h', 'Source/Core/Core/PowerPC/JitArm64/JitArm64_BackPatch.cpp', 'Source/Core/Core/PowerPC/JitCommon/JitBase.h'], 'removed': [], 'message': 'Merge pull request #14853 from SuperSamus/jit-trampoline-info-optimize\n\nJit: Optimize trampoline info allocation', 'url': 'https://github.com/dolphin-emu/dolphin/commit/edce78926fc20cea65a0599637788715e03644be', 'hash': 'edce78926fc20cea65a0599637788715e03644be'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-25T11:00:47.273693 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JosJuice', 'before_sha': '22b581c670d84e60d11c1b02d38e1c7789ae2dfa', 'after_sha': 'f8e6bed381f52fba6015fbda0568e447e1a984b2', 'commits': [{'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-10-25T01:26:26-05:00', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Common/Thread.cpp', 'Source/Core/Common/Thread.h'], 'removed': [], 'message': 'Common/Thread: Remove unused SwitchCurrentThread function.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/d7c0fdebad493f3244aebfcab9e38a24f6594bde', 'hash': 'd7c0fdebad493f3244aebfcab9e38a24f6594bde'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-10-25T01:27:52-05:00', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Common/Thread.h'], 'removed': [], 'message': 'Common/Thread: Remove unused non-Windows INFINITE macro.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/fa108cf559250aff9d8d0ec812d5bdebf075b7b0', 'hash': 'fa108cf559250aff9d8d0ec812d5bdebf075b7b0'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-10-25T12:00:44+01:00', 'username': 'JosJuice'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Common/Thread.cpp', 'Source/Core/Common/Thread.h'], 'removed': [], 'message': 'Merge pull request #14952 from jordan-woyak/common-thread-remove-unused\n\nCommon/Thread: Remove some unused things.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/f8e6bed381f52fba6015fbda0568e447e1a984b2', 'hash': 'f8e6bed381f52fba6015fbda0568e447e1a984b2'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-24T20:04:27.940617 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': 'b5f580e6f9b5ba442248ac62a25cb4db246aa69c', 'after_sha': '22b581c670d84e60d11c1b02d38e1c7789ae2dfa', 'commits': [{'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-10-19T12:34:12-05:00', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/UnitTests/Core/CoreTimingTest.cpp'], 'removed': [], 'message': 'UnitTests: Fix CoreTiming.SharedSlot test so it can run independently.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/3c72f4d5425875e32d809dab9821afe9bb1d042e', 'hash': '3c72f4d5425875e32d809dab9821afe9bb1d042e'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-10-24T15:04:25-05:00', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Source/UnitTests/Core/CoreTimingTest.cpp'], 'removed': [], 'message': 'Merge pull request #14940 from jordan-woyak/CoreTimingTest-fix\n\nUnitTests: Fix CoreTiming.SharedSlot test so it can run independently.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/22b581c670d84e60d11c1b02d38e1c7789ae2dfa', 'hash': '22b581c670d84e60d11c1b02d38e1c7789ae2dfa'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-24T18:22:26.784936 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'iwubcode', 'before_sha': 'c12121f419c40f99eeb65a9039d9fc95be72e94a', 'after_sha': 'b5f580e6f9b5ba442248ac62a25cb4db246aa69c', 'commits': [{'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-10-23T11:49:22-04:00', 'username': 'OatmealDome'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Common/Timer.cpp'], 'removed': [], 'message': 'Revert "msvc: use std::chrono for GetLocalTimeSinceJan1970"\n\nThis reverts commit 86da6c98fbd229d87de7cf8b9c7eb94c16923829.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/5ef181ba4dffd6d3d5de47d90de0c22f02657215', 'hash': '5ef181ba4dffd6d3d5de47d90de0c22f02657215'}, {'author': {'name': 'iwubcode', 'email': 'iwubcode@users.noreply.github.com', 'date': '2026-10-24T13:22:24-05:00', 'username': 'iwubcode'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Common/Timer.cpp'], 'removed': [], 'message': 'Merge pull request #14946 from OatmealDome/revert-win-std-chrono\n\nRevert "msvc: use std::chrono for GetLocalTimeSinceJan1970"', 'url': 'https://github.com/dolphin-emu/dolphin/commit/b5f580e6f9b5ba442248ac62a25cb4db246aa69c', 'hash': 'b5f580e6f9b5ba442248ac62a25cb4db246aa69c'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-24T12:16:24.669085 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JosJuice', 'before_sha': 'e1d35f666cc35f6ead55d32ea2679df44d04da72', 'after_sha': 'c12121f419c40f99eeb65a9039d9fc95be72e94a', 'commits': [{'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-10-04T22:33:27-05:00', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/IOS/USB/Emulated/Skylanders/SkylanderFigure.cpp', 'Source/Core/Core/IOS/USB/Emulated/Skylanders/SkylanderFigure.h'], 'removed': [], 'message': 'Skylanders: Replace mbedtls_aes usage with Common::AES and minor warning cleanups.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/e56740eabce91b58119ad7a03f5a42db16a3e077', 'hash': 'e56740eabce91b58119ad7a03f5a42db16a3e077'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-10-24T14:16:21+02:00', 'username': 'JosJuice'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/IOS/USB/Emulated/Skylanders/SkylanderFigure.cpp', 'Source/Core/Core/IOS/USB/Emulated/Skylanders/SkylanderFigure.h'], 'removed': [], 'message': 'Merge pull request #14917 from jordan-woyak/skylanders-common-aes\n\nSkylanders: Replace mbedtls_aes usage with Common::AES.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/c12121f419c40f99eeb65a9039d9fc95be72e94a', 'hash': 'c12121f419c40f99eeb65a9039d9fc95be72e94a'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-23T23:43:13.829132 {'source': 'ghhookparser', 'repo': 'dolphin-emu/fifoci', 'pusher': 'dependabot[bot]', 'before_sha': '0000000000000000000000000000000000000000', 'after_sha': '3b2b272b9e30ee9272e98a082bb177828b55aea1', 'commits': [{'author': {'name': 'dependabot[bot]', 'email': '49699333+dependabot[bot]@users.noreply.github.com', 'date': '2026-10-23T23:43:10Z', 'username': 'dependabot[bot]'}, 'distinct': True, 'added': [], 'modified': ['fifoci/runner/uv.lock'], 'removed': [], 'message': 'build(deps-dev): bump black from 26.5.1 to 26.10.1 in /fifoci/runner\n\nBumps [black](https://github.com/psf/black) from 26.5.1 to 26.10.1.\n- [Release notes](https://github.com/psf/black/releases)\n- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)\n- [Commits](https://github.com/psf/black/compare/26.5.1...26.10.1)\n\n---\nupdated-dependencies:\n- dependency-name: black\n dependency-version: 26.10.1\n dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>', 'url': 'https://github.com/dolphin-emu/fifoci/commit/3b2b272b9e30ee9272e98a082bb177828b55aea1', 'hash': '3b2b272b9e30ee9272e98a082bb177828b55aea1'}], 'base_ref_name': None, 'ref_name': 'dependabot/uv/fifoci/runner/black-26.10.1', 'ref_type': 'heads', 'created': True, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-23T00:10:39.440717 {'source': 'ghhookparser', 'repo': 'dolphin-emu/central', 'pusher': 'dependabot[bot]', 'before_sha': '0000000000000000000000000000000000000000', 'after_sha': '6ad4b6953af25fade92abf42a6c20548eddffffb', 'commits': [{'author': {'name': 'dependabot[bot]', 'email': '49699333+dependabot[bot]@users.noreply.github.com', 'date': '2026-10-23T00:10:37Z', 'username': 'dependabot[bot]'}, 'distinct': True, 'added': [], 'modified': ['uv.lock'], 'removed': [], 'message': 'build(deps): bump certifi from 2026.7.22 to 2026.10.19\n\nBumps [certifi](https://github.com/certifi/python-certifi) from 2026.7.22 to 2026.10.19.\n- [Commits](https://github.com/certifi/python-certifi/compare/2026.07.22...2026.10.19)\n\n---\nupdated-dependencies:\n- dependency-name: certifi\n dependency-version: 2026.10.19\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>', 'url': 'https://github.com/dolphin-emu/central/commit/6ad4b6953af25fade92abf42a6c20548eddffffb', 'hash': '6ad4b6953af25fade92abf42a6c20548eddffffb'}], 'base_ref_name': None, 'ref_name': 'dependabot/uv/certifi-2026.10.19', 'ref_type': 'heads', 'created': True, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-23T00:10:36.300805 {'source': 'ghhookparser', 'repo': 'dolphin-emu/central', 'pusher': 'dependabot[bot]', 'before_sha': '0000000000000000000000000000000000000000', 'after_sha': '623c06e836606b5b2d6b5a4bfcac08bc3f34925e', 'commits': [{'author': {'name': 'dependabot[bot]', 'email': '49699333+dependabot[bot]@users.noreply.github.com', 'date': '2026-10-23T00:10:33Z', 'username': 'dependabot[bot]'}, 'distinct': True, 'added': [], 'modified': ['uv.lock'], 'removed': [], 'message': 'build(deps-dev): bump black from 26.5.1 to 26.10.1\n\nBumps [black](https://github.com/psf/black) from 26.5.1 to 26.10.1.\n- [Release notes](https://github.com/psf/black/releases)\n- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)\n- [Commits](https://github.com/psf/black/compare/26.5.1...26.10.1)\n\n---\nupdated-dependencies:\n- dependency-name: black\n dependency-version: 26.10.1\n dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>', 'url': 'https://github.com/dolphin-emu/central/commit/623c06e836606b5b2d6b5a4bfcac08bc3f34925e', 'hash': '623c06e836606b5b2d6b5a4bfcac08bc3f34925e'}], 'base_ref_name': None, 'ref_name': 'dependabot/uv/black-26.10.1', 'ref_type': 'heads', 'created': True, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-22T23:56:03.195102 {'source': 'ghhookparser', 'repo': 'dolphin-emu/netplay-index', 'pusher': 'dependabot[bot]', 'before_sha': '0000000000000000000000000000000000000000', 'after_sha': '8c26dcef9aaaae7181e2f59d7f56a5d3e852e68f', 'commits': [{'author': {'name': 'dependabot[bot]', 'email': '49699333+dependabot[bot]@users.noreply.github.com', 'date': '2026-10-22T23:56:00Z', 'username': 'dependabot[bot]'}, 'distinct': True, 'added': [], 'modified': ['uv.lock'], 'removed': [], 'message': 'build(deps): bump certifi from 2026.7.22 to 2026.10.19\n\nBumps [certifi](https://github.com/certifi/python-certifi) from 2026.7.22 to 2026.10.19.\n- [Commits](https://github.com/certifi/python-certifi/compare/2026.07.22...2026.10.19)\n\n---\nupdated-dependencies:\n- dependency-name: certifi\n dependency-version: 2026.10.19\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>', 'url': 'https://github.com/dolphin-emu/netplay-index/commit/8c26dcef9aaaae7181e2f59d7f56a5d3e852e68f', 'hash': '8c26dcef9aaaae7181e2f59d7f56a5d3e852e68f'}], 'base_ref_name': None, 'ref_name': 'dependabot/uv/certifi-2026.10.19', 'ref_type': 'heads', 'created': True, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-22T23:56:01.607794 {'source': 'ghhookparser', 'repo': 'dolphin-emu/netplay-index', 'pusher': 'dependabot[bot]', 'before_sha': '0000000000000000000000000000000000000000', 'after_sha': '70b6d66b9dde12acf21a57fc84dc83bc1ff3249a', 'commits': [{'author': {'name': 'dependabot[bot]', 'email': '49699333+dependabot[bot]@users.noreply.github.com', 'date': '2026-10-22T23:55:59Z', 'username': 'dependabot[bot]'}, 'distinct': True, 'added': [], 'modified': ['uv.lock'], 'removed': [], 'message': 'build(deps-dev): bump black from 26.5.1 to 26.10.1\n\nBumps [black](https://github.com/psf/black) from 26.5.1 to 26.10.1.\n- [Release notes](https://github.com/psf/black/releases)\n- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)\n- [Commits](https://github.com/psf/black/compare/26.5.1...26.10.1)\n\n---\nupdated-dependencies:\n- dependency-name: black\n dependency-version: 26.10.1\n dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>', 'url': 'https://github.com/dolphin-emu/netplay-index/commit/70b6d66b9dde12acf21a57fc84dc83bc1ff3249a', 'hash': '70b6d66b9dde12acf21a57fc84dc83bc1ff3249a'}], 'base_ref_name': None, 'ref_name': 'dependabot/uv/black-26.10.1', 'ref_type': 'heads', 'created': True, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-22T20:05:25.812213 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': '10d958e66bb5d7574166a10f57839a288c5a7c64', 'after_sha': 'e1d35f666cc35f6ead55d32ea2679df44d04da72', 'commits': [{'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-10-04T16:04:21-05:00', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Common/Hash.cpp', 'Source/Core/Common/Hash.h'], 'removed': [], 'message': 'Common: Create MD5Context class and ComputeMD5 function to minimize exposure to mbedtls throughout the project.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/db5bbbd6cf340fd8e77244ad452089fae0ff33ae', 'hash': 'db5bbbd6cf340fd8e77244ad452089fae0ff33ae'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-10-04T16:04:42-05:00', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/HW/WiiSave.cpp'], 'removed': [], 'message': 'WiiSave: Use Common::ComputeMD5 instead of mbedtls.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/58a0864d035ccc690698fb76063f2936906bd714', 'hash': '58a0864d035ccc690698fb76063f2936906bd714'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-10-04T16:05:05-05:00', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/IOS/USB/Emulated/Skylanders/SkylanderFigure.cpp'], 'removed': [], 'message': 'SkylanderFigure: Use Common::ComputeMD5 instead of mbedtls.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/304086d3179d5c9f3bc94c4487e943ec449280ab', 'hash': '304086d3179d5c9f3bc94c4487e943ec449280ab'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-10-04T16:05:09-05:00', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DiscIO/VolumeVerifier.cpp', 'Source/Core/DiscIO/VolumeVerifier.h'], 'removed': [], 'message': 'DiscIO/VolumeVerifier: Use Common::MD5Context instead of mbedtls.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/7e46e85e8fb3cff68f05bc160c7ac3ed77b1414b', 'hash': '7e46e85e8fb3cff68f05bc160c7ac3ed77b1414b'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-10-22T15:05:23-05:00', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Common/Hash.cpp', 'Source/Core/Common/Hash.h', 'Source/Core/Core/HW/WiiSave.cpp', 'Source/Core/Core/IOS/USB/Emulated/Skylanders/SkylanderFigure.cpp', 'Source/Core/DiscIO/VolumeVerifier.cpp', 'Source/Core/DiscIO/VolumeVerifier.h'], 'removed': [], 'message': 'Merge pull request #14913 from jordan-woyak/md5\n\nCommon: Introduce MD5Context class and ComputeMD5 function to minimize mbedtls dependence.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/e1d35f666cc35f6ead55d32ea2679df44d04da72', 'hash': 'e1d35f666cc35f6ead55d32ea2679df44d04da72'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-22T19:14:49.767406 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': '2c805fee8f232d090c454381bb1b8422242345e1', 'after_sha': '10d958e66bb5d7574166a10f57839a288c5a7c64', 'commits': [{'author': {'name': 'Dentomologist', 'email': 'dentomologist@gmail.com', 'date': '2026-10-20T14:20:23-07:00', 'username': 'Dentomologist'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DolphinQt/CMakeLists.txt'], 'removed': [], 'message': "CMake: Enforce minimum Qt version 6.2\n\nQt 6.2 has been de facto required since\nafa6e26e5de58e942c8e7ef3a02632ccfb851d3d added a call to\nQPixmap::deviceIndependentSize which was introduced in that Qt version.\n\nQt 6.2 was released 5 years ago and we've required 6.2+ for over 2\nyears, so let's make that requirement explicit in CMakeLists.txt instead\nof having an apparently random compile error if anyone happens to try\nbuilding with an older Qt version.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/33ad9ed02f0f66b5c202a87e4c0896f96c57ff87', 'hash': '33ad9ed02f0f66b5c202a87e4c0896f96c57ff87'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-10-22T14:14:47-05:00', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/DolphinQt/CMakeLists.txt'], 'removed': [], 'message': 'Merge pull request #14942 from Dentomologist/cmake_add_explicit_check_for_minimum_qt_version\n\nCMake: Enforce minimum Qt version 6.2', 'url': 'https://github.com/dolphin-emu/dolphin/commit/10d958e66bb5d7574166a10f57839a288c5a7c64', 'hash': '10d958e66bb5d7574166a10f57839a288c5a7c64'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-22T17:12:38.072700 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JMC47', 'before_sha': 'cf5cb7ef81c3e8e7af5c9d566334219ffda9f68b', 'after_sha': '2c805fee8f232d090c454381bb1b8422242345e1', 'commits': [{'author': {'name': 'Tom Pratt', 'email': 'tom.pratt@outlook.com', 'date': '2026-05-11T09:01:20-07:00', 'username': 'tom-pratt'}, 'distinct': False, 'added': [], 'modified': ['Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/netplay/NetplaySession.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/netplay/model/GameDigestProgress.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/netplay/model/NetplayViewModel.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/netplay/ui/NetplayActivity.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/netplay/ui/NetplayScreen.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/theme/DolphinTheme.kt', 'Source/Android/app/src/main/res/values/strings.xml', 'Source/Android/jni/NetPlay/NetPlayUICallbacks.h', 'Source/Android/jni/NetPlay/Netplay.cpp'], 'removed': [], 'message': 'Android: Trigger netplay game digest check\n\nAlso trigger abort / dismiss from the host when closing the dialog.\nAdd explicit "finished" property to GameDigestProgress since the UI is different depending on this state.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/66657167e357597b99b0957a4ee27a0da8b36571', 'hash': '66657167e357597b99b0957a4ee27a0da8b36571'}, {'author': {'name': 'JMC47', 'email': 'JMC4789@gmail.com', 'date': '2026-10-22T13:12:33-04:00', 'username': 'JMC47'}, 'distinct': True, 'added': [], 'modified': ['Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/netplay/NetplaySession.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/netplay/model/GameDigestProgress.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/netplay/model/NetplayViewModel.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/netplay/ui/NetplayActivity.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/netplay/ui/NetplayScreen.kt', 'Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/theme/DolphinTheme.kt', 'Source/Android/app/src/main/res/values/strings.xml', 'Source/Android/jni/NetPlay/NetPlayUICallbacks.h', 'Source/Android/jni/NetPlay/Netplay.cpp'], 'removed': [], 'message': 'Merge pull request #14734 from tom-pratt/trigger-game-digest-check\n\nAndroid: Trigger netplay game digest check', 'url': 'https://github.com/dolphin-emu/dolphin/commit/2c805fee8f232d090c454381bb1b8422242345e1', 'hash': '2c805fee8f232d090c454381bb1b8422242345e1'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-22T12:26:38.608172 {'source': 'ghhookparser', 'repo': 'dolphin-emu/sadm', 'pusher': 'OatmealDome', 'before_sha': 'd3c0d0059a15878511b86aecc51b488392e0e184', 'after_sha': '983c9bd664a2a83971d33b37f57189e99d10a7e9', 'commits': [{'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-10-22T08:25:03-04:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': [], 'modified': ['.github/workflows/containers.yml'], 'removed': [], 'message': 'Actions: Add workflow dispatch to build containers workflow', 'url': 'https://github.com/dolphin-emu/sadm/commit/ac077f40caa97d98924f2a6eaa49aec3669a7d0f', 'hash': 'ac077f40caa97d98924f2a6eaa49aec3669a7d0f'}, {'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-10-22T08:25:36-04:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': [], 'modified': ['flake.lock'], 'removed': [], 'message': "flake.lock: Update\n\nFlake lock file updates:\n\n• Updated input 'agenix':\n 'github:ryantm/agenix/3daa710894355fa2fad8243380af373a2b4046ef?narHash=sha256-n7wew722m1OTBT9DOIMxNX/NF4zfsSUABAO5eW3wikE%3D' (2026-09-30)\n → 'github:ryantm/agenix/5e5b88a0c8e56f291a108c2fe9934054d9745b2e?narHash=sha256-8tKjSQajD3mUND1GaAuaWTcuyUpgcGsh5V%2Bl4ibzC7U%3D' (2026-10-20)\n• Updated input 'nixpkgs':\n 'github:NixOS/nixpkgs/7993f34ee47e28a3d607a525aadc6c94b73be728?narHash=sha256-ZGq3ptZzA%2BoO0N/Wi/F%2BGbuTijLkYExD01LvpNFAvr0%3D' (2026-10-12)\n → 'github:NixOS/nixpkgs/da6dc0e7b26060f2f71ce3ef7088fb56ee44fa36?narHash=sha256-MlvRfa1O5Cqc2/a%2BgG%2Bl9TSuowEoCKCmrJ1d9oAVm0I%3D' (2026-10-21)\n• Updated input 'pyproject-build-systems':\n 'github:pyproject-nix/build-system-pkgs/953d35d03a51dbecaf3feb3fb679eb63e90ebeb4?narHash=sha256-pyru9MpuXRiyq0Bd4q0nHpL4T6HCuZT4B%2BalcgAYE4A%3D' (2026-10-05)\n → 'github:pyproject-nix/build-system-pkgs/a17819c85163988e063806ffc4f6d2716bc8ead8?narHash=sha256-mGOkvueuMGSRiD75ccxFzfEvSlIU9ztjFluHMKOtogY%3D' (2026-10-20)\n• Updated input 'pyproject-build-systems/uv2nix':\n 'github:pyproject-nix/uv2nix/a24323e9e6ecbbf305c238845ff6c612d50467c0?narHash=sha256-wFnDm/o/4OebDlpGFyVXP8DLUx0/gR/jUFuGqmTwsQg%3D' (2026-09-25)\n → 'github:pyproject-nix/uv2nix/7aba73a3d85454f1118f8cf9de97979b4d26bcac?narHash=sha256-PMtgvHuGijoIAtPtrBm7kJOI6fxzX4LYPAIK%2BQVGY%2BY%3D' (2026-10-16)\n• Updated input 'rust-overlay':\n 'github:oxalica/rust-overlay/3100cf6ff140fb298f09192de610f4037d3bab0f?narHash=sha256-7KXUW3FKbZAstFiK09LJ1sUnPN2dO5RX9ROCZgGbeZw%3D' (2026-10-13)\n → 'github:oxalica/rust-overlay/5f267b7f323a4d6df0b9c0e3eaa043cbe85386f2?narHash=sha256-E8zFJilWlORqzIUJizyhZ/0WKBOizuM6s1nRSgPRomo%3D' (2026-10-22)\n• Updated input 'uv2nix':\n 'github:pyproject-nix/uv2nix/37462fae7b37be45d78f754d1c39e8813ede0f80?narHash=sha256-39EtILDexiwJqShYD/yu1B73OvF6DigAqF040egC07g%3D' (2026-10-12)\n → 'github:pyproject-nix/uv2nix/0fdaa03ea3c3c16dbb1fe4d69108f07227a4b42d?narHash=sha256-UWo7wDPi00YXOI1Io7g4vGKuCSPJ863kHJVDzsgqtoM%3D' (2026-10-22)", 'url': 'https://github.com/dolphin-emu/sadm/commit/983c9bd664a2a83971d33b37f57189e99d10a7e9', 'hash': '983c9bd664a2a83971d33b37f57189e99d10a7e9'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-20T10:19:25.215424 {'source': 'ghhookparser', 'repo': 'dolphin-emu/central', 'pusher': 'dependabot[bot]', 'before_sha': '0000000000000000000000000000000000000000', 'after_sha': '9d545400dc491ebcbf08ce45d17550bf1262fed4', 'commits': [{'author': {'name': 'dependabot[bot]', 'email': '49699333+dependabot[bot]@users.noreply.github.com', 'date': '2026-10-20T10:19:21Z', 'username': 'dependabot[bot]'}, 'distinct': True, 'added': [], 'modified': ['uv.lock'], 'removed': [], 'message': 'build(deps): bump multidict from 6.7.1 to 6.9.1\n\nBumps [multidict](https://github.com/aio-libs/multidict) from 6.7.1 to 6.9.1.\n- [Release notes](https://github.com/aio-libs/multidict/releases)\n- [Changelog](https://github.com/aio-libs/multidict/blob/master/CHANGES.rst)\n- [Commits](https://github.com/aio-libs/multidict/compare/v6.7.1...v6.9.1)\n\n---\nupdated-dependencies:\n- dependency-name: multidict\n dependency-version: 6.9.1\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>', 'url': 'https://github.com/dolphin-emu/central/commit/9d545400dc491ebcbf08ce45d17550bf1262fed4', 'hash': '9d545400dc491ebcbf08ce45d17550bf1262fed4'}], 'base_ref_name': None, 'ref_name': 'dependabot/uv/multidict-6.9.1', 'ref_type': 'heads', 'created': True, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-20T09:45:59.112048 {'source': 'ghhookparser', 'repo': 'dolphin-emu/netplay-index', 'pusher': 'dependabot[bot]', 'before_sha': '0000000000000000000000000000000000000000', 'after_sha': 'dfd09f29f1b90c318de05bdbf38356d337dcbc4d', 'commits': [{'author': {'name': 'dependabot[bot]', 'email': '49699333+dependabot[bot]@users.noreply.github.com', 'date': '2026-10-20T09:45:56Z', 'username': 'dependabot[bot]'}, 'distinct': True, 'added': [], 'modified': ['uv.lock'], 'removed': [], 'message': 'build(deps): bump multidict from 6.7.1 to 6.9.1\n\nBumps [multidict](https://github.com/aio-libs/multidict) from 6.7.1 to 6.9.1.\n- [Release notes](https://github.com/aio-libs/multidict/releases)\n- [Changelog](https://github.com/aio-libs/multidict/blob/master/CHANGES.rst)\n- [Commits](https://github.com/aio-libs/multidict/compare/v6.7.1...v6.9.1)\n\n---\nupdated-dependencies:\n- dependency-name: multidict\n dependency-version: 6.9.1\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>', 'url': 'https://github.com/dolphin-emu/netplay-index/commit/dfd09f29f1b90c318de05bdbf38356d337dcbc4d', 'hash': 'dfd09f29f1b90c318de05bdbf38356d337dcbc4d'}], 'base_ref_name': None, 'ref_name': 'dependabot/uv/multidict-6.9.1', 'ref_type': 'heads', 'created': True, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-20T06:10:03.224634 {'source': 'ghhookparser', 'repo': 'dolphin-emu/central', 'pusher': 'dependabot[bot]', 'before_sha': '0000000000000000000000000000000000000000', 'after_sha': '6ea630e5224e19d89f7b3c2601ef51e038962fe3', 'commits': [{'author': {'name': 'dependabot[bot]', 'email': '49699333+dependabot[bot]@users.noreply.github.com', 'date': '2026-10-20T06:10:00Z', 'username': 'dependabot[bot]'}, 'distinct': True, 'added': [], 'modified': ['uv.lock'], 'removed': [], 'message': 'build(deps): bump aiohttp from 3.14.3 to 3.14.4\n\n---\nupdated-dependencies:\n- dependency-name: aiohttp\n dependency-version: 3.14.4\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>', 'url': 'https://github.com/dolphin-emu/central/commit/6ea630e5224e19d89f7b3c2601ef51e038962fe3', 'hash': '6ea630e5224e19d89f7b3c2601ef51e038962fe3'}], 'base_ref_name': None, 'ref_name': 'dependabot/uv/aiohttp-3.14.4', 'ref_type': 'heads', 'created': True, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-20T04:23:47.430910 {'source': 'ghhookparser', 'repo': 'dolphin-emu/netplay-index', 'pusher': 'dependabot[bot]', 'before_sha': '0000000000000000000000000000000000000000', 'after_sha': 'c8cdb9edb91b5292fcefa1b834ca2116df47e8f0', 'commits': [{'author': {'name': 'dependabot[bot]', 'email': '49699333+dependabot[bot]@users.noreply.github.com', 'date': '2026-10-20T04:23:45Z', 'username': 'dependabot[bot]'}, 'distinct': True, 'added': [], 'modified': ['uv.lock'], 'removed': [], 'message': 'build(deps): bump aiohttp from 3.14.3 to 3.14.4\n\n---\nupdated-dependencies:\n- dependency-name: aiohttp\n dependency-version: 3.14.4\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>', 'url': 'https://github.com/dolphin-emu/netplay-index/commit/c8cdb9edb91b5292fcefa1b834ca2116df47e8f0', 'hash': 'c8cdb9edb91b5292fcefa1b834ca2116df47e8f0'}], 'base_ref_name': None, 'ref_name': 'dependabot/uv/aiohttp-3.14.4', 'ref_type': 'heads', 'created': True, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-19T16:56:23.730113 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JMC47', 'before_sha': '1822e3859f061c6f81076c94eb4ba7e6e0a3706c', 'after_sha': 'cf5cb7ef81c3e8e7af5c9d566334219ffda9f68b', 'commits': [{'author': {'name': 'Martino Fontana', 'email': 'tinozzo123@gmail.com', 'date': '2025-12-22T12:28:12+01:00', 'username': 'SuperSamus'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/PowerPC/CachedInterpreter/CachedInterpreter.cpp', 'Source/Core/Core/PowerPC/Jit64/Jit_Branch.cpp', 'Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp', 'Source/Core/Core/PowerPC/JitArm64/JitArm64_Branch.cpp', 'Source/Core/Core/PowerPC/PPCAnalyst.cpp', 'Source/Core/Core/PowerPC/PPCAnalyst.h'], 'removed': [], 'message': "Jit: Followed unconditional branches are a property added by the Analyzer, not something to assume\n\nIf an unconditional branch is not the last instruction of the block, assuming that this means that the branch must have been followed is an unsafe assumption on how the analyzer works that may not hold true in the future.\nAs a bonus: JitArm64, unlike x86, didn't skip followed `bcx`s. Now it does.", 'url': 'https://github.com/dolphin-emu/dolphin/commit/69b75fed12eae2d500da89d400d036739ff95b4c', 'hash': '69b75fed12eae2d500da89d400d036739ff95b4c'}, {'author': {'name': 'JMC47', 'email': 'JMC4789@gmail.com', 'date': '2026-10-19T12:56:21-04:00', 'username': 'JMC47'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/PowerPC/CachedInterpreter/CachedInterpreter.cpp', 'Source/Core/Core/PowerPC/Jit64/Jit_Branch.cpp', 'Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp', 'Source/Core/Core/PowerPC/JitArm64/JitArm64_Branch.cpp', 'Source/Core/Core/PowerPC/PPCAnalyst.cpp', 'Source/Core/Core/PowerPC/PPCAnalyst.h'], 'removed': [], 'message': 'Merge pull request #14388 from SuperSamus/jit-branch-follow-explicit\n\nJit: Followed unconditional branches are a property added by the Analyzer, not something to assume', 'url': 'https://github.com/dolphin-emu/dolphin/commit/cf5cb7ef81c3e8e7af5c9d566334219ffda9f68b', 'hash': 'cf5cb7ef81c3e8e7af5c9d566334219ffda9f68b'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-19T04:31:10.141871 {'source': 'ghhookparser', 'repo': 'dolphin-emu/sadm', 'pusher': 'OatmealDome', 'before_sha': '7605fd14fb447e2fa9e0faee4994dd631260c8e0', 'after_sha': 'd3c0d0059a15878511b86aecc51b488392e0e184', 'commits': [{'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-10-17T11:27:04-04:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': [], 'modified': ['machines/altair/default.nix', 'roles/foreign-builders/default.nix'], 'removed': [], 'message': 'foreign-builder: Don\'t require the "-builder" suffix with image names', 'url': 'https://github.com/dolphin-emu/sadm/commit/fa6ce2e376f9977d58cabf1658a2364ac4f5e601', 'hash': 'fa6ce2e376f9977d58cabf1658a2364ac4f5e601'}, {'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-10-17T12:18:26-04:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': ['secrets/container-altair-appimage-env.age', 'secrets/container-android-env.age', 'secrets/container-debian-env.age', 'secrets/container-steamrt-env.age', 'secrets/container-ubuntu-lts-env.age'], 'modified': ['roles/foreign-builders/default.nix', 'secrets/secrets.nix'], 'removed': [], 'message': 'foreign-builders: Have one password file for each container', 'url': 'https://github.com/dolphin-emu/sadm/commit/15ee72a373cc26aba8bf6f8f77bd38f032a5a944', 'hash': '15ee72a373cc26aba8bf6f8f77bd38f032a5a944'}, {'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-10-17T12:18:44-04:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': [], 'modified': ['machines/altair/default.nix'], 'removed': [], 'message': 'machines/altair: Reformat android container definition', 'url': 'https://github.com/dolphin-emu/sadm/commit/2e212152a9d280ee49bb22f04895ca960461f89a', 'hash': '2e212152a9d280ee49bb22f04895ca960461f89a'}, {'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-10-17T12:22:32-04:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': [], 'modified': ['secrets/oci-registry-password.age'], 'removed': [], 'message': 'secrets: Re-encrypt oci-registry-password with support for deneb', 'url': 'https://github.com/dolphin-emu/sadm/commit/a00c4b68a511011c8070a5ed92229322439737e7', 'hash': 'a00c4b68a511011c8070a5ed92229322439737e7'}, {'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-10-17T12:23:02-04:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': ['secrets/container-deneb-appimage-env.age'], 'modified': ['machines/deneb/default.nix', 'secrets/secrets.nix'], 'removed': [], 'message': 'machines/deneb: Add AppImage arm64 builder', 'url': 'https://github.com/dolphin-emu/sadm/commit/c1383d702fe381d84bb243e24a7943182e1b2717', 'hash': 'c1383d702fe381d84bb243e24a7943182e1b2717'}, {'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-10-17T12:24:34-04:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': [], 'modified': ['roles/buildbot/etc/master.cfg', 'roles/central/default.nix', 'secrets/buildbot-workers-passwords.age'], 'removed': [], 'message': 'buildbot: Add AppImage arm64 builder', 'url': 'https://github.com/dolphin-emu/sadm/commit/4c9ac430e0ecc21179545d0266e238716cd56304', 'hash': '4c9ac430e0ecc21179545d0266e238716cd56304'}, {'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-10-18T12:19:03-04:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': [], 'modified': ['roles/buildbot/etc/master.cfg'], 'removed': [], 'message': 'buildbot: Add support for dev and release AppImage builds', 'url': 'https://github.com/dolphin-emu/sadm/commit/9e9552c060ed8459f9b10fea619f128389915eb7', 'hash': '9e9552c060ed8459f9b10fea619f128389915eb7'}, {'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-10-18T16:14:53-04:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': [], 'modified': ['roles/foreign-builders/default.nix'], 'removed': [], 'message': 'foreign-builders: Allow individual builders to specify their own extra options', 'url': 'https://github.com/dolphin-emu/sadm/commit/849f1b98d00c650e8256396c5418f2093188ea67', 'hash': '849f1b98d00c650e8256396c5418f2093188ea67'}, {'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-10-19T00:30:02-04:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': [], 'modified': ['machines/altair/default.nix', 'roles/foreign-builders/default.nix'], 'removed': [], 'message': 'machines/altair: Move /dev/kvm flag to be specific to the Android builder', 'url': 'https://github.com/dolphin-emu/sadm/commit/e2ad180e9f9bf14b25bd8b46ff7cf3712f03d75f', 'hash': 'e2ad180e9f9bf14b25bd8b46ff7cf3712f03d75f'}, {'author': {'name': 'OatmealDome', 'email': 'julian@oatmealdome.me', 'date': '2026-10-19T00:30:22-04:00', 'username': 'OatmealDome'}, 'distinct': True, 'added': [], 'modified': ['roles/buildbot/etc/master.cfg'], 'removed': [], 'message': 'buildbot: Correct path for deleting the existing AppDir', 'url': 'https://github.com/dolphin-emu/sadm/commit/d3c0d0059a15878511b86aecc51b488392e0e184', 'hash': 'd3c0d0059a15878511b86aecc51b488392e0e184'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-18T18:26:45.010021 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'jordan-woyak', 'before_sha': '41460454e9600f909950fddf0abd13a138430162', 'after_sha': '1822e3859f061c6f81076c94eb4ba7e6e0a3706c', 'commits': [{'author': {'name': 'iwubcode', 'email': 'iwubcode@users.noreply.github.com', 'date': '2026-10-16T01:04:33-05:00', 'username': 'iwubcode'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Core/PowerPC/MMU.cpp', 'Source/Core/VideoBackends/Null/NullGfx.cpp', 'Source/Core/VideoBackends/Null/NullGfx.h', 'Source/Core/VideoBackends/Software/SWEfbInterface.cpp', 'Source/Core/VideoBackends/Software/SWEfbInterface.h', 'Source/Core/VideoCommon/BPFunctions.cpp', 'Source/Core/VideoCommon/EFBInterface.cpp', 'Source/Core/VideoCommon/EFBInterface.h'], 'removed': [], 'message': 'VideoCommon: remove global framebuffer manager from EFBInterface and instead pass it in', 'url': 'https://github.com/dolphin-emu/dolphin/commit/f71b0a48b352379a213a65a0a796cac5aab4ba3f', 'hash': 'f71b0a48b352379a213a65a0a796cac5aab4ba3f'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-10-18T13:26:42-05:00', 'username': 'jordan-woyak'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Core/PowerPC/MMU.cpp', 'Source/Core/VideoBackends/Null/NullGfx.cpp', 'Source/Core/VideoBackends/Null/NullGfx.h', 'Source/Core/VideoBackends/Software/SWEfbInterface.cpp', 'Source/Core/VideoBackends/Software/SWEfbInterface.h', 'Source/Core/VideoCommon/BPFunctions.cpp', 'Source/Core/VideoCommon/EFBInterface.cpp', 'Source/Core/VideoCommon/EFBInterface.h'], 'removed': [], 'message': 'Merge pull request #14934 from iwubcode/efb_interface_remove_global\n\nVideoCommon: remove global framebuffer manager from EFBInterface', 'url': 'https://github.com/dolphin-emu/dolphin/commit/1822e3859f061c6f81076c94eb4ba7e6e0a3706c', 'hash': '1822e3859f061c6f81076c94eb4ba7e6e0a3706c'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-18T12:51:21.237475 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JosJuice', 'before_sha': '8c19346fa956c37264751868a8ac4d674bfff6de', 'after_sha': '41460454e9600f909950fddf0abd13a138430162', 'commits': [{'author': {'name': 'Acts1631', 'email': 'acts1631kjv@proton.me', 'date': '2026-08-04T11:47:51-04:00', 'username': 'acts-1631'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/Common/TraversalServer.cpp'], 'removed': [], 'message': 'Traversal: update pending-packet time on socket timeout\n\nPending traversal packets were only expired after receive events. If a\nclient did not acknowledge a response and no more packets arrived, the\nserver retained the pending entry indefinitely.\n\nUpdate the current time before handling socket timeouts. Pending packets\nwill then retry and expire while the server is idle.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/93097f65ea9ae8c2c9c85481ba2cf7d0139480cb', 'hash': '93097f65ea9ae8c2c9c85481ba2cf7d0139480cb'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-10-18T14:51:18+02:00', 'username': 'JosJuice'}, 'distinct': True, 'added': [], 'modified': ['Source/Core/Common/TraversalServer.cpp'], 'removed': [], 'message': 'Merge pull request #14796 from acts-1631/security/traversal-pending-timeout\n\nTraversal: update pending-packet time on socket timeout', 'url': 'https://github.com/dolphin-emu/dolphin/commit/41460454e9600f909950fddf0abd13a138430162', 'hash': '41460454e9600f909950fddf0abd13a138430162'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-18T10:25:49.009860 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JosJuice', 'before_sha': 'b869a2ab2035f0ff0c0ca71becb4e33131ebb1b7', 'after_sha': '8c19346fa956c37264751868a8ac4d674bfff6de', 'commits': [{'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-10-09T14:50:48-05:00', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['CMakeLists.txt'], 'removed': [], 'message': 'CMakeLists: Bump version requirements to allow use of std::jthread.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/5bcd55eef5323db2d83bd181f128409edc1d902e', 'hash': '5bcd55eef5323db2d83bd181f128409edc1d902e'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-10-09T14:51:43-05:00', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/CMakeLists.txt'], 'removed': [], 'message': 'CMakeLists: Add -fexperimental-library to allow use of std::jthread with libc++ 18.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/0f56e58742a64a993e4f2f7b34cbafccb613ebcd', 'hash': '0f56e58742a64a993e4f2f7b34cbafccb613ebcd'}, {'author': {'name': 'Jordan Woyak', 'email': 'jordan.woyak@gmail.com', 'date': '2026-10-09T14:52:08-05:00', 'username': 'jordan-woyak'}, 'distinct': False, 'added': [], 'modified': ['Source/Core/DiscIO/CachedBlob.cpp'], 'removed': [], 'message': 'DiscIO/CachedBlob: Minor cleanup by replacing std::thread with std::jthread.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/1acbcaceffdf11d5b6d90fe2c864a8683b930908', 'hash': '1acbcaceffdf11d5b6d90fe2c864a8683b930908'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-10-18T12:25:46+02:00', 'username': 'JosJuice'}, 'distinct': True, 'added': [], 'modified': ['CMakeLists.txt', 'Source/CMakeLists.txt', 'Source/Core/DiscIO/CachedBlob.cpp'], 'removed': [], 'message': 'Merge pull request #14621 from jordan-woyak/cached-blob-jthread\n\nDiscIO/CachedBlob: Minor cleanup by replacing std::thread with std::jthread.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/8c19346fa956c37264751868a8ac4d674bfff6de', 'hash': '8c19346fa956c37264751868a8ac4d674bfff6de'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
2026-10-18T10:12:03.828555 {'source': 'ghhookparser', 'repo': 'dolphin-emu/dolphin', 'pusher': 'JosJuice', 'before_sha': '38d619b07691231f54e6f037fcf30a3b64fdd5a5', 'after_sha': 'b869a2ab2035f0ff0c0ca71becb4e33131ebb1b7', 'commits': [{'author': {'name': 'Joshua Vandaële', 'email': 'joshua@vandaele.software', 'date': '2026-08-03T18:50:13+02:00', 'username': 'JoshuaVandaele'}, 'distinct': False, 'added': ['CMake/DolphinDisableWarnings.cmake'], 'modified': ['CMake/DolphinLibraryTools.cmake', 'CMakeLists.txt', 'Externals/Bochs_disasm/CMakeLists.txt', 'Externals/FreeSurround/CMakeLists.txt', 'Externals/LZO/CMakeLists.txt', 'Externals/SDL/CMakeLists.txt', 'Externals/SFML/CMakeLists.txt', 'Externals/bzip2/CMakeLists.txt', 'Externals/cpp-ipc/CMakeLists.txt', 'Externals/cpp-optparse/CMakeLists.txt', 'Externals/cubeb/CMakeLists.txt', 'Externals/discord-rpc/src/CMakeLists.txt', 'Externals/ed25519/CMakeLists.txt', 'Externals/enet/CMakeLists.txt', 'Externals/fmt/CMakeLists.txt', 'Externals/glslang/CMakeLists.txt', 'Externals/hidapi/CMakeLists.txt', 'Externals/imgui/CMakeLists.txt', 'Externals/implot/CMakeLists.txt', 'Externals/libiconv/CMakeLists.txt', 'Externals/liblzma/CMakeLists.txt', 'Externals/libusb/CMakeLists.txt', 'Externals/lz4/CMakeLists.txt', 'Externals/mGBA/CMakeLists.txt', 'Externals/mbedtls/library/CMakeLists.txt', 'Externals/miniupnpc/CMakeLists.txt', 'Externals/minizip-ng/CMakeLists.txt', 'Externals/pugixml/CMakeLists.txt', 'Externals/rcheevos/CMakeLists.txt', 'Externals/spirv_cross/CMakeLists.txt', 'Externals/tinygltf/CMakeLists.txt', 'Externals/xxhash/CMakeLists.txt', 'Externals/zlib-ng/CMakeLists.txt', 'Externals/zstd/CMakeLists.txt'], 'removed': ['CMake/DolphinDisableWarningsMSVC.cmake'], 'message': 'CMake: Automatically disable warnings for Externals', 'url': 'https://github.com/dolphin-emu/dolphin/commit/89660f5beae0a3f307ac1587c016e93a4efaed63', 'hash': '89660f5beae0a3f307ac1587c016e93a4efaed63'}, {'author': {'name': 'JosJuice', 'email': 'josjuice@gmail.com', 'date': '2026-10-18T12:12:01+02:00', 'username': 'JosJuice'}, 'distinct': True, 'added': ['CMake/DolphinDisableWarnings.cmake'], 'modified': ['CMake/DolphinLibraryTools.cmake', 'CMakeLists.txt', 'Externals/Bochs_disasm/CMakeLists.txt', 'Externals/FreeSurround/CMakeLists.txt', 'Externals/LZO/CMakeLists.txt', 'Externals/SDL/CMakeLists.txt', 'Externals/SFML/CMakeLists.txt', 'Externals/bzip2/CMakeLists.txt', 'Externals/cpp-ipc/CMakeLists.txt', 'Externals/cpp-optparse/CMakeLists.txt', 'Externals/cubeb/CMakeLists.txt', 'Externals/discord-rpc/src/CMakeLists.txt', 'Externals/ed25519/CMakeLists.txt', 'Externals/enet/CMakeLists.txt', 'Externals/fmt/CMakeLists.txt', 'Externals/glslang/CMakeLists.txt', 'Externals/hidapi/CMakeLists.txt', 'Externals/imgui/CMakeLists.txt', 'Externals/implot/CMakeLists.txt', 'Externals/libiconv/CMakeLists.txt', 'Externals/liblzma/CMakeLists.txt', 'Externals/libusb/CMakeLists.txt', 'Externals/lz4/CMakeLists.txt', 'Externals/mGBA/CMakeLists.txt', 'Externals/mbedtls/library/CMakeLists.txt', 'Externals/miniupnpc/CMakeLists.txt', 'Externals/minizip-ng/CMakeLists.txt', 'Externals/pugixml/CMakeLists.txt', 'Externals/rcheevos/CMakeLists.txt', 'Externals/spirv_cross/CMakeLists.txt', 'Externals/tinygltf/CMakeLists.txt', 'Externals/xxhash/CMakeLists.txt', 'Externals/zlib-ng/CMakeLists.txt', 'Externals/zstd/CMakeLists.txt'], 'removed': ['CMake/DolphinDisableWarningsMSVC.cmake'], 'message': 'Merge pull request #14793 from JoshuaVandaele/auto-off-warns\n\nCMake: Automatically disable warnings for Externals', 'url': 'https://github.com/dolphin-emu/dolphin/commit/b869a2ab2035f0ff0c0ca71becb4e33131ebb1b7', 'hash': 'b869a2ab2035f0ff0c0ca71becb4e33131ebb1b7'}], 'base_ref_name': None, 'ref_name': 'master', 'ref_type': 'heads', 'created': False, 'deleted': False, 'forced': False, 'type': 'gh_push'}
Recent 'internal_log' events
2026-10-26T07:21:14.829336 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'degasus,leoetlino,CrossVR,Tilka,Pokechu22,iwubcode,OatmealDome,Dentomologist,jordan-woyak,JosJuice,phire,linkmauve,AdmiralCurtiss')", 'type': 'internal_log'}
2026-10-26T07:21:14.483041 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log'}
2026-10-26T07:20:19.138157 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'dreamsyntax,TryTwo,corwin-mcknight,nickbeth,PatrickFerry,linkmauve,RachelBryk,jloehr,cristian64,adamdmoss,gwicks,jjdelvalle,JordanTheToaster,VampireFlower,unknownbrackets,JosJuice,ShimmerGlass,CrossVR,ligfx,kayru,Tilka,mahdihijazi,mathieui,hdcmeta,Lobsterzelda,Sintendo,Zopolis4,CelestialAmber,hrydgard,mmastrac,neobrain,Sam-Belliveau,Sir-Walrus,JoshuaVandaele,crediar,endrift,AdmiralCurtiss,magcius,Ebola16,spxtr,zopieux,jezze,nullgemm,DacoTaco,iwubcode,spycrab,mitaclaw,malleoz,RisingFog,mbc07,Filoppi,Linkinworm,leoetlino,K0bin,riking,randomstuff,hthh,cscd98,zackhow,marcan,Ziek,CookiePLMonster,delroth,Stevoisiak,SuperSamus,Starsam80,yourWaifu,TellowKrinkle,NanoByte011,LAGonauta,aldelaro5,CasualPokePlayer,tygyh,JMC47,Hydr8gon,CrystalGamma,shonumi,galop1n,Dentomologist,orbea,jordan-woyak,Tinob,OatmealDome,Orphis,lioncash,OrN,bentley,sepalani,moncefmechri,kamiyo,EmptyChaos,Buddybenj,Geotale,Parlane,BhaaLseN,archshift,Phatcat,LPFaint99,rlnilsen,smurf3tte,Linktothepast,noahpistilli,Simonx22,skylersaleh,merryhime,MayImilae,SirMangler,ColinDTaylor,LillyJadeKatrin,comex,magumagu,Pokechu22,hackbar,aroulin,glennricster,mandar1jn,Helios747,Gamer64ytb,tom-pratt,skidau,phire,mrgreywater,mimimi085181,deReeperJosh,meffij,degasus,vladfi1,Techjar,krnlyng,FioraAeterna,rukai,booto')", 'type': 'internal_log'}
2026-10-26T07:20:17.589075 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2026-10-26T07:15:17.588736 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'dreamsyntax,TryTwo,corwin-mcknight,nickbeth,PatrickFerry,linkmauve,RachelBryk,jloehr,cristian64,adamdmoss,gwicks,jjdelvalle,JordanTheToaster,VampireFlower,unknownbrackets,JosJuice,ShimmerGlass,CrossVR,ligfx,kayru,Tilka,mahdihijazi,mathieui,hdcmeta,Lobsterzelda,Sintendo,Zopolis4,CelestialAmber,hrydgard,mmastrac,neobrain,Sam-Belliveau,Sir-Walrus,JoshuaVandaele,crediar,endrift,AdmiralCurtiss,magcius,Ebola16,spxtr,zopieux,jezze,nullgemm,DacoTaco,iwubcode,spycrab,mitaclaw,malleoz,RisingFog,mbc07,Filoppi,Linkinworm,leoetlino,K0bin,riking,randomstuff,hthh,cscd98,zackhow,marcan,Ziek,CookiePLMonster,delroth,Stevoisiak,SuperSamus,Starsam80,yourWaifu,TellowKrinkle,NanoByte011,LAGonauta,aldelaro5,CasualPokePlayer,tygyh,JMC47,Hydr8gon,CrystalGamma,shonumi,galop1n,Dentomologist,orbea,jordan-woyak,Tinob,OatmealDome,Orphis,lioncash,OrN,bentley,sepalani,moncefmechri,kamiyo,EmptyChaos,Buddybenj,Geotale,Parlane,BhaaLseN,archshift,Phatcat,LPFaint99,rlnilsen,smurf3tte,Linktothepast,noahpistilli,Simonx22,skylersaleh,merryhime,MayImilae,SirMangler,ColinDTaylor,LillyJadeKatrin,comex,magumagu,Pokechu22,hackbar,aroulin,glennricster,mandar1jn,Helios747,Gamer64ytb,tom-pratt,skidau,phire,mrgreywater,mimimi085181,deReeperJosh,meffij,degasus,vladfi1,Techjar,krnlyng,FioraAeterna,rukai,booto')", 'type': 'internal_log'}
2026-10-26T07:15:15.842913 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2026-10-26T07:14:54.642704 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/discord/gateway.py', 'lineno': 584, 'msg': 'Shard ID %s has successfully RESUMED session %s.', 'args': "(None, '8a066b165c9b7e535d8f5c282b205eb0')", 'type': 'internal_log'}
2026-10-26T07:11:14.482831 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'degasus,leoetlino,CrossVR,Tilka,Pokechu22,iwubcode,OatmealDome,Dentomologist,jordan-woyak,JosJuice,phire,linkmauve,AdmiralCurtiss')", 'type': 'internal_log'}
2026-10-26T07:11:14.144197 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log'}
2026-10-26T07:10:15.842580 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'dreamsyntax,TryTwo,corwin-mcknight,nickbeth,PatrickFerry,linkmauve,RachelBryk,jloehr,cristian64,adamdmoss,gwicks,jjdelvalle,JordanTheToaster,VampireFlower,unknownbrackets,JosJuice,ShimmerGlass,CrossVR,ligfx,kayru,Tilka,mahdihijazi,mathieui,hdcmeta,Lobsterzelda,Sintendo,Zopolis4,CelestialAmber,hrydgard,mmastrac,neobrain,Sam-Belliveau,Sir-Walrus,JoshuaVandaele,crediar,endrift,AdmiralCurtiss,magcius,Ebola16,spxtr,zopieux,jezze,nullgemm,DacoTaco,iwubcode,spycrab,mitaclaw,malleoz,RisingFog,mbc07,Filoppi,Linkinworm,leoetlino,K0bin,riking,randomstuff,hthh,cscd98,zackhow,marcan,Ziek,CookiePLMonster,delroth,Stevoisiak,SuperSamus,Starsam80,yourWaifu,TellowKrinkle,NanoByte011,LAGonauta,aldelaro5,CasualPokePlayer,tygyh,JMC47,Hydr8gon,CrystalGamma,shonumi,galop1n,Dentomologist,orbea,jordan-woyak,Tinob,OatmealDome,Orphis,lioncash,OrN,bentley,sepalani,moncefmechri,kamiyo,EmptyChaos,Buddybenj,Geotale,Parlane,BhaaLseN,archshift,Phatcat,LPFaint99,rlnilsen,smurf3tte,Linktothepast,noahpistilli,Simonx22,skylersaleh,merryhime,MayImilae,SirMangler,ColinDTaylor,LillyJadeKatrin,comex,magumagu,Pokechu22,hackbar,aroulin,glennricster,mandar1jn,Helios747,Gamer64ytb,tom-pratt,skidau,phire,mrgreywater,mimimi085181,deReeperJosh,meffij,degasus,vladfi1,Techjar,krnlyng,FioraAeterna,rukai,booto')", 'type': 'internal_log'}
2026-10-26T07:10:14.126913 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2026-10-26T07:08:27.813861 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/buildbot.py', 'lineno': 131, 'msg': 'PR %s mergeable: %s (%s)', 'args': "(14954, True, 'clean')", 'type': 'internal_log'}
2026-10-26T07:05:14.126531 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'dreamsyntax,TryTwo,corwin-mcknight,nickbeth,PatrickFerry,linkmauve,RachelBryk,jloehr,cristian64,adamdmoss,gwicks,jjdelvalle,JordanTheToaster,VampireFlower,unknownbrackets,JosJuice,ShimmerGlass,CrossVR,ligfx,kayru,Tilka,mahdihijazi,mathieui,hdcmeta,Lobsterzelda,Sintendo,Zopolis4,CelestialAmber,hrydgard,mmastrac,neobrain,Sam-Belliveau,Sir-Walrus,JoshuaVandaele,crediar,endrift,AdmiralCurtiss,magcius,Ebola16,spxtr,zopieux,jezze,nullgemm,DacoTaco,iwubcode,spycrab,mitaclaw,malleoz,RisingFog,mbc07,Filoppi,Linkinworm,leoetlino,K0bin,riking,randomstuff,hthh,cscd98,zackhow,marcan,Ziek,CookiePLMonster,delroth,Stevoisiak,SuperSamus,Starsam80,yourWaifu,TellowKrinkle,NanoByte011,LAGonauta,aldelaro5,CasualPokePlayer,tygyh,JMC47,Hydr8gon,CrystalGamma,shonumi,galop1n,Dentomologist,orbea,jordan-woyak,Tinob,OatmealDome,Orphis,lioncash,OrN,bentley,sepalani,moncefmechri,kamiyo,EmptyChaos,Buddybenj,Geotale,Parlane,BhaaLseN,archshift,Phatcat,LPFaint99,rlnilsen,smurf3tte,Linktothepast,noahpistilli,Simonx22,skylersaleh,merryhime,MayImilae,SirMangler,ColinDTaylor,LillyJadeKatrin,comex,magumagu,Pokechu22,hackbar,aroulin,glennricster,mandar1jn,Helios747,Gamer64ytb,tom-pratt,skidau,phire,mrgreywater,mimimi085181,deReeperJosh,meffij,degasus,vladfi1,Techjar,krnlyng,FioraAeterna,rukai,booto')", 'type': 'internal_log'}
2026-10-26T07:05:12.411740 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2026-10-26T07:01:14.143956 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'degasus,leoetlino,CrossVR,Tilka,Pokechu22,iwubcode,OatmealDome,Dentomologist,jordan-woyak,JosJuice,phire,linkmauve,AdmiralCurtiss')", 'type': 'internal_log'}
2026-10-26T07:01:13.820288 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log'}
2026-10-26T07:00:12.411373 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'dreamsyntax,TryTwo,corwin-mcknight,nickbeth,PatrickFerry,linkmauve,RachelBryk,jloehr,cristian64,adamdmoss,gwicks,jjdelvalle,JordanTheToaster,VampireFlower,unknownbrackets,JosJuice,ShimmerGlass,CrossVR,ligfx,kayru,Tilka,mahdihijazi,mathieui,hdcmeta,Lobsterzelda,Sintendo,Zopolis4,CelestialAmber,hrydgard,mmastrac,neobrain,Sam-Belliveau,Sir-Walrus,JoshuaVandaele,crediar,endrift,AdmiralCurtiss,magcius,Ebola16,spxtr,zopieux,jezze,nullgemm,DacoTaco,iwubcode,spycrab,mitaclaw,malleoz,RisingFog,mbc07,Filoppi,Linkinworm,leoetlino,K0bin,riking,randomstuff,hthh,cscd98,zackhow,marcan,Ziek,CookiePLMonster,delroth,Stevoisiak,SuperSamus,Starsam80,yourWaifu,TellowKrinkle,NanoByte011,LAGonauta,aldelaro5,CasualPokePlayer,tygyh,JMC47,Hydr8gon,CrystalGamma,shonumi,galop1n,Dentomologist,orbea,jordan-woyak,Tinob,OatmealDome,Orphis,lioncash,OrN,bentley,sepalani,moncefmechri,kamiyo,EmptyChaos,Buddybenj,Geotale,Parlane,BhaaLseN,archshift,Phatcat,LPFaint99,rlnilsen,smurf3tte,Linktothepast,noahpistilli,Simonx22,skylersaleh,merryhime,MayImilae,SirMangler,ColinDTaylor,LillyJadeKatrin,comex,magumagu,Pokechu22,hackbar,aroulin,glennricster,mandar1jn,Helios747,Gamer64ytb,tom-pratt,skidau,phire,mrgreywater,mimimi085181,deReeperJosh,meffij,degasus,vladfi1,Techjar,krnlyng,FioraAeterna,rukai,booto')", 'type': 'internal_log'}
2026-10-26T07:00:09.813177 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2026-10-26T06:55:09.812876 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'dreamsyntax,TryTwo,corwin-mcknight,nickbeth,PatrickFerry,linkmauve,RachelBryk,jloehr,cristian64,adamdmoss,gwicks,jjdelvalle,JordanTheToaster,VampireFlower,unknownbrackets,JosJuice,ShimmerGlass,CrossVR,ligfx,kayru,Tilka,mahdihijazi,mathieui,hdcmeta,Lobsterzelda,Sintendo,Zopolis4,CelestialAmber,hrydgard,mmastrac,neobrain,Sam-Belliveau,Sir-Walrus,JoshuaVandaele,crediar,endrift,AdmiralCurtiss,magcius,Ebola16,spxtr,zopieux,jezze,nullgemm,DacoTaco,iwubcode,spycrab,mitaclaw,malleoz,RisingFog,mbc07,Filoppi,Linkinworm,leoetlino,K0bin,riking,randomstuff,hthh,cscd98,zackhow,marcan,Ziek,CookiePLMonster,delroth,Stevoisiak,SuperSamus,Starsam80,yourWaifu,TellowKrinkle,NanoByte011,LAGonauta,aldelaro5,CasualPokePlayer,tygyh,JMC47,Hydr8gon,CrystalGamma,shonumi,galop1n,Dentomologist,orbea,jordan-woyak,Tinob,OatmealDome,Orphis,lioncash,OrN,bentley,sepalani,moncefmechri,kamiyo,EmptyChaos,Buddybenj,Geotale,Parlane,BhaaLseN,archshift,Phatcat,LPFaint99,rlnilsen,smurf3tte,Linktothepast,noahpistilli,Simonx22,skylersaleh,merryhime,MayImilae,SirMangler,ColinDTaylor,LillyJadeKatrin,comex,magumagu,Pokechu22,hackbar,aroulin,glennricster,mandar1jn,Helios747,Gamer64ytb,tom-pratt,skidau,phire,mrgreywater,mimimi085181,deReeperJosh,meffij,degasus,vladfi1,Techjar,krnlyng,FioraAeterna,rukai,booto')", 'type': 'internal_log'}
2026-10-26T06:55:07.901821 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2026-10-26T06:51:13.820062 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/core-developers', 'degasus,leoetlino,CrossVR,Tilka,Pokechu22,iwubcode,OatmealDome,Dentomologist,jordan-woyak,JosJuice,phire,linkmauve,AdmiralCurtiss')", 'type': 'internal_log'}
2026-10-26T06:51:13.491343 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'core-developers')", 'type': 'internal_log'}
2026-10-26T06:50:07.901499 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'dreamsyntax,TryTwo,corwin-mcknight,nickbeth,PatrickFerry,linkmauve,RachelBryk,jloehr,cristian64,adamdmoss,gwicks,jjdelvalle,JordanTheToaster,VampireFlower,unknownbrackets,JosJuice,ShimmerGlass,CrossVR,ligfx,kayru,Tilka,mahdihijazi,mathieui,hdcmeta,Lobsterzelda,Sintendo,Zopolis4,CelestialAmber,hrydgard,mmastrac,neobrain,Sam-Belliveau,Sir-Walrus,JoshuaVandaele,crediar,endrift,AdmiralCurtiss,magcius,Ebola16,spxtr,zopieux,jezze,nullgemm,DacoTaco,iwubcode,spycrab,mitaclaw,malleoz,RisingFog,mbc07,Filoppi,Linkinworm,leoetlino,K0bin,riking,randomstuff,hthh,cscd98,zackhow,marcan,Ziek,CookiePLMonster,delroth,Stevoisiak,SuperSamus,Starsam80,yourWaifu,TellowKrinkle,NanoByte011,LAGonauta,aldelaro5,CasualPokePlayer,tygyh,JMC47,Hydr8gon,CrystalGamma,shonumi,galop1n,Dentomologist,orbea,jordan-woyak,Tinob,OatmealDome,Orphis,lioncash,OrN,bentley,sepalani,moncefmechri,kamiyo,EmptyChaos,Buddybenj,Geotale,Parlane,BhaaLseN,archshift,Phatcat,LPFaint99,rlnilsen,smurf3tte,Linktothepast,noahpistilli,Simonx22,skylersaleh,merryhime,MayImilae,SirMangler,ColinDTaylor,LillyJadeKatrin,comex,magumagu,Pokechu22,hackbar,aroulin,glennricster,mandar1jn,Helios747,Gamer64ytb,tom-pratt,skidau,phire,mrgreywater,mimimi085181,deReeperJosh,meffij,degasus,vladfi1,Techjar,krnlyng,FioraAeterna,rukai,booto')", 'type': 'internal_log'}
2026-10-26T06:50:06.066020 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 20, 'msg': 'Refreshing list of trusted users (from %s/%s)', 'args': "('dolphin-emu', 'trusted-developers')", 'type': 'internal_log'}
2026-10-26T06:45:06.065709 {'source': 'logging', 'level': 'INFO', 'pathname': '/nix/store/801nry43pb7wc0ba2clxq82hhw3q1vnj-central-env/lib/python3.13/site-packages/central/github/authz.py', 'lineno': 29, 'msg': 'New GH %s: %s', 'args': "('dolphin-emu/trusted-developers', 'dreamsyntax,TryTwo,corwin-mcknight,nickbeth,PatrickFerry,linkmauve,RachelBryk,jloehr,cristian64,adamdmoss,gwicks,jjdelvalle,JordanTheToaster,VampireFlower,unknownbrackets,JosJuice,ShimmerGlass,CrossVR,ligfx,kayru,Tilka,mahdihijazi,mathieui,hdcmeta,Lobsterzelda,Sintendo,Zopolis4,CelestialAmber,hrydgard,mmastrac,neobrain,Sam-Belliveau,Sir-Walrus,JoshuaVandaele,crediar,endrift,AdmiralCurtiss,magcius,Ebola16,spxtr,zopieux,jezze,nullgemm,DacoTaco,iwubcode,spycrab,mitaclaw,malleoz,RisingFog,mbc07,Filoppi,Linkinworm,leoetlino,K0bin,riking,randomstuff,hthh,cscd98,zackhow,marcan,Ziek,CookiePLMonster,delroth,Stevoisiak,SuperSamus,Starsam80,yourWaifu,TellowKrinkle,NanoByte011,LAGonauta,aldelaro5,CasualPokePlayer,tygyh,JMC47,Hydr8gon,CrystalGamma,shonumi,galop1n,Dentomologist,orbea,jordan-woyak,Tinob,OatmealDome,Orphis,lioncash,OrN,bentley,sepalani,moncefmechri,kamiyo,EmptyChaos,Buddybenj,Geotale,Parlane,BhaaLseN,archshift,Phatcat,LPFaint99,rlnilsen,smurf3tte,Linktothepast,noahpistilli,Simonx22,skylersaleh,merryhime,MayImilae,SirMangler,ColinDTaylor,LillyJadeKatrin,comex,magumagu,Pokechu22,hackbar,aroulin,glennricster,mandar1jn,Helios747,Gamer64ytb,tom-pratt,skidau,phire,mrgreywater,mimimi085181,deReeperJosh,meffij,degasus,vladfi1,Techjar,krnlyng,FioraAeterna,rukai,booto')", 'type': 'internal_log'}
Recent 'issue' events
2026-10-26T03:52:08.153658 {'source': 'redmine', 'new': False, 'update': 7, 'issue': 13754, 'title': 'SDL conflicts with native GC Adapter handling on Linux', 'author': 'Billiard26', 'type': 'issue'}
2026-10-26T03:42:57.556606 {'source': 'redmine', 'new': False, 'update': 6, 'issue': 13754, 'title': 'SDL conflicts with native GC Adapter handling on Linux', 'author': 'DrZ2A', 'type': 'issue'}
2026-10-24T21:15:34.901809 {'source': 'redmine', 'new': False, 'update': 27, 'issue': 14143, 'title': "Games Can't Start Without Crashing Dolphin", 'author': 'Dentomologist', 'type': 'issue'}
2026-10-24T18:28:54.224107 {'source': 'redmine', 'new': False, 'update': 6, 'issue': 14166, 'title': 'Crash Launching Any Game When Set To New Time Zone "Pacific Time (British Columbia)"', 'author': 'JosJuice', 'type': 'issue'}
2026-10-24T08:42:34.709036 {'source': 'redmine', 'new': True, 'update': 0, 'issue': 14169, 'title': 'Having Wii Remote 1/2/3/4 in the Controllers menu set to "Real Wii Remote" makes opening and closing games as well as connecting a Wii Remote take much longer than usual', 'author': 'Nia', 'type': 'issue'}
2026-10-24T02:32:49.117018 {'source': 'redmine', 'new': False, 'update': 2, 'issue': 14168, 'title': 'Issue with Manitoban Time Zone Addition in Microsoft Windows', 'author': 'Billiard26', 'type': 'issue'}
2026-10-24T02:26:45.619599 {'source': 'redmine', 'new': True, 'update': 0, 'issue': 14168, 'title': 'Issue with Manitoban Time Zone Addition in Microsoft Windows', 'author': 'FermentedPeach', 'type': 'issue'}
2026-10-23T22:05:03.797277 {'source': 'redmine', 'new': True, 'update': 0, 'issue': 14167, 'title': 'WII remote will not reconnect after going into sleep mode ', 'author': 'Rjoe', 'type': 'issue'}
2026-10-23T19:51:28.124502 {'source': 'redmine', 'new': False, 'update': 3, 'issue': 12839, 'title': 'Dolphin Updater looks broken at higher Windows Scaling Settings', 'author': 'WiiGamer56473829', 'type': 'issue'}
2026-10-22T16:26:10.311709 {'source': 'redmine', 'new': False, 'update': 5, 'issue': 14166, 'title': 'Crash Launching Any Game When Set To New Time Zone "Pacific Time (British Columbia)"', 'author': 'TakahashiAkira', 'type': 'issue'}
2026-10-22T14:43:01.631652 {'source': 'redmine', 'new': False, 'update': 26, 'issue': 14143, 'title': "Games Can't Start Without Crashing Dolphin", 'author': 'TakahashiAkira', 'type': 'issue'}
2026-10-22T04:57:38.617248 {'source': 'redmine', 'new': False, 'update': 4, 'issue': 14166, 'title': 'Crash Launching Any Game When Set To New Time Zone "Pacific Time (British Columbia)"', 'author': 'Dentomologist', 'type': 'issue'}
2026-10-21T21:29:31.381766 {'source': 'redmine', 'new': False, 'update': 16, 'issue': 5977, 'title': 'Older Wiimotes (Pre -TR) have broken audio in emulated Bluetooth', 'author': 'Billiard26', 'type': 'issue'}
2026-10-21T21:01:26.151585 {'source': 'redmine', 'new': False, 'update': 15, 'issue': 5977, 'title': 'Older Wiimotes (Pre -TR) have broken audio in emulated Bluetooth', 'author': 'mardy', 'type': 'issue'}
2026-10-21T20:21:58.374940 {'source': 'redmine', 'new': False, 'update': 4, 'issue': 12073, 'title': 'Feature request - Cropping 16:9 letterboxed games', 'author': 'Billiard26', 'type': 'issue'}
2026-10-21T19:46:35.815073 {'source': 'redmine', 'new': False, 'update': 3, 'issue': 12073, 'title': 'Feature request - Cropping 16:9 letterboxed games', 'author': 'WiiGamer56473829', 'type': 'issue'}
2026-10-21T19:16:24.473818 {'source': 'redmine', 'new': False, 'update': 3, 'issue': 14166, 'title': 'Crash Launching Any Game When Set To New Time Zone "Pacific Time (British Columbia)"', 'author': 'Billiard26', 'type': 'issue'}
2026-10-21T18:21:57.352709 {'source': 'redmine', 'new': False, 'update': 2, 'issue': 14166, 'title': 'Crash Launching Any Game When Set To New Time Zone "Pacific Time (British Columbia)"', 'author': 'tehgooch', 'type': 'issue'}
2026-10-21T16:09:25.241751 {'source': 'redmine', 'new': True, 'update': 0, 'issue': 14166, 'title': 'Crash Launching Any Game When Set To New Time Zone "Pacific Time (British Columbia)"', 'author': 'tehgooch', 'type': 'issue'}
2026-10-19T16:12:10.962205 {'source': 'redmine', 'new': True, 'update': 0, 'issue': 14165, 'title': "Motion sometimes don't recognized in 3 WarioWare Smooth Moves mini-games (spin/rotation - Emulated controllers)", 'author': 'GaussTek', 'type': 'issue'}
2026-10-19T00:51:12.815927 {'source': 'redmine', 'new': False, 'update': 3, 'issue': 14141, 'title': 'Emulator Closes/Crashes If I Do Anything Since Update (Even If I Install a Different Version)', 'author': 'oftheseaisme', 'type': 'issue'}
Recent 'new_dev_version' events
2026-10-25T12:40:28.012701 {'source': 'repomanager', 'hash': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'branch': 'master', 'shortrev': '2609-127', 'author': 'Admiral H. Curtiss', 'message': 'Merge pull request #14939 from SuperSamus/ppc-analyst-no-strncmp\n\nPPCAnalyst: Avoid using strncmp', 'url': 'https://github.com/dolphin-emu/dolphin/commit/3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'type': 'new_dev_version'}
2026-10-25T11:30:05.226936 {'source': 'repomanager', 'hash': 'edce78926fc20cea65a0599637788715e03644be', 'branch': 'master', 'shortrev': '2609-125', 'author': 'JosJuice', 'message': 'Merge pull request #14853 from SuperSamus/jit-trampoline-info-optimize\n\nJit: Optimize trampoline info allocation', 'url': 'https://github.com/dolphin-emu/dolphin/commit/edce78926fc20cea65a0599637788715e03644be', 'type': 'new_dev_version'}
2026-10-25T11:00:49.123302 {'source': 'repomanager', 'hash': 'f8e6bed381f52fba6015fbda0568e447e1a984b2', 'branch': 'master', 'shortrev': '2609-122', 'author': 'JosJuice', 'message': 'Merge pull request #14952 from jordan-woyak/common-thread-remove-unused\n\nCommon/Thread: Remove some unused things.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/f8e6bed381f52fba6015fbda0568e447e1a984b2', 'type': 'new_dev_version'}
2026-10-24T20:04:29.776886 {'source': 'repomanager', 'hash': '22b581c670d84e60d11c1b02d38e1c7789ae2dfa', 'branch': 'master', 'shortrev': '2609-119', 'author': 'Jordan Woyak', 'message': 'Merge pull request #14940 from jordan-woyak/CoreTimingTest-fix\n\nUnitTests: Fix CoreTiming.SharedSlot test so it can run independently.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/22b581c670d84e60d11c1b02d38e1c7789ae2dfa', 'type': 'new_dev_version'}
2026-10-24T18:22:28.219221 {'source': 'repomanager', 'hash': 'b5f580e6f9b5ba442248ac62a25cb4db246aa69c', 'branch': 'master', 'shortrev': '2609-117', 'author': 'iwubcode', 'message': 'Merge pull request #14946 from OatmealDome/revert-win-std-chrono\n\nRevert "msvc: use std::chrono for GetLocalTimeSinceJan1970"', 'url': 'https://github.com/dolphin-emu/dolphin/commit/b5f580e6f9b5ba442248ac62a25cb4db246aa69c', 'type': 'new_dev_version'}
2026-10-24T12:16:26.358764 {'source': 'repomanager', 'hash': 'c12121f419c40f99eeb65a9039d9fc95be72e94a', 'branch': 'master', 'shortrev': '2609-115', 'author': 'JosJuice', 'message': 'Merge pull request #14917 from jordan-woyak/skylanders-common-aes\n\nSkylanders: Replace mbedtls_aes usage with Common::AES.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/c12121f419c40f99eeb65a9039d9fc95be72e94a', 'type': 'new_dev_version'}
2026-10-22T20:05:27.906534 {'source': 'repomanager', 'hash': 'e1d35f666cc35f6ead55d32ea2679df44d04da72', 'branch': 'master', 'shortrev': '2609-113', 'author': 'Jordan Woyak', 'message': 'Merge pull request #14913 from jordan-woyak/md5\n\nCommon: Introduce MD5Context class and ComputeMD5 function to minimize mbedtls dependence.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/e1d35f666cc35f6ead55d32ea2679df44d04da72', 'type': 'new_dev_version'}
2026-10-22T19:14:51.363992 {'source': 'repomanager', 'hash': '10d958e66bb5d7574166a10f57839a288c5a7c64', 'branch': 'master', 'shortrev': '2609-108', 'author': 'Jordan Woyak', 'message': 'Merge pull request #14942 from Dentomologist/cmake_add_explicit_check_for_minimum_qt_version\n\nCMake: Enforce minimum Qt version 6.2', 'url': 'https://github.com/dolphin-emu/dolphin/commit/10d958e66bb5d7574166a10f57839a288c5a7c64', 'type': 'new_dev_version'}
2026-10-22T17:12:39.717300 {'source': 'repomanager', 'hash': '2c805fee8f232d090c454381bb1b8422242345e1', 'branch': 'master', 'shortrev': '2609-106', 'author': 'JMC47', 'message': 'Merge pull request #14734 from tom-pratt/trigger-game-digest-check\n\nAndroid: Trigger netplay game digest check', 'url': 'https://github.com/dolphin-emu/dolphin/commit/2c805fee8f232d090c454381bb1b8422242345e1', 'type': 'new_dev_version'}
2026-10-19T16:56:25.522321 {'source': 'repomanager', 'hash': 'cf5cb7ef81c3e8e7af5c9d566334219ffda9f68b', 'branch': 'master', 'shortrev': '2609-104', 'author': 'JMC47', 'message': 'Merge pull request #14388 from SuperSamus/jit-branch-follow-explicit\n\nJit: Followed unconditional branches are a property added by the Analyzer, not something to assume', 'url': 'https://github.com/dolphin-emu/dolphin/commit/cf5cb7ef81c3e8e7af5c9d566334219ffda9f68b', 'type': 'new_dev_version'}
2026-10-18T18:26:46.939067 {'source': 'repomanager', 'hash': '1822e3859f061c6f81076c94eb4ba7e6e0a3706c', 'branch': 'master', 'shortrev': '2609-102', 'author': 'Jordan Woyak', 'message': 'Merge pull request #14934 from iwubcode/efb_interface_remove_global\n\nVideoCommon: remove global framebuffer manager from EFBInterface', 'url': 'https://github.com/dolphin-emu/dolphin/commit/1822e3859f061c6f81076c94eb4ba7e6e0a3706c', 'type': 'new_dev_version'}
2026-10-18T12:51:22.655287 {'source': 'repomanager', 'hash': '41460454e9600f909950fddf0abd13a138430162', 'branch': 'master', 'shortrev': '2609-100', 'author': 'JosJuice', 'message': 'Merge pull request #14796 from acts-1631/security/traversal-pending-timeout\n\nTraversal: update pending-packet time on socket timeout', 'url': 'https://github.com/dolphin-emu/dolphin/commit/41460454e9600f909950fddf0abd13a138430162', 'type': 'new_dev_version'}
2026-10-18T10:25:50.493181 {'source': 'repomanager', 'hash': '8c19346fa956c37264751868a8ac4d674bfff6de', 'branch': 'master', 'shortrev': '2609-98', 'author': 'JosJuice', 'message': 'Merge pull request #14621 from jordan-woyak/cached-blob-jthread\n\nDiscIO/CachedBlob: Minor cleanup by replacing std::thread with std::jthread.', 'url': 'https://github.com/dolphin-emu/dolphin/commit/8c19346fa956c37264751868a8ac4d674bfff6de', 'type': 'new_dev_version'}
2026-10-18T10:12:05.349589 {'source': 'repomanager', 'hash': 'b869a2ab2035f0ff0c0ca71becb4e33131ebb1b7', 'branch': 'master', 'shortrev': '2609-94', 'author': 'JosJuice', 'message': 'Merge pull request #14793 from JoshuaVandaele/auto-off-warns\n\nCMake: Automatically disable warnings for Externals', 'url': 'https://github.com/dolphin-emu/dolphin/commit/b869a2ab2035f0ff0c0ca71becb4e33131ebb1b7', 'type': 'new_dev_version'}
2026-10-17T17:14:14.679192 {'source': 'repomanager', 'hash': '38d619b07691231f54e6f037fcf30a3b64fdd5a5', 'branch': 'master', 'shortrev': '2609-92', 'author': 'JosJuice', 'message': 'Merge pull request #14804 from JosJuice/jit-set-lazy-memory-region\n\nJit: Use LazyMemoryRegion-backed bit sets', 'url': 'https://github.com/dolphin-emu/dolphin/commit/38d619b07691231f54e6f037fcf30a3b64fdd5a5', 'type': 'new_dev_version'}
2026-10-17T17:12:50.776242 {'source': 'repomanager', 'hash': '1cf8f6d92c95504b3fa41cdf92e1706cfb0d9928', 'branch': 'master', 'shortrev': '2609-87', 'author': 'JosJuice', 'message': 'Merge pull request #14397 from sepalani/tri-accept\n\nAMMediaboard: Change accept non-blocking logic', 'url': 'https://github.com/dolphin-emu/dolphin/commit/1cf8f6d92c95504b3fa41cdf92e1706cfb0d9928', 'type': 'new_dev_version'}
Recent 'notification' events
2026-10-26T07:14:11.078510 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303r\ufeffunlevel5\x03 commented on #14954 (Jit: Add PPC64LE backend): \x1f\x0302https://dolp.in/pr14954#issuecomment-6410393200\x03\x1f', 'type': 'notification'}
2026-10-26T07:08:58.579391 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14954 \x0304failed\x03 on builders [default]: \x1f\x0302<no url>\x03\x1f', 'type': 'notification'}
2026-10-26T07:08:27.378586 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303r\ufeffunlevel5\x03 synchronized pull request #14954: Jit: Add PPC64LE backend (\x0306master\x03...\x0306ppc64le-jit\x03): \x1f\x0302https://dolp.in/pr14954\x03\x1f', 'type': 'notification'}
2026-10-26T06:43:24.260911 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303s\ufeffepalani\x03 commented on #14954 (Jit: Add PPC64LE backend): \x1f\x0302https://dolp.in/pr14954#issuecomment-6409943904\x03\x1f', 'type': 'notification'}
2026-10-26T04:40:58.668973 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14954 \x0304failed\x03 on builders [default]: \x1f\x0302<no url>\x03\x1f', 'type': 'notification'}
2026-10-26T04:40:27.512974 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303r\ufeffunlevel5\x03 synchronized pull request #14954: Jit: Add PPC64LE backend (\x0306master\x03...\x0306ppc64le-jit\x03): \x1f\x0302https://dolp.in/pr14954\x03\x1f', 'type': 'notification'}
2026-10-26T04:21:08.600503 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303r\ufeffunlevel5\x03 edited pull request #14954: Jit: Add PPC64LE backend (\x0306master\x03...\x0306ppc64le-jit\x03): \x1f\x0302https://dolp.in/pr14954\x03\x1f', 'type': 'notification'}
2026-10-26T04:11:26.543631 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14954 \x0304failed\x03 on builders [default]: \x1f\x0302<no url>\x03\x1f', 'type': 'notification'}
2026-10-26T04:11:22.399087 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303r\ufeffunlevel5\x03 edited pull request #14954: Jit: Add PPC64LE backend (\x0306master\x03...\x0306ppc64le-jit\x03): \x1f\x0302https://dolp.in/pr14954\x03\x1f', 'type': 'notification'}
2026-10-26T04:10:55.421392 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303r\ufeffunlevel5\x03 synchronized pull request #14954: Jit: Add PPC64LE backend (\x0306master\x03...\x0306ppc64le-jit\x03): \x1f\x0302https://dolp.in/pr14954\x03\x1f', 'type': 'notification'}
2026-10-26T03:52:08.153820 {'source': 'notifications', 'msg': 'Update 7 to issue 13754 ("SDL conflicts with native GC Adapter handling on Linux") by \x0303B\ufeffilliard26\x03 - \x1f\x0302https://dolp.in/i13754/7\x03\x1f', 'type': 'notification'}
2026-10-26T03:42:57.556854 {'source': 'notifications', 'msg': 'Update 6 to issue 13754 ("SDL conflicts with native GC Adapter handling on Linux") by \x0303D\ufeffrZ2A\x03 - \x1f\x0302https://dolp.in/i13754/6\x03\x1f', 'type': 'notification'}
2026-10-26T03:42:31.965608 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303r\ufeffunlevel5\x03 edited pull request #14954: Jit: Add PPC64LE backend (\x0306master\x03...\x0306ppc64le-jit\x03): \x1f\x0302https://dolp.in/pr14954\x03\x1f', 'type': 'notification'}
2026-10-26T03:40:40.087607 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303r\ufeffunlevel5\x03 converted to draft pull request #14954: Jit: Add PPC64LE backend (\x0306master\x03...\x0306ppc64le-jit\x03): \x1f\x0302https://dolp.in/pr14954\x03\x1f', 'type': 'notification'}
2026-10-26T03:39:58.902194 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303r\ufeffunlevel5\x03 edited pull request #14954: Jit: Add PPC64LE backend (\x0306master\x03...\x0306ppc64le-jit\x03): \x1f\x0302https://dolp.in/pr14954\x03\x1f', 'type': 'notification'}
2026-10-26T03:39:55.531878 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303r\ufeffunlevel5\x03 edited pull request #14954: Hit: Add PPC64LE backend (\x0306master\x03...\x0306ppc64le-jit\x03): \x1f\x0302https://dolp.in/pr14954\x03\x1f', 'type': 'notification'}
2026-10-26T03:37:55.590961 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303r\ufeffunlevel5\x03 edited pull request #14954: Add a PPC64LE JIT for Gamecube/Wii backend (\x0306master\x03...\x0306ppc64le-jit\x03): \x1f\x0302https://dolp.in/pr14954\x03\x1f', 'type': 'notification'}
2026-10-26T03:36:51.375656 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303r\ufeffunlevel5\x03 edited pull request #14954: Add a PPC64LE JIT for Gamecube/Wii backend (\x0306master\x03...\x0306ppc64le-jit\x03): \x1f\x0302https://dolp.in/pr14954\x03\x1f', 'type': 'notification'}
2026-10-26T03:30:01.694963 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303r\ufeffunlevel5\x03 edited pull request #14954: Add a PPC64LE JIT for Gamecube/Wii backend (\x0306master\x03...\x0306ppc64le-jit\x03): \x1f\x0302https://dolp.in/pr14954\x03\x1f', 'type': 'notification'}
2026-10-26T03:26:33.441884 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303r\ufeffunlevel5\x03 edited pull request #14954: Add a PPC64LE JIT for Gamecube/Wii backend (\x0306master\x03...\x0306ppc64le-jit\x03): \x1f\x0302https://dolp.in/pr14954\x03\x1f', 'type': 'notification'}
2026-10-26T03:02:08.590236 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] build for #14954 \x0304failed\x03 on builders [default]: \x1f\x0302<no url>\x03\x1f', 'type': 'notification'}
2026-10-26T03:01:37.457938 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303r\ufeffunlevel5\x03 opened pull request #14954: Add a PPC64LE JIT for Gamecube/Wii backend (\x0306master\x03...\x0306ppc64le-jit\x03): \x1f\x0302https://dolp.in/pr14954\x03\x1f', 'type': 'notification'}
2026-10-26T02:22:59.172238 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 commented on #14951 (Core/TimePlayed: Decouple the TimePlayed tracker thread from CPUManager.): \x1f\x0302https://dolp.in/pr14951#issuecomment-6406816842\x03\x1f', 'type': 'notification'}
2026-10-26T02:18:56.754530 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303R\ufeffumi-Larry\x03 commented on #14951 (Core/TimePlayed: Decouple the TimePlayed tracker thread from CPUManager.): \x1f\x0302https://dolp.in/pr14951#issuecomment-6406770640\x03\x1f', 'type': 'notification'}
2026-10-25T23:12:00.932397 {'source': 'notifications', 'msg': '[\x1f\x0313dolphin-emu/dolphin\x03\x1f] \x0303j\ufeffordan-woyak\x03 commented on #14948 b3b5f0: \x1f\x0302https://dolp.in/pr14948#discussion_r4372879923\x03\x1f', 'type': 'notification'}
Recent 'pull_request_fifoci_status' events
2026-10-25T22:48:05.882082 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14953, 'type': 'pull_request_fifoci_status'}
2026-10-25T22:42:23.926145 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14806, 'type': 'pull_request_fifoci_status'}
2026-10-25T22:37:09.655447 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14806, 'type': 'pull_request_fifoci_status'}
2026-10-25T22:32:45.961237 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14806, 'type': 'pull_request_fifoci_status'}
2026-10-25T22:26:32.304960 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14953, 'type': 'pull_request_fifoci_status'}
2026-10-25T22:18:20.623855 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14806, 'type': 'pull_request_fifoci_status'}
2026-10-25T22:03:24.698671 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14806, 'type': 'pull_request_fifoci_status'}
2026-10-25T19:28:00.433126 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'bed47bb5c92217246eb96181de1286cef37eab9f', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14951, 'type': 'pull_request_fifoci_status'}
2026-10-25T19:18:35.532678 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'bed47bb5c92217246eb96181de1286cef37eab9f', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14951, 'type': 'pull_request_fifoci_status'}
2026-10-25T19:06:14.989519 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'bed47bb5c92217246eb96181de1286cef37eab9f', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14951, 'type': 'pull_request_fifoci_status'}
2026-10-25T19:04:31.780650 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'bed47bb5c92217246eb96181de1286cef37eab9f', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14951, 'type': 'pull_request_fifoci_status'}
2026-10-25T18:55:24.970862 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'bed47bb5c92217246eb96181de1286cef37eab9f', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14951, 'type': 'pull_request_fifoci_status'}
2026-10-25T15:28:31.964475 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '46bc6735c24535c4f35da715199e7093a3045613', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14783, 'type': 'pull_request_fifoci_status'}
2026-10-25T15:12:46.222420 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'a8a1d092f7c76fac5f54c9e7cf3c6438c8e4117d', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14774, 'type': 'pull_request_fifoci_status'}
2026-10-25T14:58:43.552692 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'b63c9898fa6a5fe36c2b9be1ca8120af2d9918f1', 'service': 'pr-fifoci-ogl-lin-mesa', 'pr': 14950, 'type': 'pull_request_fifoci_status'}
2026-10-25T14:44:36.308681 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '46bc6735c24535c4f35da715199e7093a3045613', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14783, 'type': 'pull_request_fifoci_status'}
2026-10-25T14:42:37.062281 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '46bc6735c24535c4f35da715199e7093a3045613', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14783, 'type': 'pull_request_fifoci_status'}
2026-10-25T14:35:21.761255 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'a8a1d092f7c76fac5f54c9e7cf3c6438c8e4117d', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14774, 'type': 'pull_request_fifoci_status'}
2026-10-25T14:31:47.565613 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'a8a1d092f7c76fac5f54c9e7cf3c6438c8e4117d', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14774, 'type': 'pull_request_fifoci_status'}
2026-10-25T14:27:51.174598 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'b63c9898fa6a5fe36c2b9be1ca8120af2d9918f1', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14950, 'type': 'pull_request_fifoci_status'}
2026-10-25T14:20:49.974692 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'b63c9898fa6a5fe36c2b9be1ca8120af2d9918f1', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14950, 'type': 'pull_request_fifoci_status'}
2026-10-25T14:20:18.439120 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'b3b5f02be632541fa6939c75dedc2dc20c356f87', 'service': 'pr-fifoci-sw-lin-mesa', 'pr': 14948, 'type': 'pull_request_fifoci_status'}
2026-10-25T14:11:47.621378 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '46bc6735c24535c4f35da715199e7093a3045613', 'service': 'pr-fifoci-vk-lin-mesa', 'pr': 14783, 'type': 'pull_request_fifoci_status'}
2026-10-25T14:09:52.811285 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': 'b3b5f02be632541fa6939c75dedc2dc20c356f87', 'service': 'pr-fifoci-mtl-osx-m1', 'pr': 14948, 'type': 'pull_request_fifoci_status'}
2026-10-25T13:59:03.616672 {'source': 'buildbot', 'repo': 'dolphin-emu/dolphin', 'hash': '46bc6735c24535c4f35da715199e7093a3045613', 'service': 'pr-fifoci-mvk-osx-m1', 'pr': 14783, 'type': 'pull_request_fifoci_status'}
Recent 'raw_bb_hook' events
2026-10-26T00:04:06.935134 {'source': 'webserver', 'raw': {'buildid': 194290, 'number': 1295, 'builderid': 20, 'buildrequestid': 194872, 'workerid': 10, 'masterid': 1, 'started_at': 1792972800, 'complete_at': 1792973046, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'buildnumber': [1295, 'Build'], 'buildername': ['nightly-generic', 'Builder'], 'builderid': [20, 'Builder'], 'revision': [None, 'Build'], 'repository': ['', 'Build'], 'builddir': ['/buildbot/nightly-generic', 'Worker'], 'got_revision': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'GitNoBranch'], 'scheduler': ['nightly', 'Scheduler'], 'branch': [None, 'Build'], 'basedir': ['/buildbot', 'Worker'], 'workername': ['ubuntu-lts', 'Worker'], 'codebase': ['', 'Build'], 'warnings-count': [1, 'WarningCountingShellCommand'], 'project': ['', 'Build']}, 'buildrequest': {'buildrequestid': 194872, 'buildsetid': 43707, 'builderid': 20, 'priority': 0, 'claimed': True, 'claimed_at': 1792972800, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792972800, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43707, 'external_idstring': None, 'reason': "The Nightly scheduler named 'nightly' triggered this build", 'submitted_at': 1792972800, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 1, 'branch': None, 'revision': None, 'project': '', 'repository': '', 'codebase': '', 'created_at': 1681171200, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 20, 'name': 'nightly-generic', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/20/builds/1295'}, 'type': 'raw_bb_hook'}
2026-10-26T00:00:00.333358 {'source': 'webserver', 'raw': {'buildid': 194290, 'number': 1295, 'builderid': 20, 'buildrequestid': 194872, 'workerid': 10, 'masterid': 1, 'started_at': 1792972800, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'buildnumber': [1295, 'Build'], 'buildername': ['nightly-generic', 'Builder'], 'builderid': [20, 'Builder'], 'revision': [None, 'Build'], 'repository': ['', 'Build'], 'scheduler': ['nightly', 'Scheduler'], 'branch': [None, 'Build'], 'workername': ['ubuntu-lts', 'Worker'], 'codebase': ['', 'Build'], 'project': ['', 'Build']}, 'buildrequest': {'buildrequestid': 194872, 'buildsetid': 43707, 'builderid': 20, 'priority': 0, 'claimed': True, 'claimed_at': 1792972800, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792972800, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43707, 'external_idstring': None, 'reason': "The Nightly scheduler named 'nightly' triggered this build", 'submitted_at': 1792972800, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 1, 'branch': None, 'revision': None, 'project': '', 'repository': '', 'codebase': '', 'created_at': 1681171200, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 20, 'name': 'nightly-generic', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/20/builds/1295'}, 'type': 'raw_bb_hook'}
2026-10-25T22:48:05.240039 {'source': 'webserver', 'raw': {'buildid': 194289, 'number': 9175, 'builderid': 21, 'buildrequestid': 194871, 'workerid': 8, 'masterid': 1, 'started_at': 1792967828, 'complete_at': 1792968476, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'pr_id': [14953, 'Trigger'], 'buildername': ['pr-fifoci-mtl-osx-m1', 'Builder'], 'buildnumber': [9175, 'Build'], 'repository': ['', 'Build'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build'], 'builderid': [21, 'Builder'], 'revision': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Build'], 'project': ['', 'Build'], 'basedir': ['/Users/ci/worker/base', 'Worker'], 'warnings-count': [117, 'WarningCountingShellCommand'], 'branchname': ['pr-14953', 'Trigger'], 'shortrev': ['5528f1', 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'workername': ['osx-m1', 'Worker'], 'builddir': ['/Users/ci/worker/base/pr-fifoci-mtl-osx-m1', 'Worker'], 'headrev': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'branch': ['refs/pull/14953/head', 'Build'], 'codebase': ['', 'Build'], 'got_revision': ['ca98b3030bcc70e67158ce899a5589aa2ec65d32', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 194871, 'buildsetid': 43706, 'builderid': 21, 'priority': 0, 'claimed': True, 'claimed_at': 1792967828, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792966515, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43706, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1792966515, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 194279, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13128, 'branch': 'refs/pull/14953/head', 'revision': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964740, 'patch': None}]}, 'parentbuild': {'buildid': 194279, 'number': 10840, 'builderid': 7, 'buildrequestid': 194853, 'workerid': 8, 'masterid': 1, 'started_at': 1792965802, 'complete_at': 1792966515, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 7, 'name': 'pr-osx-universal', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 21, 'name': 'pr-fifoci-mtl-osx-m1', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/21/builds/9175'}, 'type': 'raw_bb_hook'}
2026-10-25T22:42:23.226906 {'source': 'webserver', 'raw': {'buildid': 194288, 'number': 9480, 'builderid': 35, 'buildrequestid': 194866, 'workerid': 5, 'masterid': 1, 'started_at': 1792967564, 'complete_at': 1792968142, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'shortrev': ['0c6f2c', 'Trigger'], 'buildername': ['pr-fifoci-sw-lin-mesa', 'Builder'], 'branch': ['refs/pull/14806/head', 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker'], 'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'headrev': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'builderid': [35, 'Builder'], 'buildnumber': [9480, 'Build'], 'revision': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'warnings-count': [2, 'WarningCountingShellCommand'], 'pr_id': [14806, 'Trigger'], 'got_revision': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'GitNoBranch'], 'branchname': ['pr-14806', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'workername': ['altair-fifoci', 'Worker'], 'repository': ['', 'Build'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build'], 'builddir': ['/var/lib/fifoci-worker/worker/pr-fifoci-sw-lin-mesa', 'Worker']}, 'buildrequest': {'buildrequestid': 194866, 'buildsetid': 43702, 'builderid': 35, 'priority': 0, 'claimed': True, 'claimed_at': 1792967564, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792965100, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43702, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1792965100, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 194265, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13127, 'branch': 'refs/pull/14806/head', 'revision': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964325, 'patch': None}]}, 'parentbuild': {'buildid': 194265, 'number': 10821, 'builderid': 27, 'buildrequestid': 194845, 'workerid': 10, 'masterid': 1, 'started_at': 1792964330, 'complete_at': 1792965100, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 27, 'name': 'pr-ubu-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 35, 'name': 'pr-fifoci-sw-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/35/builds/9480'}, 'type': 'raw_bb_hook'}
2026-10-25T22:37:18.491995 {'source': 'webserver', 'raw': {'buildid': 194289, 'number': 9175, 'builderid': 21, 'buildrequestid': 194871, 'workerid': 8, 'masterid': 1, 'started_at': 1792967828, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'pr_id': [14953, 'Trigger'], 'buildername': ['pr-fifoci-mtl-osx-m1', 'Builder'], 'buildnumber': [9175, 'Build'], 'repository': ['', 'Build'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build'], 'builderid': [21, 'Builder'], 'revision': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Build'], 'project': ['', 'Build'], 'branchname': ['pr-14953', 'Trigger'], 'shortrev': ['5528f1', 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'workername': ['osx-m1', 'Worker'], 'headrev': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'branch': ['refs/pull/14953/head', 'Build'], 'codebase': ['', 'Build']}, 'buildrequest': {'buildrequestid': 194871, 'buildsetid': 43706, 'builderid': 21, 'priority': 0, 'claimed': True, 'claimed_at': 1792967828, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792966515, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43706, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1792966515, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 194279, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13128, 'branch': 'refs/pull/14953/head', 'revision': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964740, 'patch': None}]}, 'parentbuild': {'buildid': 194279, 'number': 10840, 'builderid': 7, 'buildrequestid': 194853, 'workerid': 8, 'masterid': 1, 'started_at': 1792965802, 'complete_at': 1792966515, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 7, 'name': 'pr-osx-universal', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 21, 'name': 'pr-fifoci-mtl-osx-m1', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/21/builds/9175'}, 'type': 'raw_bb_hook'}
2026-10-25T22:37:08.964009 {'source': 'webserver', 'raw': {'buildid': 194287, 'number': 9174, 'builderid': 21, 'buildrequestid': 194869, 'workerid': 8, 'masterid': 1, 'started_at': 1792967181, 'complete_at': 1792967828, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'project': ['', 'Build'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build'], 'got_revision': ['ca98b3030bcc70e67158ce899a5589aa2ec65d32', 'GitNoBranch'], 'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'headrev': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'Trigger'], 'shortrev': ['0c6f2c', 'Trigger'], 'pr_id': [14806, 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'builderid': [21, 'Builder'], 'revision': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'Build'], 'basedir': ['/Users/ci/worker/base', 'Worker'], 'branchname': ['pr-14806', 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'buildername': ['pr-fifoci-mtl-osx-m1', 'Builder'], 'buildnumber': [9174, 'Build'], 'repository': ['', 'Build'], 'builddir': ['/Users/ci/worker/base/pr-fifoci-mtl-osx-m1', 'Worker'], 'workername': ['osx-m1', 'Worker'], 'branch': ['refs/pull/14806/head', 'Build'], 'codebase': ['', 'Build'], 'warnings-count': [114, 'WarningCountingShellCommand']}, 'buildrequest': {'buildrequestid': 194869, 'buildsetid': 43703, 'builderid': 21, 'priority': 0, 'claimed': True, 'claimed_at': 1792967181, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792965140, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43703, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1792965140, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 194261, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13127, 'branch': 'refs/pull/14806/head', 'revision': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964325, 'patch': None}]}, 'parentbuild': {'buildid': 194261, 'number': 10839, 'builderid': 7, 'buildrequestid': 194839, 'workerid': 8, 'masterid': 1, 'started_at': 1792964325, 'complete_at': 1792965141, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 7, 'name': 'pr-osx-universal', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 21, 'name': 'pr-fifoci-mtl-osx-m1', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/21/builds/9174'}, 'type': 'raw_bb_hook'}
2026-10-25T22:32:45.428979 {'source': 'webserver', 'raw': {'buildid': 194288, 'number': 9480, 'builderid': 35, 'buildrequestid': 194866, 'workerid': 5, 'masterid': 1, 'started_at': 1792967564, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'shortrev': ['0c6f2c', 'Trigger'], 'buildername': ['pr-fifoci-sw-lin-mesa', 'Builder'], 'branch': ['refs/pull/14806/head', 'Build'], 'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'headrev': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'builderid': [35, 'Builder'], 'buildnumber': [9480, 'Build'], 'revision': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'pr_id': [14806, 'Trigger'], 'branchname': ['pr-14806', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'workername': ['altair-fifoci', 'Worker'], 'repository': ['', 'Build'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build']}, 'buildrequest': {'buildrequestid': 194866, 'buildsetid': 43702, 'builderid': 35, 'priority': 0, 'claimed': True, 'claimed_at': 1792967564, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792965100, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43702, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1792965100, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 194265, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13127, 'branch': 'refs/pull/14806/head', 'revision': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964325, 'patch': None}]}, 'parentbuild': {'buildid': 194265, 'number': 10821, 'builderid': 27, 'buildrequestid': 194845, 'workerid': 10, 'masterid': 1, 'started_at': 1792964330, 'complete_at': 1792965100, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 27, 'name': 'pr-ubu-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 35, 'name': 'pr-fifoci-sw-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/35/builds/9480'}, 'type': 'raw_bb_hook'}
2026-10-25T22:32:45.293591 {'source': 'webserver', 'raw': {'buildid': 194286, 'number': 5467, 'builderid': 41, 'buildrequestid': 194867, 'workerid': 5, 'masterid': 1, 'started_at': 1792966699, 'complete_at': 1792967564, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14806', 'Trigger'], 'headrev': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'Trigger'], 'shortrev': ['0c6f2c', 'Trigger'], 'buildername': ['pr-fifoci-vk-lin-mesa', 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'revision': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'Build'], 'builddir': ['/var/lib/fifoci-worker/worker/pr-fifoci-vk-lin-mesa', 'Worker'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'branch': ['refs/pull/14806/head', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'warnings-count': [2, 'WarningCountingShellCommand'], 'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'pr_id': [14806, 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'builderid': [41, 'Builder'], 'buildnumber': [5467, 'Build'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker'], 'got_revision': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 194867, 'buildsetid': 43702, 'builderid': 41, 'priority': 0, 'claimed': True, 'claimed_at': 1792966699, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792965100, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43702, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1792965100, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 194265, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13127, 'branch': 'refs/pull/14806/head', 'revision': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964325, 'patch': None}]}, 'parentbuild': {'buildid': 194265, 'number': 10821, 'builderid': 27, 'buildrequestid': 194845, 'workerid': 10, 'masterid': 1, 'started_at': 1792964330, 'complete_at': 1792965100, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 27, 'name': 'pr-ubu-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 41, 'name': 'pr-fifoci-vk-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/41/builds/5467'}, 'type': 'raw_bb_hook'}
2026-10-25T22:26:31.592626 {'source': 'webserver', 'raw': {'buildid': 194285, 'number': 9173, 'builderid': 19, 'buildrequestid': 194870, 'workerid': 8, 'masterid': 1, 'started_at': 1792966515, 'complete_at': 1792967181, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'shortrev': ['5528f1', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'buildername': ['pr-fifoci-mvk-osx-m1', 'Builder'], 'builderid': [19, 'Builder'], 'buildnumber': [9173, 'Build'], 'branch': ['refs/pull/14953/head', 'Build'], 'revision': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build'], 'pr_id': [14953, 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'builddir': ['/Users/ci/worker/base/pr-fifoci-mvk-osx-m1', 'Worker'], 'warnings-count': [117, 'WarningCountingShellCommand'], 'branchname': ['pr-14953', 'Trigger'], 'headrev': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Trigger'], 'workername': ['osx-m1', 'Worker'], 'basedir': ['/Users/ci/worker/base', 'Worker'], 'got_revision': ['ca98b3030bcc70e67158ce899a5589aa2ec65d32', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 194870, 'buildsetid': 43706, 'builderid': 19, 'priority': 0, 'claimed': True, 'claimed_at': 1792966515, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792966515, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43706, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1792966515, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 194279, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13128, 'branch': 'refs/pull/14953/head', 'revision': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964740, 'patch': None}]}, 'parentbuild': {'buildid': 194279, 'number': 10840, 'builderid': 7, 'buildrequestid': 194853, 'workerid': 8, 'masterid': 1, 'started_at': 1792965802, 'complete_at': 1792966515, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 7, 'name': 'pr-osx-universal', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 19, 'name': 'pr-fifoci-mvk-osx-m1', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/19/builds/9173'}, 'type': 'raw_bb_hook'}
2026-10-25T22:26:22.245462 {'source': 'webserver', 'raw': {'buildid': 194287, 'number': 9174, 'builderid': 21, 'buildrequestid': 194869, 'workerid': 8, 'masterid': 1, 'started_at': 1792967181, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'project': ['', 'Build'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build'], 'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'headrev': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'Trigger'], 'shortrev': ['0c6f2c', 'Trigger'], 'pr_id': [14806, 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'builderid': [21, 'Builder'], 'revision': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'Build'], 'branchname': ['pr-14806', 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'buildername': ['pr-fifoci-mtl-osx-m1', 'Builder'], 'buildnumber': [9174, 'Build'], 'repository': ['', 'Build'], 'workername': ['osx-m1', 'Worker'], 'branch': ['refs/pull/14806/head', 'Build'], 'codebase': ['', 'Build']}, 'buildrequest': {'buildrequestid': 194869, 'buildsetid': 43703, 'builderid': 21, 'priority': 0, 'claimed': True, 'claimed_at': 1792967181, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792965140, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43703, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1792965140, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 194261, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13127, 'branch': 'refs/pull/14806/head', 'revision': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964325, 'patch': None}]}, 'parentbuild': {'buildid': 194261, 'number': 10839, 'builderid': 7, 'buildrequestid': 194839, 'workerid': 8, 'masterid': 1, 'started_at': 1792964325, 'complete_at': 1792965141, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 7, 'name': 'pr-osx-universal', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 21, 'name': 'pr-fifoci-mtl-osx-m1', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/21/builds/9174'}, 'type': 'raw_bb_hook'}
2026-10-25T22:18:19.958773 {'source': 'webserver', 'raw': {'buildid': 194286, 'number': 5467, 'builderid': 41, 'buildrequestid': 194867, 'workerid': 5, 'masterid': 1, 'started_at': 1792966699, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['pr-14806', 'Trigger'], 'headrev': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'Trigger'], 'shortrev': ['0c6f2c', 'Trigger'], 'buildername': ['pr-fifoci-vk-lin-mesa', 'Builder'], 'workername': ['altair-fifoci', 'Worker'], 'revision': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'Build'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'branch': ['refs/pull/14806/head', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'pr_id': [14806, 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'builderid': [41, 'Builder'], 'buildnumber': [5467, 'Build'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build']}, 'buildrequest': {'buildrequestid': 194867, 'buildsetid': 43702, 'builderid': 41, 'priority': 0, 'claimed': True, 'claimed_at': 1792966699, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792965100, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43702, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1792965100, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 194265, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13127, 'branch': 'refs/pull/14806/head', 'revision': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964325, 'patch': None}]}, 'parentbuild': {'buildid': 194265, 'number': 10821, 'builderid': 27, 'buildrequestid': 194845, 'workerid': 10, 'masterid': 1, 'started_at': 1792964330, 'complete_at': 1792965100, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 27, 'name': 'pr-ubu-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 41, 'name': 'pr-fifoci-vk-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/41/builds/5467'}, 'type': 'raw_bb_hook'}
2026-10-25T22:18:19.892060 {'source': 'webserver', 'raw': {'buildid': 194270, 'number': 9480, 'builderid': 10, 'buildrequestid': 194865, 'workerid': 5, 'masterid': 1, 'started_at': 1792965100, 'complete_at': 1792966699, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14806', 'Trigger'], 'shortrev': ['0c6f2c', 'Trigger'], 'scheduler': ['pr-fifoci-lin', 'Scheduler'], 'builderid': [10, 'Builder'], 'headrev': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'workername': ['altair-fifoci', 'Worker'], 'buildnumber': [9480, 'Build'], 'codebase': ['', 'Build'], 'branch': ['refs/pull/14806/head', 'Build'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build'], 'basedir': ['/var/lib/fifoci-worker/worker', 'Worker'], 'got_revision': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'GitNoBranch'], 'builddir': ['/var/lib/fifoci-worker/worker/pr-fifoci-ogl-lin-mesa', 'Worker'], 'warnings-count': [2, 'WarningCountingShellCommand'], 'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'pr_id': [14806, 'Trigger'], 'buildername': ['pr-fifoci-ogl-lin-mesa', 'Builder'], 'revision': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build']}, 'buildrequest': {'buildrequestid': 194865, 'buildsetid': 43702, 'builderid': 10, 'priority': 0, 'claimed': True, 'claimed_at': 1792965100, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792965100, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43702, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-lin' triggered this build", 'submitted_at': 1792965100, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 194265, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13127, 'branch': 'refs/pull/14806/head', 'revision': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964325, 'patch': None}]}, 'parentbuild': {'buildid': 194265, 'number': 10821, 'builderid': 27, 'buildrequestid': 194845, 'workerid': 10, 'masterid': 1, 'started_at': 1792964330, 'complete_at': 1792965100, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 27, 'name': 'pr-ubu-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 10, 'name': 'pr-fifoci-ogl-lin-mesa', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/10/builds/9480'}, 'type': 'raw_bb_hook'}
2026-10-25T22:17:18.021078 {'source': 'webserver', 'raw': {'buildid': 194284, 'number': 10830, 'builderid': 31, 'buildrequestid': 194860, 'workerid': 4, 'masterid': 1, 'started_at': 1792966445, 'complete_at': 1792966626, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'shortrev': ['5528f1', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'branch': ['refs/pull/14953/head', 'Build'], 'revision': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build'], 'basedir': ['c:\\buildbot', 'Worker'], 'got_revision': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'GitNoBranch'], 'sln_exists': ['false', 'SetPropertyFromCommand Step'], 'warnings-count': [7, 'WarningCountingShellCommand'], 'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'buildername': ['pr-win-dbg-x64', 'Builder'], 'workername': ['windows', 'Worker'], 'build_url': ['https://dl.dolphin-emu.org/prs/28/6d/pr-14953-dolphin-latest-dbg-x64.7z', 'SetProperty'], 'branchname': ['pr-14953', 'Change'], 'headrev': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Change'], 'pr_id': [14953, 'Change'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [31, 'Builder'], 'buildnumber': [10830, 'Build'], 'repository': ['', 'Build'], 'builddir': ['c:\\buildbot\\pr-win-dbg-x64', 'Worker']}, 'buildrequest': {'buildrequestid': 194860, 'buildsetid': 43701, 'builderid': 31, 'priority': 0, 'claimed': True, 'claimed_at': 1792966445, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792964740, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43701, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1792964740, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13128, 'branch': 'refs/pull/14953/head', 'revision': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964740, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 31, 'name': 'pr-win-dbg-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/31/builds/10830'}, 'type': 'raw_bb_hook'}
2026-10-25T22:15:37.283486 {'source': 'webserver', 'raw': {'buildid': 194279, 'number': 10840, 'builderid': 7, 'buildrequestid': 194853, 'workerid': 8, 'masterid': 1, 'started_at': 1792965802, 'complete_at': 1792966515, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14953', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'workername': ['osx-m1', 'Worker'], 'repository': ['', 'Build'], 'builddir': ['/Users/ci/worker/base/pr-osx-universal', 'Worker'], 'builderid': [7, 'Builder'], 'buildnumber': [10840, 'Build'], 'revision': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Build'], 'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'shortrev': ['5528f1', 'Change'], 'codebase': ['', 'Build'], 'headrev': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Change'], 'pr_id': [14953, 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-osx-universal', 'Builder'], 'branch': ['refs/pull/14953/head', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build'], 'basedir': ['/Users/ci/worker/base', 'Worker'], 'got_revision': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'GitNoBranch']}, 'buildrequest': {'buildrequestid': 194853, 'buildsetid': 43701, 'builderid': 7, 'priority': 0, 'claimed': True, 'claimed_at': 1792965802, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792964740, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43701, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1792964740, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13128, 'branch': 'refs/pull/14953/head', 'revision': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964740, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 7, 'name': 'pr-osx-universal', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/7/builds/10840'}, 'type': 'raw_bb_hook'}
2026-10-25T22:15:33.504032 {'source': 'webserver', 'raw': {'buildid': 194285, 'number': 9173, 'builderid': 19, 'buildrequestid': 194870, 'workerid': 8, 'masterid': 1, 'started_at': 1792966515, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'shortrev': ['5528f1', 'Trigger'], 'repo': ['dolphin-emu/dolphin', 'Trigger'], 'buildername': ['pr-fifoci-mvk-osx-m1', 'Builder'], 'builderid': [19, 'Builder'], 'buildnumber': [9173, 'Build'], 'branch': ['refs/pull/14953/head', 'Build'], 'revision': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build'], 'pr_id': [14953, 'Trigger'], 'scheduler': ['pr-fifoci-osx', 'Scheduler'], 'branchname': ['pr-14953', 'Trigger'], 'headrev': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Trigger'], 'workername': ['osx-m1', 'Worker']}, 'buildrequest': {'buildrequestid': 194870, 'buildsetid': 43706, 'builderid': 19, 'priority': 0, 'claimed': True, 'claimed_at': 1792966515, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792966515, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43706, 'external_idstring': None, 'reason': "The Triggerable scheduler named 'pr-fifoci-osx' triggered this build", 'submitted_at': 1792966515, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': 194279, 'parent_relationship': 'Triggered from', 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13128, 'branch': 'refs/pull/14953/head', 'revision': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964740, 'patch': None}]}, 'parentbuild': {'buildid': 194279, 'number': 10840, 'builderid': 7, 'buildrequestid': 194853, 'workerid': 8, 'masterid': 1, 'started_at': 1792965802, 'complete_at': 1792966515, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {}}, 'parentbuilder': {'builderid': 7, 'name': 'pr-osx-universal', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'builder': {'builderid': 19, 'name': 'pr-fifoci-mvk-osx-m1', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/19/builds/9173'}, 'type': 'raw_bb_hook'}
2026-10-25T22:14:18.532342 {'source': 'webserver', 'raw': {'buildid': 194284, 'number': 10830, 'builderid': 31, 'buildrequestid': 194860, 'workerid': 4, 'masterid': 1, 'started_at': 1792966445, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'shortrev': ['5528f1', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'branch': ['refs/pull/14953/head', 'Build'], 'revision': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Build'], 'codebase': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build'], 'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'buildername': ['pr-win-dbg-x64', 'Builder'], 'workername': ['windows', 'Worker'], 'branchname': ['pr-14953', 'Change'], 'headrev': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Change'], 'pr_id': [14953, 'Change'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [31, 'Builder'], 'buildnumber': [10830, 'Build'], 'repository': ['', 'Build']}, 'buildrequest': {'buildrequestid': 194860, 'buildsetid': 43701, 'builderid': 31, 'priority': 0, 'claimed': True, 'claimed_at': 1792966445, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792964740, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43701, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1792964740, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13128, 'branch': 'refs/pull/14953/head', 'revision': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964740, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 31, 'name': 'pr-win-dbg-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/31/builds/10830'}, 'type': 'raw_bb_hook'}
2026-10-25T22:14:06.560768 {'source': 'webserver', 'raw': {'buildid': 194283, 'number': 10829, 'builderid': 31, 'buildrequestid': 194846, 'workerid': 4, 'masterid': 1, 'started_at': 1792966193, 'complete_at': 1792966445, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14806', 'Change'], 'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'headrev': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'Change'], 'shortrev': ['0c6f2c', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'buildername': ['pr-win-dbg-x64', 'Builder'], 'branch': ['refs/pull/14806/head', 'Build'], 'repository': ['', 'Build'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build'], 'sln_exists': ['false', 'SetPropertyFromCommand Step'], 'build_url': ['https://dl.dolphin-emu.org/prs/94/15/pr-14806-dolphin-latest-dbg-x64.7z', 'SetProperty'], 'workername': ['windows', 'Worker'], 'project': ['', 'Build'], 'basedir': ['c:\\buildbot', 'Worker'], 'got_revision': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'GitNoBranch'], 'warnings-count': [7, 'WarningCountingShellCommand'], 'pr_id': [14806, 'Change'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [31, 'Builder'], 'buildnumber': [10829, 'Build'], 'revision': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'Build'], 'codebase': ['', 'Build'], 'builddir': ['c:\\buildbot\\pr-win-dbg-x64', 'Worker']}, 'buildrequest': {'buildrequestid': 194846, 'buildsetid': 43700, 'builderid': 31, 'priority': 0, 'claimed': True, 'claimed_at': 1792966193, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792964325, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43700, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1792964325, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13127, 'branch': 'refs/pull/14806/head', 'revision': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964325, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 31, 'name': 'pr-win-dbg-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/31/builds/10829'}, 'type': 'raw_bb_hook'}
2026-10-25T22:12:55.878594 {'source': 'webserver', 'raw': {'buildid': 194281, 'number': 5970, 'builderid': 43, 'buildrequestid': 194861, 'workerid': 13, 'masterid': 1, 'started_at': 1792966062, 'complete_at': 1792966363, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14953', 'Change'], 'headrev': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Change'], 'pr_id': [14953, 'Change'], 'builderid': [43, 'Builder'], 'branch': ['refs/pull/14953/head', 'Build'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build'], 'workername': ['altair-flatpak', 'Worker'], 'revision': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Build'], 'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'buildername': ['pr-flatpak-x64', 'Builder'], 'buildnumber': [5970, 'Build'], 'repository': ['', 'Build'], 'shortrev': ['5528f1', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'project': ['', 'Build'], 'got_revision': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'GitNoBranch'], 'fm_build_url': ['https://flat-manager.dolphin-emu.org/api/v1/build/13205', 'SetPropertyFromCommand Step'], 'basedir': ['/var/lib/flatpak-worker/worker', 'Worker'], 'builddir': ['/var/lib/flatpak-worker/worker/pr-flatpak-x64', 'Worker']}, 'buildrequest': {'buildrequestid': 194861, 'buildsetid': 43701, 'builderid': 43, 'priority': 0, 'claimed': True, 'claimed_at': 1792966062, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792964740, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43701, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1792964740, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13128, 'branch': 'refs/pull/14953/head', 'revision': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964740, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 43, 'name': 'pr-flatpak-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/43/builds/5970'}, 'type': 'raw_bb_hook'}
2026-10-25T22:11:17.650969 {'source': 'webserver', 'raw': {'buildid': 194282, 'number': 10821, 'builderid': 1, 'buildrequestid': 194851, 'workerid': 9, 'masterid': 1, 'started_at': 1792966063, 'complete_at': 1792966263, 'locks_duration_s': 0, 'complete': True, 'state_string': 'failed build (failure)', 'results': 2, 'properties': {'buildername': ['pr-deb-dbg-x64', 'Builder'], 'revision': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Build'], 'project': ['', 'Build'], 'got_revision': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'GitNoBranch'], 'branchname': ['pr-14953', 'Change'], 'headrev': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [1, 'Builder'], 'branch': ['refs/pull/14953/head', 'Build'], 'codebase': ['', 'Build'], 'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'shortrev': ['5528f1', 'Change'], 'pr_id': [14953, 'Change'], 'workername': ['debian', 'Worker'], 'buildnumber': [10821, 'Build'], 'repository': ['', 'Build'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build'], 'basedir': ['/buildbot', 'Worker'], 'warnings-count': [1, 'WarningCountingShellCommand'], 'builddir': ['/buildbot/pr-deb-dbg-x64', 'Worker']}, 'buildrequest': {'buildrequestid': 194851, 'buildsetid': 43701, 'builderid': 1, 'priority': 0, 'claimed': True, 'claimed_at': 1792966063, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792964740, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43701, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1792964740, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13128, 'branch': 'refs/pull/14953/head', 'revision': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964740, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 1, 'name': 'pr-deb-dbg-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/1/builds/10821'}, 'type': 'raw_bb_hook'}
2026-10-25T22:10:25.430680 {'source': 'webserver', 'raw': {'buildid': 194280, 'number': 10823, 'builderid': 2, 'buildrequestid': 194852, 'workerid': 4, 'masterid': 1, 'started_at': 1792965956, 'complete_at': 1792966193, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branch': ['refs/pull/14953/head', 'Build'], 'warnings-count': [7, 'WarningCountingShellCommand'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build'], 'builddir': ['c:\\buildbot\\pr-win-x64', 'Worker'], 'branchname': ['pr-14953', 'Change'], 'headrev': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Change'], 'buildername': ['pr-win-x64', 'Builder'], 'workername': ['windows', 'Worker'], 'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'shortrev': ['5528f1', 'Change'], 'pr_id': [14953, 'Change'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [2, 'Builder'], 'buildnumber': [10823, 'Build'], 'revision': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Build'], 'codebase': ['', 'Build'], 'basedir': ['c:\\buildbot', 'Worker'], 'got_revision': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'GitNoBranch'], 'sln_exists': ['false', 'SetPropertyFromCommand Step'], 'build_url': ['https://dl.dolphin-emu.org/prs/ef/53/pr-14953-dolphin-latest-x64.7z', 'SetProperty']}, 'buildrequest': {'buildrequestid': 194852, 'buildsetid': 43701, 'builderid': 2, 'priority': 0, 'claimed': True, 'claimed_at': 1792965956, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792964740, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43701, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1792964740, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13128, 'branch': 'refs/pull/14953/head', 'revision': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964740, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 2, 'name': 'pr-win-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/2/builds/10823'}, 'type': 'raw_bb_hook'}
2026-10-25T22:09:54.303298 {'source': 'webserver', 'raw': {'buildid': 194283, 'number': 10829, 'builderid': 31, 'buildrequestid': 194846, 'workerid': 4, 'masterid': 1, 'started_at': 1792966193, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['pr-14806', 'Change'], 'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'headrev': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'Change'], 'shortrev': ['0c6f2c', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'buildername': ['pr-win-dbg-x64', 'Builder'], 'branch': ['refs/pull/14806/head', 'Build'], 'repository': ['', 'Build'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build'], 'workername': ['windows', 'Worker'], 'project': ['', 'Build'], 'pr_id': [14806, 'Change'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [31, 'Builder'], 'buildnumber': [10829, 'Build'], 'revision': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'Build'], 'codebase': ['', 'Build']}, 'buildrequest': {'buildrequestid': 194846, 'buildsetid': 43700, 'builderid': 31, 'priority': 0, 'claimed': True, 'claimed_at': 1792966193, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792964325, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43700, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1792964325, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13127, 'branch': 'refs/pull/14806/head', 'revision': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964325, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 31, 'name': 'pr-win-dbg-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/31/builds/10829'}, 'type': 'raw_bb_hook'}
2026-10-25T22:08:10.036038 {'source': 'webserver', 'raw': {'buildid': 194282, 'number': 10821, 'builderid': 1, 'buildrequestid': 194851, 'workerid': 9, 'masterid': 1, 'started_at': 1792966063, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'buildername': ['pr-deb-dbg-x64', 'Builder'], 'revision': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Build'], 'project': ['', 'Build'], 'branchname': ['pr-14953', 'Change'], 'headrev': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [1, 'Builder'], 'branch': ['refs/pull/14953/head', 'Build'], 'codebase': ['', 'Build'], 'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'shortrev': ['5528f1', 'Change'], 'pr_id': [14953, 'Change'], 'workername': ['debian', 'Worker'], 'buildnumber': [10821, 'Build'], 'repository': ['', 'Build'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build']}, 'buildrequest': {'buildrequestid': 194851, 'buildsetid': 43701, 'builderid': 1, 'priority': 0, 'claimed': True, 'claimed_at': 1792966063, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792964740, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43701, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1792964740, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13128, 'branch': 'refs/pull/14953/head', 'revision': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964740, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 1, 'name': 'pr-deb-dbg-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/1/builds/10821'}, 'type': 'raw_bb_hook'}
2026-10-25T22:07:59.378250 {'source': 'webserver', 'raw': {'buildid': 194281, 'number': 5970, 'builderid': 43, 'buildrequestid': 194861, 'workerid': 13, 'masterid': 1, 'started_at': 1792966062, 'complete_at': None, 'locks_duration_s': 0, 'complete': False, 'state_string': 'starting', 'results': None, 'properties': {'branchname': ['pr-14953', 'Change'], 'headrev': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Change'], 'pr_id': [14953, 'Change'], 'builderid': [43, 'Builder'], 'branch': ['refs/pull/14953/head', 'Build'], 'codebase': ['', 'Build'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build'], 'workername': ['altair-flatpak', 'Worker'], 'revision': ['5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'Build'], 'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'buildername': ['pr-flatpak-x64', 'Builder'], 'buildnumber': [5970, 'Build'], 'repository': ['', 'Build'], 'shortrev': ['5528f1', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'project': ['', 'Build']}, 'buildrequest': {'buildrequestid': 194861, 'buildsetid': 43701, 'builderid': 43, 'priority': 0, 'claimed': True, 'claimed_at': 1792966062, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792964740, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43701, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1792964740, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13128, 'branch': 'refs/pull/14953/head', 'revision': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964740, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 43, 'name': 'pr-flatpak-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/43/builds/5970'}, 'type': 'raw_bb_hook'}
2026-10-25T22:07:45.194225 {'source': 'webserver', 'raw': {'buildid': 194277, 'number': 10820, 'builderid': 1, 'buildrequestid': 194837, 'workerid': 9, 'masterid': 1, 'started_at': 1792965487, 'complete_at': 1792966063, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'pr_id': [14806, 'Change'], 'buildername': ['pr-deb-dbg-x64', 'Builder'], 'branch': ['refs/pull/14806/head', 'Build'], 'repository': ['', 'Build'], 'project': ['', 'Build'], 'basedir': ['/buildbot', 'Worker'], 'got_revision': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'GitNoBranch'], 'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'buildnumber': [10820, 'Build'], 'codebase': ['', 'Build'], 'branchname': ['pr-14806', 'Change'], 'headrev': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'builderid': [1, 'Builder'], 'workername': ['debian', 'Worker'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build'], 'warnings-count': [2, 'WarningCountingShellCommand'], 'shortrev': ['0c6f2c', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'revision': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'Build'], 'builddir': ['/buildbot/pr-deb-dbg-x64', 'Worker']}, 'buildrequest': {'buildrequestid': 194837, 'buildsetid': 43700, 'builderid': 1, 'priority': 0, 'claimed': True, 'claimed_at': 1792965487, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792964325, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43700, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1792964325, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13127, 'branch': 'refs/pull/14806/head', 'revision': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964325, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 1, 'name': 'pr-deb-dbg-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/1/builds/10820'}, 'type': 'raw_bb_hook'}
2026-10-25T22:07:44.831837 {'source': 'webserver', 'raw': {'buildid': 194263, 'number': 5969, 'builderid': 43, 'buildrequestid': 194847, 'workerid': 13, 'masterid': 1, 'started_at': 1792964326, 'complete_at': 1792966062, 'locks_duration_s': 0, 'complete': True, 'state_string': 'build successful', 'results': 0, 'properties': {'branchname': ['pr-14806', 'Change'], 'baserev': ['3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'Change'], 'shortrev': ['0c6f2c', 'Change'], 'repo': ['dolphin-emu/dolphin', 'Change'], 'scheduler': ['pr', 'Scheduler'], 'buildername': ['pr-flatpak-x64', 'Builder'], 'workername': ['altair-flatpak', 'Worker'], 'pr_id': [14806, 'Change'], 'builderid': [43, 'Builder'], 'buildnumber': [5969, 'Build'], 'branch': ['refs/pull/14806/head', 'Build'], 'project': ['', 'Build'], 'revision': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'Build'], 'owners': [['Central (on behalf of: SuperSamus)'], 'Build'], 'repository': ['', 'Build'], 'codebase': ['', 'Build'], 'fm_build_url': ['https://flat-manager.dolphin-emu.org/api/v1/build/13204', 'SetPropertyFromCommand Step'], 'builddir': ['/var/lib/flatpak-worker/worker/pr-flatpak-x64', 'Worker'], 'got_revision': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'GitNoBranch'], 'basedir': ['/var/lib/flatpak-worker/worker', 'Worker'], 'headrev': ['0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'Change']}, 'buildrequest': {'buildrequestid': 194847, 'buildsetid': 43700, 'builderid': 43, 'priority': 0, 'claimed': True, 'claimed_at': 1792964325, 'claimed_by_masterid': 1, 'complete': False, 'results': -1, 'submitted_at': 1792964325, 'complete_at': None, 'waited_for': False, 'properties': None}, 'buildset': {'bsid': 43700, 'external_idstring': None, 'reason': "The AnyBranchScheduler scheduler named 'pr' triggered this build", 'submitted_at': 1792964325, 'complete': False, 'complete_at': None, 'results': -1, 'parent_buildid': None, 'parent_relationship': None, 'rebuilt_buildid': None, 'sourcestamps': [{'ssid': 13127, 'branch': 'refs/pull/14806/head', 'revision': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'project': '', 'repository': '', 'codebase': '', 'created_at': 1792964325, 'patch': None}]}, 'parentbuild': None, 'parentbuilder': None, 'builder': {'builderid': 43, 'name': 'pr-flatpak-x64', 'masterids': [1], 'description': None, 'description_format': None, 'description_html': None, 'projectid': None, 'tags': []}, 'url': 'https://dolphin.ci/#/builders/43/builds/5969'}, 'type': 'raw_bb_hook'}
Recent 'raw_gh_hook' events
2026-10-26T07:14:11.078294 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'id': 6032521100, 'node_id': 'PR_kwDOALCn2M8AAAABKrNDhQ', 'number': 14954, 'title': 'Jit: Add PPC64LE backend', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-10-26T03:01:35Z', 'updated_at': '2026-10-26T07:14:09Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': True, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.patch', 'merged_at': None}, 'body': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme, and FPSCR[FPCC] after compares, which kept the bits that were set before.\r\n- cputest and a fuzzer (Tools/ppc64-jit-tests), which compare the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## Testing\r\n\r\nDolphin's CI has no ppc64le runners, so these are run by hand on POWER9 (bare metal) and Power10 (KVM) hosts:\r\n\r\n- **cputest** (`Tools/ppc64-jit-tests`) runs every instruction the JIT compiles on random and edge-case inputs, on the interpreter and on the JIT, and compares the results. It runs at each Power ISA level the host has (`DOLPHIN_PPC64_ISA=2.07`, `3.0`, `3.1`), with and without fastmem, in MMU mode, with FPRF, and with tiny code chunks to stress block linking.\r\n- **The fuzzer** (`fuzz.c`, `fuzz.py`) generates random programs and runs each on both cores. It covers integer, CR, floating-point and paired-single instructions, every form of load and store, string and cache instructions, and branches. It also raises exceptions: traps, system calls, and DSIs from paged memory in MMU mode. When a program differs, it is reduced to the fewest instructions that still differ. About 5 million programs have run on Power10 at ISA 2.07, 3.0 and 3.1.\r\n- The unit tests, and Luigi's Mansion's frames compared with the cached interpreter's.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nI hope so however I think it might be rejected. I am afraid that the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on the team. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\nEven if the PR is rejected, I hope the team would leave it open so that PowerPC community can still access the source codes and adopt it downstream.\r\n\r\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q5. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6410393200', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954#issuecomment-6410393200', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'id': 6410393200, 'node_id': 'IC_kwDOALCn2M8AAAABfhbWcA', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-26T07:14:09Z', 'updated_at': '2026-10-26T07:14:09Z', 'body': "> 1. What is your personal use-case for this?\r\n\r\nThis is for all OpenPOWER workstations (POWER8/9/10). Companies like Raptor Computing Systems does offer Talos II and Blackbird workstations. IBM too with their own product lines. AFAIK it is pretty niche compared to ARM64, RV64 or even LA64 architectures.\r\n\r\n> 2. What is the involvement of the ones mentioned by the Assisted-By field in the commit message?\r\n\r\nFor many things, from helping me out with prototyping, false-proof design and tracking down bugs.\r\n\r\n> From what I understand of this PR description, this won't work on GC/Wii(U), PS3, X360, PowerMac, IntelMac(+Rosetta). So what is this PR targeting?\r\n\r\nThe title said it all, it is for PowerPC64 LE (Little Endian), that means anything that is newer than POWER8. All of platforms you listed above are much older than POWER8. TL;DR; IBM has been pushing POWER architecture (and still is, Power11 is soon available), few years ago they pushed the OpenPOWER initiative to attract more companies to make computer based on this platform. The aforementioned Raptor Computing System is one of many partners of this initiative.", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6410393200/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-26T07:08:27.378271 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'synchronize', 'number': 14954, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954', 'id': 5011358597, 'node_id': 'PR_kwDOALCn2M8AAAABKrNDhQ', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'number': 14954, 'state': 'open', 'locked': False, 'title': 'Jit: Add PPC64LE backend', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme, and FPSCR[FPCC] after compares, which kept the bits that were set before.\r\n- cputest and a fuzzer (Tools/ppc64-jit-tests), which compare the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## Testing\r\n\r\nDolphin's CI has no ppc64le runners, so these are run by hand on POWER9 (bare metal) and Power10 (KVM) hosts:\r\n\r\n- **cputest** (`Tools/ppc64-jit-tests`) runs every instruction the JIT compiles on random and edge-case inputs, on the interpreter and on the JIT, and compares the results. It runs at each Power ISA level the host has (`DOLPHIN_PPC64_ISA=2.07`, `3.0`, `3.1`), with and without fastmem, in MMU mode, with FPRF, and with tiny code chunks to stress block linking.\r\n- **The fuzzer** (`fuzz.c`, `fuzz.py`) generates random programs and runs each on both cores. It covers integer, CR, floating-point and paired-single instructions, every form of load and store, string and cache instructions, and branches. It also raises exceptions: traps, system calls, and DSIs from paged memory in MMU mode. When a program differs, it is reduced to the fewest instructions that still differ. About 5 million programs have run on Power10 at ISA 2.07, 3.0 and 3.1.\r\n- The unit tests, and Luigi's Mansion's frames compared with the cached interpreter's.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nI hope so however I think it might be rejected. I am afraid that the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on the team. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\nEven if the PR is rejected, I hope the team would leave it open so that PowerPC community can still access the source codes and adopt it downstream.\r\n\r\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q5. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n", 'created_at': '2026-10-26T03:01:35Z', 'updated_at': '2026-10-26T07:08:25Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '78a1e810ad47bfea8404db40435b0d0e7ce57d3a', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': True, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/61ffbe61a7be3913513fd3c96a36fe5e82edea31', 'head': {'label': 'runlevel5:ppc64le-jit', 'ref': 'ppc64le-jit', 'sha': '61ffbe61a7be3913513fd3c96a36fe5e82edea31', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1430975266, 'node_id': 'R_kgDOVUrzIg', 'name': 'dolphin-ppc64', 'full_name': 'runlevel5/dolphin-ppc64', 'private': False, 'owner': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/runlevel5/dolphin-ppc64', 'description': 'PP64LE JIT backend for Dolphin emulator', 'fork': True, 'url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64', 'forks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/forks', 'keys_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/teams', 'hooks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/hooks', 'issue_events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/events{/number}', 'events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/events', 'assignees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/assignees{/user}', 'branches_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/branches{/branch}', 'tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/tags', 'blobs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/languages', 'stargazers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/stargazers', 'contributors_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contributors', 'subscribers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscribers', 'subscription_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscription', 'commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contents/{+path}', 'compare_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/merges', 'archive_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/downloads', 'issues_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues{/number}', 'pulls_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/labels{/name}', 'releases_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/releases{/id}', 'deployments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/deployments', 'created_at': '2026-10-23T11:45:47Z', 'updated_at': '2026-10-26T03:48:16Z', 'pushed_at': '2026-10-26T07:08:23Z', 'git_url': 'git://github.com/runlevel5/dolphin-ppc64.git', 'ssh_url': 'git@github.com:runlevel5/dolphin-ppc64.git', 'clone_url': 'https://github.com/runlevel5/dolphin-ppc64.git', 'svn_url': 'https://github.com/runlevel5/dolphin-ppc64', 'homepage': '', 'size': 518639, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14954'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/61ffbe61a7be3913513fd3c96a36fe5e82edea31'}}, 'author_association': 'NONE', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 1, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 18343, 'deletions': 9, 'changed_files': 61}, 'before': 'de2a3a457968e2cb2066a0fbe46f4425ab101373', 'after': '61ffbe61a7be3913513fd3c96a36fe5e82edea31', 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-26T06:43:24.260730 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'id': 6032521100, 'node_id': 'PR_kwDOALCn2M8AAAABKrNDhQ', 'number': 14954, 'title': 'Jit: Add PPC64LE backend', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-10-26T03:01:35Z', 'updated_at': '2026-10-26T06:43:22Z', 'closed_at': None, 'assignee': None, 'author_association': 'NONE', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': True, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.patch', 'merged_at': None}, 'body': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme, and FPSCR[FPCC] after compares, which kept the bits that were set before.\r\n- cputest and a fuzzer (Tools/ppc64-jit-tests), which compare the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## Testing\r\n\r\nDolphin's CI has no ppc64le runners, so these are run by hand on POWER9 (bare metal) and Power10 (KVM) hosts:\r\n\r\n- **cputest** (`Tools/ppc64-jit-tests`) runs every instruction the JIT compiles on random and edge-case inputs, on the interpreter and on the JIT, and compares the results. It runs at each Power ISA level the host has (`DOLPHIN_PPC64_ISA=2.07`, `3.0`, `3.1`), with and without fastmem, in MMU mode, with FPRF, and with tiny code chunks to stress block linking.\r\n- **The fuzzer** (`fuzz.c`, `fuzz.py`) generates random programs and runs each on both cores. It covers integer, CR, floating-point and paired-single instructions, every form of load and store, string and cache instructions, and branches. It also raises exceptions: traps, system calls, and DSIs from paged memory in MMU mode. When a program differs, it is reduced to the fewest instructions that still differ. About 5 million programs have run on Power10 at ISA 2.07, 3.0 and 3.1.\r\n- The unit tests, and Luigi's Mansion's frames compared with the cached interpreter's.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nI hope so however I think it might be rejected. I am afraid that the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on the team. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\nEven if the PR is rejected, I hope the team would leave it open so that PowerPC community can still access the source codes and adopt it downstream.\r\n\r\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q5. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6409943904', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954#issuecomment-6409943904', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'id': 6409943904, 'node_id': 'IC_kwDOALCn2M8AAAABfg_7YA', 'user': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-26T06:43:22Z', 'updated_at': '2026-10-26T06:43:22Z', 'body': "I haven't checked this PR in depth but I have several questions:\r\n1. What is your personal use-case for this?\r\n2. What is the involvement of the ones mentioned by the `Assisted-By` field in the commit message?\r\n\r\nFrom what I understand of this PR description, this won't work on GC/Wii(U), PS3, X360, PowerMac, IntelMac(+Rosetta). So what is this PR targeting?", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6409943904/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'sepalani', 'id': 7890055, 'node_id': 'MDQ6VXNlcjc4OTAwNTU=', 'avatar_url': 'https://avatars.githubusercontent.com/u/7890055?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/sepalani', 'html_url': 'https://github.com/sepalani', 'followers_url': 'https://api.github.com/users/sepalani/followers', 'following_url': 'https://api.github.com/users/sepalani/following{/other_user}', 'gists_url': 'https://api.github.com/users/sepalani/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/sepalani/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/sepalani/subscriptions', 'organizations_url': 'https://api.github.com/users/sepalani/orgs', 'repos_url': 'https://api.github.com/users/sepalani/repos', 'events_url': 'https://api.github.com/users/sepalani/events{/privacy}', 'received_events_url': 'https://api.github.com/users/sepalani/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-26T04:40:27.512702 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'synchronize', 'number': 14954, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954', 'id': 5011358597, 'node_id': 'PR_kwDOALCn2M8AAAABKrNDhQ', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'number': 14954, 'state': 'open', 'locked': False, 'title': 'Jit: Add PPC64LE backend', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme, and FPSCR[FPCC] after compares, which kept the bits that were set before.\r\n- cputest and a fuzzer (Tools/ppc64-jit-tests), which compare the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## Testing\r\n\r\nDolphin's CI has no ppc64le runners, so these are run by hand on POWER9 (bare metal) and Power10 (KVM) hosts:\r\n\r\n- **cputest** (`Tools/ppc64-jit-tests`) runs every instruction the JIT compiles on random and edge-case inputs, on the interpreter and on the JIT, and compares the results. It runs at each Power ISA level the host has (`DOLPHIN_PPC64_ISA=2.07`, `3.0`, `3.1`), with and without fastmem, in MMU mode, with FPRF, and with tiny code chunks to stress block linking.\r\n- **The fuzzer** (`fuzz.c`, `fuzz.py`) generates random programs and runs each on both cores. It covers integer, CR, floating-point and paired-single instructions, every form of load and store, string and cache instructions, and branches. It also raises exceptions: traps, system calls, and DSIs from paged memory in MMU mode. When a program differs, it is reduced to the fewest instructions that still differ. About 5 million programs have run on Power10 at ISA 2.07, 3.0 and 3.1.\r\n- The unit tests, and Luigi's Mansion's frames compared with the cached interpreter's.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nI hope so however I think it might be rejected. I am afraid that the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on the team. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\nEven if the PR is rejected, I hope the team would leave it open so that PowerPC community can still access the source codes and adopt it downstream.\r\n\r\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q5. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n", 'created_at': '2026-10-26T03:01:35Z', 'updated_at': '2026-10-26T04:40:25Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '65c2cb093365fc7335f6c5d5f3cc7677e4e444ab', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': True, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/de2a3a457968e2cb2066a0fbe46f4425ab101373', 'head': {'label': 'runlevel5:ppc64le-jit', 'ref': 'ppc64le-jit', 'sha': 'de2a3a457968e2cb2066a0fbe46f4425ab101373', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1430975266, 'node_id': 'R_kgDOVUrzIg', 'name': 'dolphin-ppc64', 'full_name': 'runlevel5/dolphin-ppc64', 'private': False, 'owner': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/runlevel5/dolphin-ppc64', 'description': 'PP64LE JIT backend for Dolphin emulator', 'fork': True, 'url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64', 'forks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/forks', 'keys_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/teams', 'hooks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/hooks', 'issue_events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/events{/number}', 'events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/events', 'assignees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/assignees{/user}', 'branches_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/branches{/branch}', 'tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/tags', 'blobs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/languages', 'stargazers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/stargazers', 'contributors_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contributors', 'subscribers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscribers', 'subscription_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscription', 'commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contents/{+path}', 'compare_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/merges', 'archive_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/downloads', 'issues_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues{/number}', 'pulls_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/labels{/name}', 'releases_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/releases{/id}', 'deployments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/deployments', 'created_at': '2026-10-23T11:45:47Z', 'updated_at': '2026-10-26T03:48:16Z', 'pushed_at': '2026-10-26T04:40:24Z', 'git_url': 'git://github.com/runlevel5/dolphin-ppc64.git', 'ssh_url': 'git@github.com:runlevel5/dolphin-ppc64.git', 'clone_url': 'https://github.com/runlevel5/dolphin-ppc64.git', 'svn_url': 'https://github.com/runlevel5/dolphin-ppc64', 'homepage': '', 'size': 518802, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14954'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/de2a3a457968e2cb2066a0fbe46f4425ab101373'}}, 'author_association': 'NONE', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 18341, 'deletions': 9, 'changed_files': 61}, 'before': '9642d36b768beeca55b583137136117a2991535e', 'after': 'de2a3a457968e2cb2066a0fbe46f4425ab101373', 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-26T04:21:08.600287 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'edited', 'number': 14954, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954', 'id': 5011358597, 'node_id': 'PR_kwDOALCn2M8AAAABKrNDhQ', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'number': 14954, 'state': 'open', 'locked': False, 'title': 'Jit: Add PPC64LE backend', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme, and FPSCR[FPCC] after compares, which kept the bits that were set before.\r\n- cputest and a fuzzer (Tools/ppc64-jit-tests), which compare the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## Testing\r\n\r\nDolphin's CI has no ppc64le runners, so these are run by hand on POWER9 (bare metal) and Power10 (KVM) hosts:\r\n\r\n- **cputest** (`Tools/ppc64-jit-tests`) runs every instruction the JIT compiles on random and edge-case inputs, on the interpreter and on the JIT, and compares the results. It runs at each Power ISA level the host has (`DOLPHIN_PPC64_ISA=2.07`, `3.0`, `3.1`), with and without fastmem, in MMU mode, with FPRF, and with tiny code chunks to stress block linking.\r\n- **The fuzzer** (`fuzz.c`, `fuzz.py`) generates random programs and runs each on both cores. It covers integer, CR, floating-point and paired-single instructions, every form of load and store, string and cache instructions, and branches. It also raises exceptions: traps, system calls, and DSIs from paged memory in MMU mode. When a program differs, it is reduced to the fewest instructions that still differ. About 5 million programs have run on Power10 at ISA 2.07, 3.0 and 3.1.\r\n- The unit tests, and Luigi's Mansion's frames compared with the cached interpreter's.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nI hope so however I think it might be rejected. I am afraid that the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on the team. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\nEven if the PR is rejected, I hope the team would leave it open so that PowerPC community can still access the source codes and adopt it downstream.\r\n\r\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q5. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n", 'created_at': '2026-10-26T03:01:35Z', 'updated_at': '2026-10-26T04:21:05Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '65c2cb093365fc7335f6c5d5f3cc7677e4e444ab', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': True, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/9642d36b768beeca55b583137136117a2991535e', 'head': {'label': 'runlevel5:ppc64le-jit', 'ref': 'ppc64le-jit', 'sha': '9642d36b768beeca55b583137136117a2991535e', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1430975266, 'node_id': 'R_kgDOVUrzIg', 'name': 'dolphin-ppc64', 'full_name': 'runlevel5/dolphin-ppc64', 'private': False, 'owner': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/runlevel5/dolphin-ppc64', 'description': 'PP64LE JIT backend for Dolphin emulator', 'fork': True, 'url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64', 'forks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/forks', 'keys_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/teams', 'hooks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/hooks', 'issue_events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/events{/number}', 'events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/events', 'assignees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/assignees{/user}', 'branches_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/branches{/branch}', 'tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/tags', 'blobs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/languages', 'stargazers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/stargazers', 'contributors_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contributors', 'subscribers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscribers', 'subscription_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscription', 'commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contents/{+path}', 'compare_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/merges', 'archive_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/downloads', 'issues_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues{/number}', 'pulls_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/labels{/name}', 'releases_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/releases{/id}', 'deployments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/deployments', 'created_at': '2026-10-23T11:45:47Z', 'updated_at': '2026-10-26T03:48:16Z', 'pushed_at': '2026-10-26T04:10:52Z', 'git_url': 'git://github.com/runlevel5/dolphin-ppc64.git', 'ssh_url': 'git@github.com:runlevel5/dolphin-ppc64.git', 'clone_url': 'https://github.com/runlevel5/dolphin-ppc64.git', 'svn_url': 'https://github.com/runlevel5/dolphin-ppc64', 'homepage': '', 'size': 518802, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14954'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/9642d36b768beeca55b583137136117a2991535e'}}, 'author_association': 'NONE', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': True, 'rebaseable': False, 'mergeable_state': 'unstable', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 18341, 'deletions': 9, 'changed_files': 61}, 'changes': {'body': {'from': "## Changes\n\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\n- Interpreter: fix the carry of addme and subfme, and FPSCR[FPCC] after compares, which kept the bits that were set before.\n- cputest and a fuzzer (Tools/ppc64-jit-tests), which compare the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\n\n## Testing\n\nDolphin's CI has no ppc64le runners, so these are run by hand on POWER9 (bare metal) and Power10 (KVM) hosts:\n\n- **cputest** (`Tools/ppc64-jit-tests`) runs every instruction the JIT compiles on random and edge-case inputs, on the interpreter and on the JIT, and compares the results. It runs at each Power ISA level the host has (`DOLPHIN_PPC64_ISA=2.07`, `3.0`, `3.1`), with and without fastmem, in MMU mode, with FPRF, and with tiny code chunks to stress block linking.\n- **The fuzzer** (`fuzz.c`, `fuzz.py`) generates random programs and runs each on both cores. It covers integer, CR, floating-point and paired-single instructions, every form of load and store, string and cache instructions, and branches. It also raises exceptions: traps, system calls, and DSIs from paged memory in MMU mode. When a program differs, it is reduced to the fewest instructions that still differ. About 5 million programs have run on Power10 at ISA 2.07, 3.0 and 3.1.\n- The unit tests, and Luigi's Mansion's frames compared with the cached interpreter's.\n\n## FAQ\n\n### Q1. Will you be upstreaming this backend?\n\nI hope so however I think it might be rejected. The reason is simple, the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on them if the work would be ever upstreamed. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\n\nEven if the PR is rejected, I hope the team would leave it open so that PowerPC community can still access the source codes and adopt it downstream.\n\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\n\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\n\n### Q3. Will this work on PowerMac G5?\n\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\n\n### Q4. Will this work on POWER7?\n\nNo. POWER7 does not support Little Endian mode. Even though in theory it does support VSX instructions.\n\n### Q5. What pagesize does it support?\n\nTested with 64k pagesize. But it should work with 4k pagesize too.\n\n### Q6. How correct is the implementation?\n\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\n\n### Q7. Would this work on IBM AIX or FreeBSD or non-Linux OS?\n\nIBM AIX is surely a big no because it is big endian OS. FreeBSD is out of scope, plus I have no expertise with this OS. In short I only support Linux with PPC64LE kernel.\n"}}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-26T04:11:22.398885 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'edited', 'number': 14954, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954', 'id': 5011358597, 'node_id': 'PR_kwDOALCn2M8AAAABKrNDhQ', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'number': 14954, 'state': 'open', 'locked': False, 'title': 'Jit: Add PPC64LE backend', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "## Changes\n\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\n- Interpreter: fix the carry of addme and subfme, and FPSCR[FPCC] after compares, which kept the bits that were set before.\n- cputest and a fuzzer (Tools/ppc64-jit-tests), which compare the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\n\n## Testing\n\nDolphin's CI has no ppc64le runners, so these are run by hand on POWER9 (bare metal) and Power10 (KVM) hosts:\n\n- **cputest** (`Tools/ppc64-jit-tests`) runs every instruction the JIT compiles on random and edge-case inputs, on the interpreter and on the JIT, and compares the results. It runs at each Power ISA level the host has (`DOLPHIN_PPC64_ISA=2.07`, `3.0`, `3.1`), with and without fastmem, in MMU mode, with FPRF, and with tiny code chunks to stress block linking.\n- **The fuzzer** (`fuzz.c`, `fuzz.py`) generates random programs and runs each on both cores. It covers integer, CR, floating-point and paired-single instructions, every form of load and store, string and cache instructions, and branches. It also raises exceptions: traps, system calls, and DSIs from paged memory in MMU mode. When a program differs, it is reduced to the fewest instructions that still differ. About 5 million programs have run on Power10 at ISA 2.07, 3.0 and 3.1.\n- The unit tests, and Luigi's Mansion's frames compared with the cached interpreter's.\n\n## FAQ\n\n### Q1. Will you be upstreaming this backend?\n\nI hope so however I think it might be rejected. The reason is simple, the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on them if the work would be ever upstreamed. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\n\nEven if the PR is rejected, I hope the team would leave it open so that PowerPC community can still access the source codes and adopt it downstream.\n\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\n\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\n\n### Q3. Will this work on PowerMac G5?\n\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\n\n### Q4. Will this work on POWER7?\n\nNo. POWER7 does not support Little Endian mode. Even though in theory it does support VSX instructions.\n\n### Q5. What pagesize does it support?\n\nTested with 64k pagesize. But it should work with 4k pagesize too.\n\n### Q6. How correct is the implementation?\n\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\n\n### Q7. Would this work on IBM AIX or FreeBSD or non-Linux OS?\n\nIBM AIX is surely a big no because it is big endian OS. FreeBSD is out of scope, plus I have no expertise with this OS. In short I only support Linux with PPC64LE kernel.\n", 'created_at': '2026-10-26T03:01:35Z', 'updated_at': '2026-10-26T04:11:19Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '65c2cb093365fc7335f6c5d5f3cc7677e4e444ab', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': True, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/9642d36b768beeca55b583137136117a2991535e', 'head': {'label': 'runlevel5:ppc64le-jit', 'ref': 'ppc64le-jit', 'sha': '9642d36b768beeca55b583137136117a2991535e', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1430975266, 'node_id': 'R_kgDOVUrzIg', 'name': 'dolphin-ppc64', 'full_name': 'runlevel5/dolphin-ppc64', 'private': False, 'owner': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/runlevel5/dolphin-ppc64', 'description': 'PP64LE JIT backend for Dolphin emulator', 'fork': True, 'url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64', 'forks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/forks', 'keys_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/teams', 'hooks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/hooks', 'issue_events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/events{/number}', 'events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/events', 'assignees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/assignees{/user}', 'branches_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/branches{/branch}', 'tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/tags', 'blobs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/languages', 'stargazers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/stargazers', 'contributors_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contributors', 'subscribers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscribers', 'subscription_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscription', 'commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contents/{+path}', 'compare_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/merges', 'archive_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/downloads', 'issues_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues{/number}', 'pulls_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/labels{/name}', 'releases_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/releases{/id}', 'deployments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/deployments', 'created_at': '2026-10-23T11:45:47Z', 'updated_at': '2026-10-26T03:48:16Z', 'pushed_at': '2026-10-26T04:10:52Z', 'git_url': 'git://github.com/runlevel5/dolphin-ppc64.git', 'ssh_url': 'git@github.com:runlevel5/dolphin-ppc64.git', 'clone_url': 'https://github.com/runlevel5/dolphin-ppc64.git', 'svn_url': 'https://github.com/runlevel5/dolphin-ppc64', 'homepage': '', 'size': 518802, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14954'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/9642d36b768beeca55b583137136117a2991535e'}}, 'author_association': 'NONE', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': True, 'rebaseable': False, 'mergeable_state': 'unstable', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 18341, 'deletions': 9, 'changed_files': 61}, 'changes': {'body': {'from': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme.\r\n- cputest (Tools/ppc64-jit-tests), which compares the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nI hope so however I think it might be rejected. The reason is simple, the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on them if the work would be ever upstreamed. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\nEven if the PR is rejected, I hope the team would leave it open so that PowerPC community can still access the source codes and adopt it downstream.\r\n\r\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. Will this work on POWER7?\r\n\r\nNo. POWER7 does not support Little Endian mode. Even though in theory it does support VSX instructions.\r\n\r\n### Q5. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q6. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n\r\n### Q7. Would this work on IBM AIX or FreeBSD or non-Linux OS?\r\n\r\nIBM AIX is surely a big no because it is big endian OS. FreeBSD is out of scope, plus I have no expertise with this OS. In short I only support Linux with PPC64LE kernel."}}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-26T04:10:55.420574 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'synchronize', 'number': 14954, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954', 'id': 5011358597, 'node_id': 'PR_kwDOALCn2M8AAAABKrNDhQ', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'number': 14954, 'state': 'open', 'locked': False, 'title': 'Jit: Add PPC64LE backend', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme.\r\n- cputest (Tools/ppc64-jit-tests), which compares the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nI hope so however I think it might be rejected. The reason is simple, the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on them if the work would be ever upstreamed. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\nEven if the PR is rejected, I hope the team would leave it open so that PowerPC community can still access the source codes and adopt it downstream.\r\n\r\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. Will this work on POWER7?\r\n\r\nNo. POWER7 does not support Little Endian mode. Even though in theory it does support VSX instructions.\r\n\r\n### Q5. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q6. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n\r\n### Q7. Would this work on IBM AIX or FreeBSD or non-Linux OS?\r\n\r\nIBM AIX is surely a big no because it is big endian OS. FreeBSD is out of scope, plus I have no expertise with this OS. In short I only support Linux with PPC64LE kernel.", 'created_at': '2026-10-26T03:01:35Z', 'updated_at': '2026-10-26T04:10:54Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'b989a1926e1c32ec79cf3114a462c356f8b890be', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': True, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/9642d36b768beeca55b583137136117a2991535e', 'head': {'label': 'runlevel5:ppc64le-jit', 'ref': 'ppc64le-jit', 'sha': '9642d36b768beeca55b583137136117a2991535e', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1430975266, 'node_id': 'R_kgDOVUrzIg', 'name': 'dolphin-ppc64', 'full_name': 'runlevel5/dolphin-ppc64', 'private': False, 'owner': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/runlevel5/dolphin-ppc64', 'description': 'PP64LE JIT backend for Dolphin emulator', 'fork': True, 'url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64', 'forks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/forks', 'keys_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/teams', 'hooks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/hooks', 'issue_events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/events{/number}', 'events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/events', 'assignees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/assignees{/user}', 'branches_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/branches{/branch}', 'tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/tags', 'blobs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/languages', 'stargazers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/stargazers', 'contributors_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contributors', 'subscribers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscribers', 'subscription_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscription', 'commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contents/{+path}', 'compare_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/merges', 'archive_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/downloads', 'issues_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues{/number}', 'pulls_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/labels{/name}', 'releases_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/releases{/id}', 'deployments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/deployments', 'created_at': '2026-10-23T11:45:47Z', 'updated_at': '2026-10-26T03:48:16Z', 'pushed_at': '2026-10-26T04:10:52Z', 'git_url': 'git://github.com/runlevel5/dolphin-ppc64.git', 'ssh_url': 'git@github.com:runlevel5/dolphin-ppc64.git', 'clone_url': 'https://github.com/runlevel5/dolphin-ppc64.git', 'svn_url': 'https://github.com/runlevel5/dolphin-ppc64', 'homepage': '', 'size': 518802, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14954'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/9642d36b768beeca55b583137136117a2991535e'}}, 'author_association': 'NONE', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 18341, 'deletions': 9, 'changed_files': 61}, 'before': '5ca3545c20f034eff8dceef942bb30695f2c47c8', 'after': '9642d36b768beeca55b583137136117a2991535e', 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-26T03:42:31.965359 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'edited', 'number': 14954, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954', 'id': 5011358597, 'node_id': 'PR_kwDOALCn2M8AAAABKrNDhQ', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'number': 14954, 'state': 'open', 'locked': False, 'title': 'Jit: Add PPC64LE backend', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme.\r\n- cputest (Tools/ppc64-jit-tests), which compares the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nI hope so however I think it might be rejected. The reason is simple, the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on them if the work would be ever upstreamed. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\nEven if the PR is rejected, I hope the team would leave it open so that PowerPC community can still access the source codes and adopt it downstream.\r\n\r\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. Will this work on POWER7?\r\n\r\nNo. POWER7 does not support Little Endian mode. Even though in theory it does support VSX instructions.\r\n\r\n### Q5. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q6. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n\r\n### Q7. Would this work on IBM AIX or FreeBSD or non-Linux OS?\r\n\r\nIBM AIX is surely a big no because it is big endian OS. FreeBSD is out of scope, plus I have no expertise with this OS. In short I only support Linux with PPC64LE kernel.", 'created_at': '2026-10-26T03:01:35Z', 'updated_at': '2026-10-26T03:42:28Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'b989a1926e1c32ec79cf3114a462c356f8b890be', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': True, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/5ca3545c20f034eff8dceef942bb30695f2c47c8', 'head': {'label': 'runlevel5:ppc64le-jit', 'ref': 'ppc64le-jit', 'sha': '5ca3545c20f034eff8dceef942bb30695f2c47c8', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1430975266, 'node_id': 'R_kgDOVUrzIg', 'name': 'dolphin-ppc64', 'full_name': 'runlevel5/dolphin-ppc64', 'private': False, 'owner': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/runlevel5/dolphin-ppc64', 'description': 'PP64LE JIT backend for Dolphin emulator', 'fork': True, 'url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64', 'forks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/forks', 'keys_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/teams', 'hooks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/hooks', 'issue_events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/events{/number}', 'events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/events', 'assignees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/assignees{/user}', 'branches_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/branches{/branch}', 'tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/tags', 'blobs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/languages', 'stargazers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/stargazers', 'contributors_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contributors', 'subscribers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscribers', 'subscription_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscription', 'commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contents/{+path}', 'compare_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/merges', 'archive_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/downloads', 'issues_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues{/number}', 'pulls_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/labels{/name}', 'releases_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/releases{/id}', 'deployments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/deployments', 'created_at': '2026-10-23T11:45:47Z', 'updated_at': '2026-10-25T03:34:48Z', 'pushed_at': '2026-10-26T01:59:24Z', 'git_url': 'git://github.com/runlevel5/dolphin-ppc64.git', 'ssh_url': 'git@github.com:runlevel5/dolphin-ppc64.git', 'clone_url': 'https://github.com/runlevel5/dolphin-ppc64.git', 'svn_url': 'https://github.com/runlevel5/dolphin-ppc64', 'homepage': '', 'size': 518802, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14954'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/5ca3545c20f034eff8dceef942bb30695f2c47c8'}}, 'author_association': 'NONE', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': True, 'rebaseable': False, 'mergeable_state': 'unstable', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 16941, 'deletions': 7, 'changed_files': 57}, 'changes': {'body': {'from': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme.\r\n- cputest (Tools/ppc64-jit-tests), which compares the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nI hope so however I think it might be rejected. The reason is simple, the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on them if the work would be ever upstreamed. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. Will this work on POWER7?\r\n\r\nNo. POWER7 does not support Little Endian mode. Even though in theory it does support VSX instructions.\r\n\r\n### Q5. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q6. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n\r\n### Q7. Would this work on IBM AIX or FreeBSD or non-Linux OS?\r\n\r\nIBM AIX is surely a big no because it is big endian OS. FreeBSD is out of scope, plus I have no expertise with this OS. In short I only support Linux with PPC64LE kernel."}}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-26T03:40:40.087391 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'converted_to_draft', 'number': 14954, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954', 'id': 5011358597, 'node_id': 'PR_kwDOALCn2M8AAAABKrNDhQ', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'number': 14954, 'state': 'open', 'locked': False, 'title': 'Jit: Add PPC64LE backend', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme.\r\n- cputest (Tools/ppc64-jit-tests), which compares the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nI hope so however I think it might be rejected. The reason is simple, the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on them if the work would be ever upstreamed. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. Will this work on POWER7?\r\n\r\nNo. POWER7 does not support Little Endian mode. Even though in theory it does support VSX instructions.\r\n\r\n### Q5. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q6. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n\r\n### Q7. Would this work on IBM AIX or FreeBSD or non-Linux OS?\r\n\r\nIBM AIX is surely a big no because it is big endian OS. FreeBSD is out of scope, plus I have no expertise with this OS. In short I only support Linux with PPC64LE kernel.", 'created_at': '2026-10-26T03:01:35Z', 'updated_at': '2026-10-26T03:40:38Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'b989a1926e1c32ec79cf3114a462c356f8b890be', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': True, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/5ca3545c20f034eff8dceef942bb30695f2c47c8', 'head': {'label': 'runlevel5:ppc64le-jit', 'ref': 'ppc64le-jit', 'sha': '5ca3545c20f034eff8dceef942bb30695f2c47c8', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1430975266, 'node_id': 'R_kgDOVUrzIg', 'name': 'dolphin-ppc64', 'full_name': 'runlevel5/dolphin-ppc64', 'private': False, 'owner': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/runlevel5/dolphin-ppc64', 'description': 'PP64LE JIT backend for Dolphin emulator', 'fork': True, 'url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64', 'forks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/forks', 'keys_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/teams', 'hooks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/hooks', 'issue_events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/events{/number}', 'events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/events', 'assignees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/assignees{/user}', 'branches_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/branches{/branch}', 'tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/tags', 'blobs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/languages', 'stargazers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/stargazers', 'contributors_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contributors', 'subscribers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscribers', 'subscription_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscription', 'commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contents/{+path}', 'compare_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/merges', 'archive_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/downloads', 'issues_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues{/number}', 'pulls_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/labels{/name}', 'releases_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/releases{/id}', 'deployments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/deployments', 'created_at': '2026-10-23T11:45:47Z', 'updated_at': '2026-10-25T03:34:48Z', 'pushed_at': '2026-10-26T01:59:24Z', 'git_url': 'git://github.com/runlevel5/dolphin-ppc64.git', 'ssh_url': 'git@github.com:runlevel5/dolphin-ppc64.git', 'clone_url': 'https://github.com/runlevel5/dolphin-ppc64.git', 'svn_url': 'https://github.com/runlevel5/dolphin-ppc64', 'homepage': '', 'size': 518802, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14954'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/5ca3545c20f034eff8dceef942bb30695f2c47c8'}}, 'author_association': 'NONE', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': True, 'rebaseable': False, 'mergeable_state': 'unstable', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 16941, 'deletions': 7, 'changed_files': 57}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-26T03:39:58.901983 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'edited', 'number': 14954, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954', 'id': 5011358597, 'node_id': 'PR_kwDOALCn2M8AAAABKrNDhQ', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'number': 14954, 'state': 'open', 'locked': False, 'title': 'Jit: Add PPC64LE backend', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme.\r\n- cputest (Tools/ppc64-jit-tests), which compares the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nI hope so however I think it might be rejected. The reason is simple, the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on them if the work would be ever upstreamed. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. Will this work on POWER7?\r\n\r\nNo. POWER7 does not support Little Endian mode. Even though in theory it does support VSX instructions.\r\n\r\n### Q5. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q6. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n\r\n### Q7. Would this work on IBM AIX or FreeBSD or non-Linux OS?\r\n\r\nIBM AIX is surely a big no because it is big endian OS. FreeBSD is out of scope, plus I have no expertise with this OS. In short I only support Linux with PPC64LE kernel.", 'created_at': '2026-10-26T03:01:35Z', 'updated_at': '2026-10-26T03:39:57Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'b989a1926e1c32ec79cf3114a462c356f8b890be', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/5ca3545c20f034eff8dceef942bb30695f2c47c8', 'head': {'label': 'runlevel5:ppc64le-jit', 'ref': 'ppc64le-jit', 'sha': '5ca3545c20f034eff8dceef942bb30695f2c47c8', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1430975266, 'node_id': 'R_kgDOVUrzIg', 'name': 'dolphin-ppc64', 'full_name': 'runlevel5/dolphin-ppc64', 'private': False, 'owner': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/runlevel5/dolphin-ppc64', 'description': 'PP64LE JIT backend for Dolphin emulator', 'fork': True, 'url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64', 'forks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/forks', 'keys_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/teams', 'hooks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/hooks', 'issue_events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/events{/number}', 'events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/events', 'assignees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/assignees{/user}', 'branches_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/branches{/branch}', 'tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/tags', 'blobs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/languages', 'stargazers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/stargazers', 'contributors_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contributors', 'subscribers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscribers', 'subscription_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscription', 'commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contents/{+path}', 'compare_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/merges', 'archive_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/downloads', 'issues_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues{/number}', 'pulls_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/labels{/name}', 'releases_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/releases{/id}', 'deployments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/deployments', 'created_at': '2026-10-23T11:45:47Z', 'updated_at': '2026-10-25T03:34:48Z', 'pushed_at': '2026-10-26T01:59:24Z', 'git_url': 'git://github.com/runlevel5/dolphin-ppc64.git', 'ssh_url': 'git@github.com:runlevel5/dolphin-ppc64.git', 'clone_url': 'https://github.com/runlevel5/dolphin-ppc64.git', 'svn_url': 'https://github.com/runlevel5/dolphin-ppc64', 'homepage': '', 'size': 518802, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14954'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/5ca3545c20f034eff8dceef942bb30695f2c47c8'}}, 'author_association': 'NONE', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': True, 'rebaseable': False, 'mergeable_state': 'unstable', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 16941, 'deletions': 7, 'changed_files': 57}, 'changes': {'title': {'from': 'Hit: Add PPC64LE backend'}}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-26T03:39:55.531652 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'edited', 'number': 14954, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954', 'id': 5011358597, 'node_id': 'PR_kwDOALCn2M8AAAABKrNDhQ', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'number': 14954, 'state': 'open', 'locked': False, 'title': 'Hit: Add PPC64LE backend', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme.\r\n- cputest (Tools/ppc64-jit-tests), which compares the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nI hope so however I think it might be rejected. The reason is simple, the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on them if the work would be ever upstreamed. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. Will this work on POWER7?\r\n\r\nNo. POWER7 does not support Little Endian mode. Even though in theory it does support VSX instructions.\r\n\r\n### Q5. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q6. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n\r\n### Q7. Would this work on IBM AIX or FreeBSD or non-Linux OS?\r\n\r\nIBM AIX is surely a big no because it is big endian OS. FreeBSD is out of scope, plus I have no expertise with this OS. In short I only support Linux with PPC64LE kernel.", 'created_at': '2026-10-26T03:01:35Z', 'updated_at': '2026-10-26T03:39:52Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'b989a1926e1c32ec79cf3114a462c356f8b890be', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/5ca3545c20f034eff8dceef942bb30695f2c47c8', 'head': {'label': 'runlevel5:ppc64le-jit', 'ref': 'ppc64le-jit', 'sha': '5ca3545c20f034eff8dceef942bb30695f2c47c8', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1430975266, 'node_id': 'R_kgDOVUrzIg', 'name': 'dolphin-ppc64', 'full_name': 'runlevel5/dolphin-ppc64', 'private': False, 'owner': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/runlevel5/dolphin-ppc64', 'description': 'PP64LE JIT backend for Dolphin emulator', 'fork': True, 'url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64', 'forks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/forks', 'keys_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/teams', 'hooks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/hooks', 'issue_events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/events{/number}', 'events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/events', 'assignees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/assignees{/user}', 'branches_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/branches{/branch}', 'tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/tags', 'blobs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/languages', 'stargazers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/stargazers', 'contributors_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contributors', 'subscribers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscribers', 'subscription_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscription', 'commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contents/{+path}', 'compare_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/merges', 'archive_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/downloads', 'issues_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues{/number}', 'pulls_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/labels{/name}', 'releases_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/releases{/id}', 'deployments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/deployments', 'created_at': '2026-10-23T11:45:47Z', 'updated_at': '2026-10-25T03:34:48Z', 'pushed_at': '2026-10-26T01:59:24Z', 'git_url': 'git://github.com/runlevel5/dolphin-ppc64.git', 'ssh_url': 'git@github.com:runlevel5/dolphin-ppc64.git', 'clone_url': 'https://github.com/runlevel5/dolphin-ppc64.git', 'svn_url': 'https://github.com/runlevel5/dolphin-ppc64', 'homepage': '', 'size': 518802, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14954'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/5ca3545c20f034eff8dceef942bb30695f2c47c8'}}, 'author_association': 'NONE', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': True, 'rebaseable': False, 'mergeable_state': 'unstable', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 16941, 'deletions': 7, 'changed_files': 57}, 'changes': {'title': {'from': 'Add a PPC64LE JIT for Gamecube/Wii backend'}}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-26T03:37:55.590748 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'edited', 'number': 14954, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954', 'id': 5011358597, 'node_id': 'PR_kwDOALCn2M8AAAABKrNDhQ', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'number': 14954, 'state': 'open', 'locked': False, 'title': 'Add a PPC64LE JIT for Gamecube/Wii backend', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme.\r\n- cputest (Tools/ppc64-jit-tests), which compares the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nI hope so however I think it might be rejected. The reason is simple, the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on them if the work would be ever upstreamed. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. Will this work on POWER7?\r\n\r\nNo. POWER7 does not support Little Endian mode. Even though in theory it does support VSX instructions.\r\n\r\n### Q5. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q6. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n\r\n### Q7. Would this work on IBM AIX or FreeBSD or non-Linux OS?\r\n\r\nIBM AIX is surely a big no because it is big endian OS. FreeBSD is out of scope, plus I have no expertise with this OS. In short I only support Linux with PPC64LE kernel.", 'created_at': '2026-10-26T03:01:35Z', 'updated_at': '2026-10-26T03:37:53Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'b989a1926e1c32ec79cf3114a462c356f8b890be', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/5ca3545c20f034eff8dceef942bb30695f2c47c8', 'head': {'label': 'runlevel5:ppc64le-jit', 'ref': 'ppc64le-jit', 'sha': '5ca3545c20f034eff8dceef942bb30695f2c47c8', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1430975266, 'node_id': 'R_kgDOVUrzIg', 'name': 'dolphin-ppc64', 'full_name': 'runlevel5/dolphin-ppc64', 'private': False, 'owner': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/runlevel5/dolphin-ppc64', 'description': 'PP64LE JIT backend for Dolphin emulator', 'fork': True, 'url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64', 'forks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/forks', 'keys_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/teams', 'hooks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/hooks', 'issue_events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/events{/number}', 'events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/events', 'assignees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/assignees{/user}', 'branches_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/branches{/branch}', 'tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/tags', 'blobs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/languages', 'stargazers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/stargazers', 'contributors_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contributors', 'subscribers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscribers', 'subscription_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscription', 'commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contents/{+path}', 'compare_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/merges', 'archive_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/downloads', 'issues_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues{/number}', 'pulls_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/labels{/name}', 'releases_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/releases{/id}', 'deployments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/deployments', 'created_at': '2026-10-23T11:45:47Z', 'updated_at': '2026-10-25T03:34:48Z', 'pushed_at': '2026-10-26T01:59:24Z', 'git_url': 'git://github.com/runlevel5/dolphin-ppc64.git', 'ssh_url': 'git@github.com:runlevel5/dolphin-ppc64.git', 'clone_url': 'https://github.com/runlevel5/dolphin-ppc64.git', 'svn_url': 'https://github.com/runlevel5/dolphin-ppc64', 'homepage': '', 'size': 518802, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14954'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/5ca3545c20f034eff8dceef942bb30695f2c47c8'}}, 'author_association': 'NONE', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': True, 'rebaseable': False, 'mergeable_state': 'unstable', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 16941, 'deletions': 7, 'changed_files': 57}, 'changes': {'body': {'from': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme.\r\n- cputest (Tools/ppc64-jit-tests), which compares the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nI hope so however I think it might be rejected. The reason is simple, the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on them if the work would be ever upstreamed. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. Will this work on POWER7?\r\n\r\nNo. POWER7 does not support Little Endian mode. Even though in theory it does support VSX instructions.\r\n\r\n### Q5. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q6. Is there any Linux distribution shipping this backend?\r\n\r\nNo atm. But I am more than happen to assist if you were a packager.\r\n\r\n### Q7. What version of Dolphin should I use?\r\n\r\nThe patchset will be rebased regularly against the upstream. If the upstream does a new release cut, I will cut a release downstream too. So the answer is to stick to latest codes that this repository ships.\r\n\r\n### Q8. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n\r\n### Q9. Would this work on IBM AIX or FreeBSD or non-Linux OS?\r\n\r\nIBM AIX is surely a big no because it is big endian OS. FreeBSD is out of scope, plus I have no expertise with this OS. In short I only support Linux with PPC64LE kernel."}}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-26T03:36:51.375419 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'edited', 'number': 14954, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954', 'id': 5011358597, 'node_id': 'PR_kwDOALCn2M8AAAABKrNDhQ', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'number': 14954, 'state': 'open', 'locked': False, 'title': 'Add a PPC64LE JIT for Gamecube/Wii backend', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme.\r\n- cputest (Tools/ppc64-jit-tests), which compares the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nI hope so however I think it might be rejected. The reason is simple, the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on them if the work would be ever upstreamed. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. Will this work on POWER7?\r\n\r\nNo. POWER7 does not support Little Endian mode. Even though in theory it does support VSX instructions.\r\n\r\n### Q5. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q6. Is there any Linux distribution shipping this backend?\r\n\r\nNo atm. But I am more than happen to assist if you were a packager.\r\n\r\n### Q7. What version of Dolphin should I use?\r\n\r\nThe patchset will be rebased regularly against the upstream. If the upstream does a new release cut, I will cut a release downstream too. So the answer is to stick to latest codes that this repository ships.\r\n\r\n### Q8. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n\r\n### Q9. Would this work on IBM AIX or FreeBSD or non-Linux OS?\r\n\r\nIBM AIX is surely a big no because it is big endian OS. FreeBSD is out of scope, plus I have no expertise with this OS. In short I only support Linux with PPC64LE kernel.", 'created_at': '2026-10-26T03:01:35Z', 'updated_at': '2026-10-26T03:36:48Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'b989a1926e1c32ec79cf3114a462c356f8b890be', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/5ca3545c20f034eff8dceef942bb30695f2c47c8', 'head': {'label': 'runlevel5:ppc64le-jit', 'ref': 'ppc64le-jit', 'sha': '5ca3545c20f034eff8dceef942bb30695f2c47c8', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1430975266, 'node_id': 'R_kgDOVUrzIg', 'name': 'dolphin-ppc64', 'full_name': 'runlevel5/dolphin-ppc64', 'private': False, 'owner': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/runlevel5/dolphin-ppc64', 'description': 'PP64LE JIT backend for Dolphin emulator', 'fork': True, 'url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64', 'forks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/forks', 'keys_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/teams', 'hooks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/hooks', 'issue_events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/events{/number}', 'events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/events', 'assignees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/assignees{/user}', 'branches_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/branches{/branch}', 'tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/tags', 'blobs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/languages', 'stargazers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/stargazers', 'contributors_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contributors', 'subscribers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscribers', 'subscription_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscription', 'commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contents/{+path}', 'compare_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/merges', 'archive_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/downloads', 'issues_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues{/number}', 'pulls_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/labels{/name}', 'releases_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/releases{/id}', 'deployments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/deployments', 'created_at': '2026-10-23T11:45:47Z', 'updated_at': '2026-10-25T03:34:48Z', 'pushed_at': '2026-10-26T01:59:24Z', 'git_url': 'git://github.com/runlevel5/dolphin-ppc64.git', 'ssh_url': 'git@github.com:runlevel5/dolphin-ppc64.git', 'clone_url': 'https://github.com/runlevel5/dolphin-ppc64.git', 'svn_url': 'https://github.com/runlevel5/dolphin-ppc64', 'homepage': '', 'size': 518802, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14954'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/5ca3545c20f034eff8dceef942bb30695f2c47c8'}}, 'author_association': 'NONE', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': True, 'rebaseable': False, 'mergeable_state': 'unstable', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 16941, 'deletions': 7, 'changed_files': 57}, 'changes': {'body': {'from': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme.\r\n- cputest (Tools/ppc64-jit-tests), which compares the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nNo. The reason is simple, the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on them if the work would be ever upstreamed. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. Will this work on POWER7?\r\n\r\nNo. POWER7 does not support Little Endian mode. Even though in theory it does support VSX instructions.\r\n\r\n### Q5. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q6. Is there any Linux distribution shipping this backend?\r\n\r\nNo atm. But I am more than happen to assist if you were a packager.\r\n\r\n### Q7. What version of Dolphin should I use?\r\n\r\nThe patchset will be rebased regularly against the upstream. If the upstream does a new release cut, I will cut a release downstream too. So the answer is to stick to latest codes that this repository ships.\r\n\r\n### Q8. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n\r\n### Q9. Would this work on IBM AIX or FreeBSD or non-Linux OS?\r\n\r\nIBM AIX is surely a big no because it is big endian OS. FreeBSD is out of scope, plus I have no expertise with this OS. In short I only support Linux with PPC64LE kernel."}}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-26T03:30:01.694722 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'edited', 'number': 14954, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954', 'id': 5011358597, 'node_id': 'PR_kwDOALCn2M8AAAABKrNDhQ', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'number': 14954, 'state': 'open', 'locked': False, 'title': 'Add a PPC64LE JIT for Gamecube/Wii backend', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme.\r\n- cputest (Tools/ppc64-jit-tests), which compares the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nNo. The reason is simple, the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on them if the work would be ever upstreamed. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\n### Q2. Will this work on Linux PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. Will this work on POWER7?\r\n\r\nNo. POWER7 does not support Little Endian mode. Even though in theory it does support VSX instructions.\r\n\r\n### Q5. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q6. Is there any Linux distribution shipping this backend?\r\n\r\nNo atm. But I am more than happen to assist if you were a packager.\r\n\r\n### Q7. What version of Dolphin should I use?\r\n\r\nThe patchset will be rebased regularly against the upstream. If the upstream does a new release cut, I will cut a release downstream too. So the answer is to stick to latest codes that this repository ships.\r\n\r\n### Q8. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n\r\n### Q9. Would this work on IBM AIX or FreeBSD or non-Linux OS?\r\n\r\nIBM AIX is surely a big no because it is big endian OS. FreeBSD is out of scope, plus I have no expertise with this OS. In short I only support Linux with PPC64LE kernel.", 'created_at': '2026-10-26T03:01:35Z', 'updated_at': '2026-10-26T03:29:59Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'b989a1926e1c32ec79cf3114a462c356f8b890be', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/5ca3545c20f034eff8dceef942bb30695f2c47c8', 'head': {'label': 'runlevel5:ppc64le-jit', 'ref': 'ppc64le-jit', 'sha': '5ca3545c20f034eff8dceef942bb30695f2c47c8', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1430975266, 'node_id': 'R_kgDOVUrzIg', 'name': 'dolphin-ppc64', 'full_name': 'runlevel5/dolphin-ppc64', 'private': False, 'owner': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/runlevel5/dolphin-ppc64', 'description': 'PP64LE JIT backend for Dolphin emulator', 'fork': True, 'url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64', 'forks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/forks', 'keys_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/teams', 'hooks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/hooks', 'issue_events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/events{/number}', 'events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/events', 'assignees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/assignees{/user}', 'branches_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/branches{/branch}', 'tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/tags', 'blobs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/languages', 'stargazers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/stargazers', 'contributors_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contributors', 'subscribers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscribers', 'subscription_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscription', 'commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contents/{+path}', 'compare_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/merges', 'archive_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/downloads', 'issues_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues{/number}', 'pulls_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/labels{/name}', 'releases_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/releases{/id}', 'deployments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/deployments', 'created_at': '2026-10-23T11:45:47Z', 'updated_at': '2026-10-25T03:34:48Z', 'pushed_at': '2026-10-26T01:59:24Z', 'git_url': 'git://github.com/runlevel5/dolphin-ppc64.git', 'ssh_url': 'git@github.com:runlevel5/dolphin-ppc64.git', 'clone_url': 'https://github.com/runlevel5/dolphin-ppc64.git', 'svn_url': 'https://github.com/runlevel5/dolphin-ppc64', 'homepage': '', 'size': 518802, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14954'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/5ca3545c20f034eff8dceef942bb30695f2c47c8'}}, 'author_association': 'NONE', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': True, 'rebaseable': False, 'mergeable_state': 'unstable', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 16941, 'deletions': 7, 'changed_files': 57}, 'changes': {'body': {'from': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme.\r\n- cputest (Tools/ppc64-jit-tests), which compares the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nNo. The reason is simple, the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on them if the work would be ever upstreamed. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\n### Q2. Will this work on PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. Will this work on POWER7?\r\n\r\nNo. POWER7 does not support Little Endian mode. Even though in theory it does support VSX instructions.\r\n\r\n### Q5. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q6. Is there any Linux distribution shipping this backend?\r\n\r\nNo atm. But I am more than happen to assist if you were a packager.\r\n\r\n### Q7. What version of Dolphin should I use?\r\n\r\nThe patchset will be rebased regularly against the upstream. If the upstream does a new release cut, I will cut a release downstream too. So the answer is to stick to latest codes that this repository ships.\r\n\r\n### Q8. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n\r\n"}}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-26T03:26:33.441602 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'edited', 'number': 14954, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954', 'id': 5011358597, 'node_id': 'PR_kwDOALCn2M8AAAABKrNDhQ', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'number': 14954, 'state': 'open', 'locked': False, 'title': 'Add a PPC64LE JIT for Gamecube/Wii backend', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "## Changes\r\n\r\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\r\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\r\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\r\n- POWER9 and Power10 instructions where the host has them. In theory POWER8 is also supported though untested because of lacking hardware\r\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\r\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\r\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\r\n- Interpreter: fix the carry of addme and subfme.\r\n- cputest (Tools/ppc64-jit-tests), which compares the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\r\n\r\n## FAQ\r\n\r\n### Q1. Will you be upstreaming this backend?\r\n\r\nNo. The reason is simple, the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on them if the work would be ever upstreamed. Having said that if the upstream team is willing to accept this work, I am more than happy to contribute to the project with maintenance work.\r\n\r\n### Q2. Will this work on PPC64BE (Big Endian)?\r\n\r\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\r\n\r\n### Q3. Will this work on PowerMac G5?\r\n\r\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\r\n\r\n### Q4. Will this work on POWER7?\r\n\r\nNo. POWER7 does not support Little Endian mode. Even though in theory it does support VSX instructions.\r\n\r\n### Q5. What pagesize does it support?\r\n\r\nTested with 64k pagesize. But it should work with 4k pagesize too.\r\n\r\n### Q6. Is there any Linux distribution shipping this backend?\r\n\r\nNo atm. But I am more than happen to assist if you were a packager.\r\n\r\n### Q7. What version of Dolphin should I use?\r\n\r\nThe patchset will be rebased regularly against the upstream. If the upstream does a new release cut, I will cut a release downstream too. So the answer is to stick to latest codes that this repository ships.\r\n\r\n### Q8. How correct is the implementation?\r\n\r\nIt is 100% on par with x86_64 and ARM64 backend in term of correctness. I did not intend to fix quirky behavior of x86_64 so those quirks would get carried over to PPC64LE JIT backend too. I also refrain from making changes to shared codes (even if it helps improve the performance of some games) because of better compatibility with upstream.\r\n\r\n", 'created_at': '2026-10-26T03:01:35Z', 'updated_at': '2026-10-26T03:26:30Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'b989a1926e1c32ec79cf3114a462c356f8b890be', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/5ca3545c20f034eff8dceef942bb30695f2c47c8', 'head': {'label': 'runlevel5:ppc64le-jit', 'ref': 'ppc64le-jit', 'sha': '5ca3545c20f034eff8dceef942bb30695f2c47c8', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1430975266, 'node_id': 'R_kgDOVUrzIg', 'name': 'dolphin-ppc64', 'full_name': 'runlevel5/dolphin-ppc64', 'private': False, 'owner': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/runlevel5/dolphin-ppc64', 'description': 'PP64LE JIT backend for Dolphin emulator', 'fork': True, 'url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64', 'forks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/forks', 'keys_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/teams', 'hooks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/hooks', 'issue_events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/events{/number}', 'events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/events', 'assignees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/assignees{/user}', 'branches_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/branches{/branch}', 'tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/tags', 'blobs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/languages', 'stargazers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/stargazers', 'contributors_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contributors', 'subscribers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscribers', 'subscription_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscription', 'commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contents/{+path}', 'compare_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/merges', 'archive_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/downloads', 'issues_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues{/number}', 'pulls_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/labels{/name}', 'releases_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/releases{/id}', 'deployments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/deployments', 'created_at': '2026-10-23T11:45:47Z', 'updated_at': '2026-10-25T03:34:48Z', 'pushed_at': '2026-10-26T01:59:24Z', 'git_url': 'git://github.com/runlevel5/dolphin-ppc64.git', 'ssh_url': 'git@github.com:runlevel5/dolphin-ppc64.git', 'clone_url': 'https://github.com/runlevel5/dolphin-ppc64.git', 'svn_url': 'https://github.com/runlevel5/dolphin-ppc64', 'homepage': '', 'size': 518802, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14954'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/5ca3545c20f034eff8dceef942bb30695f2c47c8'}}, 'author_association': 'NONE', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': True, 'rebaseable': False, 'mergeable_state': 'unstable', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 16941, 'deletions': 7, 'changed_files': 57}, 'changes': {'body': {'from': "## Changes\n\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\n- POWER9 and Power10 instructions where the host has them.\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\n- Interpreter: fix the carry of addme and subfme.\n- cputest (Tools/ppc64-jit-tests), which compares the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\n\n## FAQ\n\n### Q1. Will you be upstreaming this backend?\n\nNo. The reason is simple, the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on them if the work would be ever upstreamed\n\n### Q2. Will this work on PPC64BE (Big Endian)?\n\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\n\n### Q3. Will this work on PowerMac G5?\n\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\n\n### Q4. Will this work on POWER7?\n\nNo. POWER7 does not support Little Endian mode. Even though in theory it does support VSX instructions.\n\n### Q5. What pagesize does it support?\n\nTested with 64k pagesize. But it should work with 4k pagesize too.\n\n### Q6. Is there any Linux distribution shipping this backend?\n\nNo atm. But I am more than happen to assist if you were a packager.\n\n"}}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-26T03:01:37.457355 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'opened', 'number': 14954, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954', 'id': 5011358597, 'node_id': 'PR_kwDOALCn2M8AAAABKrNDhQ', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14954', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14954.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954', 'number': 14954, 'state': 'open', 'locked': False, 'title': 'Add a PPC64LE JIT for Gamecube/Wii backend', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': "## Changes\n\n- ppc64le host support: a PPC64 emitter and disassembler, and the host rounding mode.\n- JitPPC64, the default CPU core on ppc64. It compiles every instruction that Jit64 or JitArm64 compiles, with register caching, fastmem, MMU support with an inline data TLB lookup, and a 128 MiB code space.\n- Page table translations that MemoryManager keeps for the pages that 64 KiB host pages keep out of fastmem, which the JIT's slow accesses look up.\n- POWER9 and Power10 instructions where the host has them.\n- Paired-single arithmetic and quantized integer pairs on both halves at once with VSX.\n- The downcount in a host register, CR fields in the register cache, and guest returns predicted with a host stack, as the other JITs do.\n- A vertex loader, a vpmsumd texture hash and VSX XFB decoding for ppc64.\n- Interpreter: fix the carry of addme and subfme.\n- cputest (Tools/ppc64-jit-tests), which compares the JIT with the interpreter, and unit tests for the emitter and the JIT's routines.\n\n## FAQ\n\n### Q1. Will you be upstreaming this backend?\n\nNo. The reason is simple, the dolphin authors are lacking of hardware so it is unreasonable to push the maintenance burden on them if the work would be ever upstreamed\n\n### Q2. Will this work on PPC64BE (Big Endian)?\n\nNo. BE is dead. In theory I could get the backend work with BE easily however the problem lies in the graphic stacks, GPU driver support for BE is horrible. Plus all major Linux distributions have dropped support for PPC64BE.\n\n### Q3. Will this work on PowerMac G5?\n\nNo. G5 is running PPC 970 CPU which is pre-VSX (POWER7 or newer). In theory I could get the backend ported but I do not have the hardware to test. Plus the graphic cards that PowerMac G5 supports are so out of date and under-powered, in theory they could still work but I doubt the performance would be as good as modern GPU.\n\n### Q4. Will this work on POWER7?\n\nNo. POWER7 does not support Little Endian mode. Even though in theory it does support VSX instructions.\n\n### Q5. What pagesize does it support?\n\nTested with 64k pagesize. But it should work with 4k pagesize too.\n\n### Q6. Is there any Linux distribution shipping this backend?\n\nNo atm. But I am more than happen to assist if you were a packager.\n\n", 'created_at': '2026-10-26T03:01:35Z', 'updated_at': '2026-10-26T03:01:35Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/5ca3545c20f034eff8dceef942bb30695f2c47c8', 'head': {'label': 'runlevel5:ppc64le-jit', 'ref': 'ppc64le-jit', 'sha': '5ca3545c20f034eff8dceef942bb30695f2c47c8', 'user': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 1430975266, 'node_id': 'R_kgDOVUrzIg', 'name': 'dolphin-ppc64', 'full_name': 'runlevel5/dolphin-ppc64', 'private': False, 'owner': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/runlevel5/dolphin-ppc64', 'description': 'PP64LE JIT backend for Dolphin emulator', 'fork': True, 'url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64', 'forks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/forks', 'keys_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/teams', 'hooks_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/hooks', 'issue_events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/events{/number}', 'events_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/events', 'assignees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/assignees{/user}', 'branches_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/branches{/branch}', 'tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/tags', 'blobs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/languages', 'stargazers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/stargazers', 'contributors_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contributors', 'subscribers_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscribers', 'subscription_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/subscription', 'commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/contents/{+path}', 'compare_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/merges', 'archive_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/downloads', 'issues_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/issues{/number}', 'pulls_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/labels{/name}', 'releases_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/releases{/id}', 'deployments_url': 'https://api.github.com/repos/runlevel5/dolphin-ppc64/deployments', 'created_at': '2026-10-23T11:45:47Z', 'updated_at': '2026-10-25T03:34:48Z', 'pushed_at': '2026-10-26T01:59:24Z', 'git_url': 'git://github.com/runlevel5/dolphin-ppc64.git', 'ssh_url': 'git@github.com:runlevel5/dolphin-ppc64.git', 'clone_url': 'https://github.com/runlevel5/dolphin-ppc64.git', 'svn_url': 'https://github.com/runlevel5/dolphin-ppc64', 'homepage': '', 'size': 518802, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'C++', 'has_issues': True, 'has_projects': True, 'has_downloads': False, 'has_wiki': False, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14954'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14954/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14954/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/5ca3545c20f034eff8dceef942bb30695f2c47c8'}}, 'author_association': 'NONE', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 1, 'additions': 16941, 'deletions': 7, 'changed_files': 57}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 482, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 482, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'runlevel5', 'id': 135605, 'node_id': 'MDQ6VXNlcjEzNTYwNQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/135605?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/runlevel5', 'html_url': 'https://github.com/runlevel5', 'followers_url': 'https://api.github.com/users/runlevel5/followers', 'following_url': 'https://api.github.com/users/runlevel5/following{/other_user}', 'gists_url': 'https://api.github.com/users/runlevel5/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/runlevel5/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/runlevel5/subscriptions', 'organizations_url': 'https://api.github.com/users/runlevel5/orgs', 'repos_url': 'https://api.github.com/users/runlevel5/repos', 'events_url': 'https://api.github.com/users/runlevel5/events{/privacy}', 'received_events_url': 'https://api.github.com/users/runlevel5/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-26T02:22:59.171986 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14951', 'id': 6020650852, 'node_id': 'PR_kwDOALCn2M8AAAABKh76Pg', 'number': 14951, 'title': 'Core/TimePlayed: Decouple the TimePlayed tracker thread from CPUManager.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2026-10-25T04:00:52Z', 'updated_at': '2026-10-26T02:22:56Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14951', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14951', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14951.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14951.patch', 'merged_at': None}, 'body': "I think the play time tracking functionality was too tightly integrated with CPUManager.\n\nIt's now very separate and uses state change callbacks to start and stop tracking.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6406816842', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14951#issuecomment-6406816842', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951', 'id': 6406816842, 'node_id': 'IC_kwDOALCn2M8AAAABfeBESg', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-26T02:22:56Z', 'updated_at': '2026-10-26T02:22:56Z', 'body': "> Will this properly migrate, or will the time played counter have to reset? It's important to inform users\r\n\r\nThis is just a code-refactoring. Users won't experience any difference.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6406816842/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 481, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-26T02:18:56.754298 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14951', 'id': 6020650852, 'node_id': 'PR_kwDOALCn2M8AAAABKh76Pg', 'number': 14951, 'title': 'Core/TimePlayed: Decouple the TimePlayed tracker thread from CPUManager.', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 2, 'created_at': '2026-10-25T04:00:52Z', 'updated_at': '2026-10-26T02:18:55Z', 'closed_at': None, 'assignee': None, 'author_association': 'MEMBER', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14951', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14951', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14951.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14951.patch', 'merged_at': None}, 'body': "I think the play time tracking functionality was too tightly integrated with CPUManager.\n\nIt's now very separate and uses state change callbacks to start and stop tracking.", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6406770640', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14951#issuecomment-6406770640', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14951', 'id': 6406770640, 'node_id': 'IC_kwDOALCn2M8AAAABfd-P0A', 'user': {'login': 'Rumi-Larry', 'id': 65569725, 'node_id': 'MDQ6VXNlcjY1NTY5NzI1', 'avatar_url': 'https://avatars.githubusercontent.com/u/65569725?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Rumi-Larry', 'html_url': 'https://github.com/Rumi-Larry', 'followers_url': 'https://api.github.com/users/Rumi-Larry/followers', 'following_url': 'https://api.github.com/users/Rumi-Larry/following{/other_user}', 'gists_url': 'https://api.github.com/users/Rumi-Larry/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Rumi-Larry/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Rumi-Larry/subscriptions', 'organizations_url': 'https://api.github.com/users/Rumi-Larry/orgs', 'repos_url': 'https://api.github.com/users/Rumi-Larry/repos', 'events_url': 'https://api.github.com/users/Rumi-Larry/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Rumi-Larry/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-26T02:18:54Z', 'updated_at': '2026-10-26T02:18:54Z', 'body': "Will this properly migrate, or will the time played counter have to reset? It's important to inform users", 'author_association': 'NONE', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6406770640/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T23:38:59Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15718, 'watchers_count': 15718, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 481, 'watchers': 15718, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'Rumi-Larry', 'id': 65569725, 'node_id': 'MDQ6VXNlcjY1NTY5NzI1', 'avatar_url': 'https://avatars.githubusercontent.com/u/65569725?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Rumi-Larry', 'html_url': 'https://github.com/Rumi-Larry', 'followers_url': 'https://api.github.com/users/Rumi-Larry/followers', 'following_url': 'https://api.github.com/users/Rumi-Larry/following{/other_user}', 'gists_url': 'https://api.github.com/users/Rumi-Larry/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Rumi-Larry/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Rumi-Larry/subscriptions', 'organizations_url': 'https://api.github.com/users/Rumi-Larry/orgs', 'repos_url': 'https://api.github.com/users/Rumi-Larry/repos', 'events_url': 'https://api.github.com/users/Rumi-Larry/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Rumi-Larry/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-25T23:12:00.932243 {'source': 'webserver', 'gh_type': 'pull_request_review_comment', 'raw': {'action': 'created', 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4372879923', 'pull_request_review_id': 5645824275, 'id': 4372879923, 'node_id': 'PRRC_kwDOALCn2M8AAAABBKTaMw', 'diff_hunk': '@@ -1,17 +1,30 @@\n function(dolphin_disable_warnings target)\n- get_target_property(target_flags ${target} COMPILE_OPTIONS)\n- set(new_flags)\n- foreach(flag IN LISTS target_flags)\n- # all warning flags start with "/W" or "/w" or "-W" or "-w"\n- if (NOT flag MATCHES "^[-/][Ww]")\n- list(APPEND new_flags "${flag}")\n- endif()\n- endforeach()\n- set_target_properties(${target} PROPERTIES COMPILE_OPTIONS "${new_flags}")\n+ if(MSVC)\n+ # MSVC warns with D9025 if multiple contradicting warning flags co-exist\n+ get_target_property(target_flags ${target} COMPILE_OPTIONS)\n+ if(target_flags)\n+ # This should match /external:W0, /Wall, /w, /wd4326, /Wv:17, but not /Work\n+ set(warn_re "/(external:)?[Ww](([0-4Xvdeo]|all)[0-9:-]*)?")\n+ # This should match /W4 in $<$<CONFIG:Debug>:/W4>, only /W4 in $<IF:$<CONFIG:Debug>,/F,/W4>, nothing in $<$<CONFIG:Debug>:/I:C:/Work>\n+ set(expres_re "(,|>:)(${warn_re})([,>])")\n+ set(new_flags)\n+ foreach(flag IN LISTS target_flags)\n+ if("${flag}" MATCHES "^${warn_re}$")\n+ continue()\n+ endif()\n+\n+ if("${flag}" MATCHES "^\\\\$<")\n+ while("${flag}" MATCHES "${expres_re}")\n+ string(REGEX REPLACE "${expres_re}" "\\\\1\\\\${CMAKE_MATCH_COUNT}" flag "${flag}")', 'path': 'CMake/DolphinDisableWarnings.cmake', 'commit_id': 'b3b5f02be632541fa6939c75dedc2dc20c356f87', 'original_commit_id': 'b3b5f02be632541fa6939c75dedc2dc20c356f87', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': '```suggestion\n string(REGEX REPLACE "${expres_re}" "\\\\1\\\\3" flag "${flag}")\n```\nI suppose you could also remove the inner-most parens in `express_re` and use `\\\\2` ?\nOr is there a reason you used `CMAKE_MATCH_COUNT` ?', 'created_at': '2026-10-25T23:11:57Z', 'updated_at': '2026-10-25T23:11:57Z', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14948#discussion_r4372879923', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948', '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4372879923'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14948#discussion_r4372879923'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948'}}, 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments/4372879923/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'start_line': None, 'original_start_line': None, 'start_side': None, 'line': 18, 'original_line': 18, 'side': 'RIGHT', 'author_association': 'MEMBER', 'original_position': 27, 'position': 27, 'subject_type': 'line'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948', 'id': 4996924121, 'node_id': 'PR_kwDOALCn2M8AAAABKdcC2Q', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14948', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14948.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14948.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14948', 'number': 14948, 'state': 'open', 'locked': False, 'title': 'CMake: Only trim flags on MSVC, be a little more selective of what to remove', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'When disabling warnings, we currently strip all flags that start with the letter W before telling the compiler to not emit warnings, which is unnecessary on all compilers except MSVC that will warn if multiple warning flags are present. Therefore, we now only remove flags on MSVC.\n\nFurthermore, we previously stripped *all flags that start with the letter W* which has caused issues, as reported by @SuperSamus in #14793\n> I think that the problem is that dolphin_disable_warnings is removing important non-warning flags like -Wl.\n\nTherefore, the function now strictly strips known warning flags instead of every flag starting with W.\n\nThe second unrelated commit is (I believe) a pre-existing issue that slipped under the radar because of build cache, which causes clang to pick up system headers and mix them in with our externals. Since this PR changes build flags, this invalidates the cache and reveals the issue.\n\nSupersedes #14945 ', 'created_at': '2026-10-24T16:03:07Z', 'updated_at': '2026-10-25T10:40:32Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '73cec48fa864cb45a2c40a04a9d2b8147eb2741b', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14948/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b3b5f02be632541fa6939c75dedc2dc20c356f87', 'head': {'label': 'JoshuaVandaele:w-flags-fix', 'ref': 'w-flags-fix', 'sha': 'b3b5f02be632541fa6939c75dedc2dc20c356f87', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 915253252, 'node_id': 'R_kgDONo2oBA', 'name': 'dolphin', 'full_name': 'JoshuaVandaele/dolphin', 'private': False, 'owner': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/JoshuaVandaele/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/JoshuaVandaele/dolphin', 'forks_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/forks', 'keys_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/events', 'assignees_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/merges', 'archive_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/deployments', 'created_at': '2025-01-11T11:19:57Z', 'updated_at': '2026-10-25T13:00:05Z', 'pushed_at': '2026-10-25T13:12:21Z', 'git_url': 'git://github.com/JoshuaVandaele/dolphin.git', 'ssh_url': 'git@github.com:JoshuaVandaele/dolphin.git', 'clone_url': 'https://github.com/JoshuaVandaele/dolphin.git', 'svn_url': 'https://github.com/JoshuaVandaele/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 520327, 'stargazers_count': 1, 'watchers_count': 1, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 1, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 1, 'open_issues': 0, 'watchers': 1, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '22b581c670d84e60d11c1b02d38e1c7789ae2dfa', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T21:34:28Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15717, 'watchers_count': 15717, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 481, 'watchers': 15717, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14948'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14948'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14948/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b3b5f02be632541fa6939c75dedc2dc20c356f87'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T21:34:28Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15717, 'watchers_count': 15717, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 481, 'watchers': 15717, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-25T23:12:00.931394 {'source': 'webserver', 'gh_type': 'pull_request_review', 'raw': {'action': 'submitted', 'review': {'id': 5645824275, 'node_id': 'PRR_kwDOALCn2M8AAAABUIRxEw', 'user': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': None, 'commit_id': 'b3b5f02be632541fa6939c75dedc2dc20c356f87', 'state': 'commented', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14948#pullrequestreview-5645824275', 'pull_request_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948', '_links': {'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14948#pullrequestreview-5645824275'}, 'pull_request': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948'}}, 'submitted_at': '2026-10-25T23:11:56Z', 'updated_at': '2026-10-25T23:11:57Z', 'author_association': 'MEMBER'}, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948', 'id': 4996924121, 'node_id': 'PR_kwDOALCn2M8AAAABKdcC2Q', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14948', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14948.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14948.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14948', 'number': 14948, 'state': 'open', 'locked': False, 'title': 'CMake: Only trim flags on MSVC, be a little more selective of what to remove', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'When disabling warnings, we currently strip all flags that start with the letter W before telling the compiler to not emit warnings, which is unnecessary on all compilers except MSVC that will warn if multiple warning flags are present. Therefore, we now only remove flags on MSVC.\n\nFurthermore, we previously stripped *all flags that start with the letter W* which has caused issues, as reported by @SuperSamus in #14793\n> I think that the problem is that dolphin_disable_warnings is removing important non-warning flags like -Wl.\n\nTherefore, the function now strictly strips known warning flags instead of every flag starting with W.\n\nThe second unrelated commit is (I believe) a pre-existing issue that slipped under the radar because of build cache, which causes clang to pick up system headers and mix them in with our externals. Since this PR changes build flags, this invalidates the cache and reveals the issue.\n\nSupersedes #14945 ', 'created_at': '2026-10-24T16:03:07Z', 'updated_at': '2026-10-25T10:40:32Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': '73cec48fa864cb45a2c40a04a9d2b8147eb2741b', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14948/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b3b5f02be632541fa6939c75dedc2dc20c356f87', 'head': {'label': 'JoshuaVandaele:w-flags-fix', 'ref': 'w-flags-fix', 'sha': 'b3b5f02be632541fa6939c75dedc2dc20c356f87', 'user': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 915253252, 'node_id': 'R_kgDONo2oBA', 'name': 'dolphin', 'full_name': 'JoshuaVandaele/dolphin', 'private': False, 'owner': {'login': 'JoshuaVandaele', 'id': 24195176, 'node_id': 'MDQ6VXNlcjI0MTk1MTc2', 'avatar_url': 'https://avatars.githubusercontent.com/u/24195176?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/JoshuaVandaele', 'html_url': 'https://github.com/JoshuaVandaele', 'followers_url': 'https://api.github.com/users/JoshuaVandaele/followers', 'following_url': 'https://api.github.com/users/JoshuaVandaele/following{/other_user}', 'gists_url': 'https://api.github.com/users/JoshuaVandaele/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/JoshuaVandaele/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/JoshuaVandaele/subscriptions', 'organizations_url': 'https://api.github.com/users/JoshuaVandaele/orgs', 'repos_url': 'https://api.github.com/users/JoshuaVandaele/repos', 'events_url': 'https://api.github.com/users/JoshuaVandaele/events{/privacy}', 'received_events_url': 'https://api.github.com/users/JoshuaVandaele/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/JoshuaVandaele/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/JoshuaVandaele/dolphin', 'forks_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/forks', 'keys_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/events', 'assignees_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/merges', 'archive_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/JoshuaVandaele/dolphin/deployments', 'created_at': '2025-01-11T11:19:57Z', 'updated_at': '2026-10-25T13:00:05Z', 'pushed_at': '2026-10-25T13:12:21Z', 'git_url': 'git://github.com/JoshuaVandaele/dolphin.git', 'ssh_url': 'git@github.com:JoshuaVandaele/dolphin.git', 'clone_url': 'https://github.com/JoshuaVandaele/dolphin.git', 'svn_url': 'https://github.com/JoshuaVandaele/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 520327, 'stargazers_count': 1, 'watchers_count': 1, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 1, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 1, 'open_issues': 0, 'watchers': 1, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '22b581c670d84e60d11c1b02d38e1c7789ae2dfa', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T21:34:28Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15717, 'watchers_count': 15717, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 481, 'watchers': 15717, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14948'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14948'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14948/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14948/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/b3b5f02be632541fa6939c75dedc2dc20c356f87'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T21:34:28Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15717, 'watchers_count': 15717, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 481, 'watchers': 15717, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'jordan-woyak', 'id': 1768214, 'node_id': 'MDQ6VXNlcjE3NjgyMTQ=', 'avatar_url': 'https://avatars.githubusercontent.com/u/1768214?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jordan-woyak', 'html_url': 'https://github.com/jordan-woyak', 'followers_url': 'https://api.github.com/users/jordan-woyak/followers', 'following_url': 'https://api.github.com/users/jordan-woyak/following{/other_user}', 'gists_url': 'https://api.github.com/users/jordan-woyak/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jordan-woyak/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jordan-woyak/subscriptions', 'organizations_url': 'https://api.github.com/users/jordan-woyak/orgs', 'repos_url': 'https://api.github.com/users/jordan-woyak/repos', 'events_url': 'https://api.github.com/users/jordan-woyak/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jordan-woyak/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-25T23:09:16.688295 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14888', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14888/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14888/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14888/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14888', 'id': 5589048815, 'node_id': 'PR_kwDOALCn2M8AAAABFMBnrw', 'number': 14888, 'title': "[Needs discussion] Jit: Don't invalidate instruction block cache with dcbx", 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 3, 'created_at': '2026-09-25T22:03:22Z', 'updated_at': '2026-10-25T23:09:15Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': True, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14888', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14888', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14888.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14888.patch', 'merged_at': None}, 'body': "`dcbi`, `dcbf` (EDIT and `dcbst`) (commonly grouped as `dcbx`) are instructions that affect the data cache without affecting the instruction cache, yet on Dolphin they invalidate the instruction block cache.\r\nThis is a heuristic for poorly coded games that self-modify code but do not use `icbi`, according to 78b74101b0dc6cb7e2dc8424928e34138423c116 (I don't have, and thus I can't test, the games listed in the commit message).\r\n\r\nHowever, this has a disastrous performance impact on games that do not self-modify code but happen to continuously use `dcbx` on huge portion of code: **Harry Potter and the Prisoner of Azkaban** or **NBA Live 2005**/**06** are notoriously a stuttery mess only for this reason, and treating `dcbx` as a nop fixes their stutters completely.\r\n\r\nThe PR is a draft because currently it's just returning early from `dcbx` (and doesn't do anything to the interpreters).\r\nThis should likely be an option, but:\r\n- What should the default be? The one that makes the GameINI set the opposite of the default for the non-functioning games, or set the opposite for the stuttery games? <super><sub>I vote for the former.</sub></super>\r\n- How many games aren't a stuttery mess anymore thanks to this change? (Other than the ones listed above)\r\n- How many games don't work properly anymore?\r\n- Is `dcbx` as a block cache eraser a good heuristic in the first place? Are there better ways to fix the games that are worked around by `dcbx`? [Plus, there's to consider that it doesn't work around all games with ICache issues](https://bugs.dolphin-emu.org/issues/8037l). (Obviously, having a proper ICache implementation in the JIT would be hard.)\r\n\r\nSo... discussion time!", 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14888/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14888/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6404695709', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14888#issuecomment-6404695709', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14888', 'id': 6404695709, 'node_id': 'IC_kwDOALCn2M8AAAABfb_mnQ', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-25T23:09:14Z', 'updated_at': '2026-10-25T23:09:14Z', 'body': "On the topic of Scooby Doo, I do not have Mystery Mayhem, but I do have Unmasked, which is from the same developers.\r\nI can confirm that when making every form of `dcbx` do nothing, the game crashes after loading a new game. With just `dcbf` (the PR as it is now) it loads successfully in-game. I have not tested more than that.\r\n(Monster House is also by the same devs.)\r\n\r\nObviously my testing was minimal, so I'll clean up the commit message and commits when given confirmation to do so.", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6404695709/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T21:34:28Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15717, 'watchers_count': 15717, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 481, 'watchers': 15717, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-25T22:03:37.280661 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'edited', 'changes': {'body': {'from': "Clang supports `std::flat_map` since Clang 20, I suppose that the FreeBSD's builder is less than that..."}}, 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14953', 'id': 6029698044, 'node_id': 'PR_kwDOALCn2M8AAAABKo-b1g', 'number': 14953, 'title': 'JitCache: Misc optimizations and cleanup', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-10-25T21:45:25Z', 'updated_at': '2026-10-25T21:55:01Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14953', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14953', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14953.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14953.patch', 'merged_at': None}, 'body': 'It\'s more cleanups than optimizations since the block cache isn\'t the biggest bottleneck in the codegen performance, but it still does have an impact.\n\nBefore:\n<img width="1479" height="882" alt="JIT_data_oriented" src="https://github.com/user-attachments/assets/11528ba6-bb9b-45d5-96b6-acf0e3f661a3" />\n\nAfter:\n<img width="1479" height="882" alt="JIT_after_block_cache_opts" src="https://github.com/user-attachments/assets/4a6446e4-0565-4be4-ba5f-8a8627d639db" />\n\n\n<super><sub>Comparison screenshots include `#14806`.</sub></super>', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6403861544', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14953#issuecomment-6403861544', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953', 'id': 6403861544, 'node_id': 'IC_kwDOALCn2M8AAAABfbMsKA', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-25T21:55:01Z', 'updated_at': '2026-10-25T22:03:35Z', 'body': '`std::flat_map` is supported since GCC 15 and Clang 20.\r\nWhat should I do about that? Should I wait for the builders to use newer versions?', 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6403861544/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T21:34:28Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15717, 'watchers_count': 15717, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 481, 'watchers': 15717, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-25T21:55:03.595878 {'source': 'webserver', 'gh_type': 'issue_comment', 'raw': {'action': 'created', 'issue': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953', 'repository_url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953/labels{/name}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953/comments', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953/events', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14953', 'id': 6029698044, 'node_id': 'PR_kwDOALCn2M8AAAABKo-b1g', 'number': 14953, 'title': 'JitCache: Misc optimizations and cleanup', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'labels': [], 'state': 'open', 'locked': False, 'assignees': [], 'milestone': None, 'comments': 1, 'created_at': '2026-10-25T21:45:25Z', 'updated_at': '2026-10-25T21:55:01Z', 'closed_at': None, 'assignee': None, 'author_association': 'CONTRIBUTOR', 'issue_field_values': [], 'type': None, 'active_lock_reason': None, 'draft': False, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14953', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14953', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14953.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14953.patch', 'merged_at': None}, 'body': 'It\'s more cleanups than optimizations since the block cache isn\'t the biggest bottleneck in the codegen performance, but it still does have an impact.\n\nBefore:\n<img width="1479" height="882" alt="JIT_data_oriented" src="https://github.com/user-attachments/assets/11528ba6-bb9b-45d5-96b6-acf0e3f661a3" />\n\nAfter:\n<img width="1479" height="882" alt="JIT_after_block_cache_opts" src="https://github.com/user-attachments/assets/4a6446e4-0565-4be4-ba5f-8a8627d639db" />\n\n\n<super><sub>Comparison screenshots include `#14806`.</sub></super>', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'timeline_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953/timeline', 'performed_via_github_app': None, 'state_reason': None}, 'comment': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6403861544', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14953#issuecomment-6403861544', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953', 'id': 6403861544, 'node_id': 'IC_kwDOALCn2M8AAAABfbMsKA', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'created_at': '2026-10-25T21:55:01Z', 'updated_at': '2026-10-25T21:55:01Z', 'body': "Clang supports `std::flat_map` since Clang 20, I suppose that the FreeBSD's builder is less than that...", 'author_association': 'MEMBER', 'reactions': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/6403861544/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}, 'performed_via_github_app': None, 'minimized': None}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T21:34:28Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15717, 'watchers_count': 15717, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 481, 'watchers': 15717, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-25T21:45:27.433679 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'opened', 'number': 14953, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14953', 'id': 5009021910, 'node_id': 'PR_kwDOALCn2M8AAAABKo-b1g', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14953', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14953.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14953.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953', 'number': 14953, 'state': 'open', 'locked': False, 'title': 'JitCache: Misc optimizations and cleanup', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': 'It\'s more cleanups than optimizations since the block cache isn\'t the biggest bottleneck in the codegen performance, but it still does have an impact.\n\nBefore:\n<img width="1479" height="882" alt="JIT_data_oriented" src="https://github.com/user-attachments/assets/11528ba6-bb9b-45d5-96b6-acf0e3f661a3" />\n\nAfter:\n<img width="1479" height="882" alt="JIT_after_block_cache_opts" src="https://github.com/user-attachments/assets/4a6446e4-0565-4be4-ba5f-8a8627d639db" />\n\n\n<super><sub>Comparison screenshots include `#14806`.</sub></super>', 'created_at': '2026-10-25T21:45:25Z', 'updated_at': '2026-10-25T21:45:25Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': None, 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14953/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14953/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'head': {'label': 'SuperSamus:block-cache-optimizations', 'ref': 'block-cache-optimizations', 'sha': '5528f1d5dfd15141ab1db16fd0fa8344db3ed990', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 622923789, 'node_id': 'R_kgDOJSEQDQ', 'name': 'dolphin', 'full_name': 'SuperSamus/dolphin', 'private': False, 'owner': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/SuperSamus/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/SuperSamus/dolphin', 'forks_url': 'https://api.github.com/repos/SuperSamus/dolphin/forks', 'keys_url': 'https://api.github.com/repos/SuperSamus/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/SuperSamus/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/SuperSamus/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/SuperSamus/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/SuperSamus/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/SuperSamus/dolphin/events', 'assignees_url': 'https://api.github.com/repos/SuperSamus/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/SuperSamus/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/SuperSamus/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/SuperSamus/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/SuperSamus/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/SuperSamus/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/SuperSamus/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/SuperSamus/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/SuperSamus/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/SuperSamus/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/SuperSamus/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/SuperSamus/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/SuperSamus/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/SuperSamus/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/SuperSamus/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/SuperSamus/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/SuperSamus/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/SuperSamus/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/SuperSamus/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/SuperSamus/dolphin/merges', 'archive_url': 'https://api.github.com/repos/SuperSamus/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/SuperSamus/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/SuperSamus/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/SuperSamus/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/SuperSamus/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/SuperSamus/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/SuperSamus/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/SuperSamus/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/SuperSamus/dolphin/deployments', 'created_at': '2023-04-03T10:43:10Z', 'updated_at': '2026-10-25T14:44:37Z', 'pushed_at': '2026-10-25T21:38:29Z', 'git_url': 'git://github.com/SuperSamus/dolphin.git', 'ssh_url': 'git@github.com:SuperSamus/dolphin.git', 'clone_url': 'https://github.com/SuperSamus/dolphin.git', 'svn_url': 'https://github.com/SuperSamus/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 518821, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T21:34:28Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15717, 'watchers_count': 15717, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 481, 'watchers': 15717, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14953'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14953'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14953/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14953/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14953/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/5528f1d5dfd15141ab1db16fd0fa8344db3ed990'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': None, 'rebaseable': None, 'mergeable_state': 'unknown', 'merged_by': None, 'comments': 0, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 7, 'additions': 219, 'deletions': 135, 'changed_files': 12}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T21:34:28Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15717, 'watchers_count': 15717, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 481, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 481, 'watchers': 15717, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}
2026-10-25T21:45:13.875127 {'source': 'webserver', 'gh_type': 'pull_request', 'raw': {'action': 'edited', 'number': 14806, 'pull_request': {'url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14806', 'id': 4245093573, 'node_id': 'PR_kwDOALCn2M79BvzF', 'html_url': 'https://github.com/dolphin-emu/dolphin/pull/14806', 'diff_url': 'https://github.com/dolphin-emu/dolphin/pull/14806.diff', 'patch_url': 'https://github.com/dolphin-emu/dolphin/pull/14806.patch', 'issue_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14806', 'number': 14806, 'state': 'open', 'locked': False, 'title': 'JitRegCache: Refactor using a data oriented design', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'body': '(Revival of #14403.)\r\n\r\nReplace the "array of structure" design with a "structure of array". Boolean members are represented by a bitset.\r\nThe main benefit is that filtering the registers in regcache operations can be done in one simple bitwise instruction.\r\nThis is especially useful on `Flush`, as callers don\'t need anymore to limit the iterated registers for performance reasons.\r\n\r\nGives some noticeable improvements to JIT codegen performance, and makes the first commit of #13261 obsolete (on x86). \r\n\r\nThe change only applies to the x86 regcache.\r\n\r\n(Profiling was done this way: open NBA Live 2005, load a savestate of the match start, pause 4 times, stop.)\r\n\r\nBefore:\r\n<img width="1479" height="882" alt="JIT_before" src="https://github.com/user-attachments/assets/ee758a1b-3fa3-4853-9099-7e44fc9d069e" />\r\n\r\nAfter (see how the RegCache percentages are much lower, most of them not even appearing anymore):\r\n<img width="1479" height="882" alt="JIT_data_oriented" src="https://github.com/user-attachments/assets/ebc3f114-629e-4c3e-b432-f5547db6340f" />\r\n\r\n\r\nWhile `Flush()` is much lower, it\'s still there due to how frequently it\'s called. The only idea I have to improve it further is by moving everything into a header file. Speaking of which...\r\n\r\n<details>\r\n<summary>Notes for the future</summary>\r\n\r\nInstead of replicating the changes to the ARM regcache, I\'d prefer that they used the same interface.\r\nWhile deduplicating code is always nice, the main reason is that I have a long-term plan to have the JIT support in-block branches, which is something that would rely a lot on the register cache, but has very few ISA-specific differences otherwise.\r\n\r\nI made a proof of concept of what it should like [in this branch](https://github.com/SuperSamus/dolphin/commits/regcache-dod/) (it\'s still only on x86, and it\'s based on an older version).\r\nIt\'s linked only for skimming purposes, but the short version is that it makes use of [CRTP](https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern) to allow the main regcache interface to get constant parameters from the implementation.\r\nFor instance, x86 has 16 GPRs (32 when APX comes out) and 16 FPU, while ARM has 32 GPRs (but they are also used for the CRs) and 32 FPU, so this allows to use the appropriately sized bitset. Other example, ARM can\'t use memory as a destination like x86 can, so the constraint class is different between the two.\r\n\r\nOne requirement of CRTP is it has to put everything into headers because templates, which one one hand it makes some operations a little faster since it allows them to be inlined without LTO. On the other it will hurt compilation times, though I suppose that can be mitigated through by building all the JIT stuff in [unity](https://cmake.org/cmake/help/latest/prop_tgt/UNITY_BUILD.html).\r\n<super><sub>Small note: if Dolphin has a plan to use xbyak for code emission in the future, since it\'s header-only and the header is huge, then unity builds for the JIT stuff are also a good idea for that.</sub></super>\r\n\r\nAnyway, these notes are more of a proof of concept that I\'m sharing mostly to collect feedback.\r\n</details>\r\n', 'created_at': '2026-08-10T13:29:41Z', 'updated_at': '2026-10-25T21:45:10Z', 'closed_at': None, 'merged_at': None, 'merge_commit_sha': 'd6974e557ce0d7b33118d03a6596bdb2ec31f73e', 'assignees': [], 'requested_reviewers': [], 'requested_teams': [], 'labels': [], 'milestone': None, 'draft': False, 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14806/commits', 'review_comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14806/comments', 'review_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14806/comments', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'head': {'label': 'SuperSamus:regcache-data-oriented', 'ref': 'regcache-data-oriented', 'sha': '0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2', 'user': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 622923789, 'node_id': 'R_kgDOJSEQDQ', 'name': 'dolphin', 'full_name': 'SuperSamus/dolphin', 'private': False, 'owner': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/SuperSamus/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': True, 'url': 'https://api.github.com/repos/SuperSamus/dolphin', 'forks_url': 'https://api.github.com/repos/SuperSamus/dolphin/forks', 'keys_url': 'https://api.github.com/repos/SuperSamus/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/SuperSamus/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/SuperSamus/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/SuperSamus/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/SuperSamus/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/SuperSamus/dolphin/events', 'assignees_url': 'https://api.github.com/repos/SuperSamus/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/SuperSamus/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/SuperSamus/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/SuperSamus/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/SuperSamus/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/SuperSamus/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/SuperSamus/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/SuperSamus/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/SuperSamus/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/SuperSamus/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/SuperSamus/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/SuperSamus/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/SuperSamus/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/SuperSamus/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/SuperSamus/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/SuperSamus/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/SuperSamus/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/SuperSamus/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/SuperSamus/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/SuperSamus/dolphin/merges', 'archive_url': 'https://api.github.com/repos/SuperSamus/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/SuperSamus/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/SuperSamus/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/SuperSamus/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/SuperSamus/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/SuperSamus/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/SuperSamus/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/SuperSamus/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/SuperSamus/dolphin/deployments', 'created_at': '2023-04-03T10:43:10Z', 'updated_at': '2026-10-25T14:44:37Z', 'pushed_at': '2026-10-25T21:38:29Z', 'git_url': 'git://github.com/SuperSamus/dolphin.git', 'ssh_url': 'git@github.com:SuperSamus/dolphin.git', 'clone_url': 'https://github.com/SuperSamus/dolphin.git', 'svn_url': 'https://github.com/SuperSamus/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 518821, 'stargazers_count': 0, 'watchers_count': 0, 'language': 'C++', 'has_issues': False, 'has_projects': True, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 0, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 0, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': [], 'visibility': 'public', 'forks': 0, 'open_issues': 0, 'watchers': 0, 'default_branch': 'master', 'allow_squash_merge': True, 'allow_merge_commit': True, 'allow_rebase_merge': True, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, 'base': {'label': 'dolphin-emu:master', 'ref': 'master', 'sha': '3eb30c7620b4475b2e0404228ba0d2b238a132f1', 'user': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'repo': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T21:34:28Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15717, 'watchers_count': 15717, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 480, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 480, 'watchers': 15717, 'default_branch': 'master', 'allow_squash_merge': False, 'allow_merge_commit': True, 'allow_rebase_merge': False, 'allow_auto_merge': False, 'delete_branch_on_merge': False, 'allow_update_branch': False, 'use_squash_pr_title_as_default': False, 'squash_merge_commit_message': 'COMMIT_MESSAGES', 'squash_merge_commit_title': 'COMMIT_OR_PR_TITLE', 'merge_commit_message': 'PR_TITLE', 'merge_commit_title': 'MERGE_MESSAGE'}}, '_links': {'self': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14806'}, 'html': {'href': 'https://github.com/dolphin-emu/dolphin/pull/14806'}, 'issue': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14806'}, 'comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/14806/comments'}, 'review_comments': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14806/comments'}, 'review_comment': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/comments{/number}'}, 'commits': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls/14806/commits'}, 'statuses': {'href': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/0c6f2c7a537a2278f6ec5e2878f2dd169ceaf8e2'}}, 'author_association': 'CONTRIBUTOR', 'auto_merge': None, 'assignee': None, 'active_lock_reason': None, 'merged': False, 'mergeable': True, 'rebaseable': False, 'mergeable_state': 'unstable', 'merged_by': None, 'comments': 1, 'review_comments': 0, 'maintainer_can_modify': True, 'commits': 7, 'additions': 491, 'deletions': 566, 'changed_files': 17}, 'changes': {'body': {'from': '(Revival of #14403.)\r\n\r\nReplace the "array of structure" design with a "structure of array". Boolean members are represented by a bitset.\r\nThe main benefit is that filtering the registers in regcache operations can be done in one simple bitwise instruction.\r\nThis is especially useful on `Flush`, as callers don\'t need anymore to limit the iterated registers for performance reasons.\r\n\r\nGives some noticeable improvements to JIT codegen performance, and makes the first commit of #13261 obsolete (on x86). \r\n\r\nThe change only applies to the x86 regcache.\r\n\r\nBefore:\r\n<img width="1479" height="882" alt="JIT_before" src="https://github.com/user-attachments/assets/ee758a1b-3fa3-4853-9099-7e44fc9d069e" />\r\n\r\nAfter (see how the RegCache percentages are much lower, most of them not even appearing anymore):\r\n<img width="1479" height="882" alt="JIT_data_oriented" src="https://github.com/user-attachments/assets/ebc3f114-629e-4c3e-b432-f5547db6340f" />\r\n\r\n\r\nWhile `Flush()` is much lower, it\'s still there due to how frequently it\'s called. The only idea I have to improve it further is by moving everything into a header file. Speaking of which...\r\n\r\n<details>\r\n<summary>Notes for the future</summary>\r\n\r\nInstead of replicating the changes to the ARM regcache, I\'d prefer that they used the same interface.\r\nWhile deduplicating code is always nice, the main reason is that I have a long-term plan to have the JIT support in-block branches, which is something that would rely a lot on the register cache, but has very few ISA-specific differences otherwise.\r\n\r\nI made a proof of concept of what it should like [in this branch](https://github.com/SuperSamus/dolphin/commits/regcache-dod/) (it\'s still only on x86, and it\'s based on an older version).\r\nIt\'s linked only for skimming purposes, but the short version is that it makes use of [CRTP](https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern) to allow the main regcache interface to get constant parameters from the implementation.\r\nFor instance, x86 has 16 GPRs (32 when APX comes out) and 16 FPU, while ARM has 32 GPRs (but they are also used for the CRs) and 32 FPU, so this allows to use the appropriately sized bitset. Other example, ARM can\'t use memory as a destination like x86 can, so the constraint class is different between the two.\r\n\r\nOne requirement of CRTP is it has to put everything into headers because templates, which one one hand it makes some operations a little faster since it allows them to be inlined without LTO. On the other it will hurt compilation times, though I suppose that can be mitigated through by building all the JIT stuff in [unity](https://cmake.org/cmake/help/latest/prop_tgt/UNITY_BUILD.html).\r\n<super><sub>Small note: if Dolphin has a plan to use xbyak for code emission in the future, since it\'s header-only and the header is huge, then unity builds for the JIT stuff are also a good idea for that.</sub></super>\r\n\r\nAnyway, these notes are more of a proof of concept that I\'m sharing mostly to collect feedback.\r\n</details>\r\n'}}, 'repository': {'id': 11577304, 'node_id': 'MDEwOlJlcG9zaXRvcnkxMTU3NzMwNA==', 'name': 'dolphin', 'full_name': 'dolphin-emu/dolphin', 'private': False, 'owner': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/dolphin-emu', 'html_url': 'https://github.com/dolphin-emu', 'followers_url': 'https://api.github.com/users/dolphin-emu/followers', 'following_url': 'https://api.github.com/users/dolphin-emu/following{/other_user}', 'gists_url': 'https://api.github.com/users/dolphin-emu/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/dolphin-emu/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/dolphin-emu/subscriptions', 'organizations_url': 'https://api.github.com/users/dolphin-emu/orgs', 'repos_url': 'https://api.github.com/users/dolphin-emu/repos', 'events_url': 'https://api.github.com/users/dolphin-emu/events{/privacy}', 'received_events_url': 'https://api.github.com/users/dolphin-emu/received_events', 'type': 'Organization', 'user_view_type': 'public', 'site_admin': False}, 'html_url': 'https://github.com/dolphin-emu/dolphin', 'description': 'Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.', 'fork': False, 'url': 'https://api.github.com/repos/dolphin-emu/dolphin', 'forks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/forks', 'keys_url': 'https://api.github.com/repos/dolphin-emu/dolphin/keys{/key_id}', 'collaborators_url': 'https://api.github.com/repos/dolphin-emu/dolphin/collaborators{/collaborator}', 'teams_url': 'https://api.github.com/repos/dolphin-emu/dolphin/teams', 'hooks_url': 'https://api.github.com/repos/dolphin-emu/dolphin/hooks', 'issue_events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/events{/number}', 'events_url': 'https://api.github.com/repos/dolphin-emu/dolphin/events', 'assignees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/assignees{/user}', 'branches_url': 'https://api.github.com/repos/dolphin-emu/dolphin/branches{/branch}', 'tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/tags', 'blobs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/blobs{/sha}', 'git_tags_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/tags{/sha}', 'git_refs_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/refs{/sha}', 'trees_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/trees{/sha}', 'statuses_url': 'https://api.github.com/repos/dolphin-emu/dolphin/statuses/{sha}', 'languages_url': 'https://api.github.com/repos/dolphin-emu/dolphin/languages', 'stargazers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/stargazers', 'contributors_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contributors', 'subscribers_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscribers', 'subscription_url': 'https://api.github.com/repos/dolphin-emu/dolphin/subscription', 'commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/commits{/sha}', 'git_commits_url': 'https://api.github.com/repos/dolphin-emu/dolphin/git/commits{/sha}', 'comments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/comments{/number}', 'issue_comment_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues/comments{/number}', 'contents_url': 'https://api.github.com/repos/dolphin-emu/dolphin/contents/{+path}', 'compare_url': 'https://api.github.com/repos/dolphin-emu/dolphin/compare/{base}...{head}', 'merges_url': 'https://api.github.com/repos/dolphin-emu/dolphin/merges', 'archive_url': 'https://api.github.com/repos/dolphin-emu/dolphin/{archive_format}{/ref}', 'downloads_url': 'https://api.github.com/repos/dolphin-emu/dolphin/downloads', 'issues_url': 'https://api.github.com/repos/dolphin-emu/dolphin/issues{/number}', 'pulls_url': 'https://api.github.com/repos/dolphin-emu/dolphin/pulls{/number}', 'milestones_url': 'https://api.github.com/repos/dolphin-emu/dolphin/milestones{/number}', 'notifications_url': 'https://api.github.com/repos/dolphin-emu/dolphin/notifications{?since,all,participating}', 'labels_url': 'https://api.github.com/repos/dolphin-emu/dolphin/labels{/name}', 'releases_url': 'https://api.github.com/repos/dolphin-emu/dolphin/releases{/id}', 'deployments_url': 'https://api.github.com/repos/dolphin-emu/dolphin/deployments', 'created_at': '2013-07-22T09:07:57Z', 'updated_at': '2026-10-25T21:34:28Z', 'pushed_at': '2026-10-25T12:40:23Z', 'git_url': 'git://github.com/dolphin-emu/dolphin.git', 'ssh_url': 'git@github.com:dolphin-emu/dolphin.git', 'clone_url': 'https://github.com/dolphin-emu/dolphin.git', 'svn_url': 'https://github.com/dolphin-emu/dolphin', 'homepage': 'https://dolphin-emu.org', 'size': 561403, 'stargazers_count': 15717, 'watchers_count': 15717, 'language': 'C++', 'has_issues': False, 'has_projects': False, 'has_downloads': False, 'has_wiki': True, 'has_pages': False, 'has_discussions': False, 'forks_count': 3350, 'mirror_url': None, 'archived': False, 'disabled': False, 'open_issues_count': 480, 'license': {'key': 'other', 'name': 'Other', 'spdx_id': 'NOASSERTION', 'url': None, 'node_id': 'MDc6TGljZW5zZTA='}, 'allow_forking': True, 'is_template': False, 'web_commit_signoff_required': False, 'has_pull_requests': True, 'pull_request_creation_policy': 'all', 'topics': ['cpp', 'emulation', 'emulator', 'gamecube', 'wii'], 'visibility': 'public', 'forks': 3350, 'open_issues': 480, 'watchers': 15717, 'default_branch': 'master', 'custom_properties': {}}, 'organization': {'login': 'dolphin-emu', 'id': 5050316, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjUwNTAzMTY=', 'url': 'https://api.github.com/orgs/dolphin-emu', 'repos_url': 'https://api.github.com/orgs/dolphin-emu/repos', 'events_url': 'https://api.github.com/orgs/dolphin-emu/events', 'hooks_url': 'https://api.github.com/orgs/dolphin-emu/hooks', 'issues_url': 'https://api.github.com/orgs/dolphin-emu/issues', 'members_url': 'https://api.github.com/orgs/dolphin-emu/members{/member}', 'public_members_url': 'https://api.github.com/orgs/dolphin-emu/public_members{/member}', 'avatar_url': 'https://avatars.githubusercontent.com/u/5050316?v=4', 'description': ''}, 'sender': {'login': 'SuperSamus', 'id': 40663462, 'node_id': 'MDQ6VXNlcjQwNjYzNDYy', 'avatar_url': 'https://avatars.githubusercontent.com/u/40663462?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/SuperSamus', 'html_url': 'https://github.com/SuperSamus', 'followers_url': 'https://api.github.com/users/SuperSamus/followers', 'following_url': 'https://api.github.com/users/SuperSamus/following{/other_user}', 'gists_url': 'https://api.github.com/users/SuperSamus/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/SuperSamus/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/SuperSamus/subscriptions', 'organizations_url': 'https://api.github.com/users/SuperSamus/orgs', 'repos_url': 'https://api.github.com/users/SuperSamus/repos', 'events_url': 'https://api.github.com/users/SuperSamus/events{/privacy}', 'received_events_url': 'https://api.github.com/users/SuperSamus/received_events', 'type': 'User', 'user_view_type': 'public', 'site_admin': False}, 'installation': {'id': 35437981, 'node_id': 'MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMzU0Mzc5ODE='}}, 'type': 'raw_gh_hook'}