Raph Levien
8d01aba237
Update to piet 0.13
...
Get rid of kurbo patch, as we now use kurbo through piet. Also clean up
some warnings.
2020-05-12 08:26:48 -07:00
msiglreith
abd238bff3
Address review comments
2020-05-05 18:13:07 +02:00
msiglreith
e2ed54361d
Fix rebase issues and split into library and cli/winit binaries
2020-05-04 17:05:54 +02:00
msiglreith
b38e43f0c2
Initial work for surface support
...
surface: handle extensions
Implement swapchain creation and blit image to screen
2020-05-04 16:24:42 +02:00
Raph Levien
1797914ac8
Fix artifacts
...
We were overwriting `end` when clipping, then reusing it when reading
the path, for continuity.
2020-05-02 16:20:04 -07:00
Raph Levien
dcdd35e0b8
Implement solid color cmd
...
Avoids empty fill segment list, which was a minor bug.
Also increase tolerance to 0.25 to juice performance.
2020-05-02 10:53:16 -07:00
Raph Levien
aa83d782ed
Fills
...
Adds fills, and has more or less working tiger render (with artifacts).
2020-05-01 19:42:20 -07:00
Raph Levien
9539d8871f
Clear item ref on empty segments
2020-05-01 09:13:16 -07:00
Raph Levien
19ecd0a158
Merge pull request #3 from linebender/chunk_segments
...
Use linked list strategy for segments
2020-04-30 21:40:04 -07:00
Raph Levien
aa8b71e922
Reset query pool before use
...
Quiets validation errors now that we can see them :)
2020-04-29 18:18:04 -07:00
Raph Levien
b23fe25177
Use linked list strategy for segments
...
Trying to allocate them contiguously wasn't good.
2020-04-28 22:25:57 -07:00
Raph Levien
cb06b1bc3d
Implement stroked polylines
...
This version seems to work but the allocation of segments has low
utilization. Probably best to allocate in chunks rather than try to
make them contiguous.
2020-04-28 18:45:59 -07:00
Raph Levien
55e35dd879
Dynamic allocation of intermediate buffers
...
When the initial allocation is exceeded, do an atomic bump allocation.
This is done for both tilegroup instances and per tile command lists.
2020-04-25 10:45:47 -07:00
Raph Levien
e1c0e448ef
Encode stroke in scene
...
This just adds the first step of polyline stroking, which is adding it
to the scene. Also just a bit of cleaning up of dimensions into one
header file.
2020-04-25 08:24:46 -07:00
Raph Levien
7528eaff22
Add piet trait
...
Use piet render context to encode into scene buffer.
This is adapted from piet-dx12.
2020-04-22 12:07:56 -07:00
Raph Levien
8d51ccbc74
Add draft kernel 4
...
Render from ptcl rather than original scene.
2020-04-21 19:30:14 -07:00
Raph Levien
6976f877e0
Add first draft of kernel 3
...
A fairly simple approach, but it adds the translation (not tested yet
in scene encoding) and does bounding box culling.
2020-04-21 18:49:50 -07:00
Raph Levien
2ed89dd65e
First draft of kernel 1
...
Output of kernel 1 is validated by simple inspection, next step is to
wire it up properly.
2020-04-20 18:07:18 -07:00
Raph Levien
5adb703936
Staging buffers
...
Add hal methods to clear and copy buffers, so work happens in device
local buffers.
2020-04-18 07:46:59 -07:00
Raph Levien
957f710b91
Render random circles
...
Poor performance but it renders something.
2020-04-17 21:18:39 -07:00
Raph Levien
3c35899a2f
Render circles
...
WIP
2020-04-17 16:01:37 -07:00
Raph Levien
228bfc88cd
Add scene types
...
This patch adds a module that contains both scene and ptcl types (very
lightly adapted from piet-metal), as well as infrastructure for encoding
Rust-side.
WIP, it's not wired up in either the shader or on the Rust side.
2020-04-16 18:19:58 -07:00
Raph Levien
86e52a3f47
Start image rendering
...
Populates the piet-gpu subdir, with an extremely simple renderer. The
main program saves the image to a PNG.
Contains a few fixes (I was confused about the need for multiple
bindings, as opposed to multiple descriptors within a binding).
2020-04-16 14:04:40 -07:00