@add
<> src/modules/display/text/dascii
| proof-of-concept of "one-char" drawing API (used for kernel debug)
<> src/modules/fs
| empty File System module used to expose some primitives used by the libc:
| write(), read(), lseek() and close() which there have been removed from the
| `fxlibc` project which used an old / deprecated ABI/sycall interface that
| doesn't exist in this version of Vhex
@update
<> include/display/draw/pixel
| remove the display ID returned by dpixel(). All primitives that support
| shaders must provide explicit API. This to allow fast-optimized API and
| polyvalence API for shadering which impact the performance
<> src/modules/display/dclear
| isolate tree level for this primitive:
| - kernel : direct fragment drawing primitive (by-pass dstack)
| - dstack : dstack drawing primitive
| - user : user drawing primitive (dstack-API)
| invalidate automatically the dstack each time the primitive (user-level) is
| involved
<> src/modules/display/dstack
| isolate the dstack invalidate part in a specific primitive
@fix
<> make/Makefile
| proper support of the OpenLibm header path
<> src/drivers/screen/r61524
| proper support of the last data fragment size. This caused an override on
| the first X line of the screen
<> src/modules/display/dstack
| fix a crash when the number of action is full
| fix a crash with the default index used for action cache
| fix a crash with the default index used for shader cache
| fix action initialization
| fix action quit primitive
<> src/modules/display/text/dfont
| fix the character drawing algorithm
| proper support of the character drawing color (foreground/background)
| fix the kernel-level primitive used to display a Unicode string
<> src/modules/display/text/dtext
| fix a crash with the internal index counter
| fix a crash in the internal cache
| fix the quit function
@add
<> include/vhex/display :
| add dwidth() primitive
| add dheight() primitive
<> include/vhex/display/font :
| create a font structure that support proportional font
| expose font primitives API (WIP)
<> vhex/module/display/text/dfont:
| support utf8 string format
| add geometry font information (WIP)
<> vhex/module/display/text/dtext:
| write most of the API primitive (WIP)
| proper isolation between font <-> text API
@update
<> include/vhex/display/shader :
| add a quit() routine that will be involved at the end of dupdate()
| add display_[width/height] in driver interface
| add display screen information primitives
<> vhex/drivers/screen/r61524/r61524.c
| add display driver interface screen information
<> vhex/module/display/dclear:
| use the 32-bits arguments instead of the broken dshader_call_arg_t
| support the new API with quit() routine
<> vhex/module/display/dstack:
| support the new display screen information
| support the quit() routine at the end of the dupdate()
@fix
<> include/vhex/display/shader :
| remove broken transparent-union implicit cast
| fix argument transmitted to drawing routine (only 32bit arguments supported)
@add
<> board/fxcg50/fxcg50-dynamic.ld : add the "user/addin" linker script
<> include/vhex/display* : rework the graphic API/pipeline
<> include/vhex/driver/scree/r61524 : add hardware description and API
<> drivers/screen/r61524 : add r61524 driver
<> module/display/dstack : new pipeline
@update
<> board/fxcg50/board : explicitly set the DWIDTH/DHEIGHT define
<> board/fxcg50/hypervisor : API update (WIP)
<> include/vhex/driver :
| update driver information (use bitfield instead of define and macros)
| configure driver's primitive cannot be NULL
| driver can embed module data (ex: r61524 embed display module primitives)
<> include/vhex/hypervisor :
| update driver information (use bitfield instead of define and macros)
| update world information (use bitfield instead of define and macros)
| remove useless "restricted" keyword in prototype
<> make/Makefile : add the support of the vxSDK (0.12.0)
<> module/display/dclear : support of the new pipeline
<> module/display/display : support of the new pipeline
<> module/display/dupdate : support of the new pipeline
<> module/hypervisor/switch : support new driver/world structure
<> module/hypervisor/table : support new driver/world structure
<> vxsdk.toml : support of the vxSDK 0.12.0
@fix
<> drivers/mpu/sh/sh7305/cpu/cpu : mask interrupt by default (cpu_atomic_end)