{-# language CPP #-}
-- No documentation found for Chapter "ResolveModeFlagBits"
module Vulkan.Core12.Enums.ResolveModeFlagBits  ( ResolveModeFlags
                                                , ResolveModeFlagBits( RESOLVE_MODE_NONE
                                                                     , RESOLVE_MODE_SAMPLE_ZERO_BIT
                                                                     , RESOLVE_MODE_AVERAGE_BIT
                                                                     , RESOLVE_MODE_MIN_BIT
                                                                     , RESOLVE_MODE_MAX_BIT
                                                                     , RESOLVE_MODE_CUSTOM_BIT_EXT
                                                                     , RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID
                                                                     , ..
                                                                     )
                                                ) where

import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import GHC.Show (showString)
import Numeric (showHex)
import Vulkan.Zero (Zero)
import Foreign.Storable (Storable)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Vulkan.Core10.FundamentalTypes (Flags)
type ResolveModeFlags = ResolveModeFlagBits

-- | VkResolveModeFlagBits - Bitmask indicating supported depth and stencil
-- resolve modes
--
-- = Description
--
-- -   'RESOLVE_MODE_NONE' specifies that no resolve operation is done.
--
-- -   'RESOLVE_MODE_SAMPLE_ZERO_BIT' specifies that result of the resolve
--     operation is equal to the value of sample 0.
--
-- -   'RESOLVE_MODE_AVERAGE_BIT' specifies that result of the resolve
--     operation is the average of the sample values.
--
-- -   'RESOLVE_MODE_MIN_BIT' specifies that result of the resolve
--     operation is the minimum of the sample values.
--
-- -   'RESOLVE_MODE_MAX_BIT' specifies that result of the resolve
--     operation is the maximum of the sample values.
--
-- -   'RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID' specifies that
--     rather than a multisample resolve, a single sampled color attachment
--     will be downsampled into a Y′CBCR format image specified by an
--     external Android format. Unlike other resolve modes, implementations
--     can resolve multiple times during rendering, or even bypass writing
--     to the color attachment altogether, as long as the final value is
--     resolved to the resolve attachment. Values in the G, B, and R
--     channels of the color attachment will be written to the Y, CB, and
--     CR channels of the external format image, respectively. Chroma
--     values are calculated as if sampling with a linear filter from the
--     color attachment at full rate, at the location the chroma values sit
--     according to
--     'Vulkan.Extensions.VK_ANDROID_external_format_resolve.PhysicalDeviceExternalFormatResolvePropertiesANDROID'::@externalFormatResolveChromaOffsetX@,
--     'Vulkan.Extensions.VK_ANDROID_external_format_resolve.PhysicalDeviceExternalFormatResolvePropertiesANDROID'::@externalFormatResolveChromaOffsetY@,
--     and the chroma sample rate of the resolved image.
--
-- -   'RESOLVE_MODE_CUSTOM_BIT_EXT' specifies that the attachment will be
--     resolved by shaders in the render pass instead of fixed-function
--     operations.
--
-- If no resolve mode is otherwise specified, 'RESOLVE_MODE_AVERAGE_BIT' is
-- used.
--
-- If 'RESOLVE_MODE_AVERAGE_BIT' is used, and the source format is a
-- floating-point or normalized type, the sample values for each pixel are
-- resolved with implementation-defined numerical precision.
--
-- If the
-- <https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#formats-numericformat numeric format>
-- of the resolve attachment uses sRGB encoding, the implementation
-- /should/ convert samples from nonlinear to linear before averaging
-- samples as described in the “sRGB EOTF” section of the
-- <https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#data-format Khronos Data Format Specification>.
-- In this case, the implementation /must/ convert the linear averaged
-- value to nonlinear before writing the resolved result to resolve
-- attachment. If the
-- <https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#features-maintenance10 maintenance10>
-- feature is enabled, whether a nonlinear to linear conversion happens for
-- sRGB resolve is defined by
-- <https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#limits-resolveSrgbFormatAppliesTransferFunction resolveSrgbFormatAppliesTransferFunction>.
-- This behavior /can/ be overridden with appropriate
-- @VK_*@/RESOLVE/{SKIP,ENABLE}_TRANSFER_FUNCTION_BIT_KHR flag usage.
--
-- No range compression or Y′CBCR model conversion is performed by
-- 'RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID'; applications have
-- to do these conversions themselves. Value outputs are expected to match
-- those that would be read through a
-- <https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#textures-sampler-YCbCr-conversion-modelconversion Y′CBCR sampler using >.
-- The color space that the values should be in is defined by the platform
-- and is not exposed via Vulkan.
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_depth_stencil_resolve VK_KHR_depth_stencil_resolve>,
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
-- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingAttachmentInfo',
-- 'Vulkan.Extensions.VK_KHR_maintenance10.ResolveImageModeInfoKHR',
-- 'ResolveModeFlags',
-- 'Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.SubpassDescriptionDepthStencilResolve'
newtype ResolveModeFlagBits = ResolveModeFlagBits Flags
  deriving newtype (ResolveModeFlagBits -> ResolveModeFlagBits -> Bool
(ResolveModeFlagBits -> ResolveModeFlagBits -> Bool)
-> (ResolveModeFlagBits -> ResolveModeFlagBits -> Bool)
-> Eq ResolveModeFlagBits
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ResolveModeFlagBits -> ResolveModeFlagBits -> Bool
== :: ResolveModeFlagBits -> ResolveModeFlagBits -> Bool
$c/= :: ResolveModeFlagBits -> ResolveModeFlagBits -> Bool
/= :: ResolveModeFlagBits -> ResolveModeFlagBits -> Bool
Eq, Eq ResolveModeFlagBits
Eq ResolveModeFlagBits =>
(ResolveModeFlagBits -> ResolveModeFlagBits -> Ordering)
-> (ResolveModeFlagBits -> ResolveModeFlagBits -> Bool)
-> (ResolveModeFlagBits -> ResolveModeFlagBits -> Bool)
-> (ResolveModeFlagBits -> ResolveModeFlagBits -> Bool)
-> (ResolveModeFlagBits -> ResolveModeFlagBits -> Bool)
-> (ResolveModeFlagBits
    -> ResolveModeFlagBits -> ResolveModeFlagBits)
-> (ResolveModeFlagBits
    -> ResolveModeFlagBits -> ResolveModeFlagBits)
-> Ord ResolveModeFlagBits
ResolveModeFlagBits -> ResolveModeFlagBits -> Bool
ResolveModeFlagBits -> ResolveModeFlagBits -> Ordering
ResolveModeFlagBits -> ResolveModeFlagBits -> ResolveModeFlagBits
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
$ccompare :: ResolveModeFlagBits -> ResolveModeFlagBits -> Ordering
compare :: ResolveModeFlagBits -> ResolveModeFlagBits -> Ordering
$c< :: ResolveModeFlagBits -> ResolveModeFlagBits -> Bool
< :: ResolveModeFlagBits -> ResolveModeFlagBits -> Bool
$c<= :: ResolveModeFlagBits -> ResolveModeFlagBits -> Bool
<= :: ResolveModeFlagBits -> ResolveModeFlagBits -> Bool
$c> :: ResolveModeFlagBits -> ResolveModeFlagBits -> Bool
> :: ResolveModeFlagBits -> ResolveModeFlagBits -> Bool
$c>= :: ResolveModeFlagBits -> ResolveModeFlagBits -> Bool
>= :: ResolveModeFlagBits -> ResolveModeFlagBits -> Bool
$cmax :: ResolveModeFlagBits -> ResolveModeFlagBits -> ResolveModeFlagBits
max :: ResolveModeFlagBits -> ResolveModeFlagBits -> ResolveModeFlagBits
$cmin :: ResolveModeFlagBits -> ResolveModeFlagBits -> ResolveModeFlagBits
min :: ResolveModeFlagBits -> ResolveModeFlagBits -> ResolveModeFlagBits
Ord, Ptr ResolveModeFlagBits -> IO ResolveModeFlagBits
Ptr ResolveModeFlagBits -> Int -> IO ResolveModeFlagBits
Ptr ResolveModeFlagBits -> Int -> ResolveModeFlagBits -> IO ()
Ptr ResolveModeFlagBits -> ResolveModeFlagBits -> IO ()
ResolveModeFlagBits -> Int
(ResolveModeFlagBits -> Int)
-> (ResolveModeFlagBits -> Int)
-> (Ptr ResolveModeFlagBits -> Int -> IO ResolveModeFlagBits)
-> (Ptr ResolveModeFlagBits -> Int -> ResolveModeFlagBits -> IO ())
-> (forall b. Ptr b -> Int -> IO ResolveModeFlagBits)
-> (forall b. Ptr b -> Int -> ResolveModeFlagBits -> IO ())
-> (Ptr ResolveModeFlagBits -> IO ResolveModeFlagBits)
-> (Ptr ResolveModeFlagBits -> ResolveModeFlagBits -> IO ())
-> Storable ResolveModeFlagBits
forall b. Ptr b -> Int -> IO ResolveModeFlagBits
forall b. Ptr b -> Int -> ResolveModeFlagBits -> 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
$csizeOf :: ResolveModeFlagBits -> Int
sizeOf :: ResolveModeFlagBits -> Int
$calignment :: ResolveModeFlagBits -> Int
alignment :: ResolveModeFlagBits -> Int
$cpeekElemOff :: Ptr ResolveModeFlagBits -> Int -> IO ResolveModeFlagBits
peekElemOff :: Ptr ResolveModeFlagBits -> Int -> IO ResolveModeFlagBits
$cpokeElemOff :: Ptr ResolveModeFlagBits -> Int -> ResolveModeFlagBits -> IO ()
pokeElemOff :: Ptr ResolveModeFlagBits -> Int -> ResolveModeFlagBits -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ResolveModeFlagBits
peekByteOff :: forall b. Ptr b -> Int -> IO ResolveModeFlagBits
$cpokeByteOff :: forall b. Ptr b -> Int -> ResolveModeFlagBits -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> ResolveModeFlagBits -> IO ()
$cpeek :: Ptr ResolveModeFlagBits -> IO ResolveModeFlagBits
peek :: Ptr ResolveModeFlagBits -> IO ResolveModeFlagBits
$cpoke :: Ptr ResolveModeFlagBits -> ResolveModeFlagBits -> IO ()
poke :: Ptr ResolveModeFlagBits -> ResolveModeFlagBits -> IO ()
Storable, ResolveModeFlagBits
ResolveModeFlagBits -> Zero ResolveModeFlagBits
forall a. a -> Zero a
$czero :: ResolveModeFlagBits
zero :: ResolveModeFlagBits
Zero, Eq ResolveModeFlagBits
ResolveModeFlagBits
Eq ResolveModeFlagBits =>
(ResolveModeFlagBits -> ResolveModeFlagBits -> ResolveModeFlagBits)
-> (ResolveModeFlagBits
    -> ResolveModeFlagBits -> ResolveModeFlagBits)
-> (ResolveModeFlagBits
    -> ResolveModeFlagBits -> ResolveModeFlagBits)
-> (ResolveModeFlagBits -> ResolveModeFlagBits)
-> (ResolveModeFlagBits -> Int -> ResolveModeFlagBits)
-> (ResolveModeFlagBits -> Int -> ResolveModeFlagBits)
-> ResolveModeFlagBits
-> (Int -> ResolveModeFlagBits)
-> (ResolveModeFlagBits -> Int -> ResolveModeFlagBits)
-> (ResolveModeFlagBits -> Int -> ResolveModeFlagBits)
-> (ResolveModeFlagBits -> Int -> ResolveModeFlagBits)
-> (ResolveModeFlagBits -> Int -> Bool)
-> (ResolveModeFlagBits -> Maybe Int)
-> (ResolveModeFlagBits -> Int)
-> (ResolveModeFlagBits -> Bool)
-> (ResolveModeFlagBits -> Int -> ResolveModeFlagBits)
-> (ResolveModeFlagBits -> Int -> ResolveModeFlagBits)
-> (ResolveModeFlagBits -> Int -> ResolveModeFlagBits)
-> (ResolveModeFlagBits -> Int -> ResolveModeFlagBits)
-> (ResolveModeFlagBits -> Int -> ResolveModeFlagBits)
-> (ResolveModeFlagBits -> Int -> ResolveModeFlagBits)
-> (ResolveModeFlagBits -> Int)
-> Bits ResolveModeFlagBits
Int -> ResolveModeFlagBits
ResolveModeFlagBits -> Bool
ResolveModeFlagBits -> Int
ResolveModeFlagBits -> Maybe Int
ResolveModeFlagBits -> ResolveModeFlagBits
ResolveModeFlagBits -> Int -> Bool
ResolveModeFlagBits -> Int -> ResolveModeFlagBits
ResolveModeFlagBits -> ResolveModeFlagBits -> ResolveModeFlagBits
forall a.
Eq a =>
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
$c.&. :: ResolveModeFlagBits -> ResolveModeFlagBits -> ResolveModeFlagBits
.&. :: ResolveModeFlagBits -> ResolveModeFlagBits -> ResolveModeFlagBits
$c.|. :: ResolveModeFlagBits -> ResolveModeFlagBits -> ResolveModeFlagBits
.|. :: ResolveModeFlagBits -> ResolveModeFlagBits -> ResolveModeFlagBits
$cxor :: ResolveModeFlagBits -> ResolveModeFlagBits -> ResolveModeFlagBits
xor :: ResolveModeFlagBits -> ResolveModeFlagBits -> ResolveModeFlagBits
$ccomplement :: ResolveModeFlagBits -> ResolveModeFlagBits
complement :: ResolveModeFlagBits -> ResolveModeFlagBits
$cshift :: ResolveModeFlagBits -> Int -> ResolveModeFlagBits
shift :: ResolveModeFlagBits -> Int -> ResolveModeFlagBits
$crotate :: ResolveModeFlagBits -> Int -> ResolveModeFlagBits
rotate :: ResolveModeFlagBits -> Int -> ResolveModeFlagBits
$czeroBits :: ResolveModeFlagBits
zeroBits :: ResolveModeFlagBits
$cbit :: Int -> ResolveModeFlagBits
bit :: Int -> ResolveModeFlagBits
$csetBit :: ResolveModeFlagBits -> Int -> ResolveModeFlagBits
setBit :: ResolveModeFlagBits -> Int -> ResolveModeFlagBits
$cclearBit :: ResolveModeFlagBits -> Int -> ResolveModeFlagBits
clearBit :: ResolveModeFlagBits -> Int -> ResolveModeFlagBits
$ccomplementBit :: ResolveModeFlagBits -> Int -> ResolveModeFlagBits
complementBit :: ResolveModeFlagBits -> Int -> ResolveModeFlagBits
$ctestBit :: ResolveModeFlagBits -> Int -> Bool
testBit :: ResolveModeFlagBits -> Int -> Bool
$cbitSizeMaybe :: ResolveModeFlagBits -> Maybe Int
bitSizeMaybe :: ResolveModeFlagBits -> Maybe Int
$cbitSize :: ResolveModeFlagBits -> Int
bitSize :: ResolveModeFlagBits -> Int
$cisSigned :: ResolveModeFlagBits -> Bool
isSigned :: ResolveModeFlagBits -> Bool
$cshiftL :: ResolveModeFlagBits -> Int -> ResolveModeFlagBits
shiftL :: ResolveModeFlagBits -> Int -> ResolveModeFlagBits
$cunsafeShiftL :: ResolveModeFlagBits -> Int -> ResolveModeFlagBits
unsafeShiftL :: ResolveModeFlagBits -> Int -> ResolveModeFlagBits
$cshiftR :: ResolveModeFlagBits -> Int -> ResolveModeFlagBits
shiftR :: ResolveModeFlagBits -> Int -> ResolveModeFlagBits
$cunsafeShiftR :: ResolveModeFlagBits -> Int -> ResolveModeFlagBits
unsafeShiftR :: ResolveModeFlagBits -> Int -> ResolveModeFlagBits
$crotateL :: ResolveModeFlagBits -> Int -> ResolveModeFlagBits
rotateL :: ResolveModeFlagBits -> Int -> ResolveModeFlagBits
$crotateR :: ResolveModeFlagBits -> Int -> ResolveModeFlagBits
rotateR :: ResolveModeFlagBits -> Int -> ResolveModeFlagBits
$cpopCount :: ResolveModeFlagBits -> Int
popCount :: ResolveModeFlagBits -> Int
Bits, Bits ResolveModeFlagBits
Bits ResolveModeFlagBits =>
(ResolveModeFlagBits -> Int)
-> (ResolveModeFlagBits -> Int)
-> (ResolveModeFlagBits -> Int)
-> FiniteBits ResolveModeFlagBits
ResolveModeFlagBits -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
$cfiniteBitSize :: ResolveModeFlagBits -> Int
finiteBitSize :: ResolveModeFlagBits -> Int
$ccountLeadingZeros :: ResolveModeFlagBits -> Int
countLeadingZeros :: ResolveModeFlagBits -> Int
$ccountTrailingZeros :: ResolveModeFlagBits -> Int
countTrailingZeros :: ResolveModeFlagBits -> Int
FiniteBits)

-- No documentation found for Nested "VkResolveModeFlagBits" "VK_RESOLVE_MODE_NONE"
pattern $mRESOLVE_MODE_NONE :: forall {r}.
ResolveModeFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
$bRESOLVE_MODE_NONE :: ResolveModeFlagBits
RESOLVE_MODE_NONE = ResolveModeFlagBits 0x00000000

-- No documentation found for Nested "VkResolveModeFlagBits" "VK_RESOLVE_MODE_SAMPLE_ZERO_BIT"
pattern $mRESOLVE_MODE_SAMPLE_ZERO_BIT :: forall {r}.
ResolveModeFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
$bRESOLVE_MODE_SAMPLE_ZERO_BIT :: ResolveModeFlagBits
RESOLVE_MODE_SAMPLE_ZERO_BIT = ResolveModeFlagBits 0x00000001

-- No documentation found for Nested "VkResolveModeFlagBits" "VK_RESOLVE_MODE_AVERAGE_BIT"
pattern $mRESOLVE_MODE_AVERAGE_BIT :: forall {r}.
ResolveModeFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
$bRESOLVE_MODE_AVERAGE_BIT :: ResolveModeFlagBits
RESOLVE_MODE_AVERAGE_BIT = ResolveModeFlagBits 0x00000002

-- No documentation found for Nested "VkResolveModeFlagBits" "VK_RESOLVE_MODE_MIN_BIT"
pattern $mRESOLVE_MODE_MIN_BIT :: forall {r}.
ResolveModeFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
$bRESOLVE_MODE_MIN_BIT :: ResolveModeFlagBits
RESOLVE_MODE_MIN_BIT = ResolveModeFlagBits 0x00000004

-- No documentation found for Nested "VkResolveModeFlagBits" "VK_RESOLVE_MODE_MAX_BIT"
pattern $mRESOLVE_MODE_MAX_BIT :: forall {r}.
ResolveModeFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
$bRESOLVE_MODE_MAX_BIT :: ResolveModeFlagBits
RESOLVE_MODE_MAX_BIT = ResolveModeFlagBits 0x00000008

-- No documentation found for Nested "VkResolveModeFlagBits" "VK_RESOLVE_MODE_CUSTOM_BIT_EXT"
pattern $mRESOLVE_MODE_CUSTOM_BIT_EXT :: forall {r}.
ResolveModeFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
$bRESOLVE_MODE_CUSTOM_BIT_EXT :: ResolveModeFlagBits
RESOLVE_MODE_CUSTOM_BIT_EXT = ResolveModeFlagBits 0x00000020

-- No documentation found for Nested "VkResolveModeFlagBits" "VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID"
pattern $mRESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID :: forall {r}.
ResolveModeFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
$bRESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID :: ResolveModeFlagBits
RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID = ResolveModeFlagBits 0x00000010

conNameResolveModeFlagBits :: String
conNameResolveModeFlagBits :: String
conNameResolveModeFlagBits = String
"ResolveModeFlagBits"

enumPrefixResolveModeFlagBits :: String
enumPrefixResolveModeFlagBits :: String
enumPrefixResolveModeFlagBits = String
"RESOLVE_MODE_"

showTableResolveModeFlagBits :: [(ResolveModeFlagBits, String)]
showTableResolveModeFlagBits :: [(ResolveModeFlagBits, String)]
showTableResolveModeFlagBits =
  [ (ResolveModeFlagBits
RESOLVE_MODE_NONE, String
"NONE")
  ,
    ( ResolveModeFlagBits
RESOLVE_MODE_SAMPLE_ZERO_BIT
    , String
"SAMPLE_ZERO_BIT"
    )
  , (ResolveModeFlagBits
RESOLVE_MODE_AVERAGE_BIT, String
"AVERAGE_BIT")
  , (ResolveModeFlagBits
RESOLVE_MODE_MIN_BIT, String
"MIN_BIT")
  , (ResolveModeFlagBits
RESOLVE_MODE_MAX_BIT, String
"MAX_BIT")
  , (ResolveModeFlagBits
RESOLVE_MODE_CUSTOM_BIT_EXT, String
"CUSTOM_BIT_EXT")
  ,
    ( ResolveModeFlagBits
RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID
    , String
"EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID"
    )
  ]

instance Show ResolveModeFlagBits where
  showsPrec :: Int -> ResolveModeFlagBits -> ShowS
showsPrec =
    String
-> [(ResolveModeFlagBits, String)]
-> String
-> (ResolveModeFlagBits -> Word32)
-> (Word32 -> ShowS)
-> Int
-> ResolveModeFlagBits
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
      String
enumPrefixResolveModeFlagBits
      [(ResolveModeFlagBits, String)]
showTableResolveModeFlagBits
      String
conNameResolveModeFlagBits
      (\(ResolveModeFlagBits Word32
x) -> Word32
x)
      (\Word32
x -> String -> ShowS
showString String
"0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> ShowS
forall a. Integral a => a -> ShowS
showHex Word32
x)

instance Read ResolveModeFlagBits where
  readPrec :: ReadPrec ResolveModeFlagBits
readPrec =
    String
-> [(ResolveModeFlagBits, String)]
-> String
-> (Word32 -> ResolveModeFlagBits)
-> ReadPrec ResolveModeFlagBits
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
      String
enumPrefixResolveModeFlagBits
      [(ResolveModeFlagBits, String)]
showTableResolveModeFlagBits
      String
conNameResolveModeFlagBits
      Word32 -> ResolveModeFlagBits
ResolveModeFlagBits