Address review and update zstd

This commit is contained in:
James Rowe 2020-01-15 19:57:56 -07:00
parent 936094dd27
commit 6945b6539f
9 changed files with 11 additions and 20 deletions

2
externals/zstd vendored

@ -1 +1 @@
Subproject commit 470344d33e1d52a2ada75d278466da8d4ee2faf6
Subproject commit 10f0e6993f9d2f682da6d04aa2385b7d53cbb4ee

View file

@ -557,7 +557,7 @@ std::optional<std::string> GetCurrentDir() {
#endif
free(dir);
return strDir;
} // namespace FileUtil
}
bool SetCurrentDir(const std::string& directory) {
#ifdef _WIN32

View file

@ -11,7 +11,7 @@
namespace Common::Compression {
std::vector<u8> CompressDataZSTD(const u8* source, std::size_t source_size, s32 compression_level) {
compression_level = std::clamp(compression_level, 1, ZSTD_maxCLevel());
compression_level = std::clamp(compression_level, ZSTD_minCLevel(), ZSTD_maxCLevel());
const std::size_t max_compressed_size = ZSTD_compressBound(source_size);
std::vector<u8> compressed(max_compressed_size);
@ -48,4 +48,4 @@ std::vector<u8> DecompressDataZSTD(const std::vector<u8>& compressed) {
return decompressed;
}
} // namespace Common::Compression
} // namespace Common::Compression

View file

@ -41,4 +41,4 @@ std::vector<u8> CompressDataZSTDDefault(const u8* source, std::size_t source_siz
*/
std::vector<u8> DecompressDataZSTD(const std::vector<u8>& compressed);
} // namespace Common::Compression
} // namespace Common::Compression

View file

@ -6,7 +6,6 @@
#include <memory>
#include "common/common_types.h"
#include "core/frontend/emu_window.h"
#include "video_core/rasterizer_interface.h"
#include "video_core/video_core.h"

View file

@ -15,7 +15,6 @@
#include "common/microprofile.h"
#include "common/scope_exit.h"
#include "common/vector_math.h"
#include "core/core.h"
#include "core/hw/gpu.h"
#include "video_core/pica_state.h"
#include "video_core/regs_framebuffer.h"

View file

@ -19,7 +19,8 @@
namespace OpenGL {
using ShaderCacheVersionHash = std::array<u8, 64>;
constexpr std::size_t HASH_LENGTH = 64;
using ShaderCacheVersionHash = std::array<u8, HASH_LENGTH>;
enum class TransferableEntryKind : u32 {
Raw,
@ -44,10 +45,6 @@ ShaderDiskCacheRaw::ShaderDiskCacheRaw(u64 unique_identifier, ProgramType progra
: unique_identifier{unique_identifier}, program_type{program_type}, config{config},
program_code{std::move(program_code)} {}
ShaderDiskCacheRaw::ShaderDiskCacheRaw() = default;
ShaderDiskCacheRaw::~ShaderDiskCacheRaw() = default;
bool ShaderDiskCacheRaw::Load(FileUtil::IOFile& file) {
if (file.ReadBytes(&unique_identifier, sizeof(u64)) != sizeof(u64) ||
file.ReadBytes(&program_type, sizeof(u32)) != sizeof(u32)) {
@ -107,8 +104,6 @@ bool ShaderDiskCacheRaw::Save(FileUtil::IOFile& file) const {
ShaderDiskCache::ShaderDiskCache(bool separable) : separable{separable} {}
ShaderDiskCache::~ShaderDiskCache() = default;
std::optional<std::vector<ShaderDiskCacheRaw>> ShaderDiskCache::LoadTransferable() {
const bool has_title_id = GetProgramID() != 0;
if (!Settings::values.use_disk_shader_cache || !has_title_id)
@ -158,7 +153,7 @@ std::optional<std::vector<ShaderDiskCacheRaw>> ShaderDiskCache::LoadTransferable
LOG_ERROR(Render_OpenGL, "Failed to load transferable raw entry - skipping");
return {};
}
transferable.insert({entry.GetUniqueIdentifier(), {}});
transferable.emplace(entry.GetUniqueIdentifier(), ShaderDiskCacheRaw{});
raws.push_back(std::move(entry));
break;
}

View file

@ -46,8 +46,8 @@ class ShaderDiskCacheRaw {
public:
explicit ShaderDiskCacheRaw(u64 unique_identifier, ProgramType program_type,
RawShaderConfig config, ProgramCode program_code);
ShaderDiskCacheRaw();
~ShaderDiskCacheRaw();
ShaderDiskCacheRaw() = default;
~ShaderDiskCacheRaw() = default;
bool Load(FileUtil::IOFile& file);
@ -90,7 +90,7 @@ struct ShaderDiskCacheDump {
class ShaderDiskCache {
public:
explicit ShaderDiskCache(bool separable);
~ShaderDiskCache();
~ShaderDiskCache() = default;
/// Loads transferable cache. If file has a old version or on failure, it deletes the file.
std::optional<std::vector<ShaderDiskCacheRaw>> LoadTransferable();

View file

@ -19,8 +19,6 @@ class System;
namespace OpenGL {
class ShaderDiskCacheOpenGL;
enum class UniformBindings : GLuint { Common, VS, GS };
struct LightSrc {