37 void execute(MTL::RenderCommandEncoder* encoder,
40 const std::vector<std::shared_ptr<MetalBindGroupFormat>>& bindGroupFormats,
41 MTL::SamplerState* defaultSampler, MTL::DepthStencilState* defaultDepthStencilState);
44 void ensureResources();
49 std::shared_ptr<Shader> _shader;
50 std::shared_ptr<BlendState> _blendState;
51 std::shared_ptr<DepthState> _depthState;
52 MTL::DepthStencilState* _depthStencilState =
nullptr;
GPU texture resource supporting 2D, cubemap, volume, and array formats with mipmap management.