Skip to content
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

Closed
wants to merge 4 commits into from
Closed

rsx: change render flip command to actual rsx flip command #4914

wants to merge 4 commits into from

Conversation

jarveson
Copy link
Contributor

This moves our actual rendered flip to the given rsx flip command, it was set to happen on the rsx-queue command by someone me which works from a games perspective, but will cause problems for future additions and from an accuracy perspective

The 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

@Xcedf
Copy link

Xcedf commented Jul 21, 2018

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

{ ppu_cmd::set_args, 1 }, u64{ 1 },
{ ppu_cmd::lle_call, flip_handler },
{ ppu_cmd::sleep, 0 }
});
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Formatting went crazy here.

Copy link
Contributor Author

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

@kd-11
Copy link
Contributor

kd-11 commented Jul 21, 2018

There is another flip request mechanism for native UI. I prefer if its refactored so that we dont have 2 separate flip signals.

@jarveson
Copy link
Contributor Author

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

@Xcedf
Copy link

Xcedf commented Jul 22, 2018

No there's no regression in GoW on this PR

@jarveson
Copy link
Contributor Author

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

@Xcedf
Copy link

Xcedf commented Jul 26, 2018

Confirm gow intros fixed

@jarveson jarveson closed this Aug 11, 2018
@kd-11
Copy link
Contributor

kd-11 commented Aug 11, 2018

Why? I would've merged and deal with the refactoring later.

@kd-11 kd-11 mentioned this pull request Sep 22, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants