{-# language CPP #-}
module OpenXR.Extensions.XR_EXT_performance_settings ( perfSettingsSetPerformanceLevelEXT
, EventDataPerfSettingsEXT(..)
, PerfSettingsLevelEXT( PERF_SETTINGS_LEVEL_POWER_SAVINGS_EXT
, PERF_SETTINGS_LEVEL_SUSTAINED_LOW_EXT
, PERF_SETTINGS_LEVEL_SUSTAINED_HIGH_EXT
, PERF_SETTINGS_LEVEL_BOOST_EXT
, ..
)
, PerfSettingsDomainEXT( PERF_SETTINGS_DOMAIN_CPU_EXT
, PERF_SETTINGS_DOMAIN_GPU_EXT
, ..
)
, PerfSettingsSubDomainEXT( PERF_SETTINGS_SUB_DOMAIN_COMPOSITING_EXT
, PERF_SETTINGS_SUB_DOMAIN_RENDERING_EXT
, PERF_SETTINGS_SUB_DOMAIN_THERMAL_EXT
, ..
)
, PerfSettingsNotificationLevelEXT( PERF_SETTINGS_NOTIF_LEVEL_NORMAL_EXT
, PERF_SETTINGS_NOTIF_LEVEL_WARNING_EXT
, PERF_SETTINGS_NOTIF_LEVEL_IMPAIRED_EXT
, ..
)
, EXT_performance_settings_SPEC_VERSION
, pattern EXT_performance_settings_SPEC_VERSION
, EXT_PERFORMANCE_SETTINGS_EXTENSION_NAME
, pattern EXT_PERFORMANCE_SETTINGS_EXTENSION_NAME
) where
import OpenXR.Internal.Utils (enumReadPrec)
import OpenXR.Internal.Utils (enumShowsPrec)
import OpenXR.Internal.Utils (traceAroundEvent)
import Control.Monad (unless)
import Control.Monad.IO.Class (liftIO)
import Foreign.Marshal.Alloc (allocaBytesAligned)
import GHC.Base (when)
import GHC.IO (throwIO)
import GHC.Ptr (nullFunPtr)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import GHC.Show (showsPrec)
import OpenXR.CStruct (FromCStruct)
import OpenXR.CStruct (FromCStruct(..))
import OpenXR.CStruct (ToCStruct)
import OpenXR.CStruct (ToCStruct(..))
import OpenXR.Zero (Zero)
import OpenXR.Zero (Zero(..))
import Control.Monad.IO.Class (MonadIO)
import Data.String (IsString)
import Data.Typeable (Typeable)
import Foreign.Storable (Storable)
import Foreign.Storable (Storable(peek))
import Foreign.Storable (Storable(poke))
import qualified Foreign.Storable (Storable(..))
import GHC.Generics (Generic)
import GHC.IO.Exception (IOErrorType(..))
import GHC.IO.Exception (IOException(..))
import Data.Int (Int32)
import Foreign.Ptr (FunPtr)
import Foreign.Ptr (Ptr)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Data.Kind (Type)
import OpenXR.Core10.OtherTypes (EventDataBaseHeader(..))
import OpenXR.Dynamic (InstanceCmds(pXrPerfSettingsSetPerformanceLevelEXT))
import OpenXR.Core10.OtherTypes (IsEventData(..))
import OpenXR.Exception (OpenXrException(..))
import OpenXR.Core10.Enums.Result (Result)
import OpenXR.Core10.Enums.Result (Result(..))
import OpenXR.Core10.Handles (Session)
import OpenXR.Core10.Handles (Session(..))
import OpenXR.Core10.Handles (Session_T)
import OpenXR.Core10.Enums.StructureType (StructureType)
import OpenXR.Core10.Enums.Result (Result(SUCCESS))
import OpenXR.Core10.Enums.StructureType (StructureType(TYPE_EVENT_DATA_PERF_SETTINGS_EXT))
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkXrPerfSettingsSetPerformanceLevelEXT
:: FunPtr (Ptr Session_T -> PerfSettingsDomainEXT -> PerfSettingsLevelEXT -> IO Result) -> Ptr Session_T -> PerfSettingsDomainEXT -> PerfSettingsLevelEXT -> IO Result
perfSettingsSetPerformanceLevelEXT :: forall io
. (MonadIO io)
=>
Session
->
PerfSettingsDomainEXT
->
PerfSettingsLevelEXT
-> io (Result)
perfSettingsSetPerformanceLevelEXT :: Session
-> PerfSettingsDomainEXT -> PerfSettingsLevelEXT -> io Result
perfSettingsSetPerformanceLevelEXT session :: Session
session domain :: PerfSettingsDomainEXT
domain level :: PerfSettingsLevelEXT
level = IO Result -> io Result
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Result -> io Result) -> IO Result -> io Result
forall a b. (a -> b) -> a -> b
$ do
let xrPerfSettingsSetPerformanceLevelEXTPtr :: FunPtr
(Ptr Session_T
-> PerfSettingsDomainEXT -> PerfSettingsLevelEXT -> IO Result)
xrPerfSettingsSetPerformanceLevelEXTPtr = InstanceCmds
-> FunPtr
(Ptr Session_T
-> PerfSettingsDomainEXT -> PerfSettingsLevelEXT -> IO Result)
pXrPerfSettingsSetPerformanceLevelEXT (Session -> InstanceCmds
instanceCmds (Session
session :: Session))
Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Session_T
-> PerfSettingsDomainEXT -> PerfSettingsLevelEXT -> IO Result)
xrPerfSettingsSetPerformanceLevelEXTPtr FunPtr
(Ptr Session_T
-> PerfSettingsDomainEXT -> PerfSettingsLevelEXT -> IO Result)
-> FunPtr
(Ptr Session_T
-> PerfSettingsDomainEXT -> PerfSettingsLevelEXT -> IO Result)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Session_T
-> PerfSettingsDomainEXT -> PerfSettingsLevelEXT -> IO Result)
forall a. FunPtr a
nullFunPtr) (IO () -> IO ()) -> IO () -> IO ()
forall a b. (a -> b) -> a -> b
$
IOException -> IO ()
forall e a. Exception e => e -> IO a
throwIO (IOException -> IO ()) -> IOException -> IO ()
forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError Maybe Handle
forall a. Maybe a
Nothing IOErrorType
InvalidArgument "" "The function pointer for xrPerfSettingsSetPerformanceLevelEXT is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let xrPerfSettingsSetPerformanceLevelEXT' :: Ptr Session_T
-> PerfSettingsDomainEXT -> PerfSettingsLevelEXT -> IO Result
xrPerfSettingsSetPerformanceLevelEXT' = FunPtr
(Ptr Session_T
-> PerfSettingsDomainEXT -> PerfSettingsLevelEXT -> IO Result)
-> Ptr Session_T
-> PerfSettingsDomainEXT
-> PerfSettingsLevelEXT
-> IO Result
mkXrPerfSettingsSetPerformanceLevelEXT FunPtr
(Ptr Session_T
-> PerfSettingsDomainEXT -> PerfSettingsLevelEXT -> IO Result)
xrPerfSettingsSetPerformanceLevelEXTPtr
Result
r <- String -> IO Result -> IO Result
forall a. String -> IO a -> IO a
traceAroundEvent "xrPerfSettingsSetPerformanceLevelEXT" (Ptr Session_T
-> PerfSettingsDomainEXT -> PerfSettingsLevelEXT -> IO Result
xrPerfSettingsSetPerformanceLevelEXT' (Session -> Ptr Session_T
sessionHandle (Session
session)) (PerfSettingsDomainEXT
domain) (PerfSettingsLevelEXT
level))
Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
when (Result
r Result -> Result -> Bool
forall a. Ord a => a -> a -> Bool
< Result
SUCCESS) (OpenXrException -> IO ()
forall e a. Exception e => e -> IO a
throwIO (Result -> OpenXrException
OpenXrException Result
r))
Result -> IO Result
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Result -> IO Result) -> Result -> IO Result
forall a b. (a -> b) -> a -> b
$ (Result
r)
data EventDataPerfSettingsEXT = EventDataPerfSettingsEXT
{
EventDataPerfSettingsEXT -> PerfSettingsDomainEXT
domain :: PerfSettingsDomainEXT
,
EventDataPerfSettingsEXT -> PerfSettingsSubDomainEXT
subDomain :: PerfSettingsSubDomainEXT
,
EventDataPerfSettingsEXT -> PerfSettingsNotificationLevelEXT
fromLevel :: PerfSettingsNotificationLevelEXT
,
EventDataPerfSettingsEXT -> PerfSettingsNotificationLevelEXT
toLevel :: PerfSettingsNotificationLevelEXT
}
deriving (Typeable, EventDataPerfSettingsEXT -> EventDataPerfSettingsEXT -> Bool
(EventDataPerfSettingsEXT -> EventDataPerfSettingsEXT -> Bool)
-> (EventDataPerfSettingsEXT -> EventDataPerfSettingsEXT -> Bool)
-> Eq EventDataPerfSettingsEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: EventDataPerfSettingsEXT -> EventDataPerfSettingsEXT -> Bool
$c/= :: EventDataPerfSettingsEXT -> EventDataPerfSettingsEXT -> Bool
== :: EventDataPerfSettingsEXT -> EventDataPerfSettingsEXT -> Bool
$c== :: EventDataPerfSettingsEXT -> EventDataPerfSettingsEXT -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (EventDataPerfSettingsEXT)
#endif
deriving instance Show EventDataPerfSettingsEXT
instance IsEventData EventDataPerfSettingsEXT where
toEventDataBaseHeader :: EventDataPerfSettingsEXT -> EventDataBaseHeader
toEventDataBaseHeader EventDataPerfSettingsEXT{} = $WEventDataBaseHeader :: StructureType -> EventDataBaseHeader
EventDataBaseHeader{$sel:type':EventDataBaseHeader :: StructureType
type' = StructureType
TYPE_EVENT_DATA_PERF_SETTINGS_EXT}
instance ToCStruct EventDataPerfSettingsEXT where
withCStruct :: EventDataPerfSettingsEXT
-> (Ptr EventDataPerfSettingsEXT -> IO b) -> IO b
withCStruct x :: EventDataPerfSettingsEXT
x f :: Ptr EventDataPerfSettingsEXT -> IO b
f = Int -> Int -> (Ptr EventDataPerfSettingsEXT -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 32 8 ((Ptr EventDataPerfSettingsEXT -> IO b) -> IO b)
-> (Ptr EventDataPerfSettingsEXT -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \p :: Ptr EventDataPerfSettingsEXT
p -> Ptr EventDataPerfSettingsEXT
-> EventDataPerfSettingsEXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr EventDataPerfSettingsEXT
p EventDataPerfSettingsEXT
x (Ptr EventDataPerfSettingsEXT -> IO b
f Ptr EventDataPerfSettingsEXT
p)
pokeCStruct :: Ptr EventDataPerfSettingsEXT
-> EventDataPerfSettingsEXT -> IO b -> IO b
pokeCStruct p :: Ptr EventDataPerfSettingsEXT
p EventDataPerfSettingsEXT{..} f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr EventDataPerfSettingsEXT
p Ptr EventDataPerfSettingsEXT -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
TYPE_EVENT_DATA_PERF_SETTINGS_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr EventDataPerfSettingsEXT
p Ptr EventDataPerfSettingsEXT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr EventDataPerfSettingsEXT
p Ptr EventDataPerfSettingsEXT -> Int -> Ptr PerfSettingsDomainEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr PerfSettingsDomainEXT)) (PerfSettingsDomainEXT
domain)
Ptr PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr EventDataPerfSettingsEXT
p Ptr EventDataPerfSettingsEXT -> Int -> Ptr PerfSettingsSubDomainEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr PerfSettingsSubDomainEXT)) (PerfSettingsSubDomainEXT
subDomain)
Ptr PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr EventDataPerfSettingsEXT
p Ptr EventDataPerfSettingsEXT
-> Int -> Ptr PerfSettingsNotificationLevelEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr PerfSettingsNotificationLevelEXT)) (PerfSettingsNotificationLevelEXT
fromLevel)
Ptr PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr EventDataPerfSettingsEXT
p Ptr EventDataPerfSettingsEXT
-> Int -> Ptr PerfSettingsNotificationLevelEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 28 :: Ptr PerfSettingsNotificationLevelEXT)) (PerfSettingsNotificationLevelEXT
toLevel)
IO b
f
cStructSize :: Int
cStructSize = 32
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: Ptr EventDataPerfSettingsEXT -> IO b -> IO b
pokeZeroCStruct p :: Ptr EventDataPerfSettingsEXT
p f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr EventDataPerfSettingsEXT
p Ptr EventDataPerfSettingsEXT -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
TYPE_EVENT_DATA_PERF_SETTINGS_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr EventDataPerfSettingsEXT
p Ptr EventDataPerfSettingsEXT -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr EventDataPerfSettingsEXT
p Ptr EventDataPerfSettingsEXT -> Int -> Ptr PerfSettingsDomainEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr PerfSettingsDomainEXT)) (PerfSettingsDomainEXT
forall a. Zero a => a
zero)
Ptr PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr EventDataPerfSettingsEXT
p Ptr EventDataPerfSettingsEXT -> Int -> Ptr PerfSettingsSubDomainEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr PerfSettingsSubDomainEXT)) (PerfSettingsSubDomainEXT
forall a. Zero a => a
zero)
Ptr PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr EventDataPerfSettingsEXT
p Ptr EventDataPerfSettingsEXT
-> Int -> Ptr PerfSettingsNotificationLevelEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr PerfSettingsNotificationLevelEXT)) (PerfSettingsNotificationLevelEXT
forall a. Zero a => a
zero)
Ptr PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr EventDataPerfSettingsEXT
p Ptr EventDataPerfSettingsEXT
-> Int -> Ptr PerfSettingsNotificationLevelEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 28 :: Ptr PerfSettingsNotificationLevelEXT)) (PerfSettingsNotificationLevelEXT
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct EventDataPerfSettingsEXT where
peekCStruct :: Ptr EventDataPerfSettingsEXT -> IO EventDataPerfSettingsEXT
peekCStruct p :: Ptr EventDataPerfSettingsEXT
p = do
PerfSettingsDomainEXT
domain <- Ptr PerfSettingsDomainEXT -> IO PerfSettingsDomainEXT
forall a. Storable a => Ptr a -> IO a
peek @PerfSettingsDomainEXT ((Ptr EventDataPerfSettingsEXT
p Ptr EventDataPerfSettingsEXT -> Int -> Ptr PerfSettingsDomainEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr PerfSettingsDomainEXT))
PerfSettingsSubDomainEXT
subDomain <- Ptr PerfSettingsSubDomainEXT -> IO PerfSettingsSubDomainEXT
forall a. Storable a => Ptr a -> IO a
peek @PerfSettingsSubDomainEXT ((Ptr EventDataPerfSettingsEXT
p Ptr EventDataPerfSettingsEXT -> Int -> Ptr PerfSettingsSubDomainEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr PerfSettingsSubDomainEXT))
PerfSettingsNotificationLevelEXT
fromLevel <- Ptr PerfSettingsNotificationLevelEXT
-> IO PerfSettingsNotificationLevelEXT
forall a. Storable a => Ptr a -> IO a
peek @PerfSettingsNotificationLevelEXT ((Ptr EventDataPerfSettingsEXT
p Ptr EventDataPerfSettingsEXT
-> Int -> Ptr PerfSettingsNotificationLevelEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr PerfSettingsNotificationLevelEXT))
PerfSettingsNotificationLevelEXT
toLevel <- Ptr PerfSettingsNotificationLevelEXT
-> IO PerfSettingsNotificationLevelEXT
forall a. Storable a => Ptr a -> IO a
peek @PerfSettingsNotificationLevelEXT ((Ptr EventDataPerfSettingsEXT
p Ptr EventDataPerfSettingsEXT
-> Int -> Ptr PerfSettingsNotificationLevelEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 28 :: Ptr PerfSettingsNotificationLevelEXT))
EventDataPerfSettingsEXT -> IO EventDataPerfSettingsEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure (EventDataPerfSettingsEXT -> IO EventDataPerfSettingsEXT)
-> EventDataPerfSettingsEXT -> IO EventDataPerfSettingsEXT
forall a b. (a -> b) -> a -> b
$ PerfSettingsDomainEXT
-> PerfSettingsSubDomainEXT
-> PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT
-> EventDataPerfSettingsEXT
EventDataPerfSettingsEXT
PerfSettingsDomainEXT
domain PerfSettingsSubDomainEXT
subDomain PerfSettingsNotificationLevelEXT
fromLevel PerfSettingsNotificationLevelEXT
toLevel
instance Storable EventDataPerfSettingsEXT where
sizeOf :: EventDataPerfSettingsEXT -> Int
sizeOf ~EventDataPerfSettingsEXT
_ = 32
alignment :: EventDataPerfSettingsEXT -> Int
alignment ~EventDataPerfSettingsEXT
_ = 8
peek :: Ptr EventDataPerfSettingsEXT -> IO EventDataPerfSettingsEXT
peek = Ptr EventDataPerfSettingsEXT -> IO EventDataPerfSettingsEXT
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr EventDataPerfSettingsEXT -> EventDataPerfSettingsEXT -> IO ()
poke ptr :: Ptr EventDataPerfSettingsEXT
ptr poked :: EventDataPerfSettingsEXT
poked = Ptr EventDataPerfSettingsEXT
-> EventDataPerfSettingsEXT -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr EventDataPerfSettingsEXT
ptr EventDataPerfSettingsEXT
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero EventDataPerfSettingsEXT where
zero :: EventDataPerfSettingsEXT
zero = PerfSettingsDomainEXT
-> PerfSettingsSubDomainEXT
-> PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT
-> EventDataPerfSettingsEXT
EventDataPerfSettingsEXT
PerfSettingsDomainEXT
forall a. Zero a => a
zero
PerfSettingsSubDomainEXT
forall a. Zero a => a
zero
PerfSettingsNotificationLevelEXT
forall a. Zero a => a
zero
PerfSettingsNotificationLevelEXT
forall a. Zero a => a
zero
newtype PerfSettingsLevelEXT = PerfSettingsLevelEXT Int32
deriving newtype (PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Bool
(PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Bool)
-> (PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Bool)
-> Eq PerfSettingsLevelEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Bool
$c/= :: PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Bool
== :: PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Bool
$c== :: PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Bool
Eq, Eq PerfSettingsLevelEXT
Eq PerfSettingsLevelEXT =>
(PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Ordering)
-> (PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Bool)
-> (PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Bool)
-> (PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Bool)
-> (PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Bool)
-> (PerfSettingsLevelEXT
-> PerfSettingsLevelEXT -> PerfSettingsLevelEXT)
-> (PerfSettingsLevelEXT
-> PerfSettingsLevelEXT -> PerfSettingsLevelEXT)
-> Ord PerfSettingsLevelEXT
PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Bool
PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Ordering
PerfSettingsLevelEXT
-> PerfSettingsLevelEXT -> PerfSettingsLevelEXT
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: PerfSettingsLevelEXT
-> PerfSettingsLevelEXT -> PerfSettingsLevelEXT
$cmin :: PerfSettingsLevelEXT
-> PerfSettingsLevelEXT -> PerfSettingsLevelEXT
max :: PerfSettingsLevelEXT
-> PerfSettingsLevelEXT -> PerfSettingsLevelEXT
$cmax :: PerfSettingsLevelEXT
-> PerfSettingsLevelEXT -> PerfSettingsLevelEXT
>= :: PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Bool
$c>= :: PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Bool
> :: PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Bool
$c> :: PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Bool
<= :: PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Bool
$c<= :: PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Bool
< :: PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Bool
$c< :: PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Bool
compare :: PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Ordering
$ccompare :: PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> Ordering
$cp1Ord :: Eq PerfSettingsLevelEXT
Ord, Ptr b -> Int -> IO PerfSettingsLevelEXT
Ptr b -> Int -> PerfSettingsLevelEXT -> IO ()
Ptr PerfSettingsLevelEXT -> IO PerfSettingsLevelEXT
Ptr PerfSettingsLevelEXT -> Int -> IO PerfSettingsLevelEXT
Ptr PerfSettingsLevelEXT -> Int -> PerfSettingsLevelEXT -> IO ()
Ptr PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> IO ()
PerfSettingsLevelEXT -> Int
(PerfSettingsLevelEXT -> Int)
-> (PerfSettingsLevelEXT -> Int)
-> (Ptr PerfSettingsLevelEXT -> Int -> IO PerfSettingsLevelEXT)
-> (Ptr PerfSettingsLevelEXT
-> Int -> PerfSettingsLevelEXT -> IO ())
-> (forall b. Ptr b -> Int -> IO PerfSettingsLevelEXT)
-> (forall b. Ptr b -> Int -> PerfSettingsLevelEXT -> IO ())
-> (Ptr PerfSettingsLevelEXT -> IO PerfSettingsLevelEXT)
-> (Ptr PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> IO ())
-> Storable PerfSettingsLevelEXT
forall b. Ptr b -> Int -> IO PerfSettingsLevelEXT
forall b. Ptr b -> Int -> PerfSettingsLevelEXT -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> IO ()
$cpoke :: Ptr PerfSettingsLevelEXT -> PerfSettingsLevelEXT -> IO ()
peek :: Ptr PerfSettingsLevelEXT -> IO PerfSettingsLevelEXT
$cpeek :: Ptr PerfSettingsLevelEXT -> IO PerfSettingsLevelEXT
pokeByteOff :: Ptr b -> Int -> PerfSettingsLevelEXT -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> PerfSettingsLevelEXT -> IO ()
peekByteOff :: Ptr b -> Int -> IO PerfSettingsLevelEXT
$cpeekByteOff :: forall b. Ptr b -> Int -> IO PerfSettingsLevelEXT
pokeElemOff :: Ptr PerfSettingsLevelEXT -> Int -> PerfSettingsLevelEXT -> IO ()
$cpokeElemOff :: Ptr PerfSettingsLevelEXT -> Int -> PerfSettingsLevelEXT -> IO ()
peekElemOff :: Ptr PerfSettingsLevelEXT -> Int -> IO PerfSettingsLevelEXT
$cpeekElemOff :: Ptr PerfSettingsLevelEXT -> Int -> IO PerfSettingsLevelEXT
alignment :: PerfSettingsLevelEXT -> Int
$calignment :: PerfSettingsLevelEXT -> Int
sizeOf :: PerfSettingsLevelEXT -> Int
$csizeOf :: PerfSettingsLevelEXT -> Int
Storable, PerfSettingsLevelEXT
PerfSettingsLevelEXT -> Zero PerfSettingsLevelEXT
forall a. a -> Zero a
zero :: PerfSettingsLevelEXT
$czero :: PerfSettingsLevelEXT
Zero)
pattern $bPERF_SETTINGS_LEVEL_POWER_SAVINGS_EXT :: PerfSettingsLevelEXT
$mPERF_SETTINGS_LEVEL_POWER_SAVINGS_EXT :: forall r. PerfSettingsLevelEXT -> (Void# -> r) -> (Void# -> r) -> r
PERF_SETTINGS_LEVEL_POWER_SAVINGS_EXT = PerfSettingsLevelEXT 0
pattern $bPERF_SETTINGS_LEVEL_SUSTAINED_LOW_EXT :: PerfSettingsLevelEXT
$mPERF_SETTINGS_LEVEL_SUSTAINED_LOW_EXT :: forall r. PerfSettingsLevelEXT -> (Void# -> r) -> (Void# -> r) -> r
PERF_SETTINGS_LEVEL_SUSTAINED_LOW_EXT = PerfSettingsLevelEXT 25
pattern $bPERF_SETTINGS_LEVEL_SUSTAINED_HIGH_EXT :: PerfSettingsLevelEXT
$mPERF_SETTINGS_LEVEL_SUSTAINED_HIGH_EXT :: forall r. PerfSettingsLevelEXT -> (Void# -> r) -> (Void# -> r) -> r
PERF_SETTINGS_LEVEL_SUSTAINED_HIGH_EXT = PerfSettingsLevelEXT 50
pattern $bPERF_SETTINGS_LEVEL_BOOST_EXT :: PerfSettingsLevelEXT
$mPERF_SETTINGS_LEVEL_BOOST_EXT :: forall r. PerfSettingsLevelEXT -> (Void# -> r) -> (Void# -> r) -> r
PERF_SETTINGS_LEVEL_BOOST_EXT = PerfSettingsLevelEXT 75
{-# complete PERF_SETTINGS_LEVEL_POWER_SAVINGS_EXT,
PERF_SETTINGS_LEVEL_SUSTAINED_LOW_EXT,
PERF_SETTINGS_LEVEL_SUSTAINED_HIGH_EXT,
PERF_SETTINGS_LEVEL_BOOST_EXT :: PerfSettingsLevelEXT #-}
conNamePerfSettingsLevelEXT :: String
conNamePerfSettingsLevelEXT :: String
conNamePerfSettingsLevelEXT = "PerfSettingsLevelEXT"
enumPrefixPerfSettingsLevelEXT :: String
enumPrefixPerfSettingsLevelEXT :: String
enumPrefixPerfSettingsLevelEXT = "PERF_SETTINGS_LEVEL_"
showTablePerfSettingsLevelEXT :: [(PerfSettingsLevelEXT, String)]
showTablePerfSettingsLevelEXT :: [(PerfSettingsLevelEXT, String)]
showTablePerfSettingsLevelEXT =
[ (PerfSettingsLevelEXT
PERF_SETTINGS_LEVEL_POWER_SAVINGS_EXT , "POWER_SAVINGS_EXT")
, (PerfSettingsLevelEXT
PERF_SETTINGS_LEVEL_SUSTAINED_LOW_EXT , "SUSTAINED_LOW_EXT")
, (PerfSettingsLevelEXT
PERF_SETTINGS_LEVEL_SUSTAINED_HIGH_EXT, "SUSTAINED_HIGH_EXT")
, (PerfSettingsLevelEXT
PERF_SETTINGS_LEVEL_BOOST_EXT , "BOOST_EXT")
]
instance Show PerfSettingsLevelEXT where
showsPrec :: Int -> PerfSettingsLevelEXT -> ShowS
showsPrec = String
-> [(PerfSettingsLevelEXT, String)]
-> String
-> (PerfSettingsLevelEXT -> Int32)
-> (Int32 -> ShowS)
-> Int
-> PerfSettingsLevelEXT
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec String
enumPrefixPerfSettingsLevelEXT
[(PerfSettingsLevelEXT, String)]
showTablePerfSettingsLevelEXT
String
conNamePerfSettingsLevelEXT
(\(PerfSettingsLevelEXT x :: Int32
x) -> Int32
x)
(Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec 11)
instance Read PerfSettingsLevelEXT where
readPrec :: ReadPrec PerfSettingsLevelEXT
readPrec = String
-> [(PerfSettingsLevelEXT, String)]
-> String
-> (Int32 -> PerfSettingsLevelEXT)
-> ReadPrec PerfSettingsLevelEXT
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec String
enumPrefixPerfSettingsLevelEXT
[(PerfSettingsLevelEXT, String)]
showTablePerfSettingsLevelEXT
String
conNamePerfSettingsLevelEXT
Int32 -> PerfSettingsLevelEXT
PerfSettingsLevelEXT
newtype PerfSettingsDomainEXT = PerfSettingsDomainEXT Int32
deriving newtype (PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Bool
(PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Bool)
-> (PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Bool)
-> Eq PerfSettingsDomainEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Bool
$c/= :: PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Bool
== :: PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Bool
$c== :: PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Bool
Eq, Eq PerfSettingsDomainEXT
Eq PerfSettingsDomainEXT =>
(PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Ordering)
-> (PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Bool)
-> (PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Bool)
-> (PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Bool)
-> (PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Bool)
-> (PerfSettingsDomainEXT
-> PerfSettingsDomainEXT -> PerfSettingsDomainEXT)
-> (PerfSettingsDomainEXT
-> PerfSettingsDomainEXT -> PerfSettingsDomainEXT)
-> Ord PerfSettingsDomainEXT
PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Bool
PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Ordering
PerfSettingsDomainEXT
-> PerfSettingsDomainEXT -> PerfSettingsDomainEXT
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: PerfSettingsDomainEXT
-> PerfSettingsDomainEXT -> PerfSettingsDomainEXT
$cmin :: PerfSettingsDomainEXT
-> PerfSettingsDomainEXT -> PerfSettingsDomainEXT
max :: PerfSettingsDomainEXT
-> PerfSettingsDomainEXT -> PerfSettingsDomainEXT
$cmax :: PerfSettingsDomainEXT
-> PerfSettingsDomainEXT -> PerfSettingsDomainEXT
>= :: PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Bool
$c>= :: PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Bool
> :: PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Bool
$c> :: PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Bool
<= :: PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Bool
$c<= :: PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Bool
< :: PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Bool
$c< :: PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Bool
compare :: PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Ordering
$ccompare :: PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> Ordering
$cp1Ord :: Eq PerfSettingsDomainEXT
Ord, Ptr b -> Int -> IO PerfSettingsDomainEXT
Ptr b -> Int -> PerfSettingsDomainEXT -> IO ()
Ptr PerfSettingsDomainEXT -> IO PerfSettingsDomainEXT
Ptr PerfSettingsDomainEXT -> Int -> IO PerfSettingsDomainEXT
Ptr PerfSettingsDomainEXT -> Int -> PerfSettingsDomainEXT -> IO ()
Ptr PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> IO ()
PerfSettingsDomainEXT -> Int
(PerfSettingsDomainEXT -> Int)
-> (PerfSettingsDomainEXT -> Int)
-> (Ptr PerfSettingsDomainEXT -> Int -> IO PerfSettingsDomainEXT)
-> (Ptr PerfSettingsDomainEXT
-> Int -> PerfSettingsDomainEXT -> IO ())
-> (forall b. Ptr b -> Int -> IO PerfSettingsDomainEXT)
-> (forall b. Ptr b -> Int -> PerfSettingsDomainEXT -> IO ())
-> (Ptr PerfSettingsDomainEXT -> IO PerfSettingsDomainEXT)
-> (Ptr PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> IO ())
-> Storable PerfSettingsDomainEXT
forall b. Ptr b -> Int -> IO PerfSettingsDomainEXT
forall b. Ptr b -> Int -> PerfSettingsDomainEXT -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> IO ()
$cpoke :: Ptr PerfSettingsDomainEXT -> PerfSettingsDomainEXT -> IO ()
peek :: Ptr PerfSettingsDomainEXT -> IO PerfSettingsDomainEXT
$cpeek :: Ptr PerfSettingsDomainEXT -> IO PerfSettingsDomainEXT
pokeByteOff :: Ptr b -> Int -> PerfSettingsDomainEXT -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> PerfSettingsDomainEXT -> IO ()
peekByteOff :: Ptr b -> Int -> IO PerfSettingsDomainEXT
$cpeekByteOff :: forall b. Ptr b -> Int -> IO PerfSettingsDomainEXT
pokeElemOff :: Ptr PerfSettingsDomainEXT -> Int -> PerfSettingsDomainEXT -> IO ()
$cpokeElemOff :: Ptr PerfSettingsDomainEXT -> Int -> PerfSettingsDomainEXT -> IO ()
peekElemOff :: Ptr PerfSettingsDomainEXT -> Int -> IO PerfSettingsDomainEXT
$cpeekElemOff :: Ptr PerfSettingsDomainEXT -> Int -> IO PerfSettingsDomainEXT
alignment :: PerfSettingsDomainEXT -> Int
$calignment :: PerfSettingsDomainEXT -> Int
sizeOf :: PerfSettingsDomainEXT -> Int
$csizeOf :: PerfSettingsDomainEXT -> Int
Storable, PerfSettingsDomainEXT
PerfSettingsDomainEXT -> Zero PerfSettingsDomainEXT
forall a. a -> Zero a
zero :: PerfSettingsDomainEXT
$czero :: PerfSettingsDomainEXT
Zero)
pattern $bPERF_SETTINGS_DOMAIN_CPU_EXT :: PerfSettingsDomainEXT
$mPERF_SETTINGS_DOMAIN_CPU_EXT :: forall r.
PerfSettingsDomainEXT -> (Void# -> r) -> (Void# -> r) -> r
PERF_SETTINGS_DOMAIN_CPU_EXT = PerfSettingsDomainEXT 1
pattern $bPERF_SETTINGS_DOMAIN_GPU_EXT :: PerfSettingsDomainEXT
$mPERF_SETTINGS_DOMAIN_GPU_EXT :: forall r.
PerfSettingsDomainEXT -> (Void# -> r) -> (Void# -> r) -> r
PERF_SETTINGS_DOMAIN_GPU_EXT = PerfSettingsDomainEXT 2
{-# complete PERF_SETTINGS_DOMAIN_CPU_EXT,
PERF_SETTINGS_DOMAIN_GPU_EXT :: PerfSettingsDomainEXT #-}
conNamePerfSettingsDomainEXT :: String
conNamePerfSettingsDomainEXT :: String
conNamePerfSettingsDomainEXT = "PerfSettingsDomainEXT"
enumPrefixPerfSettingsDomainEXT :: String
enumPrefixPerfSettingsDomainEXT :: String
enumPrefixPerfSettingsDomainEXT = "PERF_SETTINGS_DOMAIN_"
showTablePerfSettingsDomainEXT :: [(PerfSettingsDomainEXT, String)]
showTablePerfSettingsDomainEXT :: [(PerfSettingsDomainEXT, String)]
showTablePerfSettingsDomainEXT = [(PerfSettingsDomainEXT
PERF_SETTINGS_DOMAIN_CPU_EXT, "CPU_EXT"), (PerfSettingsDomainEXT
PERF_SETTINGS_DOMAIN_GPU_EXT, "GPU_EXT")]
instance Show PerfSettingsDomainEXT where
showsPrec :: Int -> PerfSettingsDomainEXT -> ShowS
showsPrec = String
-> [(PerfSettingsDomainEXT, String)]
-> String
-> (PerfSettingsDomainEXT -> Int32)
-> (Int32 -> ShowS)
-> Int
-> PerfSettingsDomainEXT
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec String
enumPrefixPerfSettingsDomainEXT
[(PerfSettingsDomainEXT, String)]
showTablePerfSettingsDomainEXT
String
conNamePerfSettingsDomainEXT
(\(PerfSettingsDomainEXT x :: Int32
x) -> Int32
x)
(Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec 11)
instance Read PerfSettingsDomainEXT where
readPrec :: ReadPrec PerfSettingsDomainEXT
readPrec = String
-> [(PerfSettingsDomainEXT, String)]
-> String
-> (Int32 -> PerfSettingsDomainEXT)
-> ReadPrec PerfSettingsDomainEXT
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec String
enumPrefixPerfSettingsDomainEXT
[(PerfSettingsDomainEXT, String)]
showTablePerfSettingsDomainEXT
String
conNamePerfSettingsDomainEXT
Int32 -> PerfSettingsDomainEXT
PerfSettingsDomainEXT
newtype PerfSettingsSubDomainEXT = PerfSettingsSubDomainEXT Int32
deriving newtype (PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Bool
(PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Bool)
-> (PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Bool)
-> Eq PerfSettingsSubDomainEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Bool
$c/= :: PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Bool
== :: PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Bool
$c== :: PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Bool
Eq, Eq PerfSettingsSubDomainEXT
Eq PerfSettingsSubDomainEXT =>
(PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Ordering)
-> (PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Bool)
-> (PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Bool)
-> (PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Bool)
-> (PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Bool)
-> (PerfSettingsSubDomainEXT
-> PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT)
-> (PerfSettingsSubDomainEXT
-> PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT)
-> Ord PerfSettingsSubDomainEXT
PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Bool
PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Ordering
PerfSettingsSubDomainEXT
-> PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: PerfSettingsSubDomainEXT
-> PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT
$cmin :: PerfSettingsSubDomainEXT
-> PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT
max :: PerfSettingsSubDomainEXT
-> PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT
$cmax :: PerfSettingsSubDomainEXT
-> PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT
>= :: PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Bool
$c>= :: PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Bool
> :: PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Bool
$c> :: PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Bool
<= :: PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Bool
$c<= :: PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Bool
< :: PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Bool
$c< :: PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Bool
compare :: PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Ordering
$ccompare :: PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> Ordering
$cp1Ord :: Eq PerfSettingsSubDomainEXT
Ord, Ptr b -> Int -> IO PerfSettingsSubDomainEXT
Ptr b -> Int -> PerfSettingsSubDomainEXT -> IO ()
Ptr PerfSettingsSubDomainEXT -> IO PerfSettingsSubDomainEXT
Ptr PerfSettingsSubDomainEXT -> Int -> IO PerfSettingsSubDomainEXT
Ptr PerfSettingsSubDomainEXT
-> Int -> PerfSettingsSubDomainEXT -> IO ()
Ptr PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> IO ()
PerfSettingsSubDomainEXT -> Int
(PerfSettingsSubDomainEXT -> Int)
-> (PerfSettingsSubDomainEXT -> Int)
-> (Ptr PerfSettingsSubDomainEXT
-> Int -> IO PerfSettingsSubDomainEXT)
-> (Ptr PerfSettingsSubDomainEXT
-> Int -> PerfSettingsSubDomainEXT -> IO ())
-> (forall b. Ptr b -> Int -> IO PerfSettingsSubDomainEXT)
-> (forall b. Ptr b -> Int -> PerfSettingsSubDomainEXT -> IO ())
-> (Ptr PerfSettingsSubDomainEXT -> IO PerfSettingsSubDomainEXT)
-> (Ptr PerfSettingsSubDomainEXT
-> PerfSettingsSubDomainEXT -> IO ())
-> Storable PerfSettingsSubDomainEXT
forall b. Ptr b -> Int -> IO PerfSettingsSubDomainEXT
forall b. Ptr b -> Int -> PerfSettingsSubDomainEXT -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> IO ()
$cpoke :: Ptr PerfSettingsSubDomainEXT -> PerfSettingsSubDomainEXT -> IO ()
peek :: Ptr PerfSettingsSubDomainEXT -> IO PerfSettingsSubDomainEXT
$cpeek :: Ptr PerfSettingsSubDomainEXT -> IO PerfSettingsSubDomainEXT
pokeByteOff :: Ptr b -> Int -> PerfSettingsSubDomainEXT -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> PerfSettingsSubDomainEXT -> IO ()
peekByteOff :: Ptr b -> Int -> IO PerfSettingsSubDomainEXT
$cpeekByteOff :: forall b. Ptr b -> Int -> IO PerfSettingsSubDomainEXT
pokeElemOff :: Ptr PerfSettingsSubDomainEXT
-> Int -> PerfSettingsSubDomainEXT -> IO ()
$cpokeElemOff :: Ptr PerfSettingsSubDomainEXT
-> Int -> PerfSettingsSubDomainEXT -> IO ()
peekElemOff :: Ptr PerfSettingsSubDomainEXT -> Int -> IO PerfSettingsSubDomainEXT
$cpeekElemOff :: Ptr PerfSettingsSubDomainEXT -> Int -> IO PerfSettingsSubDomainEXT
alignment :: PerfSettingsSubDomainEXT -> Int
$calignment :: PerfSettingsSubDomainEXT -> Int
sizeOf :: PerfSettingsSubDomainEXT -> Int
$csizeOf :: PerfSettingsSubDomainEXT -> Int
Storable, PerfSettingsSubDomainEXT
PerfSettingsSubDomainEXT -> Zero PerfSettingsSubDomainEXT
forall a. a -> Zero a
zero :: PerfSettingsSubDomainEXT
$czero :: PerfSettingsSubDomainEXT
Zero)
pattern $bPERF_SETTINGS_SUB_DOMAIN_COMPOSITING_EXT :: PerfSettingsSubDomainEXT
$mPERF_SETTINGS_SUB_DOMAIN_COMPOSITING_EXT :: forall r.
PerfSettingsSubDomainEXT -> (Void# -> r) -> (Void# -> r) -> r
PERF_SETTINGS_SUB_DOMAIN_COMPOSITING_EXT = PerfSettingsSubDomainEXT 1
pattern $bPERF_SETTINGS_SUB_DOMAIN_RENDERING_EXT :: PerfSettingsSubDomainEXT
$mPERF_SETTINGS_SUB_DOMAIN_RENDERING_EXT :: forall r.
PerfSettingsSubDomainEXT -> (Void# -> r) -> (Void# -> r) -> r
PERF_SETTINGS_SUB_DOMAIN_RENDERING_EXT = PerfSettingsSubDomainEXT 2
pattern $bPERF_SETTINGS_SUB_DOMAIN_THERMAL_EXT :: PerfSettingsSubDomainEXT
$mPERF_SETTINGS_SUB_DOMAIN_THERMAL_EXT :: forall r.
PerfSettingsSubDomainEXT -> (Void# -> r) -> (Void# -> r) -> r
PERF_SETTINGS_SUB_DOMAIN_THERMAL_EXT = PerfSettingsSubDomainEXT 3
{-# complete PERF_SETTINGS_SUB_DOMAIN_COMPOSITING_EXT,
PERF_SETTINGS_SUB_DOMAIN_RENDERING_EXT,
PERF_SETTINGS_SUB_DOMAIN_THERMAL_EXT :: PerfSettingsSubDomainEXT #-}
conNamePerfSettingsSubDomainEXT :: String
conNamePerfSettingsSubDomainEXT :: String
conNamePerfSettingsSubDomainEXT = "PerfSettingsSubDomainEXT"
enumPrefixPerfSettingsSubDomainEXT :: String
enumPrefixPerfSettingsSubDomainEXT :: String
enumPrefixPerfSettingsSubDomainEXT = "PERF_SETTINGS_SUB_DOMAIN_"
showTablePerfSettingsSubDomainEXT :: [(PerfSettingsSubDomainEXT, String)]
showTablePerfSettingsSubDomainEXT :: [(PerfSettingsSubDomainEXT, String)]
showTablePerfSettingsSubDomainEXT =
[ (PerfSettingsSubDomainEXT
PERF_SETTINGS_SUB_DOMAIN_COMPOSITING_EXT, "COMPOSITING_EXT")
, (PerfSettingsSubDomainEXT
PERF_SETTINGS_SUB_DOMAIN_RENDERING_EXT , "RENDERING_EXT")
, (PerfSettingsSubDomainEXT
PERF_SETTINGS_SUB_DOMAIN_THERMAL_EXT , "THERMAL_EXT")
]
instance Show PerfSettingsSubDomainEXT where
showsPrec :: Int -> PerfSettingsSubDomainEXT -> ShowS
showsPrec = String
-> [(PerfSettingsSubDomainEXT, String)]
-> String
-> (PerfSettingsSubDomainEXT -> Int32)
-> (Int32 -> ShowS)
-> Int
-> PerfSettingsSubDomainEXT
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec String
enumPrefixPerfSettingsSubDomainEXT
[(PerfSettingsSubDomainEXT, String)]
showTablePerfSettingsSubDomainEXT
String
conNamePerfSettingsSubDomainEXT
(\(PerfSettingsSubDomainEXT x :: Int32
x) -> Int32
x)
(Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec 11)
instance Read PerfSettingsSubDomainEXT where
readPrec :: ReadPrec PerfSettingsSubDomainEXT
readPrec = String
-> [(PerfSettingsSubDomainEXT, String)]
-> String
-> (Int32 -> PerfSettingsSubDomainEXT)
-> ReadPrec PerfSettingsSubDomainEXT
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec String
enumPrefixPerfSettingsSubDomainEXT
[(PerfSettingsSubDomainEXT, String)]
showTablePerfSettingsSubDomainEXT
String
conNamePerfSettingsSubDomainEXT
Int32 -> PerfSettingsSubDomainEXT
PerfSettingsSubDomainEXT
newtype PerfSettingsNotificationLevelEXT = PerfSettingsNotificationLevelEXT Int32
deriving newtype (PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Bool
(PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Bool)
-> (PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Bool)
-> Eq PerfSettingsNotificationLevelEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Bool
$c/= :: PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Bool
== :: PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Bool
$c== :: PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Bool
Eq, Eq PerfSettingsNotificationLevelEXT
Eq PerfSettingsNotificationLevelEXT =>
(PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Ordering)
-> (PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Bool)
-> (PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Bool)
-> (PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Bool)
-> (PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Bool)
-> (PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT)
-> (PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT)
-> Ord PerfSettingsNotificationLevelEXT
PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Bool
PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Ordering
PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT
$cmin :: PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT
max :: PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT
$cmax :: PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT
>= :: PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Bool
$c>= :: PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Bool
> :: PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Bool
$c> :: PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Bool
<= :: PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Bool
$c<= :: PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Bool
< :: PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Bool
$c< :: PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Bool
compare :: PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Ordering
$ccompare :: PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> Ordering
$cp1Ord :: Eq PerfSettingsNotificationLevelEXT
Ord, Ptr b -> Int -> IO PerfSettingsNotificationLevelEXT
Ptr b -> Int -> PerfSettingsNotificationLevelEXT -> IO ()
Ptr PerfSettingsNotificationLevelEXT
-> IO PerfSettingsNotificationLevelEXT
Ptr PerfSettingsNotificationLevelEXT
-> Int -> IO PerfSettingsNotificationLevelEXT
Ptr PerfSettingsNotificationLevelEXT
-> Int -> PerfSettingsNotificationLevelEXT -> IO ()
Ptr PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> IO ()
PerfSettingsNotificationLevelEXT -> Int
(PerfSettingsNotificationLevelEXT -> Int)
-> (PerfSettingsNotificationLevelEXT -> Int)
-> (Ptr PerfSettingsNotificationLevelEXT
-> Int -> IO PerfSettingsNotificationLevelEXT)
-> (Ptr PerfSettingsNotificationLevelEXT
-> Int -> PerfSettingsNotificationLevelEXT -> IO ())
-> (forall b. Ptr b -> Int -> IO PerfSettingsNotificationLevelEXT)
-> (forall b.
Ptr b -> Int -> PerfSettingsNotificationLevelEXT -> IO ())
-> (Ptr PerfSettingsNotificationLevelEXT
-> IO PerfSettingsNotificationLevelEXT)
-> (Ptr PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> IO ())
-> Storable PerfSettingsNotificationLevelEXT
forall b. Ptr b -> Int -> IO PerfSettingsNotificationLevelEXT
forall b. Ptr b -> Int -> PerfSettingsNotificationLevelEXT -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> IO ()
$cpoke :: Ptr PerfSettingsNotificationLevelEXT
-> PerfSettingsNotificationLevelEXT -> IO ()
peek :: Ptr PerfSettingsNotificationLevelEXT
-> IO PerfSettingsNotificationLevelEXT
$cpeek :: Ptr PerfSettingsNotificationLevelEXT
-> IO PerfSettingsNotificationLevelEXT
pokeByteOff :: Ptr b -> Int -> PerfSettingsNotificationLevelEXT -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> PerfSettingsNotificationLevelEXT -> IO ()
peekByteOff :: Ptr b -> Int -> IO PerfSettingsNotificationLevelEXT
$cpeekByteOff :: forall b. Ptr b -> Int -> IO PerfSettingsNotificationLevelEXT
pokeElemOff :: Ptr PerfSettingsNotificationLevelEXT
-> Int -> PerfSettingsNotificationLevelEXT -> IO ()
$cpokeElemOff :: Ptr PerfSettingsNotificationLevelEXT
-> Int -> PerfSettingsNotificationLevelEXT -> IO ()
peekElemOff :: Ptr PerfSettingsNotificationLevelEXT
-> Int -> IO PerfSettingsNotificationLevelEXT
$cpeekElemOff :: Ptr PerfSettingsNotificationLevelEXT
-> Int -> IO PerfSettingsNotificationLevelEXT
alignment :: PerfSettingsNotificationLevelEXT -> Int
$calignment :: PerfSettingsNotificationLevelEXT -> Int
sizeOf :: PerfSettingsNotificationLevelEXT -> Int
$csizeOf :: PerfSettingsNotificationLevelEXT -> Int
Storable, PerfSettingsNotificationLevelEXT
PerfSettingsNotificationLevelEXT
-> Zero PerfSettingsNotificationLevelEXT
forall a. a -> Zero a
zero :: PerfSettingsNotificationLevelEXT
$czero :: PerfSettingsNotificationLevelEXT
Zero)
pattern $bPERF_SETTINGS_NOTIF_LEVEL_NORMAL_EXT :: PerfSettingsNotificationLevelEXT
$mPERF_SETTINGS_NOTIF_LEVEL_NORMAL_EXT :: forall r.
PerfSettingsNotificationLevelEXT
-> (Void# -> r) -> (Void# -> r) -> r
PERF_SETTINGS_NOTIF_LEVEL_NORMAL_EXT = PerfSettingsNotificationLevelEXT 0
pattern $bPERF_SETTINGS_NOTIF_LEVEL_WARNING_EXT :: PerfSettingsNotificationLevelEXT
$mPERF_SETTINGS_NOTIF_LEVEL_WARNING_EXT :: forall r.
PerfSettingsNotificationLevelEXT
-> (Void# -> r) -> (Void# -> r) -> r
PERF_SETTINGS_NOTIF_LEVEL_WARNING_EXT = PerfSettingsNotificationLevelEXT 25
pattern $bPERF_SETTINGS_NOTIF_LEVEL_IMPAIRED_EXT :: PerfSettingsNotificationLevelEXT
$mPERF_SETTINGS_NOTIF_LEVEL_IMPAIRED_EXT :: forall r.
PerfSettingsNotificationLevelEXT
-> (Void# -> r) -> (Void# -> r) -> r
PERF_SETTINGS_NOTIF_LEVEL_IMPAIRED_EXT = PerfSettingsNotificationLevelEXT 75
{-# complete PERF_SETTINGS_NOTIF_LEVEL_NORMAL_EXT,
PERF_SETTINGS_NOTIF_LEVEL_WARNING_EXT,
PERF_SETTINGS_NOTIF_LEVEL_IMPAIRED_EXT :: PerfSettingsNotificationLevelEXT #-}
conNamePerfSettingsNotificationLevelEXT :: String
conNamePerfSettingsNotificationLevelEXT :: String
conNamePerfSettingsNotificationLevelEXT = "PerfSettingsNotificationLevelEXT"
enumPrefixPerfSettingsNotificationLevelEXT :: String
enumPrefixPerfSettingsNotificationLevelEXT :: String
enumPrefixPerfSettingsNotificationLevelEXT = "PERF_SETTINGS_NOTIF_LEVEL_"
showTablePerfSettingsNotificationLevelEXT :: [(PerfSettingsNotificationLevelEXT, String)]
showTablePerfSettingsNotificationLevelEXT :: [(PerfSettingsNotificationLevelEXT, String)]
showTablePerfSettingsNotificationLevelEXT =
[ (PerfSettingsNotificationLevelEXT
PERF_SETTINGS_NOTIF_LEVEL_NORMAL_EXT , "NORMAL_EXT")
, (PerfSettingsNotificationLevelEXT
PERF_SETTINGS_NOTIF_LEVEL_WARNING_EXT , "WARNING_EXT")
, (PerfSettingsNotificationLevelEXT
PERF_SETTINGS_NOTIF_LEVEL_IMPAIRED_EXT, "IMPAIRED_EXT")
]
instance Show PerfSettingsNotificationLevelEXT where
showsPrec :: Int -> PerfSettingsNotificationLevelEXT -> ShowS
showsPrec = String
-> [(PerfSettingsNotificationLevelEXT, String)]
-> String
-> (PerfSettingsNotificationLevelEXT -> Int32)
-> (Int32 -> ShowS)
-> Int
-> PerfSettingsNotificationLevelEXT
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec String
enumPrefixPerfSettingsNotificationLevelEXT
[(PerfSettingsNotificationLevelEXT, String)]
showTablePerfSettingsNotificationLevelEXT
String
conNamePerfSettingsNotificationLevelEXT
(\(PerfSettingsNotificationLevelEXT x :: Int32
x) -> Int32
x)
(Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec 11)
instance Read PerfSettingsNotificationLevelEXT where
readPrec :: ReadPrec PerfSettingsNotificationLevelEXT
readPrec = String
-> [(PerfSettingsNotificationLevelEXT, String)]
-> String
-> (Int32 -> PerfSettingsNotificationLevelEXT)
-> ReadPrec PerfSettingsNotificationLevelEXT
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec String
enumPrefixPerfSettingsNotificationLevelEXT
[(PerfSettingsNotificationLevelEXT, String)]
showTablePerfSettingsNotificationLevelEXT
String
conNamePerfSettingsNotificationLevelEXT
Int32 -> PerfSettingsNotificationLevelEXT
PerfSettingsNotificationLevelEXT
type EXT_performance_settings_SPEC_VERSION = 1
pattern EXT_performance_settings_SPEC_VERSION :: forall a . Integral a => a
pattern $bEXT_performance_settings_SPEC_VERSION :: a
$mEXT_performance_settings_SPEC_VERSION :: forall r a. Integral a => a -> (Void# -> r) -> (Void# -> r) -> r
EXT_performance_settings_SPEC_VERSION = 1
type EXT_PERFORMANCE_SETTINGS_EXTENSION_NAME = "XR_EXT_performance_settings"
pattern EXT_PERFORMANCE_SETTINGS_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bEXT_PERFORMANCE_SETTINGS_EXTENSION_NAME :: a
$mEXT_PERFORMANCE_SETTINGS_EXTENSION_NAME :: forall r a.
(Eq a, IsString a) =>
a -> (Void# -> r) -> (Void# -> r) -> r
EXT_PERFORMANCE_SETTINGS_EXTENSION_NAME = "XR_EXT_performance_settings"