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
Add inbuilt Opengl renderer to window #922
Conversation
as an aside, code for the widget is here, https://gist.github.com/emmauss/15fef952fe25d7f838ccd6a5f438249b |
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.
Juste some nits. It could be nice to leave some comments in the code too.
Changelog: - Reapply some changes that got lost while rebasing from Ryujinx#904 - Make sure to guarantee exclusivity on the GL context (fixing multiple possible race conditions on Windows) - Avoid making GLRenderer disposed multiple time
addressed comments |
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.
lgtm
I guess this is a typo?
I think it should be removed. |
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.
- Instead of hiding the game list and games loaded info separately you should just remove the whole
MainBox
(both the game list and footer are in this box widget). Its currently not exposed to the code, you'll have to add its binding. - nit: If you open MainWindow.glade in glade you will see that the footer box has spaces for 4 child widgets but only has 3 child widgets.
- The custom gl widget has some random console logging. https://gist.github.com/emmauss/15fef952fe25d7f838ccd6a5f438249b#file-glwidget-cs-L278
- Resizing and fullscreening the window is bugged if the window is not being rendered to
Done
Will remove it in an update to the wigdet package
Noting I can do about this. I've tried clearing the screen after resizing. it did not work. Addressed comments |
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.
lgtm, thanks!
We can now ditch the extra window. Allows rendering in the main window. the old GLScreen is still there, but can not be accessed anymore through. Will remove it if its decided its no longer necessary.
So far, I've not noticed any slowdowns. the rendering logic is more or less the same, and its multithreaded. Contrary to what I thought before, you can modify the underlying context in gtk, with it crashing on you.
This PR is ready for review.