-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
AtlasEngine: Implement sixels #17581
Conversation
after merging this PR, maybe close the relevant issue #448 too? |
Still failing audit mode! You may want to build it locally ;) |
Two small issues I've noticed which I'm assuming are related to the order in which various layers are rendered:
I'm not sure either of them are blockers, but would be good to fix at some point. Edit: The more I think about, the more I suspect that the cursor issue may not be solvable, at least not for all cursor styles. |
Generally speaking, it is solvable. |
{ | ||
const auto& b = row->bitmap; | ||
|
||
// TODO: This could use some caching logic like BackendD3D. |
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.
yea I was curious why this wasn't just exactly the same
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.
I forgot the exact reason, but something about building the hashmap was annoying so I decided to do that in a follow-up PR. The D2D renderer isn't particularly fast anyway, so I suspect the additional overhead here won't make it that much worse either (for now).
ImageSlice
so that the rendererscan use it to cache them as bitmaps across frames.
slices into
Buffer
s so we can own them into thePresent
.hashmap -> atlas-rect logic. Just like rendering text.
ImageSlice
to be returned as a raw pointersas this helps performance slightly. (Trivial type == good.)
_debugShowDirty
code (disabled by default).Validation Steps Performed
mpv --really-quiet --vo=sixel foo.mp4
looks good ✅