core: remove unused Metal RendererBackend state-cache methods (#4519)

This commit is contained in:
Yul Kang
2026-08-25 16:10:14 +09:00
committed by GitHub
parent ef5ff9ac01
commit 96afb98b7f
10 changed files with 0 additions and 75 deletions

View File

@@ -17,16 +17,12 @@ class ProgramParameters;
namespace mtl {
using ProcAddress = void (*)();
using FramebufferID = uint32_t;
class RendererBackend : public gfx::RendererBackend {
public:
RendererBackend(gfx::ContextMode);
~RendererBackend() override;
/// Called prior to rendering to update the internally assumed MetalMetal state.
virtual void updateAssumedState() = 0;
/// One-time shader initialization
void initShaders(gfx::ShaderRegistry&, const ProgramParameters& programParameters) override;
@@ -40,26 +36,6 @@ protected:
/// Reads the color pixel data from the currently bound framebuffer.
PremultipliedImage readFramebuffer(const Size&);
/// A constant to signal that a framebuffer is bound, but with an unknown ID.
static constexpr const FramebufferID ImplicitFramebufferBinding = std::numeric_limits<FramebufferID>::max();
/// Tells the renderer that the Metal state has already been set by the windowing toolkit.
/// It sets the internal assumed state to the supplied values.
void assumeFramebufferBinding(FramebufferID fbo);
void assumeViewport(int32_t x, int32_t y, const Size&);
void assumeScissorTest(bool);
/// Returns true when assumed framebuffer binding hasn't changed from the implicit binding.
bool implicitFramebufferBound();
public:
/// Triggers a Metal state update if the internal assumed state doesn't
/// match the supplied values.
void setFramebufferBinding(FramebufferID fbo);
void setViewport(int32_t x, int32_t y, const Size&);
void setScissorTest(bool);
protected:
MTLDevicePtr device;
MTLCommandQueuePtr commandQueue;
bool baseVertexInstanceDrawingSupported = false;

View File

@@ -15,7 +15,6 @@ public:
SwapBehaviour = SwapBehaviour::NoFlush,
gfx::ContextMode = gfx::ContextMode::Unique);
~HeadlessBackend() override;
void updateAssumedState() override;
gfx::Renderable& getDefaultRenderable() override;
PremultipliedImage readStillImage() override;
MTL::Texture* getMetalTexture();

View File

@@ -87,10 +87,6 @@ void HeadlessBackend::ensureResource() {
}
}
void HeadlessBackend::updateAssumedState() {
// no-op
}
PremultipliedImage HeadlessBackend::readStillImage() {
return getResource<HeadlessRenderableResource>().readStillImage();
}

View File

@@ -14,7 +14,6 @@ public:
mln::gfx::Renderable &getDefaultRenderable() override;
void activate() override;
void deactivate() override;
void updateAssumedState() override;
void setSize(mln::Size size_);
mln::Size getSize() const;
};

View File

@@ -127,7 +127,6 @@ mln::gfx::Renderable& MetalBackend::getDefaultRenderable() { return *this; }
void MetalBackend::activate() {}
void MetalBackend::deactivate() {}
void MetalBackend::updateAssumedState() {}
void MetalBackend::setSize(mln::Size size_) {
size = size_;

View File

@@ -26,11 +26,6 @@ private:
void deactivate() override;
// End implementation of mln::gfx::RendererBackend
// Implementation of mln::gl::RendererBackend
public:
void updateAssumedState() override;
// End implementation of mln::gl::Rendererbackend
// Implementation of MLNMapViewImpl
public:
mln::gfx::RendererBackend& getRendererBackend() override { return *this; }

View File

@@ -208,15 +208,6 @@ void MLNMapViewMetalImpl::deactivate() {
}
}
/// This function is called before we start rendering, when iOS invokes our rendering method.
/// iOS already sets the correct framebuffer and viewport for us, so we need to update the
/// context state with the anticipated values.
void MLNMapViewMetalImpl::updateAssumedState() {
auto& resource = getResource<MLNMapViewMetalRenderableResource>();
assumeFramebufferBinding(ImplicitFramebufferBinding);
assumeViewport(0, 0, resource.framebufferSize());
}
UIImage* MLNMapViewMetalImpl::snapshot() {
auto& resource = getResource<MLNMapViewMetalRenderableResource>();
return nil; // TODO: resource.mtlView.snapshot;

View File

@@ -26,11 +26,6 @@ private:
void deactivate() override;
// End implementation of mln::gfx::RendererBackend
// Implementation of mln::gl::RendererBackend
public:
void updateAssumedState() override;
// End implementation of mln::gl::Rendererbackend
// Implementation of MLNMapViewImpl
public:
mln::gfx::RendererBackend& getRendererBackend() override { return *this; }

View File

@@ -158,15 +158,6 @@ void MLNMapViewMetalImpl::deactivate() {
}
}
/// This function is called before we start rendering, when iOS invokes our rendering method.
/// iOS already sets the correct framebuffer and viewport for us, so we need to update the
/// context state with the anticipated values.
void MLNMapViewMetalImpl::updateAssumedState() {
auto& resource = getResource<MLNMapViewMetalRenderableResource>();
assumeFramebufferBinding(ImplicitFramebufferBinding);
assumeViewport(0, 0, resource.framebufferSize());
}
mln::PremultipliedImage MLNMapViewMetalImpl::readStillImage() {
// return readFramebuffer(mapView.framebufferSize); // TODO: RendererBackend::readFramebuffer
return {};

View File

@@ -60,22 +60,6 @@ PremultipliedImage RendererBackend::readFramebuffer(const Size& size) {
return PremultipliedImage(size);
}
void RendererBackend::assumeFramebufferBinding(const mtl::FramebufferID) {}
void RendererBackend::assumeViewport(int32_t, int32_t, const Size&) {}
void RendererBackend::assumeScissorTest(bool) {}
bool RendererBackend::implicitFramebufferBound() {
return false;
}
void RendererBackend::setFramebufferBinding(const mtl::FramebufferID) {}
void RendererBackend::setViewport(int32_t, int32_t, const Size&) {}
void RendererBackend::setScissorTest(bool) {}
/// @brief Register a list of types with a shader registry instance
/// @tparam ...ShaderID Pack of BuiltIn:: shader IDs
/// @param registry A shader registry instance