H. Aronson

Results 32 comments of H. Aronson

Pushed some changes per your suggestions. Thank you for the changes for older GCC and clang. I tested the implementations by stubbing them in on modern clang and verifying rendering...

@0x1F9F1 That's a great observation. A blit request could be anything, not just rendering. I ran into some issues at runtime where the destination format was seemingly blank for these...

> unpacklo_epi16, unpackhi_epi16, and packus_epi16 Wow... these look great! Will explore their use, thank you. EDIT: Unfortunately the saturation in packus_epi16 is not suitable for the algorithm. The unpack worked...

Thanks, retried from scratch this morning and I got it working. Buffer allocation removed from SSE4.1 blitter. Simplified the for loop use. The `_mm_srli_epi16(mixed, 8)` is definitely necessary to prevent...

As I began testing blending PRNG noise and hashing the resultant pixels, I discovered that my blitters are not bit accurate to the original scalar algorithms. EDIT: A binary compare...

Ah, this context explains some things. Much appreciated. I will review the algorithms against the correct implementation.

I found [this whitepaper on division-free accurate integer alpha blending](https://arxiv.org/pdf/2202.02864.pdf) which has an interesting citation number 2, pointing to SDL2's `SDL_Blit_RGBA8888_RGB888_Blend` function and noting an error that leads to a...

Thank you, those algorithms were invaluable. If we presume Brick's implementations are accurate (I have no doubt after reviewing them), the current stock BlitNtoNPixelAlpha, BlitRGBtoBGRPixelAlpha, and friends have off by...

I was using blend_mul2. I hacked BlitNtoNPixelAlpha to handle all blits and made this change: ```c DISEMBLE_RGBA(src, srcbpp, srcfmt, Pixel, sR, sG, sB, sA); if (sA) { DISEMBLE_RGBA(dst, dstbpp, dstfmt,...

Nevermind, I had an error in my test where I was sampling noise one pixel more than I should. When I cleaned that up, I got bit-perfect results. Not sure...