| 207 | } |
| 208 | |
| 209 | static inline void panel_buffer_pixel_chunk(uint8_t (* restrict srcPixel)[3], uint32_t * restrict dstPixel, uint8_t redShift) { |
| 210 | uint8_t blueShift = redShift ^ (PANEL_DISP_RED ^ PANEL_DISP_BLUE); |
| 211 | uint32_t pixel = UINT32_C(0xFF000000); |
| 212 | pixel |= panel.gammaLut[PANEL_RAM_RED ][(*srcPixel)[PANEL_RAM_RED ]] << redShift; |
| 213 | pixel |= panel.gammaLut[PANEL_RAM_GREEN][(*srcPixel)[PANEL_RAM_GREEN]] << PANEL_DISP_GREEN; |
| 214 | pixel |= panel.gammaLut[PANEL_RAM_BLUE ][(*srcPixel)[PANEL_RAM_BLUE ]] << blueShift; |
| 215 | *dstPixel = pixel; |
| 216 | dstPixel += PANEL_NUM_COLS / 2; |
| 217 | srcPixel += PANEL_NUM_COLS / 2; |
| 218 | pixel = UINT32_C(0xFF000000); |
| 219 | pixel |= panel.gammaLut[PANEL_RAM_RED ][(*srcPixel)[PANEL_RAM_RED ]] << redShift; |
| 220 | pixel |= panel.gammaLut[PANEL_RAM_GREEN][(*srcPixel)[PANEL_RAM_GREEN]] << PANEL_DISP_GREEN; |
| 221 | pixel |= panel.gammaLut[PANEL_RAM_BLUE ][(*srcPixel)[PANEL_RAM_BLUE ]] << blueShift; |
| 222 | *dstPixel = pixel; |
| 223 | } |
| 224 | |
| 225 | static void panel_buffer_pixels(void) { |
| 226 | int32_t nextRamCol = panel.nextRamCol; |
no outgoing calls
no test coverage detected