summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon
diff options
context:
space:
mode:
authorLC <mathew1800@gmail.com>2020-12-19 21:45:21 -0500
committerGitHub <noreply@github.com>2020-12-19 21:45:21 -0500
commit0315ca5e37f0f240e1fb7df72e1bb3bc3f7222eb (patch)
tree5af5f79f322b98aaae41f2986e0dc3c0b9399141 /Source/Core/VideoCommon
parent2097de603c1e225dd4fb8118d7c1cfd3f5162471 (diff)
parent0ad2f3da454feca1fc9ba9c3f8592e104028b936 (diff)
Merge pull request #9332 from leoetlino/warning-fixes
Core: Fix various warnings
Diffstat (limited to 'Source/Core/VideoCommon')
-rw-r--r--Source/Core/VideoCommon/AbstractTexture.cpp9
-rw-r--r--Source/Core/VideoCommon/BPStructs.cpp2
-rw-r--r--Source/Core/VideoCommon/CMakeLists.txt2
-rw-r--r--Source/Core/VideoCommon/ImageWrite.cpp57
-rw-r--r--Source/Core/VideoCommon/ImageWrite.h12
-rw-r--r--Source/Core/VideoCommon/RenderBase.cpp15
-rw-r--r--Source/Core/VideoCommon/ShaderCache.cpp2
-rw-r--r--Source/Core/VideoCommon/VideoBackendBase.cpp4
-rw-r--r--Source/Core/VideoCommon/VideoCommon.vcxproj4
-rw-r--r--Source/Core/VideoCommon/VideoCommon.vcxproj.filters8
10 files changed, 20 insertions, 95 deletions
diff --git a/Source/Core/VideoCommon/AbstractTexture.cpp b/Source/Core/VideoCommon/AbstractTexture.cpp
index 8e2dc39d76..9b26d55ff8 100644
--- a/Source/Core/VideoCommon/AbstractTexture.cpp
+++ b/Source/Core/VideoCommon/AbstractTexture.cpp
@@ -5,10 +5,10 @@
#include <algorithm>
#include "Common/Assert.h"
+#include "Common/Image.h"
#include "Common/MsgHandler.h"
#include "VideoCommon/AbstractStagingTexture.h"
#include "VideoCommon/AbstractTexture.h"
-#include "VideoCommon/ImageWrite.h"
#include "VideoCommon/RenderBase.h"
AbstractTexture::AbstractTexture(const TextureConfig& c) : m_config(c)
@@ -48,9 +48,10 @@ bool AbstractTexture::Save(const std::string& filename, unsigned int level)
if (!readback_texture->Map())
return false;
- return TextureToPng(reinterpret_cast<const u8*>(readback_texture->GetMappedPointer()),
- static_cast<int>(readback_texture->GetMappedStride()), filename, level_width,
- level_height);
+ return Common::SavePNG(filename,
+ reinterpret_cast<const u8*>(readback_texture->GetMappedPointer()),
+ Common::ImageByteFormat::RGBA, level_width, level_height,
+ static_cast<int>(readback_texture->GetMappedStride()));
}
bool AbstractTexture::IsCompressedFormat(AbstractTextureFormat format)
diff --git a/Source/Core/VideoCommon/BPStructs.cpp b/Source/Core/VideoCommon/BPStructs.cpp
index 585b072727..2376fd0840 100644
--- a/Source/Core/VideoCommon/BPStructs.cpp
+++ b/Source/Core/VideoCommon/BPStructs.cpp
@@ -43,7 +43,7 @@ static const float s_gammaLUT[] = {1.0f, 1.7f, 2.2f, 1.0f};
void BPInit()
{
- memset(&bpmem, 0, sizeof(bpmem));
+ memset(reinterpret_cast<u8*>(&bpmem), 0, sizeof(bpmem));
bpmem.bpMask = 0xFFFFFF;
}
diff --git a/Source/Core/VideoCommon/CMakeLists.txt b/Source/Core/VideoCommon/CMakeLists.txt
index 8e957f4a8d..2470c5ee4d 100644
--- a/Source/Core/VideoCommon/CMakeLists.txt
+++ b/Source/Core/VideoCommon/CMakeLists.txt
@@ -42,8 +42,6 @@ add_library(videocommon
HiresTextures.cpp
HiresTextures.h
HiresTextures_DDSLoader.cpp
- ImageWrite.cpp
- ImageWrite.h
IndexGenerator.cpp
IndexGenerator.h
LightingShaderGen.cpp
diff --git a/Source/Core/VideoCommon/ImageWrite.cpp b/Source/Core/VideoCommon/ImageWrite.cpp
deleted file mode 100644
index d2dcbc9dc5..0000000000
--- a/Source/Core/VideoCommon/ImageWrite.cpp
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2008 Dolphin Emulator Project
-// Licensed under GPLv2+
-// Refer to the license.txt file included.
-
-#include <list>
-#include <string>
-#include <vector>
-
-#include "Common/CommonTypes.h"
-#include "Common/File.h"
-#include "Common/FileUtil.h"
-#include "Common/Image.h"
-
-bool SaveData(const std::string& filename, const std::string& data)
-{
- std::ofstream f;
- File::OpenFStream(f, filename, std::ios::binary);
- f << data;
-
- return true;
-}
-
-/*
-TextureToPng
-
-Inputs:
-data : This is an array of RGBA with 8 bits per channel. 4 bytes for each pixel.
-row_stride: Determines the amount of bytes per row of pixels.
-*/
-bool TextureToPng(const u8* data, int row_stride, const std::string& filename, int width,
- int height, bool save_alpha)
-{
- if (!data)
- return false;
-
- if (save_alpha)
- {
- return Common::SavePNG(filename, data, Common::ImageByteFormat::RGBA, width, height,
- row_stride);
- }
-
- std::vector<u8> buffer;
- buffer.reserve(width * height * 3);
-
- for (int y = 0; y < height; ++y)
- {
- const u8* pos = data + y * row_stride;
- for (int x = 0; x < width; ++x)
- {
- buffer.push_back(pos[x * 4]);
- buffer.push_back(pos[x * 4 + 1]);
- buffer.push_back(pos[x * 4 + 2]);
- }
- }
-
- return Common::SavePNG(filename, buffer.data(), Common::ImageByteFormat::RGB, width, height);
-}
diff --git a/Source/Core/VideoCommon/ImageWrite.h b/Source/Core/VideoCommon/ImageWrite.h
deleted file mode 100644
index 46ce760e16..0000000000
--- a/Source/Core/VideoCommon/ImageWrite.h
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2008 Dolphin Emulator Project
-// Licensed under GPLv2+
-// Refer to the license.txt file included.
-
-#pragma once
-
-#include <string>
-#include "Common/CommonTypes.h"
-
-bool SaveData(const std::string& filename, const std::string& data);
-bool TextureToPng(const u8* data, int row_stride, const std::string& filename, int width,
- int height, bool save_alpha = true);
diff --git a/Source/Core/VideoCommon/RenderBase.cpp b/Source/Core/VideoCommon/RenderBase.cpp
index 94379909ec..02deb3a8b1 100644
--- a/Source/Core/VideoCommon/RenderBase.cpp
+++ b/Source/Core/VideoCommon/RenderBase.cpp
@@ -29,9 +29,9 @@
#include "Common/ChunkFile.h"
#include "Common/CommonTypes.h"
#include "Common/Config/Config.h"
-#include "Common/Event.h"
#include "Common/FileUtil.h"
#include "Common/Flag.h"
+#include "Common/Image.h"
#include "Common/Logging/Log.h"
#include "Common/MsgHandler.h"
#include "Common/Profiler.h"
@@ -64,7 +64,6 @@
#include "VideoCommon/FramebufferManager.h"
#include "VideoCommon/FramebufferShaderGen.h"
#include "VideoCommon/FreeLookCamera.h"
-#include "VideoCommon/ImageWrite.h"
#include "VideoCommon/NetPlayChatUI.h"
#include "VideoCommon/NetPlayGolfUI.h"
#include "VideoCommon/OnScreenDisplay.h"
@@ -92,6 +91,12 @@ static float AspectToWidescreen(float aspect)
return aspect * ((16.0f / 9.0f) / (4.0f / 3.0f));
}
+static bool DumpFrameToPNG(const FrameDump::FrameData& frame, const std::string& file_name)
+{
+ return Common::ConvertRGBAToRGBAndSavePNG(file_name, frame.data, frame.width, frame.height,
+ frame.stride);
+}
+
Renderer::Renderer(int backbuffer_width, int backbuffer_height, float backbuffer_scale,
AbstractTextureFormat backbuffer_format)
: m_backbuffer_width(backbuffer_width), m_backbuffer_height(backbuffer_height),
@@ -1572,8 +1577,7 @@ void Renderer::FrameDumpThreadFunc()
{
std::lock_guard<std::mutex> lk(m_screenshot_lock);
- if (TextureToPng(frame.data, frame.stride, m_screenshot_name, frame.width, frame.height,
- false))
+ if (DumpFrameToPNG(frame, m_screenshot_name))
OSD::AddMessage("Screenshot saved to " + m_screenshot_name);
// Reset settings
@@ -1681,8 +1685,7 @@ bool Renderer::StartFrameDumpToImage(const FrameDump::FrameData&)
void Renderer::DumpFrameToImage(const FrameDump::FrameData& frame)
{
- std::string filename = GetFrameDumpNextImageFileName();
- TextureToPng(frame.data, frame.stride, filename, frame.width, frame.height, false);
+ DumpFrameToPNG(frame, GetFrameDumpNextImageFileName());
m_frame_dump_image_counter++;
}
diff --git a/Source/Core/VideoCommon/ShaderCache.cpp b/Source/Core/VideoCommon/ShaderCache.cpp
index f8b4b881f0..7383dc6595 100644
--- a/Source/Core/VideoCommon/ShaderCache.cpp
+++ b/Source/Core/VideoCommon/ShaderCache.cpp
@@ -188,7 +188,7 @@ template <typename SerializedUidType, typename UidType>
static void SerializePipelineUid(const UidType& uid, SerializedUidType& serialized_uid)
{
// Convert to disk format. Ensure all padding bytes are zero.
- std::memset(&serialized_uid, 0, sizeof(serialized_uid));
+ std::memset(reinterpret_cast<u8*>(&serialized_uid), 0, sizeof(serialized_uid));
serialized_uid.vertex_decl = uid.vertex_format->GetVertexDeclaration();
serialized_uid.vs_uid = uid.vs_uid;
serialized_uid.gs_uid = uid.gs_uid;
diff --git a/Source/Core/VideoCommon/VideoBackendBase.cpp b/Source/Core/VideoCommon/VideoBackendBase.cpp
index 20f4d116a6..2f7e92664a 100644
--- a/Source/Core/VideoCommon/VideoBackendBase.cpp
+++ b/Source/Core/VideoCommon/VideoBackendBase.cpp
@@ -295,8 +295,8 @@ void VideoBackendBase::DoState(PointerWrap& p)
void VideoBackendBase::InitializeShared()
{
- memset(&g_main_cp_state, 0, sizeof(g_main_cp_state));
- memset(&g_preprocess_cp_state, 0, sizeof(g_preprocess_cp_state));
+ memset(reinterpret_cast<u8*>(&g_main_cp_state), 0, sizeof(g_main_cp_state));
+ memset(reinterpret_cast<u8*>(&g_preprocess_cp_state), 0, sizeof(g_preprocess_cp_state));
memset(texMem, 0, TMEM_SIZE);
// do not initialize again for the config window
diff --git a/Source/Core/VideoCommon/VideoCommon.vcxproj b/Source/Core/VideoCommon/VideoCommon.vcxproj
index bd144ae0f6..ecfc6b2def 100644
--- a/Source/Core/VideoCommon/VideoCommon.vcxproj
+++ b/Source/Core/VideoCommon/VideoCommon.vcxproj
@@ -48,7 +48,6 @@
<ClCompile Include="FreeLookCamera.cpp" />
<ClCompile Include="HiresTextures.cpp" />
<ClCompile Include="HiresTextures_DDSLoader.cpp" />
- <ClCompile Include="ImageWrite.cpp" />
<ClCompile Include="IndexGenerator.cpp" />
<ClCompile Include="NetPlayChatUI.cpp" />
<ClCompile Include="NetPlayGolfUI.cpp" />
@@ -132,7 +131,6 @@
<ClInclude Include="UberShaderCommon.h" />
<ClInclude Include="UberShaderPixel.h" />
<ClInclude Include="HiresTextures.h" />
- <ClInclude Include="ImageWrite.h" />
<ClInclude Include="IndexGenerator.h" />
<ClInclude Include="LightingShaderGen.h" />
<ClInclude Include="LookUpTables.h" />
@@ -201,4 +199,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project> \ No newline at end of file
+</Project>
diff --git a/Source/Core/VideoCommon/VideoCommon.vcxproj.filters b/Source/Core/VideoCommon/VideoCommon.vcxproj.filters
index 1535249e06..96d76b5646 100644
--- a/Source/Core/VideoCommon/VideoCommon.vcxproj.filters
+++ b/Source/Core/VideoCommon/VideoCommon.vcxproj.filters
@@ -95,9 +95,6 @@
<ClCompile Include="HiresTextures.cpp">
<Filter>Util</Filter>
</ClCompile>
- <ClCompile Include="ImageWrite.cpp">
- <Filter>Util</Filter>
- </ClCompile>
<ClCompile Include="IndexGenerator.cpp">
<Filter>Util</Filter>
</ClCompile>
@@ -290,9 +287,6 @@
<ClInclude Include="HiresTextures.h">
<Filter>Util</Filter>
</ClInclude>
- <ClInclude Include="ImageWrite.h">
- <Filter>Util</Filter>
- </ClInclude>
<ClInclude Include="IndexGenerator.h">
<Filter>Util</Filter>
</ClInclude>
@@ -411,4 +405,4 @@
<ItemGroup>
<Text Include="CMakeLists.txt" />
</ItemGroup>
-</Project> \ No newline at end of file
+</Project>