VideoCommon: Create default implementation for state setters

It's fine to pull those within the backends, so there is no need to enforce them to implement this interface.
This commit is contained in:
degasus
2015-11-21 10:20:34 +01:00
parent f560e8e283
commit df799dd124
2 changed files with 15 additions and 20 deletions

View File

@ -83,10 +83,6 @@ public:
void SetInterlacingMode() override; void SetInterlacingMode() override;
void SetViewport() override; void SetViewport() override;
// TODO: Implement and use these
void ApplyState(bool bUseDstAlpha) override {}
void RestoreState() override {}
void RenderText(const std::string& text, int left, int top, u32 color) override; void RenderText(const std::string& text, int left, int top, u32 color) override;
void FlipImageData(u8 *data, int w, int h, int pixel_width = 3); void FlipImageData(u8 *data, int w, int h, int pixel_width = 3);

View File

@ -58,19 +58,22 @@ public:
PP_EFB_COPY_CLOCKS PP_EFB_COPY_CLOCKS
}; };
virtual void SetColorMask() = 0; virtual void SetColorMask() {}
virtual void SetBlendMode(bool forceUpdate) = 0; virtual void SetBlendMode(bool forceUpdate) {}
virtual void SetScissorRect(const EFBRectangle& rc) = 0; virtual void SetScissorRect(const EFBRectangle& rc) {}
virtual void SetGenerationMode() = 0; virtual void SetGenerationMode() {}
virtual void SetDepthMode() = 0; virtual void SetDepthMode() {}
virtual void SetLogicOpMode() = 0; virtual void SetLogicOpMode() {}
virtual void SetDitherMode() = 0; virtual void SetDitherMode() {}
virtual void SetSamplerState(int stage, int texindex, bool custom_tex) = 0; virtual void SetSamplerState(int stage, int texindex, bool custom_tex) {}
virtual void SetInterlacingMode() = 0; virtual void SetInterlacingMode() {}
virtual void SetViewport() = 0; virtual void SetViewport() {}
virtual void ApplyState(bool bUseDstAlpha) = 0; virtual void ApplyState(bool bUseDstAlpha) {}
virtual void RestoreState() = 0; virtual void RestoreState() {}
virtual void ResetAPIState() {}
virtual void RestoreAPIState() {}
// Ideal internal resolution - determined by display resolution (automatic scaling) and/or a multiple of the native EFB resolution // Ideal internal resolution - determined by display resolution (automatic scaling) and/or a multiple of the native EFB resolution
static int GetTargetWidth() { return s_target_width; } static int GetTargetWidth() { return s_target_width; }
@ -117,10 +120,6 @@ public:
virtual u16 BBoxRead(int index) = 0; virtual u16 BBoxRead(int index) = 0;
virtual void BBoxWrite(int index, u16 value) = 0; virtual void BBoxWrite(int index, u16 value) = 0;
// What's the real difference between these? Too similar names.
virtual void ResetAPIState() = 0;
virtual void RestoreAPIState() = 0;
// Finish up the current frame, print some stats // Finish up the current frame, print some stats
static void Swap(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, const EFBRectangle& rc,float Gamma = 1.0f); static void Swap(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, const EFBRectangle& rc,float Gamma = 1.0f);
virtual void SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, const EFBRectangle& rc, float Gamma = 1.0f) = 0; virtual void SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, const EFBRectangle& rc, float Gamma = 1.0f) = 0;