{"action":"created","issue":{"url":"https://api.github.com/repos/dolphin-emu/dolphin/issues/5498","repository_url":"https://api.github.com/repos/dolphin-emu/dolphin","labels_url":"https://api.github.com/repos/dolphin-emu/dolphin/issues/5498/labels{/name}","comments_url":"https://api.github.com/repos/dolphin-emu/dolphin/issues/5498/comments","events_url":"https://api.github.com/repos/dolphin-emu/dolphin/issues/5498/events","html_url":"https://github.com/dolphin-emu/dolphin/pull/5498","id":232104910,"number":5498,"title":"Hybrid xfb","user":{"login":"iwubcode","id":15224722,"avatar_url":"https://avatars1.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","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":191,"created_at":"2017-05-29T22:08:35Z","updated_at":"2017-10-25T02:45:51Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/dolphin-emu/dolphin/pulls/5498","html_url":"https://github.com/dolphin-emu/dolphin/pull/5498","diff_url":"https://github.com/dolphin-emu/dolphin/pull/5498.diff","patch_url":"https://github.com/dolphin-emu/dolphin/pull/5498.patch"},"body":"The second pr based off of @phire 's original Hybrid XFB #3880 .  Leverages the AbstractTexture ( #5305 ) to treat the xfb as a texture.\r\n\r\n**What this PR does:**  It allows you to play games that require \"RealXFB\" with higher internal resolution (the actual xfb will still be native resolution)\r\n\r\nWhat's done:\r\n\r\n- Initial hybrid xfb support for Vulkan, D3D, Opengl, Software\r\n- Make texture cache always use safe hashing for XFB copies.\r\n- Initial Screenshot / Video dumping for D3D, Vulkan, Opengl, Software through VideoCommon\r\n- GUI Options\r\n- Update fifoplayer to support XFB\r\n- Vertical scaling for PAL games\r\n  - XFB to RAM copies need to apply the scale\r\n  - XFB to Tex copies need to store, but not apply the scale.\r\n  - Partial texture updates need to apply any store scaling before display.\r\n- Remove lots of unnecessary code!\r\n- GPU texture decoding works for XFBs\r\n- Option for 'Immediate mode' XFB which can provide better latency at the cost of graphical errors (usable on both XFB2Tex or XFB2Ram)\r\n- Somehow allow Swap to detect when the XFB hasn't changed since last frame\r\n- Update game inis\r\n  - All games previously requiring real xfb or virtual xfb, now have immediate mode defaulting to off\r\n  - Games that show partial/incomplete frames sets immediate mode to off\r\n  - Added a couple of new inis that also have these restrictions\r\n- Partial XFB support (if not using XFB2Ram, we write a special key-color to memory.  If this color is present in a decoded XFB, we treat it as a transparent pixel)\r\n  - Fixes \"Chicken Little Ace: In Action\" FMVs\r\n- Strided XFB copies fully supported\r\n  - Fixes \"Sonic 3d Blast\"\r\n  - Fixes \"Zelda Collector's Edition\"\r\n\r\nWhat's left:\r\n\r\n- Nothing!\r\n\r\nFuture Enhancements:\r\n\r\n  - Find a new sane home for the \"End of frame\" stuff.\r\n  - Fix \"Super Mario Strikers\" (loading screen backgrounds do not show up with XFB2Tex)\r\n  - Screenshots do not account for post-processing"},"comment":{"url":"https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/339197065","html_url":"https://github.com/dolphin-emu/dolphin/pull/5498#issuecomment-339197065","issue_url":"https://api.github.com/repos/dolphin-emu/dolphin/issues/5498","id":339197065,"user":{"login":"JMC47","id":6598209,"avatar_url":"https://avatars2.githubusercontent.com/u/6598209?v=4","gravatar_id":"","url":"https://api.github.com/users/JMC47","html_url":"https://github.com/JMC47","followers_url":"https://api.github.com/users/JMC47/followers","following_url":"https://api.github.com/users/JMC47/following{/other_user}","gists_url":"https://api.github.com/users/JMC47/gists{/gist_id}","starred_url":"https://api.github.com/users/JMC47/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JMC47/subscriptions","organizations_url":"https://api.github.com/users/JMC47/orgs","repos_url":"https://api.github.com/users/JMC47/repos","events_url":"https://api.github.com/users/JMC47/events{/privacy}","received_events_url":"https://api.github.com/users/JMC47/received_events","type":"User","site_admin":false},"created_at":"2017-10-25T02:45:51Z","updated_at":"2017-10-25T02:45:51Z","author_association":"CONTRIBUTOR","body":"Can we get some more reviews on this?  It's about time to start gearing up for a merge."}}
{"actor":{"display_login":"JMC47"}}