diff options
Diffstat (limited to 'src/GPU2D.h')
| -rw-r--r-- | src/GPU2D.h | 69 | 
1 files changed, 5 insertions, 64 deletions
| diff --git a/src/GPU2D.h b/src/GPU2D.h index 0f59ae3..e9ce8e1 100644 --- a/src/GPU2D.h +++ b/src/GPU2D.h @@ -28,13 +28,15 @@ public:      GPU2D(u32 num);      virtual ~GPU2D() {} +    GPU2D(const GPU2D&) = delete; +    GPU2D& operator=(const GPU2D&) = delete; +      void Reset();      void DoSavestate(Savestate* file);      void SetEnabled(bool enable) { Enabled = enable; }      void SetFramebuffer(u32* buf); -    virtual void SetRenderSettings(bool accel) = 0;      u8 Read8(u32 addr);      u16 Read16(u32 addr); @@ -115,8 +117,8 @@ protected:      u16 MasterBrightness; -    u8 WindowMask[256] __attribute__((aligned (8))); -    u8 OBJWindow[256] __attribute__((aligned (8))); +    alignas(8) u8 WindowMask[256]; +    alignas(8) u8 OBJWindow[256];      void UpdateMosaicCounters(u32 line);      void CalculateWindowMask(u32 line); @@ -124,65 +126,4 @@ protected:      virtual void MosaicXSizeChanged() = 0;  }; -class GPU2D_Soft : public GPU2D -{ -public: -    GPU2D_Soft(u32 num); -    ~GPU2D_Soft() override {} - -    void SetRenderSettings(bool accel) override; -     -    void DrawScanline(u32 line) override; -    void DrawSprites(u32 line) override; -    void VBlankEnd() override; - -protected: -    void MosaicXSizeChanged() override; - -private: -    bool Accelerated; - -    u32 BGOBJLine[256*3] __attribute__((aligned (8))); -    u32* _3DLine; - -    u32 OBJLine[256] __attribute__((aligned (8))); -    u8 OBJIndex[256] __attribute__((aligned (8))); - -    u32 NumSprites; - -    u8 MosaicTable[16][256]; -    u8* CurBGXMosaicTable; -    u8* CurOBJXMosaicTable; -     -    u32 ColorBlend4(u32 val1, u32 val2, u32 eva, u32 evb); -    u32 ColorBlend5(u32 val1, u32 val2); -    u32 ColorBrightnessUp(u32 val, u32 factor); -    u32 ColorBrightnessDown(u32 val, u32 factor); -    u32 ColorComposite(int i, u32 val1, u32 val2); - -    template<u32 bgmode> void DrawScanlineBGMode(u32 line); -    void DrawScanlineBGMode6(u32 line); -    void DrawScanlineBGMode7(u32 line); -    void DrawScanline_BGOBJ(u32 line); - -    static void DrawPixel_Normal(u32* dst, u16 color, u32 flag); -    static void DrawPixel_Accel(u32* dst, u16 color, u32 flag); -     -    typedef void (*DrawPixel)(u32* dst, u16 color, u32 flag); - -    void DrawBG_3D(); -    template<bool mosaic, DrawPixel drawPixel> void DrawBG_Text(u32 line, u32 bgnum); -    template<bool mosaic, DrawPixel drawPixel> void DrawBG_Affine(u32 line, u32 bgnum); -    template<bool mosaic, DrawPixel drawPixel> void DrawBG_Extended(u32 line, u32 bgnum); -    template<bool mosaic, DrawPixel drawPixel> void DrawBG_Large(u32 line); - -    void ApplySpriteMosaicX(); -    template<DrawPixel drawPixel> -    void InterleaveSprites(u32 prio); -    template<bool window> void DrawSprite_Rotscale(u32 num, u32 boundwidth, u32 boundheight, u32 width, u32 height, s32 xpos, s32 ypos); -    template<bool window> void DrawSprite_Normal(u32 num, u32 width, u32 height, s32 xpos, s32 ypos); - -    void DoCapture(u32 line, u32 width); -}; -  #endif |