This is implemented here: https://source.squeak.org/VMMaker/VMMaker.oscog-nice.3251.diff

The algorithm is slightly modified to cope with 5-bits RGB channels in 16bits depth.

We still have to handle that case in two half-words and care for the shift of odd channels (green) in the upper half-word:

it must leave enough room (nBits) for double precision red1*red2, which will leak in upper half-word...

Exhaustive tests are also provided for each and every channel combination.

Note that many operations (forming the masks) are repeated at each word of the bitmap, so we could probably accelerate things with additional static variables...


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <OpenSmalltalk/opensmalltalk-vm/issues/651/1227490067@github.com>