-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rsx: change render flip command to actual rsx flip command #4914
Conversation
Tested your tmp4 branch before, it fixed blackscreen intros in GoWIII/GoW Ascension, then it was broken again, found out in jarveson@1eaebc4 removing rsx->reset(); line fixes it again |
rpcs3/Emu/RSX/RSXThread.cpp
Outdated
{ ppu_cmd::set_args, 1 }, u64{ 1 }, | ||
{ ppu_cmd::lle_call, flip_handler }, | ||
{ ppu_cmd::sleep, 0 } | ||
}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Formatting went crazy here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i blame visual studio, but yea ill fix it
There is another flip request mechanism for native UI. I prefer if its refactored so that we dont have 2 separate flip signals. |
sure i can refactor it, also @Xcedf just so i understand correctly, theres no regression on this pr with GOW? Assuming its not, thats actually super helpful/interesting and ill try to take a look since its related to the same code in this pr |
No there's no regression in GoW on this PR |
Ive refactored the flip requests into a bitset with native_ui/emu_requested flags, i hope thats what you had in mind, otherwise I don't see a straight forward way to merge them more than that. But if you had some other idea for it, let me know I also added in some more default values for rsx_state::reset(), which should fix the gow missing intro screens |
Confirm gow intros fixed |
Why? I would've merged and deal with the refactoring later. |
This moves our actual rendered flip to the given rsx flip command, it was set to happen on the rsx-queue command by someone
mewhich works from a games perspective, but will cause problems for future additions and from an accuracy perspectiveThe big notable change with this pr, is there is one option of flipping where a game can call the syscall directly to flip, which in that case has to be marshalled back to rsxthread to handle it asynchronously, the benefit is that now that option is correctly handled by the emulators fps limit setting (if a game used it before, the fps limit was ignored), ive also made it so we still stay synchronous in every other case, which is the reason for most of the shuffle of code
This should, hopefully, be just an internal accuracy change with no improvements, or regressions.
Also, two debugger changes, a fix for cgdisasm with vertex programs, which regressed from the new analyzer, and branch target address display in the debugger