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