Ian Chamberlain
97f4835c17
Include gcc libdir when building
...
Assume devkitARM ships with only a single version, so then find the
first entry matching `${DEVKITARM}/lib/gcc/arm-none-eabi/*/include` and add it
to the -isystem includes.
1 year ago
Ian Chamberlain
a06dc14a86
Actually use test_runner::run_gdb (I forgor)
1 year ago
Ian Chamberlain
b712e8a68f
Generate bindings with build.rs at compile time
...
Effectively:
- Move the previous bindgen script into build.rs
- In lib.rs, include the file generated at build time
- Compile inline statics with devkitARM toolchain
- Remove now-unneeded reimplementations of inline statics
- Use doxygen_rs to clean up the docs of the generated bindings.
Nice! This cleans up the repo a lot and also ensures we are using the
canonical implementations of those inline functions, which should help
prevent mistakes as well.
1 year ago
Ian Chamberlain
333860ef86
Merge pull request #25 from rust3ds/feature/ci
1 year ago
Ian Chamberlain
cb43d185ca
cargo fmt
1 year ago
Ian Chamberlain
157bdbc1b1
Add CI workflow copied from ctru-rs
1 year ago
Ian Chamberlain
ff380cfae8
Merge pull request #22 from rust3ds/feature/pica200-proc-macro
1 year ago
Ian Chamberlain
4e5c916782
Fix doc link to stdlib include_bytes
1 year ago
Ian Chamberlain
b21727fe18
Merge branch 'main' into feature/pica200-proc-macro
1 year ago
Ian Chamberlain
76eb36c1c3
Merge pull request #19 from rust3ds/fix/gfx-updates-3d-example
1 year ago
Ian Chamberlain
c19876af66
Even more error handling improvements
...
Use map_err everywhere to add context / file paths when possible. Also
add some basic compile_fail doctests for missing / bad syntax shader
sources.
1 year ago
Ian Chamberlain
4752c65f41
Rename to citro3d-macros
...
Export as pub mod macros, add tests, and refactor error handling a bit
to make the logic simpler.
1 year ago
Ian Chamberlain
f69f9e4e95
Merge branch 'main' into fix/gfx-updates-3d-example
1 year ago
Ian Chamberlain
0d02484f1f
Merge pull request #23 from tamara-schmitz/fixcompileissue
1 year ago
Tamara Schmitz
daea4e4245
fix triangle example
1 year ago
Tamara Schmitz
827fc7b983
update module and symbol names to match ctru-rs
1 year ago
Ian Chamberlain
7d5cd29c5e
Add pica200::include_shader macro using picasso
1 year ago
Ian Chamberlain
795a9d93d9
Merge pull request #16 from rust3ds/feature/buffer-safe-wrapper
1 year ago
Ian Chamberlain
e47c414069
Use proper stereo perspective projection
...
Read + use the OS 3D slider value when projecting left+right eyes, and
use a mono perspective projection for the bottom screen.
2 years ago
Ian Chamberlain
5eaab0760a
Add a ton more docs where missing
2 years ago
Ian Chamberlain
f65da50b68
Add attrib docstrings and update some names
2 years ago
Ian Chamberlain
b05a1e3ff3
Fix up a few remaining clippy errors
2 years ago
Ian Chamberlain
fb182e4e4c
Merge branch 'fix/gfx-updates-3d-example' into feature/buffer-safe-wrapper
2 years ago
Ian Chamberlain
009b7eb94f
Update to 2021 resolver by default
2 years ago
Ian Chamberlain
4fa59ada84
Update example for 3D and new gfx APIs
2 years ago
Meziu
2e46d587e8
Merge pull request #18 from rust3ds/fix/licensing
...
Fix licensing
2 years ago
Andrea Ciliberti
0ed4ec11a9
Fix licensing
2 years ago
Ian Chamberlain
c4e1287d36
Try to rework buffer info to be less error-prone
2 years ago
Ian Chamberlain
ceacc3387d
Minor naming cleanups
2 years ago
Ian Chamberlain
a645ba14df
Move draw call to Instance
...
Also add some notes about error handling for adding VBO data
2 years ago
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