From b1692a4000edc472bcd7f84b198b1fe60d75cfe6 Mon Sep 17 00:00:00 2001 From: Alex Szpakowski Date: Wed, 7 Apr 2021 20:12:15 -0300 Subject: [PATCH] metal: implement internal Shader::setVideoTextures method --- src/modules/graphics/metal/Shader.mm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/modules/graphics/metal/Shader.mm b/src/modules/graphics/metal/Shader.mm index c3cc7908b..becaaa2d7 100644 --- a/src/modules/graphics/metal/Shader.mm +++ b/src/modules/graphics/metal/Shader.mm @@ -851,7 +851,20 @@ void Shader::sendBuffers(const UniformInfo *info, love::graphics::Buffer **buffe void Shader::setVideoTextures(love::graphics::Texture *ytexture, love::graphics::Texture *cbtexture, love::graphics::Texture *crtexture) { - // TODO + const BuiltinUniform builtins[3] = { + BUILTIN_TEXTURE_VIDEO_Y, + BUILTIN_TEXTURE_VIDEO_CB, + BUILTIN_TEXTURE_VIDEO_CR, + }; + + love::graphics::Texture *textures[3] = {ytexture, cbtexture, crtexture}; + + for (int i = 0; i < 3; i++) + { + const UniformInfo *info = builtinUniformInfo[builtins[i]]; + if (info != nullptr) + sendTextures(info, &textures[i], 1); + } } bool Shader::hasUniform(const std::string &name) const