Commit graph

18 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
Alexey Zatelepin 9667c34e7e Fix read mapping size (size is number of bytes, not number of items) 2020-07-02 21:32:17 +03:00
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 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 1cecde348b
Merge pull request #5 from msiglreith/reelase_build
Fix release build
2020-04-30 07:30:42 -07:00
msiglreith f0c514a667 Fix release build 2020-04-30 15:48:01 +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
Brian Merchant 2e3335f049 Set up validation layers and debug reporting. 2020-04-29 17:59:14 -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 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