Commit graph

3468 commits

Author SHA1 Message Date
nworbnhoj
409f696fde Implement gam::PixelType
enables gam::Img to import different image formats: U8 & U8x3 for now
2022-06-18 08:43:32 +10:00
nworbnhoj
f7e216bb25 convert RGB image immediately to greyscale on import
code simplification/reduction, and memory/processing saving
2022-06-18 07:07:15 +10:00
nworbnhoj
d75c333888 remove unnecessary Tile clone 2022-06-17 23:22:29 +10:00
nworbnhoj
d33d7958f2 Merge branch 'main' of github.com:nworbnhoj/xous-core into main 2022-06-17 23:08:37 +10:00
nworbnhoj
148e0fdd99 remove unnecessary Img clone 2022-06-17 23:06:39 +10:00
nworbnhoj
346847104a
Merge branch 'betrusted-io:main' into main 2022-06-17 21:17:52 +10:00
nworbnhoj
39815cc596 fix gam::Tile render RHS 2022-06-17 21:16:25 +10:00
bunnie
4c18662430 add a periodic scrub to the PDDB
this periodically polls the PDDB and has it check the memory allocation
levels, and if too high, invokes a scrub attempt.

This bit is probably the most poorly tested of all the code, but
also some of the simpler logic. The more important part this code
brings is analytics on actual heap and cache usage, which will help
inform us on how urgent/bad things are getting in terms of PDDB
cache usage.
2022-06-17 02:02:11 +08:00
bunnie
dc0a4e5400 add backpressure triggers to the CI tests 2022-06-17 02:01:59 +08:00
bunnie
87efc267f1 add PDDB backpressure items (#109 partial) 2022-06-17 02:01:30 +08:00
bunnie
6793f9c5da return non-0 heap size in case of increaseheap of 0
this allows hosted mode to work, as it always reports a 0
heap size.
2022-06-17 02:00:52 +08:00
bunnie
1121e268b8 re-add the ditherpunk build target 2022-06-16 03:42:46 +08:00
bunnie
cf89ebe5f5 add wrapper around main functions that need bigger stacks
This allows for `ditherpunk` config to have a much larger
stack size on select processes only.

The cost comes at a 4k fixed overhead for the sacrificial
wrapper thread, so we lose about 20k of runtime RAM, even
when ditherpunk is *not* activated (because we're
always wrapping the threads).

There is no impact on scheduling or CPU utilization, as the
wrapper thread blocks and is never scheduled once the real
main starts. However, it does subtract one thread from the
total available thread pool.
2022-06-16 03:40:19 +08:00
bunnie
7456158fa9 remove custom ditherpunk flag from kernel
we can now do per-process stack size adjustment
2022-06-16 03:39:25 +08:00
bunnie
1728bafd72 revert custom kernel flag for ditherpunk
we should now be able to create specific threads with
increased stack sizes, instead of a blanket increase on everything
2022-06-16 03:27:14 +08:00
Sean Cross
c6c9a26bf9 kernel: syscall: return heap size for DecreaseHeap
Return the heap size and offset when decreasing the heap. Additionally,
return the heap size when increasing the heap by 0 bytes.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-06-15 12:35:34 +08:00
Sean Cross
ed4763c714 xous: correct comments on IncreaseHeap and DecreaseHeap
These were behaving differently from what they were documented to do.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-06-15 12:35:05 +08:00
bunnie
b31c727f81 clean up some warnings 2022-06-15 03:55:03 +08:00
bunnie
ed51bbc23e update USB PID, resolving issue #182 2022-06-15 01:56:27 +08:00
bunnie
98189a48dd placeholder for ditherpunk image debugging 2022-06-15 01:34:09 +08:00
bunnie
d39c319c05 recode GAM interface to send one tile at a time
Don't add Tiles to ObjectList because it greatly inflates
the amount of RAM required to sling tiles around
2022-06-15 01:32:12 +08:00
bunnie
5421a20050 add some debugging info to graphics-server 2022-06-15 01:31:21 +08:00
bunnie
02a097d0c4 comment out autoscale/rotate
the code seems to not work with images that are actually smaller
than the frame buffer, and for now, our images are smaller
2022-06-15 01:29:24 +08:00
bunnie
81961b20a2 fix issue with title bar creeping in on image modals 2022-06-15 01:28:59 +08:00
bunnie
1bd82b9ea4 try to debug why images aren't showing up 2022-06-14 19:06:33 +08:00
bunnie
18fc6663b2 work around various shortcomings in the net crate to download images 2022-06-14 19:06:08 +08:00
bunnie
3757441677 split off image generation for ditherpunk in xtask 2022-06-14 19:05:44 +08:00
bunnie
79e153e93d bump cargo.lock now that we have a build-ish 2022-06-14 17:09:53 +08:00
bunnie
0a94e80504 fix warnings 2022-06-14 17:09:44 +08:00
bunnie
dbd7ad1770 fix warning on ditherpunk test routine 2022-06-14 17:09:26 +08:00
bunnie
0cdd9d9920 fix regression in usb-device 2022-06-14 17:09:09 +08:00
bunnie
c687f7dc02 add a kernel feature flag so we can adjust stack size for ditherpunk
Don't want to make the stack size adjustment across the board
because it's helpful for managing/checking bloat as it happens.
2022-06-14 17:08:32 +08:00
bunnie
6c5d7d511c update the net image test routine 2022-06-14 16:46:37 +08:00
bunnie
fc8e5df2b1 Merge remote-tracking branch 'origin/dither2' into dp2-merge 2022-06-14 16:45:38 +08:00
bunnie
a59891f3da
Merge pull request #172 from nworbnhoj/dither2
Dither2
2022-06-14 15:36:19 +08:00
nworbnhoj
5be713d09e rustfmt modals tests 2022-06-14 16:19:02 +10:00
nworbnhoj
dda78b4ef3 implement clifford attractor as modal test image 2022-06-14 10:09:01 +10:00
bunnie
8cb632180c fix fractional decimal places on integer conversions 2022-06-14 04:30:58 +08:00
bunnie
7b2fbdc88b evict f64's from the kernel, and eliminate f32 parsing
turns out these routines add quite a bit of bloat to the kernel
for only cosmetic reasons.
2022-06-14 04:14:25 +08:00
nworbnhoj
6dfed76b66 remove dither crate dependency from modal tests 2022-06-14 05:16:50 +10:00
nworbnhoj
6f2e2ed9bc fix very annoying error 2022-06-14 05:03:43 +10:00
nworbnhoj
0bf71b84c1 implement gam Bitmap Dither
- remove depencency on dither crate
- Burkes diffusion scheme
2022-06-14 04:27:04 +10:00
bunnie
0abca42298 fix argument to backup copy 2022-06-14 02:05:31 +08:00
bunnie
28f54229c7 fix typo 2022-06-14 02:03:06 +08:00
bunnie
a92cf4e9c0 ignore bloat analyzer reports 2022-06-14 02:00:05 +08:00
bunnie
0e1fdd528b add bloat analyzer script to local builds 2022-06-14 01:59:26 +08:00
bunnie
ed530888c1 add check to buildpush script 2022-06-14 01:38:05 +08:00
bunnie
d2aff7da44 Fix #181
This is still a bogus AAGUID but at least it's less likely to
collide with other bogus AAGUIDs.
2022-06-13 17:49:14 +08:00
bunnie
c281518094 nope. that definitely runs slower and breaks things. leave opt level the way it was. 2022-06-13 03:39:32 +08:00
bunnie
d0490db63f push a different opt-level to the build
let's see this go through the CI gauntlet and we'll compare
runtimes...
2022-06-13 03:30:12 +08:00