{-# LANGUAGE MultiParamTypeClasses #-} module Language.SpirV.LoopControl where import Data.Word (Word32) import Language.SpirV.SpirEnum import qualified Language.SpirV.Capability as Capability -- | <https:\/\/www.khronos.org\/registry\/spir-v\/specs\/1.0\/SPIRV.html#_a_id_loop_control_a_loop_control Source for Loop Control> data LoopControl = None | Unroll | DontUnroll deriving(Read, Show, Eq, Ord) instance SpirEnum LoopControl Word32 where toWord None = 0 toWord Unroll = 1 toWord DontUnroll = 2 fromWord 0 = Just None fromWord 1 = Just Unroll fromWord 2 = Just DontUnroll fromWord _ = Nothing requiredCapabilities _ = []