module Engine.Stage.Bootstrap.Types
  ( Stage

  , NoRendering(..)
  , NoPipelines(..)
  , NoResources(..)
  , NoState(..)
  ) where

import RIO

import Engine.Vulkan.Types (RenderPass(..))
import Engine.Types qualified as Engine

data NoRendering = NoRendering

instance RenderPass NoRendering where
  updateRenderpass :: swapchain -> NoRendering -> RIO env NoRendering
updateRenderpass swapchain
_context = NoRendering -> RIO env NoRendering
forall (f :: * -> *) a. Applicative f => a -> f a
pure
  refcountRenderpass :: NoRendering -> RIO env ()
refcountRenderpass NoRendering
_rp = () -> RIO env ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ()

data NoPipelines = NoPipelines

type Stage = Engine.Stage NoRendering NoPipelines NoResources NoState

data NoResources = NoResources

data NoState = NoState