core: remove unused Metal RendererBackend state-cache methods (#4519)
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -87,10 +87,6 @@ void HeadlessBackend::ensureResource() {
|
||||
}
|
||||
}
|
||||
|
||||
void HeadlessBackend::updateAssumedState() {
|
||||
// no-op
|
||||
}
|
||||
|
||||
PremultipliedImage HeadlessBackend::readStillImage() {
|
||||
return getResource<HeadlessRenderableResource>().readStillImage();
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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_;
|
||||
|
||||
@@ -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; }
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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; }
|
||||
|
||||
@@ -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 {};
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user