@@ -1491,6 +1491,7 @@ void DMD::RGB24DMDThread()
14911491 uint8_t palette[PALETTE_SIZE] = {0 };
14921492 uint8_t renderBuffer[256 * 64 ] = {0 };
14931493 uint8_t rgb24Data[256 * 64 * 3 ] = {0 };
1494+ uint8_t rgb24DataScaled[256 * 64 * 3 ] = {0 };
14941495
14951496 (void )m_dmdFrameReady.load (std::memory_order_acquire);
14961497 (void )m_stopFlag.load (std::memory_order_acquire);
@@ -1539,7 +1540,8 @@ void DMD::RGB24DMDThread()
15391540
15401541 for (RGB24DMD* pRGB24DMD : m_rgb24DMDs)
15411542 {
1542- if (pRGB24DMD->GetLength () == length * 3 ) pRGB24DMD->Update (rgb24Data);
1543+ pRGB24DMD->Update (rgb24Data, m_pUpdateBufferQueue[bufferPosition]->width ,
1544+ m_pUpdateBufferQueue[bufferPosition]->height );
15431545 }
15441546 // Reset renderBuffer in case the mode changes for the next frame to ensure that memcmp() will detect it.
15451547 memset (renderBuffer, 0 , sizeof (renderBuffer));
@@ -1608,7 +1610,8 @@ void DMD::RGB24DMDThread()
16081610
16091611 for (RGB24DMD* pRGB24DMD : m_rgb24DMDs)
16101612 {
1611- if (pRGB24DMD->GetLength () == length * 3 ) pRGB24DMD->Update (rgb24Data);
1613+ pRGB24DMD->Update (rgb24Data, m_pUpdateBufferQueue[bufferPosition]->width ,
1614+ m_pUpdateBufferQueue[bufferPosition]->height );
16121615 }
16131616 }
16141617 }
@@ -1634,7 +1637,8 @@ void DMD::RGB24DMDThread()
16341637 (pRGB24DMD->GetWidth () < 256 && m_pUpdateBufferQueue[bufferPosition]->mode == Mode::SerumV2_64_32)))
16351638 continue ;
16361639
1637- if (pRGB24DMD->GetLength () == length * 3 ) pRGB24DMD->Update (rgb24Data);
1640+ pRGB24DMD->Update (rgb24Data, m_pUpdateBufferQueue[bufferPosition]->width ,
1641+ m_pUpdateBufferQueue[bufferPosition]->height );
16381642 }
16391643 }
16401644 }
0 commit comments