Files
2025-05-13 02:03:18 +03:00

29 lines
729 B
C++

#pragma once
#include "ili9325_registers.h"
#include "ili9325.h"
#include "display_fsmc_interface.h"
#include <SoftGL/StaticTexture.h>
class SwapChain {
public:
using Lcd = Ili9325::Driver<Stm32PlusPlus::Display::DisplayFsmcInterface>;
using BackBufferMipChain = MipChain<sizeof(uint16_t), Lcd::Width, Lcd::Height, 0>;
using BackBuffer = StaticTexture<BackBufferMipChain*>;
SwapChain();
void init();
void present();
BackBuffer& getBackBuffer(){
return _backBufferTexture;
}
static TextureDescription getBackBufferDescription();
private:
void beginLcdUpload();
void waitLcdUpload();
alignas(32) BackBufferMipChain _backBuffer;
BackBuffer _backBufferTexture;
};