// Copyright 2022 Dolphin Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include #include "VideoBackends/Metal/MRCHelpers.h" #include "VideoCommon/AbstractPipeline.h" #include "VideoCommon/AbstractShader.h" namespace Metal { class Shader : public AbstractShader { public: explicit Shader(ShaderStage stage, std::string msl, MRCOwned> shader); ~Shader(); id GetShader() const { return m_shader; } const std::string& GetMSL() const { return m_msl; } BinaryData GetBinary() const override; private: std::string m_msl; MRCOwned> m_shader; }; } // namespace Metal