Ian Chamberlain
ec91f7d2fe
Use the lifetime of the input VBO data
...
We can return a "handle" that stores the index + size of the VBO data,
as well as keeping a phantom borrow on the original data. By requiring
this handle as input during the call to draw arrays, we ensure the VBO
data lives long enough for the draw call.
2 years ago
Ian Chamberlain
704f6e58b7
First pass of safe buffer info API
2 years ago
Ian Chamberlain
429c80f1cc
Merge pull request #4 from rust3ds/render-target-screen-lifetime
...
Add mutable ref to `Screen` in `render::Target`
2 years ago
Ian Chamberlain
3a2b3f4ffe
Address review comments
2 years ago
Ian Chamberlain
1f8c5b3bc7
Convert VBO data to use `ctru::linear` allocator
2 years ago
Ian Chamberlain
b699208f8e
Merge branch 'main' into render-target-screen-lifetime
2 years ago
Ian Chamberlain
f8e8542f92
Minor fixes + clippy
2 years ago
Ian Chamberlain
824f817090
Update old repo references to rust3ds instead
2 years ago
Ian Chamberlain
2012f390d6
Merge pull request #10 from rust3ds/fix/binding-conflicts
2 years ago
Ian Chamberlain
e26d01f782
Don't generate <sys/...> bindings
...
Also fix some minor clippy lints + document the helper script a bit
more.
2 years ago
Ian Chamberlain
748e34e5f1
Minor example updates / address comments
2 years ago
Ian Chamberlain
894eb66806
Update ctru-rs APIs based on split screen PR
2 years ago
Ian Chamberlain
02a9d40fdb
Use bindgen library to generate bindings
...
This allows us to use a custom callback for marking some types as Copy,
which bindgen otherwise pessimistically assumes cannot.
2 years ago
Ian Chamberlain
340a38489c
Update citro3d to use upstream ctru_sys types
2 years ago
Ian Chamberlain
a7690e7cdd
Only generate citro3d-specific types/funcs, etc.
2 years ago
Ian Chamberlain
4648c31467
Add inline detach render target fn
2 years ago
Ian Chamberlain
5ffde47b85
Use RefMut and fix some lints
2 years ago
Ian Chamberlain
d8f3a24f05
Render to the bottom screen in triangle example
2 years ago
Ian Chamberlain
1d35a44ede
Add a screen member to render::Target
...
This ensures the screen lives longer than the render target, and also
makes it a little more convenient to get the color format.
2 years ago
Ian Chamberlain
6ba85149d8
Use bytemuck instead of incorrect align_to
...
Std docs say that prorgams should not rely on `align_to` to return empty
prefix/suffix for correctess, only performance. `bytemuck` on the other
hand deals with alignment for correctness so let's use that.
3 years ago
Ian Chamberlain
4492b2d293
Implement some basic shader program types
3 years ago
Ian Chamberlain
b72495737a
Update bindgen bindings
3 years ago
Ian Chamberlain
e5e2e63586
port frame begin/end to safe rust
3 years ago
Ian Chamberlain
184060c63d
Update render target API for auto framebuffer fmt
...
Transfer flags can be an implementation detail this way, although it
might need to be exposed eventually.
3 years ago
Ian Chamberlain
395aa29bc1
Inline citro3d-sys functions where needed
...
Add gx.h bindings for some helper macros there.
3 years ago
Ian Chamberlain
83b613684a
First pass at some safe wrappers for render target
3 years ago
Ian Chamberlain
5a3fd9d21b
Varios cleanup + simplify example
3 years ago
Ian Chamberlain
5743da3d56
Initial attempt at build script compilation
3 years ago
Ian Chamberlain
1177a32254
Completely remove ctru-sys dep and fix some lints
3 years ago
Ian Chamberlain
484e971dd5
Add compiling example using -sys bindings
...
Fix some more issues with bindings and add README
3 years ago
Ian Chamberlain
8161bd660f
Minor bindings updates
3 years ago
Ian Chamberlain
c648c93493
Add enough functionality for simple tri demo
3 years ago
Ian Chamberlain
2867b74b28
Move citro3d-sys to workspace sub-crate
3 years ago
Ian Chamberlain
9f67a92a42
Use opaque-type for types defined in ctru-sys
3 years ago
Ian Chamberlain
924ad609f5
More usable bindings
3 years ago
Ian Chamberlain
940c3fd69d
Update bindings + fix build errors
...
* Update to 2021 edition
* Fix build errors for duplicate impls, type mismatch, etc.
* don't compile texenv yet - need the macros
* Update deps for recent changes
3 years ago
panicbit
a5cd55250b
Init
7 years ago