diff options
Diffstat (limited to '')
-rw-r--r-- | src/video_core/renderer_opengl/gl_shader_disk_cache.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_disk_cache.h b/src/video_core/renderer_opengl/gl_shader_disk_cache.h new file mode 100644 index 000000000..cb40e9926 --- /dev/null +++ b/src/video_core/renderer_opengl/gl_shader_disk_cache.h @@ -0,0 +1,41 @@ +// Copyright 2019 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <tuple> + +#include "common/common_types.h" +#include "video_core/engines/maxwell_3d.h" + +namespace OpenGL { + +using ProgramCode = std::vector<u64>; +using Maxwell = Tegra::Engines::Maxwell3D::Regs; + +struct BaseBindings { +private: + auto Tie() const { + return std::tie(cbuf, gmem, sampler); + } + +public: + u32 cbuf{}; + u32 gmem{}; + u32 sampler{}; + + bool operator<(const BaseBindings& rhs) const { + return Tie() < rhs.Tie(); + } + + bool operator==(const BaseBindings& rhs) const { + return Tie() == rhs.Tie(); + } + + bool operator!=(const BaseBindings& rhs) const { + return !this->operator==(rhs); + } +}; + +} // namespace OpenGL
\ No newline at end of file |