Commit Graph
8297 Commits
Author SHA1 Message Date
Daniel ImmsandMegan Rogge c4eef2f470 Fix race condition that could when clearing atlas on 2+ terminals
This is the proper fix for microsoft/vscode#162996, after a bunch of
investigation we found that this is causing the problem:

VS Code clears the texture atlas on OS resume to fix an issue where the texture
could be corrupted. This calls clearTextureAtlas twice which should be fine, but
it's not because inside WebglRenderer.clear we're calling updateModel which is
meant to only ever be called in an animation frame. This calls potentially both
renderers to have stale views of the texture atlas for those rows and our perf
caching of cells (the main purpose of the model) doesn't know it's stale.

Co-Authored-By: Megan Rogge <merogge@microsoft.com>
2022-10-07 16:17:11 -07:00
Daniel Imms 5fcb084089 Merge pull request #4180 from Tyriar/clear_atlas
Fix clearTextureAtlas call as implemented on IRenderer
2022-10-07 14:31:28 -07:00
Daniel Imms e89c507d06 Fix clearTextureAtlas call as implemented on IRenderer
This is the root cause of microsoft/vscode#162996
2022-10-07 14:22:51 -07:00
Daniel Imms eb3de3ebd5 Merge pull request #4151 from Tyriar/renderer_before_open
Allow renderer to be set before Terminal.open is called
2022-10-07 10:17:54 -07:00
Daniel Imms ffa4d921bb Merge remote-tracking branch 'upstream/master' into renderer_before_open 2022-10-07 10:10:24 -07:00
Daniel Imms a060c64a08 Merge pull request #4179 from Tyriar/4178
Split Utf8ToUtf32 decoder unit tests up
2022-10-06 10:38:03 -07:00
Daniel Imms 0d5a526e86 Split Utf8ToUtf32 decoder unit tests up
Fixes #4178
2022-10-06 10:28:54 -07:00
Daniel Imms 3ec08948ec Merge pull request #4177 from Tyriar/tyriar/revert_events
Revert "Merge pull request #4166 from Tyriar/event_with_emitter"
2022-10-06 09:59:50 -07:00
Daniel Imms 4d97729010 Revert "Merge pull request #4166 from Tyriar/event_with_emitter"
This reverts commit d22f7c9edd, reversing
changes made to 1f8e6f0952.
2022-10-06 09:48:54 -07:00
Daniel Imms 5f1651ffbc Merge pull request #4176 from xtermjs/Tyriar-patch-1
Bump copyright year
2022-10-06 09:15:02 -07:00
Daniel Imms ab0082b73a Bump copyright year 2022-10-06 09:14:50 -07:00
Daniel Imms aa55d1bde6 Merge pull request #4170 from Tyriar/shared_cache
Share texture atlas cache code between webgl and canvas renderers
2022-10-05 10:19:17 -07:00
Daniel Imms e0324e32a8 Bring back ImageBitmap optimization in canvas renderer
It's more simple than it used to be, it will clear and debounce all
glyphs when any change is made.
2022-10-04 15:24:10 -07:00
Daniel Imms 3b260a2193 Fix resolved todo 2022-10-04 14:46:00 -07:00
Daniel Imms 622acaaad7 Remove old selection start/end values 2022-10-04 14:45:19 -07:00
Daniel Imms 0d7e18d236 Add CellColorResolver to share load color code 2022-10-04 14:41:27 -07:00
Daniel Imms 83c09c34db Share selection render model code 2022-10-04 14:23:09 -07:00
Daniel Imms 03e3105c55 Fix fg/bg overrides in canvas 2022-10-04 14:10:27 -07:00
Daniel Imms c5d015c908 Merge branch 'master' into shared_cache 2022-10-04 13:54:14 -07:00
Daniel Imms e1e8f28d97 Merge pull request #4118 from coderaiser/feature/lint-by-putout
Lint using 🐊Putout: part 7
2022-10-04 10:45:24 -07:00
Daniel Imms f6a61acc86 Merge branch 'master' into feature/lint-by-putout 2022-10-04 09:52:10 -07:00
Daniel Imms 6316eee672 Comment out debug log 2022-10-02 21:32:24 -07:00
Daniel Imms 9259ec258f Fix combined chars in canvas 2022-10-02 14:27:43 -07:00
Daniel Imms c741c13409 Add ps to output string 2022-10-02 14:25:08 -07:00
Daniel Imms f2ff3a6a7a Add sgr attr test 2022-10-02 14:21:06 -07:00
Daniel Imms dbef850039 Hook up attributes to new texture atlas 2022-10-02 13:57:35 -07:00
Daniel Imms 590a8219e3 Merge remote-tracking branch 'upstream/master' into shared_cache 2022-10-02 13:42:44 -07:00
Daniel Imms d22f7c9edd Merge pull request #4166 from Tyriar/event_with_emitter
Create new event with emitter object to simplify code
2022-10-02 13:41:37 -07:00
Daniel Imms c2bf87ee34 Initial working shared atlas 2022-10-02 11:38:46 -07:00
Daniel Imms 0bc5ca8f80 Fix imports 2022-10-02 11:08:06 -07:00
Daniel Imms 5b785d29a1 Expose _listeners for debug/test 2022-10-02 09:09:05 -07:00
Daniel Imms f38a49b4d5 Move remaining webgl atlas to shared 2022-10-02 08:48:55 -07:00
Daniel Imms 26c974f9b6 Shuffle some utils 2022-10-02 08:37:13 -07:00
Daniel Imms 333b0e28ac Add ITextureAtlas and use that instead of WebglCharAtlas 2022-10-02 07:48:43 -07:00
Daniel Imms 0bc71156bf Merge remote-tracking branch 'upstream/master' into shared_cache 2022-10-02 07:26:23 -07:00
Daniel Imms dece3cc41c DynamicCharAtlas -> CanvasCharAtlas 2022-10-02 07:20:55 -07:00
Daniel Imms 8752c4fa8e Remove canvas char atlas base class 2022-10-02 07:19:57 -07:00
Daniel Imms 53d0297898 Lint client.ts 2022-10-02 07:15:12 -07:00
Daniel Imms af6f03600f Show canvas texture atlas on demo 2022-10-02 07:10:37 -07:00
Daniel Imms 1f8e6f0952 Merge pull request #4169 from Tyriar/canvas_freq
Add willReadFrequently to canvas renderer too
2022-10-01 21:46:13 -07:00
Daniel Imms f087bd121e Add willReadFrequently to canvas renderer too 2022-10-01 21:38:01 -07:00
Daniel Imms d669c6e9d6 Fix remaining references 2022-10-01 18:03:43 -07:00
Daniel Imms c5f9eacbb1 Move other render parts to shared folder 2022-10-01 17:41:16 -07:00
Daniel Imms 6fcc496547 Move cache utils to core shared/ folder
Part of #4065
2022-10-01 17:36:16 -07:00
Daniel Imms 5dee66353a Merge pull request #4168 from Tyriar/4128
Ensure texture atlas comparison uses rgba not object
2022-10-01 10:30:17 -07:00
Daniel Imms 2a602ef231 Ensure texture atlas comparison uses rgba not object
Fixes #4128
2022-10-01 10:20:37 -07:00
Daniel Imms e3e3c347ea Merge pull request #4160 from jerch/tweak_serverside_buffering
tweak buffering in server.js
2022-10-01 09:59:01 -07:00
Daniel Imms 2e8b793ba0 Format files 2022-10-01 08:56:56 -07:00
Daniel Imms 03fcf60aaf Docs 2022-10-01 08:55:01 -07:00
Daniel Imms ed15a8e170 Create new event with emitter object to simplify code 2022-10-01 08:45:40 -07:00