ruby: Use cleaner OpenGL render pattern, misc. CGL fixes #1543
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
OpenGL rendering (all platforms)
libra_viewport_t
would be sized to the target size, but the underlying buffer would be larger.libra_viewport_t
that matches that size. In the final pass we sample this buffer within an area of the "output"-sized buffer as appropriate.This prior behavior would lead to scaling issues with shaders in the Metal backend. The same issues did not seem to be obviously present in OpenGL in my testing, but we should nevertheless probably fix this in case it is causing any of the subtle issues with shaders that have been reported, and also in case something breaks in the future as a result of not following this recommendation.
(The above is also unrelated to the scaling issues addressed by #1508)
CGL fix-ups (macOS)
reshape
that would cause flickering during resizes.This has been tested on macOS but should probably be tested on other platforms as well to make sure nothing breaks.