summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Metal/MTLShader.mm
blob: a1afcb160b0a616c778fb0bd4d1d0d641e30e08f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

#include "VideoBackends/Metal/MTLShader.h"

#include "VideoBackends/Metal/MTLObjectCache.h"

Metal::Shader::Shader(ShaderStage stage, std::string msl, MRCOwned<id<MTLFunction>> shader)
    : AbstractShader(stage), m_msl(std::move(msl)), m_shader(std::move(shader))
{
}

Metal::Shader::~Shader()
{
  g_object_cache->ShaderDestroyed(this);
}

AbstractShader::BinaryData Metal::Shader::GetBinary() const
{
  return BinaryData(m_msl.begin(), m_msl.end());
}