From c5a74f0ad5d9a881c2e717c5a2386eef5f0f1f49 Mon Sep 17 00:00:00 2001 From: baldurk Date: Sat, 7 Jun 2014 13:47:46 +0100 Subject: [PATCH] Serialise newer parts of the GLPipelineState --- renderdoc/core/replay_proxy.cpp | 56 +++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/renderdoc/core/replay_proxy.cpp b/renderdoc/core/replay_proxy.cpp index a025e7259..fdfa583c0 100644 --- a/renderdoc/core/replay_proxy.cpp +++ b/renderdoc/core/replay_proxy.cpp @@ -254,6 +254,58 @@ void Serialiser::Serialise(const char *name, GLPipelineState::ShaderStage &el) el.ShaderDetails = NULL; } +template<> +void Serialiser::Serialise(const char *name, GLPipelineState::VertexInput::VertexAttribute &el) +{ + Serialise("", el.BufferSlot); + Serialise("", el.Enabled); + Serialise("", el.Format); + Serialise("", el.RelativeOffset); +} + +template<> +void Serialiser::Serialise(const char *name, GLPipelineState::VertexInput::VertexBuffer &el) +{ + Serialise("", el.Buffer); + Serialise("", el.Divisor); + Serialise("", el.Offset); + Serialise("", el.PerInstance); + Serialise("", el.Stride); +} + +template<> +void Serialiser::Serialise(const char *name, GLPipelineState::VertexInput::IndexBuffer &el) +{ + Serialise("", el.Buffer); + Serialise("", el.Offset); + Serialise("", el.Format); +} + +template<> +void Serialiser::Serialise(const char *name, GLPipelineState::VertexInput &el) +{ + Serialise("", el.attributes); + Serialise("", el.ibuffer); + Serialise("", el.vbuffers); + Serialise("", el.Topology); +} + +template<> +void Serialiser::Serialise(const char *name, GLPipelineState::FrameBuffer &el) +{ + Serialise("", el.FBO); + Serialise("", el.Color); + Serialise("", el.Depth); + Serialise("", el.Stencil); +} + +template<> +void Serialiser::Serialise(const char *name, GLPipelineState::Texture &el) +{ + Serialise("", el.Resource); + Serialise("", el.FirstSlice); +} + template<> void Serialiser::Serialise(const char *name, GLPipelineState &el) { @@ -263,6 +315,10 @@ void Serialiser::Serialise(const char *name, GLPipelineState &el) Serialise("", el.m_GS); Serialise("", el.m_FS); Serialise("", el.m_CS); + + Serialise("", el.m_VtxIn); + Serialise("", el.Textures); + Serialise("", el.m_FB); } template<>