feat: Add displayGrayscaleBase method for differential refresh
(#2334) Introduces a new display method that prepares the framebuffer as a base frame for grayscale overlays. On X3 panels, this uses the OEM differential base waveform (AA-pre-BW) without forcing a resync. Other panels fall back to normal display with configurable refresh mode. Dependent upon matching SDK commit to work
This commit is contained in:
@@ -218,6 +218,16 @@ class GfxRenderer {
|
||||
// Grayscale functions
|
||||
void setRenderMode(const RenderMode mode) { this->renderMode = mode; }
|
||||
RenderMode getRenderMode() const { return renderMode; }
|
||||
// Grayscale preconditioning settle pass (no-op on X4). The rect overload
|
||||
// takes the gray region in LOGICAL screen coordinates and rotates it to the
|
||||
// panel; the no-arg overload settles the full frame. Call after the BW base
|
||||
// frame is displayed and before the grayscale planes are written.
|
||||
void preconditionGrayscale() const;
|
||||
void preconditionGrayscale(int x, int y, int w, int h) const;
|
||||
// Display the framebuffer as the base frame for a grayscale overlay that
|
||||
// follows (X3: OEM differential base waveform; others: plain display with
|
||||
// `fallback`).
|
||||
void displayGrayscaleBase(HalDisplay::RefreshMode fallback = HalDisplay::HALF_REFRESH) const;
|
||||
void copyGrayscaleLsbBuffers() const;
|
||||
void copyGrayscaleMsbBuffers() const;
|
||||
void displayGrayBuffer() const;
|
||||
|
||||
Reference in New Issue
Block a user