Merge pull request #13522 from tygyh/Enforce-overriding-destructor-style-Core&UnitTests

Core & UnitTests: Make overriding explicit and remove redundant virtual specifiers on overriding destructors
This commit is contained in:
Jordan Woyak
2025-06-07 17:55:14 -05:00
committed by GitHub
126 changed files with 188 additions and 192 deletions

View File

@ -13,7 +13,7 @@ class PerfQuery : public PerfQueryBase
{
public:
PerfQuery();
~PerfQuery();
~PerfQuery() override;
void EnableQuery(PerfQueryGroup group) override;
void DisableQuery(PerfQueryGroup group) override;

View File

@ -20,7 +20,7 @@ class D3DVertexFormat : public NativeVertexFormat
{
public:
D3DVertexFormat(const PortableVertexDeclaration& vtx_decl);
~D3DVertexFormat();
~D3DVertexFormat() override;
ID3D11InputLayout* GetInputLayout(const void* vs_bytecode, size_t vs_bytecode_size);
private:
@ -36,9 +36,9 @@ class VertexManager : public VertexManagerBase
{
public:
VertexManager();
~VertexManager();
~VertexManager() override;
bool Initialize();
bool Initialize() override;
void UploadUtilityUniforms(const void* uniforms, u32 uniforms_size) override;
bool UploadTexelBuffer(const void* data, u32 data_size, TexelBufferFormat format,

View File

@ -22,7 +22,7 @@ namespace DX11
class DXTexture final : public AbstractTexture
{
public:
~DXTexture();
~DXTexture() override;
static std::unique_ptr<DXTexture> Create(const TextureConfig& config, std::string_view name);
static std::unique_ptr<DXTexture> CreateAdopted(ComPtr<ID3D11Texture2D> texture);
@ -56,7 +56,7 @@ class DXStagingTexture final : public AbstractStagingTexture
{
public:
DXStagingTexture() = delete;
~DXStagingTexture();
~DXStagingTexture() override;
void CopyFromTexture(const AbstractTexture* src, const MathUtil::Rectangle<int>& src_rect,
u32 src_layer, u32 src_level,

View File

@ -13,7 +13,7 @@ class PerfQuery final : public PerfQueryBase
{
public:
PerfQuery();
~PerfQuery();
~PerfQuery() override;
static PerfQuery* GetInstance() { return static_cast<PerfQuery*>(g_perf_query.get()); }

View File

@ -23,7 +23,7 @@ class SwapChain : public D3DCommon::SwapChain
public:
SwapChain(const WindowSystemInfo& wsi, IDXGIFactory* dxgi_factory,
ID3D12CommandQueue* d3d_command_queue);
~SwapChain();
~SwapChain() override;
static std::unique_ptr<SwapChain> Create(const WindowSystemInfo& wsi);

View File

@ -15,7 +15,7 @@ class VertexManager final : public VertexManagerBase
{
public:
VertexManager();
~VertexManager();
~VertexManager() override;
bool Initialize() override;

View File

@ -20,7 +20,7 @@ namespace DX12
class DXTexture final : public AbstractTexture
{
public:
~DXTexture();
~DXTexture() override;
static std::unique_ptr<DXTexture> Create(const TextureConfig& config, std::string_view name);
static std::unique_ptr<DXTexture> CreateAdopted(ID3D12Resource* resource);
@ -110,7 +110,7 @@ private:
class DXStagingTexture final : public AbstractStagingTexture
{
public:
~DXStagingTexture();
~DXStagingTexture() override;
void CopyFromTexture(const AbstractTexture* src, const MathUtil::Rectangle<int>& src_rect,
u32 src_layer, u32 src_level,

View File

@ -13,7 +13,7 @@ namespace D3DCommon
class Shader : public AbstractShader
{
public:
virtual ~Shader() override;
~Shader() override;
const BinaryData& GetByteCode() const { return m_bytecode; }

View File

@ -15,7 +15,7 @@ public:
~NullGfx() override;
bool IsHeadless() const override;
virtual bool SupportsUtilityDrawing() const override;
bool SupportsUtilityDrawing() const override;
std::unique_ptr<AbstractTexture> CreateTexture(const TextureConfig& config,
std::string_view name) override;

View File

@ -33,7 +33,7 @@ class NullStagingTexture final : public AbstractStagingTexture
{
public:
explicit NullStagingTexture(StagingTextureType type, const TextureConfig& config);
~NullStagingTexture();
~NullStagingTexture() override;
void CopyFromTexture(const AbstractTexture* src, const MathUtil::Rectangle<int>& src_rect,
u32 src_layer, u32 src_level,

View File

@ -17,7 +17,7 @@ class OGLGfx final : public AbstractGfx
{
public:
OGLGfx(std::unique_ptr<GLContext> main_gl_context, float backbuffer_scale);
~OGLGfx();
~OGLGfx() override;
bool IsHeadless() const override;
@ -67,9 +67,9 @@ public:
void WaitForGPUIdle() override;
void OnConfigChanged(u32 bits) override;
virtual void SelectLeftBuffer() override;
virtual void SelectRightBuffer() override;
virtual void SelectMainBuffer() override;
void SelectLeftBuffer() override;
void SelectRightBuffer() override;
void SelectMainBuffer() override;
std::unique_ptr<VideoCommon::AsyncShaderCompiler> CreateAsyncShaderCompiler() override;

View File

@ -18,7 +18,7 @@ class PerfQuery : public PerfQueryBase
{
public:
PerfQuery();
~PerfQuery() {}
~PerfQuery() override {}
void EnableQuery(PerfQueryGroup group) override;
void DisableQuery(PerfQueryGroup group) override;
void ResetQuery() override;
@ -50,7 +50,7 @@ class PerfQueryGL : public PerfQuery
{
public:
PerfQueryGL(GLenum query_type);
~PerfQueryGL();
~PerfQueryGL() override;
void EnableQuery(PerfQueryGroup group) override;
void DisableQuery(PerfQueryGroup group) override;
@ -68,7 +68,7 @@ class PerfQueryGLESNV : public PerfQuery
{
public:
PerfQueryGLESNV();
~PerfQueryGLESNV();
~PerfQueryGLESNV() override;
void EnableQuery(PerfQueryGroup group) override;
void DisableQuery(PerfQueryGroup group) override;

View File

@ -142,7 +142,7 @@ public:
glBufferData(m_buffertype, m_size, nullptr, GL_STREAM_DRAW);
}
~MapAndOrphan() {}
~MapAndOrphan() override {}
std::pair<u8*, u32> Map(u32 size) override
{
if (m_iterator + size >= m_size)
@ -181,7 +181,7 @@ public:
glBufferData(m_buffertype, m_size, nullptr, GL_STREAM_DRAW);
}
~MapAndSync() { DeleteFences(); }
~MapAndSync() override { DeleteFences(); }
std::pair<u8*, u32> Map(u32 size) override
{
AllocMemory(size);
@ -234,7 +234,7 @@ public:
(coherent ? GL_MAP_COHERENT_BIT : GL_MAP_FLUSH_EXPLICIT_BIT));
}
~BufferStorage()
~BufferStorage() override
{
DeleteFences();
glUnmapBuffer(m_buffertype);
@ -280,7 +280,7 @@ public:
glBindBuffer(m_buffertype, m_buffer);
}
~PinnedMemory()
~PinnedMemory() override
{
DeleteFences();
glBindBuffer(m_buffertype, 0);
@ -315,7 +315,7 @@ public:
m_pointer = new u8[m_size];
}
~BufferSubData() { delete[] m_pointer; }
~BufferSubData() override { delete[] m_pointer; }
std::pair<u8*, u32> Map(u32 size) override { return std::make_pair(m_pointer, 0); }
void Unmap(u32 used_size) override { glBufferSubData(m_buffertype, 0, used_size, m_pointer); }
u8* m_pointer;
@ -335,7 +335,7 @@ public:
m_pointer = new u8[m_size];
}
~BufferData() { delete[] m_pointer; }
~BufferData() override { delete[] m_pointer; }
std::pair<u8*, u32> Map(u32 size) override { return std::make_pair(m_pointer, 0); }
void Unmap(u32 used_size) override
{

View File

@ -20,7 +20,7 @@ class OGLTexture final : public AbstractTexture
{
public:
explicit OGLTexture(const TextureConfig& tex_config, std::string_view name);
~OGLTexture();
~OGLTexture() override;
void CopyRectangleFromTexture(const AbstractTexture* src,
const MathUtil::Rectangle<int>& src_rect, u32 src_layer,
@ -71,7 +71,7 @@ class OGLStagingTexture final : public AbstractStagingTexture
{
public:
OGLStagingTexture() = delete;
~OGLStagingTexture();
~OGLStagingTexture() override;
void CopyFromTexture(const AbstractTexture* src, const MathUtil::Rectangle<int>& src_rect,
u32 src_layer, u32 src_level,

View File

@ -18,7 +18,7 @@ class GLVertexFormat : public NativeVertexFormat
{
public:
GLVertexFormat(const PortableVertexDeclaration& vtx_decl);
~GLVertexFormat();
~GLVertexFormat() override;
GLuint VAO;
};

View File

@ -71,7 +71,7 @@ class SWShader final : public AbstractShader
{
public:
explicit SWShader(ShaderStage stage) : AbstractShader(stage) {}
~SWShader() = default;
~SWShader() override = default;
BinaryData GetBinary() const override { return {}; }
};

View File

@ -16,7 +16,7 @@ public:
~SWGfx() override;
bool IsHeadless() const override;
virtual bool SupportsUtilityDrawing() const override;
bool SupportsUtilityDrawing() const override;
std::unique_ptr<AbstractTexture> CreateTexture(const TextureConfig& config,
std::string_view name) override;

View File

@ -18,7 +18,7 @@ class SWTexture final : public AbstractTexture
{
public:
explicit SWTexture(const TextureConfig& tex_config);
~SWTexture() = default;
~SWTexture() override = default;
void CopyRectangleFromTexture(const AbstractTexture* src,
const MathUtil::Rectangle<int>& src_rect, u32 src_layer,
@ -40,7 +40,7 @@ class SWStagingTexture final : public AbstractStagingTexture
{
public:
explicit SWStagingTexture(StagingTextureType type, const TextureConfig& config);
~SWStagingTexture();
~SWStagingTexture() override;
void CopyFromTexture(const AbstractTexture* src, const MathUtil::Rectangle<int>& src_rect,
u32 src_layer, u32 src_level,

View File

@ -17,7 +17,7 @@ class SWVertexLoader final : public VertexManagerBase
{
public:
SWVertexLoader();
~SWVertexLoader();
~SWVertexLoader() override;
DataReader PrepareForAdditionalData(OpcodeDecoder::Primitive primitive, u32 count, u32 stride,
bool cullall) override;

View File

@ -29,7 +29,7 @@ class PerfQuery : public PerfQueryBase
{
public:
PerfQuery() {}
~PerfQuery() {}
~PerfQuery() override {}
void EnableQuery(PerfQueryGroup type) override {}
void DisableQuery(PerfQueryGroup type) override {}
void ResetQuery() override { EfbInterface::ResetPerfQuery(); }

View File

@ -79,7 +79,7 @@ public:
void SetFullscreen(bool enable_fullscreen) override;
bool IsFullscreen() const override;
virtual SurfaceInfo GetSurfaceInfo() const override;
SurfaceInfo GetSurfaceInfo() const override;
// Completes the current render pass, executes the command buffer, and restores state ready for
// next render. Use when you want to kick the current buffer to make room for new data.

View File

@ -16,7 +16,7 @@ class PerfQuery : public PerfQueryBase
{
public:
PerfQuery();
~PerfQuery();
~PerfQuery() override;
static PerfQuery* GetInstance() { return static_cast<PerfQuery*>(g_perf_query.get()); }

View File

@ -33,7 +33,7 @@ public:
VKTexture(const TextureConfig& tex_config, VmaAllocation alloc, VkImage image,
std::string_view name, VkImageLayout layout = VK_IMAGE_LAYOUT_UNDEFINED,
ComputeImageLayout compute_layout = ComputeImageLayout::Undefined);
~VKTexture();
~VKTexture() override;
static VkFormat GetLinearFormat(VkFormat format);
static VkFormat GetVkFormatForHostTextureFormat(AbstractTextureFormat format);
@ -93,7 +93,7 @@ public:
std::unique_ptr<StagingBuffer> buffer, VkImage linear_image,
VmaAllocation linear_image_alloc);
~VKStagingTexture();
~VKStagingTexture() override;
void CopyFromTexture(const AbstractTexture* src, const MathUtil::Rectangle<int>& src_rect,
u32 src_layer, u32 src_level,

View File

@ -18,7 +18,7 @@ class VertexManager : public VertexManagerBase
{
public:
VertexManager();
~VertexManager();
~VertexManager() override;
bool Initialize() override;