Daniel Imms
ed1773c103
Merge pull request #4274 from JasonXJ/cap-atlas-pages
...
Cap webgl maxAtlasPages to 32
2022-11-26 07:24:47 -08:00
Jason Lin
b7c119a071
Cap webgl maxAtlasPages to 32
2022-11-24 17:51:58 +11:00
Daniel Imms
1880399849
dirtyId -> version
2022-11-23 08:51:06 -08:00
Jean Pierre
d4ee0309d9
Fixes https://github.com/microsoft/vscode/issues/166158
2022-11-22 00:07:23 -05:00
Daniel Imms
3597d43788
Enable the webgl renderer on safari 16 and above
...
This does not fix the issue where webkit browsers cannot use it, I looked
at webkit versions in safari and was a bit confused. The wikipedia page
for safari shows v15 having webkit v612+ but I have safari v16 and it's
webkit v605, so trying to detect it based on webkit version is a risky
change.
Note that webgl2 shipped in safari 15, but it didn't work in webgl until
safari 16.
Fixes #3357
Related #3575
Related microsoft/vscode#165416
2022-11-08 12:23:20 -08:00
Daniel Imms
862e83d7be
Merge pull request #4252 from Tyriar/4243_merge
...
Continually merge texture atlas pages
2022-11-03 06:48:55 -07:00
Daniel Imms
97a0df260b
Remove unused event
2022-11-03 05:44:50 -07:00
Daniel Imms
d82da195f3
Remove atlas pages from demo when they're merged
2022-11-02 06:02:53 -07:00
Daniel Imms
c22e684904
Fix exception when last 4 smallest pages are merged
2022-11-02 05:40:13 -07:00
Daniel Imms
6406fd79c1
Enforce a maximum page merge amount
2022-11-02 05:28:47 -07:00
Daniel Imms
c9bacc80d7
Merge when max atlas pages is reached
2022-11-01 10:08:00 -07:00
Daniel Imms
d219da480c
Remove fill polyfill
...
Fixes #4241
2022-10-31 12:24:59 -07:00
Daniel Imms
dda3f5f545
Properly dispose of atlas event
2022-10-30 15:00:27 -07:00
Daniel Imms
c9ef4a8eb9
Increase texture size as it nears the maximum texture unit
...
#4243 would be a better, but more complicated, solution to this
2022-10-30 09:20:17 -07:00
Daniel Imms
846573bb01
Support up to maximum texture units (eg. 16 on my machine)
2022-10-30 03:16:29 -07:00
Daniel Imms
bfa9dd5060
Clean up
2022-10-29 18:09:18 -07:00
Daniel Imms
04f79aa7b4
Share page texture binding code
2022-10-29 14:33:50 -07:00
Daniel Imms
86ccd709bf
Avoid setting uniforms every frame
2022-10-29 14:26:51 -07:00
Daniel Imms
c257a7247e
Only upload textures that change
2022-10-29 13:27:33 -07:00
Daniel Imms
efba2c9040
Get pages working, add to demo
2022-10-28 19:30:42 -07:00
Daniel Imms
67ef455515
Get a second page kind of working
2022-10-28 19:20:26 -07:00
Daniel Imms
975d52fab9
Remove deprecated prop
2022-10-28 19:12:01 -07:00
Daniel Imms
6b37187b4d
Create AtlasPage
2022-10-28 19:08:33 -07:00
Daniel Imms
84ab6a49c4
Bring texturePage partially to atlas
2022-10-28 18:56:49 -07:00
Daniel Imms
54335ef54a
Create texture page attribute
2022-10-28 18:16:55 -07:00
Daniel Imms
96486c414b
Acquire char size service better in webgl renderer
2022-10-16 07:04:34 -07:00
Daniel Imms
dc19628014
Fix width -> height
2022-10-16 06:34:12 -07:00
Daniel Imms
22e8a2f8e7
Remove old dimension properties
2022-10-15 18:07:05 -07:00
Daniel Imms
2c9e711cae
Move all other refs in webgl over
2022-10-15 13:55:36 -07:00
Daniel Imms
65f41a151e
Use new render dimensions in webglrenderer
2022-10-15 13:15:12 -07:00
Daniel Imms
ddc4e75583
Add new dimensions properties, helper creation function
...
Part of #3925
2022-10-15 10:31:43 -07:00
Daniel Imms
16ea621a5f
Merge pull request #4206 from Tyriar/eslint-jsdoc
...
Add eslint-plugin-jsdoc with minimal comment rules
2022-10-15 08:55:07 -07:00
Daniel Imms
5204374494
Add no-multi-asterisks rule
2022-10-15 08:43:06 -07:00
Daniel Imms
114924f3fa
Add eslint-plugin-jsdoc and enable check-param-names
2022-10-15 08:38:14 -07:00
Daniel Imms
fb4a4e6127
Draw quads with triangle strip
...
This reduces the number of needed vertices from 6 to 4, it may not have a
noticeable performance impact but it's less data and simpler
2022-10-15 07:54:31 -07:00
Daniel Imms
a37ea14d10
Use options service in renderers
2022-10-09 10:57:49 -07:00
Daniel Imms
8d7137417b
Split renderer safe vs unsafe api on activate
2022-10-09 10:12:19 -07:00
Daniel Imms
e47296c1b9
Use options service directly in renderers
2022-10-09 09:28:18 -07:00
Daniel Imms
48f15cb543
Remove remaining setColors methods
2022-10-08 14:07:28 -07:00
Daniel Imms
6e35bcd767
Use theme service in more places
2022-10-08 13:55:23 -07:00
Daniel Imms
c4750eaf77
Create basic theme service
...
Part of #4184
2022-10-08 11:43:19 -07:00
Daniel Imms
5d8e4a0af4
Add lint rule to ensure _on prefix is only for event emitters
2022-10-08 11:05:52 -07:00
Daniel Imms
eecf52e949
Add lint rule to ensure on prefix is only for event emitters
...
Fixes #4183
2022-10-08 10:57:31 -07:00
Daniel Imms
00f6d3a88c
Register all event emitters, make some services disposable
2022-10-08 09:00:14 -07:00
Daniel Imms
ac659cb412
Prevent overriding of Disposable.dispose
...
A common mistake made was overriding dispose and not calling super.dispose,
so a TS trick is now used to move it to a readonly property instead of a
member method which prevents it being overridden.
2022-10-08 08:27:10 -07:00
Daniel Imms
8116e035b4
Register webgl renderers
2022-10-08 08:06:43 -07:00
Daniel Imms
56b37a73ac
Free WebglAddon
2022-10-08 07:37:55 -07:00
Daniel Imms
fc8043a25a
Ensure webgl texture atlas is released on dispose
2022-10-08 07:32:51 -07:00
Daniel Imms and Megan 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