.LOG

14:58 29.08.2010
Start moving to native bpp. VESA mode can be in 24 or 32 bpp, but when BMP-file
is in 24 bpp its slow to code a 3-to-4 byte translation. So, when the kernel
boots up, it sets any BMPs loaded to the correct bpp. For 24 bpp, it is still
difficult to store a three-byte sequence better than stosw+shr eax,16+stosb but
it will make things easier for 32 bpp mode.

18:30 29.08.2010
Native bpp with additional 3to4 code at start of kernel actually reduced the code
size about 130 bytes. No noticable performance change.

18:51 29.08.2010
Works on QEMU, Bochs and VirtualBox in both 24 and 32 bpp
formats.


20:58 1.09.2010
Testing a new SSE-based optimization for drawing circles.

11:49 7.09.2010
Filled circles ready. xmm registers will plot upto 4 pixels per cycle. Masking
prevents unwanted pixels to be drawn. Efficiency 78,5% (pi()/4).

12:06 7.09.2010
Started implementing EFLA (Extremely Fast Line Algorithm)

12:01 12.09.2010
EFLA completed and benchmarked. Bresenham is faster with shorter lines. Its the
best in font-drawing situations where many small lines are necessary. Lines about
15 pixels in length start favouring EFLA implementation. What would beat both in
theory would be usage of cached pixel-pattern triplets (i.e. left-down-down).

18:53 7.11.2010
Completed rectangle resize code, which is actually a subfunction of movement where
rectangle size changes. Mice icons show up correctly and function accordingly.

20:57 11.11.2010
Unsigned calculations don't work with negative screen coordinates. Switching to
signed calculations.

21:54 11.11.2010
Mouse has a separate collision detection. When mouse coordinates cross 0 to the
negative side, they will be corrected to 0. When the coordinates exceed X or Y
resolution, they will be corrected to resolution-1.

12:23 13.11.2010
Bugfix for mouse icon detection on rectangle edges. ID=0 was counted twice so that
it was always the first rect. Index out of bounds.

19:45 15.11.2010
Test complications when applying skinning to current algorithm.
