MTLShader.mm 455 B

1234567891011121314151617181920
  1. #include "VideoBackends/Metal/MTLShader.h"
  2. #include "VideoBackends/Metal/MTLObjectCache.h"
  3. Metal::Shader::Shader(ShaderStage stage, std::string msl, MRCOwned<id<MTLFunction>> shader)
  4. : AbstractShader(stage), m_msl(std::move(msl)), m_shader(std::move(shader))
  5. {
  6. }
  7. Metal::Shader::~Shader()
  8. {
  9. g_object_cache->ShaderDestroyed(this);
  10. }
  11. AbstractShader::BinaryData Metal::Shader::GetBinary() const
  12. {
  13. return BinaryData(m_msl.begin(), m_msl.end());
  14. }