using Ryujinx.Graphics.GAL.Multithreading.Model; using Ryujinx.Graphics.GAL.Multithreading.Resources; namespace Ryujinx.Graphics.GAL.Multithreading.Commands { struct SetTextureAndSamplerCommand : IGALCommand { public CommandType CommandType => CommandType.SetTextureAndSampler; private int _binding; private TableRef _texture; private TableRef _sampler; public void Set(int binding, TableRef texture, TableRef sampler) { _binding = binding; _texture = texture; _sampler = sampler; } public static void Run(ref SetTextureAndSamplerCommand command, ThreadedRenderer threaded, IRenderer renderer) { renderer.Pipeline.SetTextureAndSampler(command._binding, command._texture.GetAs(threaded)?.Base, command._sampler.GetAs(threaded)?.Base); } } }