Commit graph

12 commits

Author SHA1 Message Date
Raph Levien
75c4b62730 Add hub abstraction
The hub does a little better lifetime tracking of resources (so
Rust-side references can be dropped), and in the future will be used for
dynamic selection of backend.

The migration is still a bit half-baked, as there are a bunch of
Vulkan-specific types in the signatures, but it shouldn't be too much
work to sort that out. Perhaps it can wait until there is a second
backend though.

The main motivation for this is to create image objects with lifetime
tracking, one of the things required for #38.
2020-11-18 16:06:08 -08:00
Raph Levien
301abf4db7 Minor cleanups
Mostly cleaning up some comments. Also adds host barrier and a command
to copy a buffer to an image (in preparation for images, see #38).
2020-11-17 14:18:30 -08: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
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
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
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
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
Raph Levien
487d948217 [hal] Add timer queries
Note: also make dispatch size programmable.
2020-04-12 22:28:27 -07:00
Raph Levien
265d990cbe [derive] Add layout
Add a layout pass to the struct derive logic.
2020-04-12 16:44:28 -07:00
Raph Levien
1e1b9ff319 Get Collatz example working
Rework Collatz example to use new traits.
2020-04-06 12:11:37 -07:00
Raph Levien
1b0248fbbf Starting piet-gpu repo
This brings in a bunch of code from vk-toy but doesn't yet do anything.
2020-04-05 15:17:26 -07:00