diff --git a/plugins/GSdx/GSDeviceOGL.h b/plugins/GSdx/GSDeviceOGL.h index 8dac1fb563..fbdef44758 100644 --- a/plugins/GSdx/GSDeviceOGL.h +++ b/plugins/GSdx/GSDeviceOGL.h @@ -451,11 +451,11 @@ class GSDeviceOGL : public GSDevice GSTexture* CreateSurface(int type, int w, int h, bool msaa, int format); GSTexture* FetchSurface(int type, int w, int h, bool msaa, int format); - void DoMerge(GSTexture* sTex[2], GSVector4* sRect, GSTexture* dTex, GSVector4* dRect, bool slbg, bool mmod, const GSVector4& c); - void DoInterlace(GSTexture* sTex, GSTexture* dTex, int shader, bool linear, float yoffset = 0); - void DoFXAA(GSTexture* sTex, GSTexture* dTex); - void DoShadeBoost(GSTexture* sTex, GSTexture* dTex); - void DoExternalFX(GSTexture* sTex, GSTexture* dTex); + void DoMerge(GSTexture* sTex[2], GSVector4* sRect, GSTexture* dTex, GSVector4* dRect, bool slbg, bool mmod, const GSVector4& c) final; + void DoInterlace(GSTexture* sTex, GSTexture* dTex, int shader, bool linear, float yoffset = 0) final; + void DoFXAA(GSTexture* sTex, GSTexture* dTex) final; + void DoShadeBoost(GSTexture* sTex, GSTexture* dTex) final; + void DoExternalFX(GSTexture* sTex, GSTexture* dTex) final; void OMAttachRt(GSTextureOGL* rt = NULL); void OMAttachDs(GSTextureOGL* ds = NULL); @@ -479,49 +479,49 @@ class GSDeviceOGL : public GSDevice void Flip(); void SetVSync(bool enable); - void DrawPrimitive(); + void DrawPrimitive() final; void DrawPrimitive(int offset, int count); - void DrawIndexedPrimitive(); - void DrawIndexedPrimitive(int offset, int count); - void BeforeDraw(); - void AfterDraw(); + void DrawIndexedPrimitive() final; + void DrawIndexedPrimitive(int offset, int count) final; + inline void BeforeDraw(); + inline void AfterDraw(); - void ClearRenderTarget(GSTexture* t, const GSVector4& c); - void ClearRenderTarget(GSTexture* t, uint32 c); + void ClearRenderTarget(GSTexture* t, const GSVector4& c) final; + void ClearRenderTarget(GSTexture* t, uint32 c) final; void ClearRenderTarget_i(GSTexture* t, int32 c); - void ClearDepth(GSTexture* t, float c); - void ClearStencil(GSTexture* t, uint8 c); + void ClearDepth(GSTexture* t, float c) final; + void ClearStencil(GSTexture* t, uint8 c) final; - GSTexture* CreateRenderTarget(int w, int h, bool msaa, int format = 0); - GSTexture* CreateDepthStencil(int w, int h, bool msaa, int format = 0); - GSTexture* CreateTexture(int w, int h, int format = 0); - GSTexture* CreateOffscreen(int w, int h, int format = 0); + GSTexture* CreateRenderTarget(int w, int h, bool msaa, int format = 0) final; + GSTexture* CreateDepthStencil(int w, int h, bool msaa, int format = 0) final; + GSTexture* CreateTexture(int w, int h, int format = 0) final; + GSTexture* CreateOffscreen(int w, int h, int format = 0) final; void InitPrimDateTexture(GSTexture* rt); void RecycleDateTexture(); - GSTexture* CopyOffscreen(GSTexture* src, const GSVector4& sRect, int w, int h, int format = 0, int ps_shader = 0); + GSTexture* CopyOffscreen(GSTexture* src, const GSVector4& sRect, int w, int h, int format = 0, int ps_shader = 0) final; - void CopyRect(GSTexture* sTex, GSTexture* dTex, const GSVector4i& r); + void CopyRect(GSTexture* sTex, GSTexture* dTex, const GSVector4i& r) final; void CopyRectConv(GSTexture* sTex, GSTexture* dTex, const GSVector4i& r, bool at_origin); - void StretchRect(GSTexture* sTex, const GSVector4& sRect, GSTexture* dTex, const GSVector4& dRect, int shader = 0, bool linear = true); + void StretchRect(GSTexture* sTex, const GSVector4& sRect, GSTexture* dTex, const GSVector4& dRect, int shader = 0, bool linear = true) final; void StretchRect(GSTexture* sTex, const GSVector4& sRect, GSTexture* dTex, const GSVector4& dRect, GLuint ps, bool linear = true); void StretchRect(GSTexture* sTex, const GSVector4& sRect, GSTexture* dTex, const GSVector4& dRect, GLuint ps, int bs, bool linear = true); void SetupDATE(GSTexture* rt, GSTexture* ds, const GSVertexPT1* vertices, bool datm); - void EndScene(); + void EndScene() final; void IASetPrimitiveTopology(GLenum topology); void IASetVertexBuffer(const void* vertices, size_t count); void IASetIndexBuffer(const void* index, size_t count); - void PSSetShaderResource(int i, GSTexture* sr); - void PSSetShaderResources(GSTexture* sr0, GSTexture* sr1); + void PSSetShaderResource(int i, GSTexture* sr) final; + void PSSetShaderResources(GSTexture* sr0, GSTexture* sr1) final; void PSSetSamplerState(GLuint ss); void OMSetDepthStencilState(GSDepthStencilOGL* dss); void OMSetBlendState(uint8 blend_index = 0, uint8 blend_factor = 0, bool is_blend_constant = false); - void OMSetRenderTargets(GSTexture* rt, GSTexture* ds, const GSVector4i* scissor = NULL); + void OMSetRenderTargets(GSTexture* rt, GSTexture* ds, const GSVector4i* scissor = NULL) final; void OMSetColorMaskState(OMColorMaskSelector sel = OMColorMaskSelector()); diff --git a/plugins/GSdx/GSRendererOGL.h b/plugins/GSdx/GSRendererOGL.h index aec13e21a1..bdac32557f 100644 --- a/plugins/GSdx/GSRendererOGL.h +++ b/plugins/GSdx/GSRendererOGL.h @@ -60,7 +60,7 @@ class GSRendererOGL : public GSRendererHW GSVector4i ComputeBoundingBox(const GSVector2& rtscale, const GSVector2i& rtsize); - protected: + private: void EmulateGS(); void SetupIA(); bool EmulateTextureShuffleAndFbmask(GSDeviceOGL::PSSelector& ps_sel, GSDeviceOGL::OMColorMaskSelector& om_csel); @@ -72,7 +72,7 @@ class GSRendererOGL : public GSRendererHW bool CreateDevice(GSDevice* dev); - void DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Source* tex); + void DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Source* tex) final; PRIM_OVERLAP PrimitiveOverlap(); diff --git a/plugins/GSdx/GSTextureOGL.h b/plugins/GSdx/GSTextureOGL.h index 8fbafef567..1c739d892b 100644 --- a/plugins/GSdx/GSTextureOGL.h +++ b/plugins/GSdx/GSTextureOGL.h @@ -66,16 +66,16 @@ class GSTextureOGL : public GSTexture explicit GSTextureOGL(int type, int w, int h, int format, GLuint fbo_read); virtual ~GSTextureOGL(); - void Invalidate(); - bool Update(const GSVector4i& r, const void* data, int pitch); - bool Map(GSMap& m, const GSVector4i* r = NULL); - void Unmap(); - bool Save(const string& fn, bool user_image = false, bool dds = false); + void Invalidate() final; + bool Update(const GSVector4i& r, const void* data, int pitch) final; + bool Map(GSMap& m, const GSVector4i* r = NULL) final; + void Unmap() final; + bool Save(const string& fn, bool user_image = false, bool dds = false) final; bool IsBackbuffer() { return (m_type == GSTexture::Backbuffer); } bool IsDss() { return (m_type == GSTexture::DepthStencil); } - uint32 GetID() { return m_texture_id; } + uint32 GetID() final { return m_texture_id; } bool HasBeenCleaned() { return m_clean; } void WasAttached() { m_clean = false; m_dirty = true; } void WasCleaned() { m_clean = true; }