diff --git a/src/video_core/renderer_vulkan/shader_cache.cpp b/src/video_core/renderer_vulkan/shader_cache.cpp index d6643a4df..cea80eb80 100644 --- a/src/video_core/renderer_vulkan/shader_cache.cpp +++ b/src/video_core/renderer_vulkan/shader_cache.cpp @@ -332,6 +332,7 @@ void SerializeInfo(std::ostream& info_serialized, Shader::Info &info) { ar << info.uses_patches; ar << info.buffers; ar << info.images; + ar << info.samplers; } diff --git a/src/video_core/renderer_vulkan/shader_cache_serialization.h b/src/video_core/renderer_vulkan/shader_cache_serialization.h index ba48ae7be..bbe0bf97c 100644 --- a/src/video_core/renderer_vulkan/shader_cache_serialization.h +++ b/src/video_core/renderer_vulkan/shader_cache_serialization.h @@ -3,6 +3,7 @@ #pragma once #include +#include #include #include "shader_recompiler/info.h" @@ -74,4 +75,18 @@ void serialize(Archive& ar, Shader::ImageResource& image) image.is_r128); } +// AmdGpu::Sampler +template +void serialize(Archive& ar, AmdGpu::Sampler& sampler) { + ar(cereal::binary_data(reinterpret_cast(&sampler), sizeof(sampler))); +} + +// Shader::SamplerResource +template +void serialize(Archive& ar, Shader::SamplerResource& sampler) { + ar(sampler.sampler); + ar(static_cast(sampler.associated_image), + static_cast(sampler.disable_aniso)); +} + } \ No newline at end of file