diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2021-06-20 07:35:30 +0200 |
---|---|---|
committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-07-23 03:51:39 +0200 |
commit | 9bd05313849f76fc64406d5ebf3aadf39fa3bfde (patch) | |
tree | 3f944306fc429aa11265a3f6119001d005ba5182 /src | |
parent | gl_shader_cache: Check previous pipeline before checking hash map (diff) | |
download | yuzu-9bd05313849f76fc64406d5ebf3aadf39fa3bfde.tar yuzu-9bd05313849f76fc64406d5ebf3aadf39fa3bfde.tar.gz yuzu-9bd05313849f76fc64406d5ebf3aadf39fa3bfde.tar.bz2 yuzu-9bd05313849f76fc64406d5ebf3aadf39fa3bfde.tar.lz yuzu-9bd05313849f76fc64406d5ebf3aadf39fa3bfde.tar.xz yuzu-9bd05313849f76fc64406d5ebf3aadf39fa3bfde.tar.zst yuzu-9bd05313849f76fc64406d5ebf3aadf39fa3bfde.zip |
Diffstat (limited to 'src')
-rw-r--r-- | src/video_core/renderer_opengl/gl_graphics_pipeline.cpp | 10 | ||||
-rw-r--r-- | src/video_core/renderer_opengl/gl_graphics_pipeline.h | 10 |
2 files changed, 8 insertions, 12 deletions
diff --git a/src/video_core/renderer_opengl/gl_graphics_pipeline.cpp b/src/video_core/renderer_opengl/gl_graphics_pipeline.cpp index 92974ba08..ad61a17a5 100644 --- a/src/video_core/renderer_opengl/gl_graphics_pipeline.cpp +++ b/src/video_core/renderer_opengl/gl_graphics_pipeline.cpp @@ -3,9 +3,7 @@ // Refer to the license.txt file included. #include <algorithm> -#include <cstring> -#include "common/cityhash.h" #include "common/thread_worker.h" #include "shader_recompiler/shader_info.h" #include "video_core/renderer_opengl/gl_graphics_pipeline.h" @@ -176,14 +174,6 @@ ConfigureFuncPtr ConfigureFunc(const std::array<Shader::Info, 5>& infos, u32 ena } } // Anonymous namespace -size_t GraphicsPipelineKey::Hash() const noexcept { - return static_cast<size_t>(Common::CityHash64(reinterpret_cast<const char*>(this), Size())); -} - -bool GraphicsPipelineKey::operator==(const GraphicsPipelineKey& rhs) const noexcept { - return std::memcmp(this, &rhs, Size()) == 0; -} - GraphicsPipeline::GraphicsPipeline( const Device& device, TextureCache& texture_cache_, BufferCache& buffer_cache_, Tegra::MemoryManager& gpu_memory_, Tegra::Engines::Maxwell3D& maxwell3d_, diff --git a/src/video_core/renderer_opengl/gl_graphics_pipeline.h b/src/video_core/renderer_opengl/gl_graphics_pipeline.h index a033d4a95..f82d712f8 100644 --- a/src/video_core/renderer_opengl/gl_graphics_pipeline.h +++ b/src/video_core/renderer_opengl/gl_graphics_pipeline.h @@ -5,10 +5,12 @@ #pragma once #include <array> +#include <cstring> #include <type_traits> #include <utility> #include "common/bit_field.h" +#include "common/cityhash.h" #include "common/common_types.h" #include "shader_recompiler/shader_info.h" #include "video_core/engines/maxwell_3d.h" @@ -44,9 +46,13 @@ struct GraphicsPipelineKey { std::array<u32, 3> padding; VideoCommon::TransformFeedbackState xfb_state; - size_t Hash() const noexcept; + size_t Hash() const noexcept { + return static_cast<size_t>(Common::CityHash64(reinterpret_cast<const char*>(this), Size())); + } - bool operator==(const GraphicsPipelineKey&) const noexcept; + bool operator==(const GraphicsPipelineKey& rhs) const noexcept { + return std::memcmp(this, &rhs, Size()) == 0; + } bool operator!=(const GraphicsPipelineKey& rhs) const noexcept { return !operator==(rhs); |