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

GLFW to replace LowLevelWindow #1073

Open
wants to merge 58 commits into
base: develop
Choose a base branch
from

Conversation

jameskr97
Copy link
Member

@jameskr97 jameskr97 commented Oct 25, 2021

GLFW to replace LowLevelWindow

This was originally attempted in #1013 though, and due to insufficient testing on the input side, was deemed unable to be merged. This PR is similar to #1013, except without any input-related changes. This PR only includes elements necessary for a Windowing system replacement, with the organization to only StepMania.{cpp,hpp}.

Changes Include

  • Organizing StepMania.{cpp,h}
  • glew replaced with glad
  • Removed src/arch/LowLevelWindow
  • Support for retina displays by using frame-buffer size instead of window size for GL operations. (FrameBuffer typically matches window dimensions on non-retina displays). The top bar is also no longer blurry.

Wrong name was chosen during the original cmake upgrade
git-subtree-dir: extern/glfw
git-subtree-split: d1fc694bb5d194013b9ea10c0753ef83b7ecfe58
ActionDelegate stores references to functions to call when the action in invoked.
No longer needed with GLFW
Taken from a path from the previous version of this PR.
- Remove OpenGL int based version checking (they're only checking for 1.0 features)
- Remove all references related to Concurrent Rendering
The macOS window decoration should no longer be blurry. The info.plist is updated to state the app supports retina, and the RageDisplay_OGL was updated to use the frame-buffer size over window dimensions.

A custom MacOSXBundleInfo file was added to CMake as cmake doesn't enable retina by default. CMake had a discussion on this at https://gitlab.kitware.com/cmake/cmake/-/merge_requests/1167
This is required for proper mouse input
It was previously included transitivity.
- Remove unused reference
- Remove replaced window creation
Other changes include:
- Updating CreateDisplay function
- Update GetActualGraphicOptionsString function
- Changing links to PREFSMAN
- Replacing usages of `GetActualVideoModeParams`, and removing said function
- Replace usages of `bAnisorophicFiltering`, `bSmoothLines` and `bTrilinearFiltering` with their PREFSMAN equivalent
…SetFullscreen

Most of VideoMode was written on linux, with this last part being done on Windows to fix compilation
Possibly a regression from the rebase
This delays every attempt to build by 2-3 seconds, when after this code is built, it's least likely to change
The framebuffer resize does not have the desired effect. Window resize does.
@jameskr97 jameskr97 changed the title GLFW WIP GLFW to replace LowLevelWindow Jan 6, 2022
@jameskr97 jameskr97 marked this pull request as ready for review January 6, 2022 10:17
@jameskr97 jameskr97 self-assigned this Jan 6, 2022
@nico-abram nico-abram mentioned this pull request May 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant