{"action":"created","issue":{"url":"https://api.github.com/repos/dolphin-emu/dolphin/issues/3880","repository_url":"https://api.github.com/repos/dolphin-emu/dolphin","labels_url":"https://api.github.com/repos/dolphin-emu/dolphin/issues/3880/labels{/name}","comments_url":"https://api.github.com/repos/dolphin-emu/dolphin/issues/3880/comments","events_url":"https://api.github.com/repos/dolphin-emu/dolphin/issues/3880/events","html_url":"https://github.com/dolphin-emu/dolphin/pull/3880","id":158534260,"number":3880,"title":"[WIP] Ultra-Mega-Super-Hybrid-XFB (aka, merge xfb into texture cache)","user":{"login":"phire","id":138484,"avatar_url":"https://avatars0.githubusercontent.com/u/138484?v=3","gravatar_id":"","url":"https://api.github.com/users/phire","html_url":"https://github.com/phire","followers_url":"https://api.github.com/users/phire/followers","following_url":"https://api.github.com/users/phire/following{/other_user}","gists_url":"https://api.github.com/users/phire/gists{/gist_id}","starred_url":"https://api.github.com/users/phire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phire/subscriptions","organizations_url":"https://api.github.com/users/phire/orgs","repos_url":"https://api.github.com/users/phire/repos","events_url":"https://api.github.com/users/phire/events{/privacy}","received_events_url":"https://api.github.com/users/phire/received_events","type":"User","site_admin":false},"labels":[{"id":221808232,"url":"https://api.github.com/repos/dolphin-emu/dolphin/labels/WIP","name":"WIP","color":"0052cc","default":false}],"state":"closed","locked":true,"assignee":null,"assignees":[],"milestone":null,"comments":23,"created_at":"2016-06-05T02:37:36Z","updated_at":"2017-07-11T19:04:34Z","closed_at":"2017-07-11T19:04:34Z","pull_request":{"url":"https://api.github.com/repos/dolphin-emu/dolphin/pulls/3880","html_url":"https://github.com/dolphin-emu/dolphin/pull/3880","diff_url":"https://github.com/dolphin-emu/dolphin/pull/3880.diff","patch_url":"https://github.com/dolphin-emu/dolphin/pull/3880.patch"},"body":"This is the sequel to Hybrid XFB from #2051\r\nThe goal this time is to get more or less the same effect, while actually removing and simplifying code.\r\n\r\nThe Texture cache and xfb implementations look very similar, because they are more or less the same ideas implemented twice. By adding a \"xfb texture type\" to texture cache, we can reuse all the code, and each implementation can gain features that the other is currently missing. XFB gains Texture cache's hybrid mode and horizontal merging of copies, while texture cache will gain virtual xfb's ability to merge vertically overlapping efb copies.\r\n#### Current Status:\r\n- [x] Merge Virtual XFB into Texture cache to get HybridXFB\r\n- [x] OpenGL support\r\n- [x] Implement XFB writebacks\r\n- [x] Split an Abstract Texture class out of texture cache\r\n- [x] Remove a bunch of duplicated code\r\n- [x] Directx 12 support\r\n- [x] Directx 11 support\r\n- [ ] Make Fifoplayer work with XFB (See #3974)\r\n- [x] Fix video software (make it reuse code from texture cache)\r\n- [ ] Merge @Tilka's SSE2/AVX2 optimised XFB decoding code\r\n- [ ] Move screenshots/video dumping into video common\r\n- [ ] Implement new GUI options.\r\n- [ ] Improve \"Partial Texture Updates\" to fix games using 3x Anti Aliasing (and spyro)\r\n  - [ ] RS2, RS3\r\n  - [ ] Genesis virtual console games.\r\n  - [ ] Spyro bloom\r\n  - [ ] Gamecube bios\r\n  - [ ] Sexy Poker\r\n- [ ] Find a new sane home for the \"End of frame\" stuff.\r\n- [ ] Make texture cache always use safe hashing for XFB copies. \r\n- [ ] Somehow allow Swap to detect when the XFB hasn't changed since last frame\r\n- [ ] Redefine FPS?\r\n- [ ] Make sure movies still work.\r\n- [x] ~~Mario Party 4 through 8 don't currently work with virtual xfb.~~ They did work. But the FPS counter was displaying the wrong thing, causing people to think there was a bug.\r\n- [x] Find cause of \"Macroblocking\" glitch in the real xfb path. (Fixed by #4189)\r\n- [ ] Attach vertical scaling paramters to xfb2tex texture cache entries (but don't apply)\r\n- [ ] Apply vertical scaling to xfb2ram copies.\r\n- [ ] Apply any vertical scaling during partial texture updates.\r\n\r\n<!-- Reviewable:start -->\r\n\r\n---\r\n\r\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"35\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/dolphin-emu/dolphin/3880)\r\n\r\n<!-- Reviewable:end -->\r\n"},"comment":{"url":"https://api.github.com/repos/dolphin-emu/dolphin/issues/comments/314541394","html_url":"https://github.com/dolphin-emu/dolphin/pull/3880#issuecomment-314541394","issue_url":"https://api.github.com/repos/dolphin-emu/dolphin/issues/3880","id":314541394,"user":{"login":"JosJuice","id":6716818,"avatar_url":"https://avatars1.githubusercontent.com/u/6716818?v=3","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","site_admin":false},"created_at":"2017-07-11T19:04:33Z","updated_at":"2017-07-11T19:04:33Z","body":"Actually, we might as well close this PR while we're at it... phire can reopen it if we want to continue with this one instead of the other one."}}
{"actor":{"display_login":"JosJuice"}}