Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
On macOS with an undefined OpenGL system framebuffer, raw screenshot capture can encode an upside-down, channel-swapped image even while the recovery window displays the correct scene. Render the complete window into an owned target and capture that current RGBA image, including native menus and mod HUDs. Add a bounded queued
WindowFrame.capture(callback)API; route native driver capture and the error screen through the same presentation owner, with cleanup on resize/quit/error.Depends on #193 (branch base
de28fe4c); the new work starts atd18e96b5. Healthy direct backends retain native presentation. Metal retains a final GPU target; only the detected broken macOS OpenGL path uses an owned Cocoa layer. Ordinary recovery can pipeline one frame; observed/captured frames force current independent data. This adds a full-frame target and, on the recovery path, CPU readback. No general performance or context-loss acceptance is claimed.Validation:
docs/qa/complete-frame-capture/gpu.json.Only general engine sources, tests and sanitized receipts are included. No ROMs, assets, imported caches, saves or private mod sources.