MCPcopy Create free account
hub / github.com/CE-Programming/CEmu / panel_buffer_pixel_chunk

Function panel_buffer_pixel_chunk

core/panel.c:209–223  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

207}
208
209static 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
225static void panel_buffer_pixels(void) {
226 int32_t nextRamCol = panel.nextRamCol;

Callers 1

panel_buffer_pixelsFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected