Max Brunsfeld
dd31b870c3
Remove small pieces of unused code
2021-04-02 14:26:53 -07:00
Max Brunsfeld
ce6ca13b13
Fix buffer folding test
2021-04-02 14:04:35 -07:00
Nathan Sobo
c43d7cfb39
Use a condvar instead of a channel to implement finish_pending_tasks
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-02 13:53:06 -06:00
Nathan Sobo
526a55d0d7
Complete finish_pending_tasks future when tasks are cancelled
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-02 12:42:23 -06:00
Nathan Sobo
fd1f75333f
Initialize logger in gpui tests
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-02 12:42:01 -06:00
Nathan Sobo
2d79193fb6
Remove future/stream handlers when task is dropped
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-02 12:03:35 -06:00
Nathan Sobo
914cf37f37
Remove executor::ForegroundTask wrapper
...
Now that smol returns the same Task as async_task, we can simply re-export the async_task::Task struct from our executor module.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-02 11:02:09 -06:00
Nathan Sobo
d68a747754
Fix hanging finish_pending_tasks test
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-02 10:48:03 -06:00
Antonio Scandurra
72ced45df0
Remove unused edge_to_point
calculation in quad shader
2021-04-02 13:53:11 +02:00
Antonio Scandurra
d10fc6ce3f
Fix crash when selections exceed the container's bounds
2021-04-02 13:49:44 +02:00
Antonio Scandurra
ae447ca1d9
Layout lines and line numbers sequentially
...
Doing things in parallel has a constant factor associated with it (e.g.,
spawning threads and coordinating them) that dwarves its benefits on a
code path like this where things take < 2-3ms when done sequentially.
2021-04-02 10:20:29 +02:00
Nathan Sobo
995acefce5
Inset container contents to account for container border
2021-04-01 10:31:00 -06:00
Antonio Scandurra
e487aa5cbd
Don't render glyphs located outside of BufferElement
's bounds
2021-04-01 11:19:50 +02:00
Nathan Sobo
c525d7c712
💄 naming
2021-03-31 20:43:15 -06:00
Max Brunsfeld
3bd6b92244
Introduce a GPUI test platform, get most tests running
...
There are still two tests that don't pass:
* `gpui::app::tests::test_finish_pending_tasks` hangs
* `editor::buffer_view::tests::test_fold` has an assertion failure
2021-03-31 17:03:58 -07:00
Max Brunsfeld
2efc90adc6
Ensure that path windings are rendered to the right atlas texture
...
Fixes #5
2021-03-31 14:52:41 -07:00
Antonio Scandurra
a9c428ad05
Remove Overdraw
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-31 17:58:43 +02:00
Antonio Scandurra
d5a9bab4a0
Fix tabs layout
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-31 17:57:00 +02:00
Antonio Scandurra
c55d99022e
Handle non-precise scroll events in BufferElement
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-31 16:25:21 +02:00
Antonio Scandurra
97e0db205d
Don't blend alpha channels
...
We want to use the source alpha to determine the color of the final
pixel, but we want the final pixels to be fully opaque.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-31 16:24:28 +02:00
Antonio Scandurra
385d15cd0c
Round clip bounds to whole pixels
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-31 16:23:37 +02:00
Antonio Scandurra
d853dbb048
Render borders correctly when only a subset of the border is visible
2021-03-31 14:53:34 +02:00
Antonio Scandurra
073ff96a9f
Snap quads to pixel grid to avoid antialiasing them around the edges
2021-03-31 14:53:15 +02:00
Antonio Scandurra
bbf8762447
💄
2021-03-31 10:32:53 +02:00
Antonio Scandurra
f5e5d7180f
Remove conditional from winding number computation
2021-03-31 10:30:16 +02:00
Nathan Sobo
5c444b2bfa
Call did_modify_range on only once per render
2021-03-30 23:07:14 -06:00
Nathan Sobo
dbf9a5a466
Restore blink_cursors
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-30 18:12:45 -06:00
Nathan Sobo
6ba08b510f
Avoid generic parameter
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-30 18:05:13 -06:00
Nathan Sobo
77b6a29f5f
Optimize grouping of path sprites by layer/atlas
...
Avoid filtering sprites redundantly on every layer and allocating intermediate vectors to group by atlas.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-30 18:03:00 -06:00
Nathan Sobo
4cdce070c4
Reduce selection corner radius
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-30 16:57:21 -06:00
Nathan Sobo
3103d28285
Clear the path atlases on every frame and fix spelling
...
@as-cii you were right about the plural of "atlas" after all.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-30 16:56:11 -06:00
Nathan Sobo
8dabb15248
Decrease max windings to avoid problems with anti-aliasing
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-30 16:34:01 -06:00
Nathan Sobo
02ace16176
Handle selection corners that are smaller than the corner radius
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-30 16:21:24 -06:00
Nathan Sobo
c4f23e411a
Fix double-borrow when synthesizing drag events
2021-03-30 14:25:47 -06:00
Nathan Sobo
5c4b08f05f
Use correct texture size when drawing paths into atlas
2021-03-30 14:03:29 -06:00
Nathan Sobo
4773f5034b
Bump max path windings to 128
...
This eliminates artifacts while still seeming to work with anti-aliasing.
2021-03-30 14:02:59 -06:00
Max Brunsfeld
011d4d8437
wip
2021-03-30 12:36:18 -07:00
Max Brunsfeld
f8cc3996b2
Paint selections using new path API
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-30 11:52:58 -07:00
Antonio Scandurra
da1960c3e8
Snap path sprites to pixel grid
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-03-30 19:37:49 +02:00
Antonio Scandurra
1903f63c45
WIP: Add anti-aliasing to paths and render them after spriting them
2021-03-30 16:37:12 +02:00
Antonio Scandurra
98845663a9
Render stencils to atlas
2021-03-30 11:28:35 +02:00
Nathan Sobo
b538f5cfb7
WIP
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-29 22:56:47 -06:00
Nathan Sobo
64af4c694a
WIP: Render paths into stencil buffers
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-29 22:46:26 -06:00
Max Brunsfeld
0b12779e62
WIP: Render path winding numbers to stencil buffer
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-29 16:28:35 -07:00
Max Brunsfeld
a8495d09f8
Whitelist shader bindings using a regex, not individual types
2021-03-29 12:39:21 -07:00
Antonio Scandurra
6222150688
WIP: Start on rendering paths
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-03-29 19:51:39 +02:00
Antonio Scandurra
d3d251a9ce
Introduce a Path
struct
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-03-29 19:50:38 +02:00
Antonio Scandurra
11f469b8e2
Construct Metal command encoder inside of Renderer
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-03-29 19:48:14 +02:00
Antonio Scandurra
a88b63d83c
Ensure FoldMap
always contains at least one transform
...
Previously, when splicing an edit that deleted all transforms, we would
leave the `FoldMap` empty, thus violating a bunch of downstream
invariants and e.g. causing the `BufferRows` iterator to not return any
buffer row.
This commit ensures we always have at least one transform (an isomorphic
one, specifically) and adds additional test coverage for the
`FoldMap::buffer_rows` method by adding it to the randomized tests.
2021-03-29 10:18:28 +02:00
Antonio Scandurra
a949959a42
Merge pull request #1 from zed-industries/catalina-mps-compatibility
...
Avoid nested structs in the types used to pass data from vertex to fragment shader functions
2021-03-29 09:16:15 +02:00