diff options
| author | Pierre Bourdon <delroth@gmail.com> | 2018-10-28 23:59:51 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-10-28 23:59:51 +0100 |
| commit | f1413dbbf6eeb8d95636a975ffe85653ac85751e (patch) | |
| tree | 798e7edd2dc7741aea19cf557e9313596d4eecfe /Source/Core/VideoCommon | |
| parent | eb35514f3b8a9679d9c1c7a6dcac6f11d367a883 (diff) | |
| parent | 8560eecd494482146d289a06d8bd4c6033a6fa14 (diff) | |
Merge pull request #7501 from Techjar/class-memaccess-cleanup
VideoCommon: Clean up class-memaccess warnings
Diffstat (limited to 'Source/Core/VideoCommon')
| -rw-r--r-- | Source/Core/VideoCommon/GXPipelineTypes.h | 18 | ||||
| -rw-r--r-- | Source/Core/VideoCommon/VertexShaderManager.cpp | 2 |
2 files changed, 13 insertions, 7 deletions
diff --git a/Source/Core/VideoCommon/GXPipelineTypes.h b/Source/Core/VideoCommon/GXPipelineTypes.h index 5e9ec6e98d..8414b1af7f 100644 --- a/Source/Core/VideoCommon/GXPipelineTypes.h +++ b/Source/Core/VideoCommon/GXPipelineTypes.h @@ -35,11 +35,14 @@ struct GXPipelineUid // We use memcmp() for comparing pipelines as std::tie generates a large number of instructions, // and this map lookup can happen every draw call. However, as using memcmp() will also compare // any padding bytes, we have to ensure these are zeroed out. - GXPipelineUid() { std::memset(this, 0, sizeof(*this)); } - GXPipelineUid(const GXPipelineUid& rhs) { std::memcpy(this, &rhs, sizeof(*this)); } + GXPipelineUid() { std::memset(static_cast<void*>(this), 0, sizeof(*this)); } + GXPipelineUid(const GXPipelineUid& rhs) + { + std::memcpy(static_cast<void*>(this), &rhs, sizeof(*this)); + } GXPipelineUid& operator=(const GXPipelineUid& rhs) { - std::memcpy(this, &rhs, sizeof(*this)); + std::memcpy(static_cast<void*>(this), &rhs, sizeof(*this)); return *this; } bool operator<(const GXPipelineUid& rhs) const @@ -62,11 +65,14 @@ struct GXUberPipelineUid DepthState depth_state; BlendingState blending_state; - GXUberPipelineUid() { std::memset(this, 0, sizeof(*this)); } - GXUberPipelineUid(const GXUberPipelineUid& rhs) { std::memcpy(this, &rhs, sizeof(*this)); } + GXUberPipelineUid() { std::memset(static_cast<void*>(this), 0, sizeof(*this)); } + GXUberPipelineUid(const GXUberPipelineUid& rhs) + { + std::memcpy(static_cast<void*>(this), &rhs, sizeof(*this)); + } GXUberPipelineUid& operator=(const GXUberPipelineUid& rhs) { - std::memcpy(this, &rhs, sizeof(*this)); + std::memcpy(static_cast<void*>(this), &rhs, sizeof(*this)); return *this; } bool operator<(const GXUberPipelineUid& rhs) const diff --git a/Source/Core/VideoCommon/VertexShaderManager.cpp b/Source/Core/VideoCommon/VertexShaderManager.cpp index e01b9aa666..fca6a420c5 100644 --- a/Source/Core/VideoCommon/VertexShaderManager.cpp +++ b/Source/Core/VideoCommon/VertexShaderManager.cpp @@ -116,7 +116,7 @@ void VertexShaderManager::Init() bTexMtxInfoChanged = false; bLightingConfigChanged = false; - std::memset(&xfmem, 0, sizeof(xfmem)); + std::memset(static_cast<void*>(&xfmem), 0, sizeof(xfmem)); constants = {}; ResetView(); |
