1
0
Fork 0
mirror of https://github.com/italicsjenga/agb.git synced 2025-02-23 22:58:18 +11:00
Commit graph

2249 commits

Author SHA1 Message Date
Corwin
a178e28b77
Optimise Normalisation ()
This only optimises the relevant blocks during normalisation.

The benchmark in CI goes from 12023166 cycles to 9260517 cycles, a
decrease of 23%.

- [x] no changelog update needed
2023-05-26 18:23:33 +01:00
Corwin
7e111e0327
remove unused import 2023-05-25 19:30:38 +01:00
Corwin
9c15adf6c8
only normalise the relevant blocks 2023-05-25 19:25:26 +01:00
Corwin
1b687b787d
Inline always in new_from_parts ()
Mentioned here that we should probably do it:
https://github.com/agbrs/agb/discussions/370#discussioncomment-4650702

From decompiling, it seems that this normally happens, but lets at least
ensure it if you don't have lto enabled.

- [x] no changelog update needed
2023-05-24 01:47:03 +01:00
Gwilym Inzani
8c1c725dfa Inline always in new_from_parts 2023-05-23 21:46:25 +01:00
Gwilym Inzani
98484783b4
Minor speed up for tiles ()
We currently do lots of redundant hash calculations while changing a
tile in vram. We can cache the value and then use the entry API to reuse
it.

- [x] no changelog update needed
2023-05-23 21:41:25 +01:00
Gwilym Inzani
9ec0836da9 Put the capacity check back in 2023-05-23 21:29:05 +01:00
Gwilym Inzani
903157325f Don't recalculate the hash 2023-05-23 21:20:49 +01:00
Gwilym Inzani
d393ad7e99 Bypass some duplicated work if you use the entry API 2023-05-23 21:10:27 +01:00
Corwin
1bb70aa24b
Remove workarounds ()
Removes some workaronds for rust bugs

- [x] no changelog update needed
2023-05-23 20:29:35 +01:00
Corwin
6b7088773e
remove codegen units 2023-05-23 20:12:42 +01:00
Corwin
d638134d37
remove codegen-units
these were added as a workaround for rust bugs
2023-05-23 20:10:24 +01:00
Corwin
37c30586c3
remove profiles from some projects
these projects are not tested or run on the gba or
are dependencies and therefore follow the binaries settings
2023-05-23 20:10:21 +01:00
Gwilym Inzani
6e441efe92
Remove the need for binutils ()
Just uses `global_asm!` instead.

- [x] Changelog updated / no changelog update needed
2023-05-21 20:35:06 +01:00
Gwilym Inzani
7cf66e67e5 Update agb version in amplitude 2023-05-21 16:49:06 +01:00
Gwilym Inzani
0278fc8158 Add changelog entry for removing binutils dependency 2023-05-21 16:38:06 +01:00
Gwilym Inzani
1b27bf4613 Remove codegen-units = 1 since it won't be needed any more 2023-05-21 16:37:35 +01:00
Gwilym Inzani
958f32b177 Include macros.inc properly 2023-05-21 16:37:35 +01:00
Gwilym Inzani
78bad29f88 Add codegen-units=1 to prevent miscompiles 2023-05-21 16:37:35 +01:00
Gwilym Inzani
fe23bee18b Prevent multiple include errors 2023-05-21 16:37:35 +01:00
Gwilym Inzani
878402a5b6 Don't install arm-none-eabi-binutils 2023-05-21 16:37:35 +01:00
Gwilym Inzani
2de1b08f42 Remove references to arm-none-eabi 2023-05-21 16:37:35 +01:00
Gwilym Inzani
5ab0176ddb Entirely remove the need for binutils 2023-05-21 16:37:34 +01:00
Corwin
2012f2ec35
Fix alignment of thumb functions defined in assembly ()
- [x] Changelog updated / no changelog update needed
2023-05-18 19:25:48 +01:00
Corwin
df696a1093
align after section 2023-05-18 12:06:30 +01:00
Corwin
e1426d8ef7
correct non thumb-interwork return 2023-05-17 23:25:27 +01:00
Corwin
9f3259d770
fix alignment of thumb functions defined in assembly 2023-05-17 19:56:57 +01:00
Gwilym Inzani
458280b68f
Refactor and slightly improve hashmap ()
Started as an attempt to make it easier to develop the hashmap, ended up
with me benchmarking everything :).

- [x]  no changelog update needed
2023-05-16 22:25:11 +01:00
Gwilym Inzani
d9803fb873 Fix doc links 2023-05-16 20:44:07 +01:00
Gwilym Inzani
362bfc1430 Explicity wrap the multiplication 2023-05-16 20:18:08 +01:00
Corwin
8735597435
Add more to changelog ()
Adds a bunch of things missing from the changelog

- [x] Changelog updated
2023-05-12 19:37:20 +01:00
Corwin
93cd560ddc
add more to the changelog relating to changes made for no_game 2023-05-12 19:25:18 +01:00
Corwin
84f22c0b30
Add a no game ()
This adds a "no game" to replace the template.
* Inspired by how Love2D has a default game that says "No Game".
* This screen:
https://youtube.com/clip/Ugkx6atqwerxyyUSiVrFhmAh7pK2xNgjHxI9

- [x] Changelog updated
2023-05-11 20:08:28 +01:00
Corwin
8aee2753f9
add changelog 2023-05-11 19:59:13 +01:00
Gwilym Inzani
70e2927d1e GBA hated this bit_mix function 2023-05-10 19:21:07 +01:00
Gwilym Inzani
a4a2856cb7 Stop searching if we've already overshot where it could be 2023-05-10 19:20:49 +01:00
Gwilym Inzani
bb5bd04b5f Make clear faster 2023-05-10 18:13:32 +01:00
Gwilym Inzani
943fd1154f Use const fn to make resizes a bit faster 2023-05-10 18:08:39 +01:00
Gwilym Inzani
65dd1341e5 Change hash mixing and add distance_histogram method 2023-05-10 17:49:48 +01:00
Gwilym Inzani
1fa4d8e970 Rename the tests to make them easier to compare 2023-05-10 16:20:58 +01:00
Gwilym Inzani
626e4da8e4 Massively improve high bit benchmarks with some bit mixing 2023-05-10 16:14:04 +01:00
Gwilym Inzani
82855ac66b Remove unsafe from clone 2023-05-10 16:02:21 +01:00
Gwilym Inzani
925baced46 Use backing_vec_size rather than nodes.len() 2023-05-10 16:01:24 +01:00
Gwilym Inzani
c5341cb5fa Add benchmarks 2023-05-10 16:01:16 +01:00
Gwilym Inzani
7873f9ed5c More unsafe where needed 2023-05-09 22:43:06 +01:00
Gwilym Inzani
f530276638 Use a concrete type for hash 2023-05-09 22:38:04 +01:00
Gwilym Inzani
7b8ad58906 Extend clippy lints 2023-05-09 22:10:53 +01:00
Gwilym Inzani
05f387e41f Don't do unsafe things with entries 2023-05-09 22:00:13 +01:00
Gwilym Inzani
722deafc2f Add safety comments 2023-05-09 21:55:14 +01:00
Gwilym Inzani
35061ffb6a deny(unreachable_pub) 2023-05-09 21:46:57 +01:00