70 void execute(MTL::RenderCommandEncoder* encoder,
79 const std::shared_ptr<RenderTarget>& renderTarget,
80 const std::vector<std::shared_ptr<MetalBindGroupFormat>>& bindGroupFormats,
81 MTL::SamplerState* defaultSampler,
82 MTL::DepthStencilState* defaultDepthStencilState);
85 void ensureResources();
90 std::shared_ptr<Shader> _shader;
91 std::shared_ptr<BlendState> _blendState;
92 std::shared_ptr<DepthState> _depthState;
93 MTL::DepthStencilState* _depthStencilState =
nullptr;
GPU texture resource supporting 2D, cubemap, volume, and array formats with mipmap management.