summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader/const_buffer_locker.h
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2019-10-17 16:35:16 +0200
committerFernandoS27 <fsahmkow27@gmail.com>2019-10-26 21:38:30 +0200
commitbe856a38d6b0c7c90c861baf3204ac48a108f3d2 (patch)
treefeef5da87a406bc2e83326adbbf59a54772a34d2 /src/video_core/shader/const_buffer_locker.h
parentShader_IR: Clang format (diff)
downloadyuzu-be856a38d6b0c7c90c861baf3204ac48a108f3d2.tar
yuzu-be856a38d6b0c7c90c861baf3204ac48a108f3d2.tar.gz
yuzu-be856a38d6b0c7c90c861baf3204ac48a108f3d2.tar.bz2
yuzu-be856a38d6b0c7c90c861baf3204ac48a108f3d2.tar.lz
yuzu-be856a38d6b0c7c90c861baf3204ac48a108f3d2.tar.xz
yuzu-be856a38d6b0c7c90c861baf3204ac48a108f3d2.tar.zst
yuzu-be856a38d6b0c7c90c861baf3204ac48a108f3d2.zip
Diffstat (limited to 'src/video_core/shader/const_buffer_locker.h')
-rw-r--r--src/video_core/shader/const_buffer_locker.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/video_core/shader/const_buffer_locker.h b/src/video_core/shader/const_buffer_locker.h
index 966537fd6..600e2f3c3 100644
--- a/src/video_core/shader/const_buffer_locker.h
+++ b/src/video_core/shader/const_buffer_locker.h
@@ -16,6 +16,11 @@ using BoundSamplerMap = std::unordered_map<u32, Tegra::Engines::SamplerDescripto
using BindlessSamplerMap =
std::unordered_map<std::pair<u32, u32>, Tegra::Engines::SamplerDescriptor, Common::PairHash>;
+/**
+ * The ConstBufferLocker is a class use to interface the 3D and compute engines with the shader
+ * compiler. with it, the shader can obtain required data from GPU state and store it for disk
+ * shader compilation.
+ **/
class ConstBufferLocker {
public:
explicit ConstBufferLocker(Tegra::Engines::ShaderType shader_stage);
@@ -23,6 +28,8 @@ public:
explicit ConstBufferLocker(Tegra::Engines::ShaderType shader_stage,
Tegra::Engines::ConstBufferEngineInterface& engine);
+ ~ConstBufferLocker();
+
/// Retrieves a key from the locker, if it's registered, it will give the registered value, if
/// not it will obtain it from maxwell3d and register it.
std::optional<u32> ObtainKey(u32 buffer, u32 offset);