{-# language CPP #-}
{-# language OverloadedLists #-}
{-# language TupleSections #-}
-- No documentation found for Chapter "SPIRVRequirements"
module Vulkan.SPIRVRequirements  ( spirvExtensionRequirements
                                 , spirvCapabilityRequirements
                                 ) where

import Data.Bits (Bits)
import Data.Bits (zeroBits)
import Vulkan.Requirement (DeviceRequirement(..))
import Vulkan.Requirement (InstanceRequirement(..))
import Data.Bits ((.&.))
import Data.ByteString (ByteString)
import Vulkan.Core10.Handles (Instance)
import Vulkan.Core10.Handles (PhysicalDevice)
import Vulkan.Core10.DeviceInitialization (PhysicalDeviceFeatures(..))
import Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters (PhysicalDeviceShaderDrawParametersFeatures(..))
import Vulkan.Core12 (PhysicalDeviceVulkan11Features(..))
import Vulkan.Core12 (PhysicalDeviceVulkan11Properties)
import Vulkan.Core12 (PhysicalDeviceVulkan11Properties(..))
import Vulkan.Core12 (PhysicalDeviceVulkan12Features(..))
import Vulkan.Version (pattern MAKE_API_VERSION)
import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlags)
import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlagBits(SUBGROUP_FEATURE_ARITHMETIC_BIT))
import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlags)
import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlagBits(SUBGROUP_FEATURE_BALLOT_BIT))
import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlags)
import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlagBits(SUBGROUP_FEATURE_BASIC_BIT))
import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlags)
import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlagBits(SUBGROUP_FEATURE_CLUSTERED_BIT))
import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlags)
import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlagBits(SUBGROUP_FEATURE_QUAD_BIT))
import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlags)
import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlagBits(SUBGROUP_FEATURE_SHUFFLE_BIT))
import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlags)
import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlagBits(SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT))
import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlags)
import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlagBits(SUBGROUP_FEATURE_VOTE_BIT))
-- | Check if the intersection of bits is non-zero
(.&&.) :: Bits a => a -> a -> Bool
a
x .&&. :: forall a. Bits a => a -> a -> Bool
.&&. a
y = (a
x a -> a -> a
forall a. Bits a => a -> a -> a
.&. a
y) a -> a -> Bool
forall a. Eq a => a -> a -> Bool
/= a
forall a. Bits a => a
zeroBits

spirvExtensionRequirements :: ByteString -> ([InstanceRequirement], [DeviceRequirement])
spirvExtensionRequirements :: ByteString -> ([InstanceRequirement], [DeviceRequirement])
spirvExtensionRequirements = \case
  ByteString
"SPV_KHR_variable_pointers" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0]
  ByteString
"SPV_AMD_shader_explicit_vertex_parameter" -> (,) [] []
  ByteString
"SPV_AMD_gcn_shader" -> (,) [] []
  ByteString
"SPV_AMD_gpu_shader_half_float" -> (,) [] []
  ByteString
"SPV_AMD_gpu_shader_int16" -> (,) [] []
  ByteString
"SPV_AMD_shader_ballot" -> (,) [] []
  ByteString
"SPV_AMD_shader_fragment_mask" -> (,) [] []
  ByteString
"SPV_AMD_shader_image_load_store_lod" -> (,) [] []
  ByteString
"SPV_AMD_shader_trinary_minmax" -> (,) [] []
  ByteString
"SPV_AMD_texture_gather_bias_lod" -> (,) [] []
  ByteString
"SPV_AMD_shader_early_and_late_fragment_tests" -> (,) [] []
  ByteString
"SPV_KHR_shader_draw_parameters" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0]
  ByteString
"SPV_KHR_8bit_storage" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
  ByteString
"SPV_KHR_16bit_storage" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0]
  ByteString
"SPV_KHR_shader_clock" -> (,) [] []
  ByteString
"SPV_KHR_float_controls" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
  ByteString
"SPV_KHR_storage_buffer_storage_class" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0]
  ByteString
"SPV_KHR_post_depth_coverage" -> (,) [] []
  ByteString
"SPV_EXT_shader_stencil_export" -> (,) [] []
  ByteString
"SPV_KHR_shader_ballot" -> (,) [] []
  ByteString
"SPV_KHR_subgroup_vote" -> (,) [] []
  ByteString
"SPV_NV_sample_mask_override_coverage" -> (,) [] []
  ByteString
"SPV_NV_geometry_shader_passthrough" -> (,) [] []
  ByteString
"SPV_NV_mesh_shader" -> (,) [] []
  ByteString
"SPV_NV_viewport_array2" -> (,) [] []
  ByteString
"SPV_NV_shader_subgroup_partitioned" -> (,) [] []
  ByteString
"SPV_EXT_shader_subgroup_partitioned" -> (,) [] []
  ByteString
"SPV_NV_shader_invocation_reorder" -> (,) [] []
  ByteString
"SPV_EXT_shader_viewport_index_layer" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
  ByteString
"SPV_NVX_multiview_per_view_attributes" -> (,) [] []
  ByteString
"SPV_EXT_descriptor_indexing" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
  ByteString
"SPV_KHR_vulkan_memory_model" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
  ByteString
"SPV_NV_compute_shader_derivatives" -> (,) [] []
  ByteString
"SPV_NV_fragment_shader_barycentric" -> (,) [] []
  ByteString
"SPV_NV_shader_image_footprint" -> (,) [] []
  ByteString
"SPV_NV_shading_rate" -> (,) [] []
  ByteString
"SPV_NV_ray_tracing" -> (,) [] []
  ByteString
"SPV_KHR_ray_tracing" -> (,) [] []
  ByteString
"SPV_KHR_ray_query" -> (,) [] []
  ByteString
"SPV_KHR_ray_cull_mask" -> (,) [] []
  ByteString
"SPV_GOOGLE_hlsl_functionality1" -> (,) [] []
  ByteString
"SPV_GOOGLE_user_type" -> (,) [] []
  ByteString
"SPV_GOOGLE_decorate_string" -> (,) [] []
  ByteString
"SPV_EXT_fragment_invocation_density" -> (,) [] []
  ByteString
"SPV_KHR_physical_storage_buffer" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
  ByteString
"SPV_EXT_physical_storage_buffer" -> (,) [] []
  ByteString
"SPV_NV_cooperative_matrix" -> (,) [] []
  ByteString
"SPV_NV_shader_sm_builtins" -> (,) [] []
  ByteString
"SPV_EXT_fragment_shader_interlock" -> (,) [] []
  ByteString
"SPV_EXT_demote_to_helper_invocation" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
3 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
3 Word32
0]
  ByteString
"SPV_KHR_fragment_shading_rate" -> (,) [] []
  ByteString
"SPV_KHR_non_semantic_info" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
3 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
3 Word32
0]
  ByteString
"SPV_EXT_shader_image_int64" -> (,) [] []
  ByteString
"SPV_KHR_terminate_invocation" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
3 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
3 Word32
0]
  ByteString
"SPV_KHR_multiview" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0]
  ByteString
"SPV_KHR_workgroup_memory_explicit_layout" -> (,) [] []
  ByteString
"SPV_EXT_shader_atomic_float_add" -> (,) [] []
  ByteString
"SPV_KHR_fragment_shader_barycentric" -> (,) [] []
  ByteString
"SPV_KHR_subgroup_uniform_control_flow" -> (,) [] []
  ByteString
"SPV_EXT_shader_atomic_float_min_max" -> (,) [] []
  ByteString
"SPV_EXT_shader_atomic_float16_add" -> (,) [] []
  ByteString
"SPV_NV_shader_atomic_fp16_vector" -> (,) [] []
  ByteString
"SPV_EXT_fragment_fully_covered" -> (,) [] []
  ByteString
"SPV_KHR_integer_dot_product" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
3 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
3 Word32
0]
  ByteString
"SPV_INTEL_shader_integer_functions2" -> (,) [] []
  ByteString
"SPV_KHR_device_group" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0]
  ByteString
"SPV_QCOM_image_processing" -> (,) [] []
  ByteString
"SPV_QCOM_image_processing2" -> (,) [] []
  ByteString
"SPV_QCOM_cooperative_matrix_conversion" -> (,) [] []
  ByteString
"SPV_EXT_mesh_shader" -> (,) [] []
  ByteString
"SPV_KHR_ray_tracing_position_fetch" -> (,) [] []
  ByteString
"SPV_EXT_shader_tile_image" -> (,) [] []
  ByteString
"SPV_EXT_opacity_micromap" -> (,) [] []
  ByteString
"SPV_KHR_cooperative_matrix" -> (,) [] []
  ByteString
"SPV_ARM_core_builtins" -> (,) [] []
  ByteString
"SPV_HUAWEI_cluster_culling_shader" -> (,) [] []
  ByteString
"SPV_HUAWEI_subpass_shading" -> (,) [] []
  ByteString
"SPV_NV_ray_tracing_motion_blur" -> (,) [] []
  ByteString
"SPV_KHR_maximal_reconvergence" -> (,) [] []
  ByteString
"SPV_KHR_subgroup_rotate" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
4 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
4 Word32
0]
  ByteString
"SPV_KHR_expect_assume" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
4 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
4 Word32
0]
  ByteString
"SPV_KHR_float_controls2" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
4 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
4 Word32
0]
  ByteString
"SPV_KHR_fma" -> (,) [] []
  ByteString
"SPV_KHR_quad_control" -> (,) [] []
  ByteString
"SPV_KHR_bfloat16" -> (,) [] []
  ByteString
"SPV_NV_raw_access_chains" -> (,) [] []
  ByteString
"SPV_KHR_compute_shader_derivatives" -> (,) [] []
  ByteString
"SPV_EXT_replicated_composites" -> (,) [] []
  ByteString
"SPV_KHR_relaxed_extended_instruction" -> (,) [] []
  ByteString
"SPV_NV_cooperative_matrix2" -> (,) [] []
  ByteString
"SPV_NV_tensor_addressing" -> (,) [] []
  ByteString
"SPV_NV_linear_swept_spheres" -> (,) [] []
  ByteString
"SPV_NV_cluster_acceleration_structure" -> (,) [] []
  ByteString
"SPV_NV_cooperative_vector" -> (,) [] []
  ByteString
"SPV_NV_push_constant_bank" -> (,) [] []
  ByteString
"SPV_EXT_shader_invocation_reorder" -> (,) [] []
  ByteString
"SPV_QCOM_tile_shading" -> (,) [] []
  ByteString
"SPV_ARM_tensors" -> (,) [] []
  ByteString
"SPV_EXT_float8" -> (,) [] []
  ByteString
"SPV_ARM_graph" -> (,) [] []
  ByteString
"SPV_KHR_untyped_pointers" -> (,) [] []
  ByteString
"SPV_EXT_shader_64bit_indexing" -> (,) [] []
  ByteString
"SPV_EXT_long_vector" -> (,) [] []
  ByteString
"SPV_EXT_descriptor_heap" -> (,) [] []
  ByteString
_ -> ([], [])

spirvCapabilityRequirements :: ByteString -> ([InstanceRequirement], [DeviceRequirement])
spirvCapabilityRequirements :: ByteString -> ([InstanceRequirement], [DeviceRequirement])
spirvCapabilityRequirements = \case
  ByteString
"Matrix" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
  ByteString
"Shader" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
  ByteString
"InputAttachment" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
  ByteString
"Sampled1D" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
  ByteString
"Image1D" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
  ByteString
"SampledBuffer" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
  ByteString
"ImageBuffer" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
  ByteString
"ImageQuery" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
  ByteString
"DerivativeControl" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
  ByteString
"Geometry" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"geometryShader"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
geometryShader} -> Bool
geometryShader
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
..} -> PhysicalDeviceFeatures{geometryShader :: Bool
geometryShader = Bool
True, Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
tessellationShader :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"Tessellation" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"tessellationShader"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
tessellationShader :: Bool
tessellationShader} -> Bool
tessellationShader
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{tessellationShader :: Bool
tessellationShader = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"Float64" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"shaderFloat64"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: Bool
shaderFloat64} -> Bool
shaderFloat64
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{shaderFloat64 :: Bool
shaderFloat64 = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
tessellationShader :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"Int64" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"shaderInt64"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: Bool
shaderInt64} -> Bool
shaderInt64
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{shaderInt64 :: Bool
shaderInt64 = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
tessellationShader :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"Int64Atomics" -> (,) [] []
  ByteString
"AtomicFloat16AddEXT" -> (,) [] []
  ByteString
"AtomicFloat32AddEXT" -> (,) [] []
  ByteString
"AtomicFloat64AddEXT" -> (,) [] []
  ByteString
"AtomicFloat16MinMaxEXT" -> (,) [] []
  ByteString
"AtomicFloat32MinMaxEXT" -> (,) [] []
  ByteString
"AtomicFloat64MinMaxEXT" -> (,) [] []
  ByteString
"AtomicFloat16VectorNV" -> (,) [] []
  ByteString
"Int64ImageEXT" -> (,) [] []
  ByteString
"Int16" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"shaderInt16"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: Bool
shaderInt16} -> Bool
shaderInt16
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{shaderInt16 :: Bool
shaderInt16 = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
tessellationShader :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"TessellationPointSize" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"shaderTessellationAndGeometryPointSize"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderTessellationAndGeometryPointSize} -> Bool
shaderTessellationAndGeometryPointSize
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{shaderTessellationAndGeometryPointSize :: Bool
shaderTessellationAndGeometryPointSize = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
tessellationShader :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"GeometryPointSize" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"shaderTessellationAndGeometryPointSize"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderTessellationAndGeometryPointSize} -> Bool
shaderTessellationAndGeometryPointSize
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{shaderTessellationAndGeometryPointSize :: Bool
shaderTessellationAndGeometryPointSize = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
tessellationShader :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"ImageGatherExtended" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"shaderImageGatherExtended"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: Bool
shaderImageGatherExtended} -> Bool
shaderImageGatherExtended
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{shaderImageGatherExtended :: Bool
shaderImageGatherExtended = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
tessellationShader :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"StorageImageMultisample" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"shaderStorageImageMultisample"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageMultisample} -> Bool
shaderStorageImageMultisample
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{shaderStorageImageMultisample :: Bool
shaderStorageImageMultisample = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
tessellationShader :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"UniformBufferArrayDynamicIndexing" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"shaderUniformBufferArrayDynamicIndexing"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing} -> Bool
shaderUniformBufferArrayDynamicIndexing
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{shaderUniformBufferArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
tessellationShader :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"SampledImageArrayDynamicIndexing" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"shaderSampledImageArrayDynamicIndexing"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing} -> Bool
shaderSampledImageArrayDynamicIndexing
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{shaderSampledImageArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
tessellationShader :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"StorageBufferArrayDynamicIndexing" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"shaderStorageBufferArrayDynamicIndexing"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing} -> Bool
shaderStorageBufferArrayDynamicIndexing
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
tessellationShader :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"StorageImageArrayDynamicIndexing" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"shaderStorageImageArrayDynamicIndexing"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing} -> Bool
shaderStorageImageArrayDynamicIndexing
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
tessellationShader :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"ClipDistance" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"shaderClipDistance"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: Bool
shaderClipDistance} -> Bool
shaderClipDistance
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{shaderClipDistance :: Bool
shaderClipDistance = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
tessellationShader :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"CullDistance" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"shaderCullDistance"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: Bool
shaderCullDistance} -> Bool
shaderCullDistance
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{shaderCullDistance :: Bool
shaderCullDistance = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
tessellationShader :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"ImageCubeArray" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"imageCubeArray"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: Bool
imageCubeArray} -> Bool
imageCubeArray
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{imageCubeArray :: Bool
imageCubeArray = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
tessellationShader :: Bool
independentBlend :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"SampleRateShading" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"sampleRateShading"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: Bool
sampleRateShading} -> Bool
sampleRateShading
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{sampleRateShading :: Bool
sampleRateShading = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
tessellationShader :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"SparseResidency" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"shaderResourceResidency"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: Bool
shaderResourceResidency} -> Bool
shaderResourceResidency
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{shaderResourceResidency :: Bool
shaderResourceResidency = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
tessellationShader :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"MinLod" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"shaderResourceMinLod"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: Bool
shaderResourceMinLod} -> Bool
shaderResourceMinLod
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{shaderResourceMinLod :: Bool
shaderResourceMinLod = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
tessellationShader :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"SampledCubeArray" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"imageCubeArray"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: Bool
imageCubeArray} -> Bool
imageCubeArray
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{imageCubeArray :: Bool
imageCubeArray = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
tessellationShader :: Bool
independentBlend :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"ImageMSArray" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"shaderStorageImageMultisample"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageMultisample} -> Bool
shaderStorageImageMultisample
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{shaderStorageImageMultisample :: Bool
shaderStorageImageMultisample = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
tessellationShader :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"StorageImageExtendedFormats" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
  ByteString
"InterpolationFunction" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"sampleRateShading"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: Bool
sampleRateShading} -> Bool
sampleRateShading
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{sampleRateShading :: Bool
sampleRateShading = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
tessellationShader :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"StorageImageReadWithoutFormat" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"shaderStorageImageReadWithoutFormat"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat} -> Bool
shaderStorageImageReadWithoutFormat
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
tessellationShader :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"StorageImageWriteWithoutFormat" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"shaderStorageImageWriteWithoutFormat"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat} -> Bool
shaderStorageImageWriteWithoutFormat
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
multiViewport :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
tessellationShader :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"MultiViewport" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"multiViewport"
          , checkFeature :: PhysicalDeviceFeatures -> Bool
checkFeature = \PhysicalDeviceFeatures{Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
multiViewport :: Bool
multiViewport} -> Bool
multiViewport
          , enableFeature :: PhysicalDeviceFeatures -> PhysicalDeviceFeatures
enableFeature = \PhysicalDeviceFeatures{Bool
geometryShader :: PhysicalDeviceFeatures -> Bool
inheritedQueries :: PhysicalDeviceFeatures -> Bool
variableMultisampleRate :: PhysicalDeviceFeatures -> Bool
sparseResidencyAliased :: PhysicalDeviceFeatures -> Bool
sparseResidency16Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency8Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency4Samples :: PhysicalDeviceFeatures -> Bool
sparseResidency2Samples :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage3D :: PhysicalDeviceFeatures -> Bool
sparseResidencyImage2D :: PhysicalDeviceFeatures -> Bool
sparseResidencyBuffer :: PhysicalDeviceFeatures -> Bool
sparseBinding :: PhysicalDeviceFeatures -> Bool
shaderResourceMinLod :: PhysicalDeviceFeatures -> Bool
shaderResourceResidency :: PhysicalDeviceFeatures -> Bool
shaderInt16 :: PhysicalDeviceFeatures -> Bool
shaderInt64 :: PhysicalDeviceFeatures -> Bool
shaderFloat64 :: PhysicalDeviceFeatures -> Bool
shaderCullDistance :: PhysicalDeviceFeatures -> Bool
shaderClipDistance :: PhysicalDeviceFeatures -> Bool
shaderStorageImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderSampledImageArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderUniformBufferArrayDynamicIndexing :: PhysicalDeviceFeatures -> Bool
shaderStorageImageWriteWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageReadWithoutFormat :: PhysicalDeviceFeatures -> Bool
shaderStorageImageMultisample :: PhysicalDeviceFeatures -> Bool
shaderStorageImageExtendedFormats :: PhysicalDeviceFeatures -> Bool
shaderImageGatherExtended :: PhysicalDeviceFeatures -> Bool
shaderTessellationAndGeometryPointSize :: PhysicalDeviceFeatures -> Bool
fragmentStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
vertexPipelineStoresAndAtomics :: PhysicalDeviceFeatures -> Bool
pipelineStatisticsQuery :: PhysicalDeviceFeatures -> Bool
occlusionQueryPrecise :: PhysicalDeviceFeatures -> Bool
textureCompressionBC :: PhysicalDeviceFeatures -> Bool
textureCompressionASTC_LDR :: PhysicalDeviceFeatures -> Bool
textureCompressionETC2 :: PhysicalDeviceFeatures -> Bool
samplerAnisotropy :: PhysicalDeviceFeatures -> Bool
multiViewport :: PhysicalDeviceFeatures -> Bool
alphaToOne :: PhysicalDeviceFeatures -> Bool
largePoints :: PhysicalDeviceFeatures -> Bool
wideLines :: PhysicalDeviceFeatures -> Bool
depthBounds :: PhysicalDeviceFeatures -> Bool
fillModeNonSolid :: PhysicalDeviceFeatures -> Bool
depthBiasClamp :: PhysicalDeviceFeatures -> Bool
depthClamp :: PhysicalDeviceFeatures -> Bool
drawIndirectFirstInstance :: PhysicalDeviceFeatures -> Bool
multiDrawIndirect :: PhysicalDeviceFeatures -> Bool
logicOp :: PhysicalDeviceFeatures -> Bool
dualSrcBlend :: PhysicalDeviceFeatures -> Bool
sampleRateShading :: PhysicalDeviceFeatures -> Bool
tessellationShader :: PhysicalDeviceFeatures -> Bool
independentBlend :: PhysicalDeviceFeatures -> Bool
imageCubeArray :: PhysicalDeviceFeatures -> Bool
fullDrawIndexUint32 :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: PhysicalDeviceFeatures -> Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
multiViewport :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..} -> PhysicalDeviceFeatures{multiViewport :: Bool
multiViewport = Bool
True, Bool
geometryShader :: Bool
inheritedQueries :: Bool
variableMultisampleRate :: Bool
sparseResidencyAliased :: Bool
sparseResidency16Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency2Samples :: Bool
sparseResidencyImage3D :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyBuffer :: Bool
sparseBinding :: Bool
shaderResourceMinLod :: Bool
shaderResourceResidency :: Bool
shaderInt16 :: Bool
shaderInt64 :: Bool
shaderFloat64 :: Bool
shaderCullDistance :: Bool
shaderClipDistance :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderImageGatherExtended :: Bool
shaderTessellationAndGeometryPointSize :: Bool
fragmentStoresAndAtomics :: Bool
vertexPipelineStoresAndAtomics :: Bool
pipelineStatisticsQuery :: Bool
occlusionQueryPrecise :: Bool
textureCompressionBC :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionETC2 :: Bool
samplerAnisotropy :: Bool
alphaToOne :: Bool
largePoints :: Bool
wideLines :: Bool
depthBounds :: Bool
fillModeNonSolid :: Bool
depthBiasClamp :: Bool
depthClamp :: Bool
drawIndirectFirstInstance :: Bool
multiDrawIndirect :: Bool
logicOp :: Bool
dualSrcBlend :: Bool
sampleRateShading :: Bool
tessellationShader :: Bool
independentBlend :: Bool
imageCubeArray :: Bool
fullDrawIndexUint32 :: Bool
robustBufferAccess :: Bool
robustBufferAccess :: Bool
fullDrawIndexUint32 :: Bool
imageCubeArray :: Bool
independentBlend :: Bool
geometryShader :: Bool
tessellationShader :: Bool
sampleRateShading :: Bool
dualSrcBlend :: Bool
logicOp :: Bool
multiDrawIndirect :: Bool
drawIndirectFirstInstance :: Bool
depthClamp :: Bool
depthBiasClamp :: Bool
fillModeNonSolid :: Bool
depthBounds :: Bool
wideLines :: Bool
largePoints :: Bool
alphaToOne :: Bool
samplerAnisotropy :: Bool
textureCompressionETC2 :: Bool
textureCompressionASTC_LDR :: Bool
textureCompressionBC :: Bool
occlusionQueryPrecise :: Bool
pipelineStatisticsQuery :: Bool
vertexPipelineStoresAndAtomics :: Bool
fragmentStoresAndAtomics :: Bool
shaderTessellationAndGeometryPointSize :: Bool
shaderImageGatherExtended :: Bool
shaderStorageImageExtendedFormats :: Bool
shaderStorageImageMultisample :: Bool
shaderStorageImageReadWithoutFormat :: Bool
shaderStorageImageWriteWithoutFormat :: Bool
shaderUniformBufferArrayDynamicIndexing :: Bool
shaderSampledImageArrayDynamicIndexing :: Bool
shaderStorageBufferArrayDynamicIndexing :: Bool
shaderStorageImageArrayDynamicIndexing :: Bool
shaderClipDistance :: Bool
shaderCullDistance :: Bool
shaderFloat64 :: Bool
shaderInt64 :: Bool
shaderInt16 :: Bool
shaderResourceResidency :: Bool
shaderResourceMinLod :: Bool
sparseBinding :: Bool
sparseResidencyBuffer :: Bool
sparseResidencyImage2D :: Bool
sparseResidencyImage3D :: Bool
sparseResidency2Samples :: Bool
sparseResidency4Samples :: Bool
sparseResidency8Samples :: Bool
sparseResidency16Samples :: Bool
sparseResidencyAliased :: Bool
variableMultisampleRate :: Bool
inheritedQueries :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
0 Word32
0
      ]
  ByteString
"DrawParameters" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"shaderDrawParameters"
          , checkFeature :: PhysicalDeviceVulkan11Features -> Bool
checkFeature = \PhysicalDeviceVulkan11Features{Bool
shaderDrawParameters :: Bool
shaderDrawParameters :: PhysicalDeviceVulkan11Features -> Bool
shaderDrawParameters} -> Bool
shaderDrawParameters
          , enableFeature :: PhysicalDeviceVulkan11Features -> PhysicalDeviceVulkan11Features
enableFeature = \PhysicalDeviceVulkan11Features{Bool
shaderDrawParameters :: PhysicalDeviceVulkan11Features -> Bool
storageBuffer16BitAccess :: Bool
uniformAndStorageBuffer16BitAccess :: Bool
storagePushConstant16 :: Bool
storageInputOutput16 :: Bool
multiview :: Bool
multiviewGeometryShader :: Bool
multiviewTessellationShader :: Bool
variablePointersStorageBuffer :: Bool
variablePointers :: Bool
protectedMemory :: Bool
samplerYcbcrConversion :: Bool
shaderDrawParameters :: Bool
samplerYcbcrConversion :: PhysicalDeviceVulkan11Features -> Bool
protectedMemory :: PhysicalDeviceVulkan11Features -> Bool
variablePointers :: PhysicalDeviceVulkan11Features -> Bool
variablePointersStorageBuffer :: PhysicalDeviceVulkan11Features -> Bool
multiviewTessellationShader :: PhysicalDeviceVulkan11Features -> Bool
multiviewGeometryShader :: PhysicalDeviceVulkan11Features -> Bool
multiview :: PhysicalDeviceVulkan11Features -> Bool
storageInputOutput16 :: PhysicalDeviceVulkan11Features -> Bool
storagePushConstant16 :: PhysicalDeviceVulkan11Features -> Bool
uniformAndStorageBuffer16BitAccess :: PhysicalDeviceVulkan11Features -> Bool
storageBuffer16BitAccess :: PhysicalDeviceVulkan11Features -> Bool
..} -> PhysicalDeviceVulkan11Features{shaderDrawParameters :: Bool
shaderDrawParameters = Bool
True, Bool
storageBuffer16BitAccess :: Bool
uniformAndStorageBuffer16BitAccess :: Bool
storagePushConstant16 :: Bool
storageInputOutput16 :: Bool
multiview :: Bool
multiviewGeometryShader :: Bool
multiviewTessellationShader :: Bool
variablePointersStorageBuffer :: Bool
variablePointers :: Bool
protectedMemory :: Bool
samplerYcbcrConversion :: Bool
samplerYcbcrConversion :: Bool
protectedMemory :: Bool
variablePointers :: Bool
variablePointersStorageBuffer :: Bool
multiviewTessellationShader :: Bool
multiviewGeometryShader :: Bool
multiview :: Bool
storageInputOutput16 :: Bool
storagePushConstant16 :: Bool
uniformAndStorageBuffer16BitAccess :: Bool
storageBuffer16BitAccess :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0
      ]
  ByteString
"MultiView" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"multiview"
          , checkFeature :: PhysicalDeviceVulkan11Features -> Bool
checkFeature = \PhysicalDeviceVulkan11Features{Bool
multiview :: PhysicalDeviceVulkan11Features -> Bool
multiview :: Bool
multiview} -> Bool
multiview
          , enableFeature :: PhysicalDeviceVulkan11Features -> PhysicalDeviceVulkan11Features
enableFeature = \PhysicalDeviceVulkan11Features{Bool
shaderDrawParameters :: PhysicalDeviceVulkan11Features -> Bool
samplerYcbcrConversion :: PhysicalDeviceVulkan11Features -> Bool
protectedMemory :: PhysicalDeviceVulkan11Features -> Bool
variablePointers :: PhysicalDeviceVulkan11Features -> Bool
variablePointersStorageBuffer :: PhysicalDeviceVulkan11Features -> Bool
multiviewTessellationShader :: PhysicalDeviceVulkan11Features -> Bool
multiviewGeometryShader :: PhysicalDeviceVulkan11Features -> Bool
multiview :: PhysicalDeviceVulkan11Features -> Bool
storageInputOutput16 :: PhysicalDeviceVulkan11Features -> Bool
storagePushConstant16 :: PhysicalDeviceVulkan11Features -> Bool
uniformAndStorageBuffer16BitAccess :: PhysicalDeviceVulkan11Features -> Bool
storageBuffer16BitAccess :: PhysicalDeviceVulkan11Features -> Bool
storageBuffer16BitAccess :: Bool
uniformAndStorageBuffer16BitAccess :: Bool
storagePushConstant16 :: Bool
storageInputOutput16 :: Bool
multiview :: Bool
multiviewGeometryShader :: Bool
multiviewTessellationShader :: Bool
variablePointersStorageBuffer :: Bool
variablePointers :: Bool
protectedMemory :: Bool
samplerYcbcrConversion :: Bool
shaderDrawParameters :: Bool
..} -> PhysicalDeviceVulkan11Features{multiview :: Bool
multiview = Bool
True, Bool
shaderDrawParameters :: Bool
samplerYcbcrConversion :: Bool
protectedMemory :: Bool
variablePointers :: Bool
variablePointersStorageBuffer :: Bool
multiviewTessellationShader :: Bool
multiviewGeometryShader :: Bool
storageInputOutput16 :: Bool
storagePushConstant16 :: Bool
uniformAndStorageBuffer16BitAccess :: Bool
storageBuffer16BitAccess :: Bool
storageBuffer16BitAccess :: Bool
uniformAndStorageBuffer16BitAccess :: Bool
storagePushConstant16 :: Bool
storageInputOutput16 :: Bool
multiviewGeometryShader :: Bool
multiviewTessellationShader :: Bool
variablePointersStorageBuffer :: Bool
variablePointers :: Bool
protectedMemory :: Bool
samplerYcbcrConversion :: Bool
shaderDrawParameters :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0
      ]
  ByteString
"DeviceGroup" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0]
  ByteString
"VariablePointersStorageBuffer" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"variablePointersStorageBuffer"
          , checkFeature :: PhysicalDeviceVulkan11Features -> Bool
checkFeature = \PhysicalDeviceVulkan11Features{Bool
variablePointersStorageBuffer :: PhysicalDeviceVulkan11Features -> Bool
variablePointersStorageBuffer :: Bool
variablePointersStorageBuffer} -> Bool
variablePointersStorageBuffer
          , enableFeature :: PhysicalDeviceVulkan11Features -> PhysicalDeviceVulkan11Features
enableFeature = \PhysicalDeviceVulkan11Features{Bool
shaderDrawParameters :: PhysicalDeviceVulkan11Features -> Bool
samplerYcbcrConversion :: PhysicalDeviceVulkan11Features -> Bool
protectedMemory :: PhysicalDeviceVulkan11Features -> Bool
variablePointers :: PhysicalDeviceVulkan11Features -> Bool
variablePointersStorageBuffer :: PhysicalDeviceVulkan11Features -> Bool
multiviewTessellationShader :: PhysicalDeviceVulkan11Features -> Bool
multiviewGeometryShader :: PhysicalDeviceVulkan11Features -> Bool
multiview :: PhysicalDeviceVulkan11Features -> Bool
storageInputOutput16 :: PhysicalDeviceVulkan11Features -> Bool
storagePushConstant16 :: PhysicalDeviceVulkan11Features -> Bool
uniformAndStorageBuffer16BitAccess :: PhysicalDeviceVulkan11Features -> Bool
storageBuffer16BitAccess :: PhysicalDeviceVulkan11Features -> Bool
storageBuffer16BitAccess :: Bool
uniformAndStorageBuffer16BitAccess :: Bool
storagePushConstant16 :: Bool
storageInputOutput16 :: Bool
multiview :: Bool
multiviewGeometryShader :: Bool
multiviewTessellationShader :: Bool
variablePointersStorageBuffer :: Bool
variablePointers :: Bool
protectedMemory :: Bool
samplerYcbcrConversion :: Bool
shaderDrawParameters :: Bool
..} -> PhysicalDeviceVulkan11Features{variablePointersStorageBuffer :: Bool
variablePointersStorageBuffer = Bool
True, Bool
shaderDrawParameters :: Bool
samplerYcbcrConversion :: Bool
protectedMemory :: Bool
variablePointers :: Bool
multiviewTessellationShader :: Bool
multiviewGeometryShader :: Bool
multiview :: Bool
storageInputOutput16 :: Bool
storagePushConstant16 :: Bool
uniformAndStorageBuffer16BitAccess :: Bool
storageBuffer16BitAccess :: Bool
storageBuffer16BitAccess :: Bool
uniformAndStorageBuffer16BitAccess :: Bool
storagePushConstant16 :: Bool
storageInputOutput16 :: Bool
multiview :: Bool
multiviewGeometryShader :: Bool
multiviewTessellationShader :: Bool
variablePointers :: Bool
protectedMemory :: Bool
samplerYcbcrConversion :: Bool
shaderDrawParameters :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0
      ]
  ByteString
"VariablePointers" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"variablePointers"
          , checkFeature :: PhysicalDeviceVulkan11Features -> Bool
checkFeature = \PhysicalDeviceVulkan11Features{Bool
variablePointers :: PhysicalDeviceVulkan11Features -> Bool
variablePointers :: Bool
variablePointers} -> Bool
variablePointers
          , enableFeature :: PhysicalDeviceVulkan11Features -> PhysicalDeviceVulkan11Features
enableFeature = \PhysicalDeviceVulkan11Features{Bool
shaderDrawParameters :: PhysicalDeviceVulkan11Features -> Bool
samplerYcbcrConversion :: PhysicalDeviceVulkan11Features -> Bool
protectedMemory :: PhysicalDeviceVulkan11Features -> Bool
variablePointers :: PhysicalDeviceVulkan11Features -> Bool
variablePointersStorageBuffer :: PhysicalDeviceVulkan11Features -> Bool
multiviewTessellationShader :: PhysicalDeviceVulkan11Features -> Bool
multiviewGeometryShader :: PhysicalDeviceVulkan11Features -> Bool
multiview :: PhysicalDeviceVulkan11Features -> Bool
storageInputOutput16 :: PhysicalDeviceVulkan11Features -> Bool
storagePushConstant16 :: PhysicalDeviceVulkan11Features -> Bool
uniformAndStorageBuffer16BitAccess :: PhysicalDeviceVulkan11Features -> Bool
storageBuffer16BitAccess :: PhysicalDeviceVulkan11Features -> Bool
storageBuffer16BitAccess :: Bool
uniformAndStorageBuffer16BitAccess :: Bool
storagePushConstant16 :: Bool
storageInputOutput16 :: Bool
multiview :: Bool
multiviewGeometryShader :: Bool
multiviewTessellationShader :: Bool
variablePointersStorageBuffer :: Bool
variablePointers :: Bool
protectedMemory :: Bool
samplerYcbcrConversion :: Bool
shaderDrawParameters :: Bool
..} -> PhysicalDeviceVulkan11Features{variablePointers :: Bool
variablePointers = Bool
True, Bool
shaderDrawParameters :: Bool
samplerYcbcrConversion :: Bool
protectedMemory :: Bool
variablePointersStorageBuffer :: Bool
multiviewTessellationShader :: Bool
multiviewGeometryShader :: Bool
multiview :: Bool
storageInputOutput16 :: Bool
storagePushConstant16 :: Bool
uniformAndStorageBuffer16BitAccess :: Bool
storageBuffer16BitAccess :: Bool
storageBuffer16BitAccess :: Bool
uniformAndStorageBuffer16BitAccess :: Bool
storagePushConstant16 :: Bool
storageInputOutput16 :: Bool
multiview :: Bool
multiviewGeometryShader :: Bool
multiviewTessellationShader :: Bool
variablePointersStorageBuffer :: Bool
protectedMemory :: Bool
samplerYcbcrConversion :: Bool
shaderDrawParameters :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0
      ]
  ByteString
"ShaderClockKHR" -> (,) [] []
  ByteString
"StencilExportEXT" -> (,) [] []
  ByteString
"SubgroupBallotKHR" -> (,) [] []
  ByteString
"SubgroupVoteKHR" -> (,) [] []
  ByteString
"ImageReadWriteLodAMD" -> (,) [] []
  ByteString
"ImageGatherBiasLodAMD" -> (,) [] []
  ByteString
"FragmentMaskAMD" -> (,) [] []
  ByteString
"SampleMaskOverrideCoverageNV" -> (,) [] []
  ByteString
"GeometryShaderPassthroughNV" -> (,) [] []
  ByteString
"ShaderViewportIndex" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"shaderOutputViewportIndex"
          , checkFeature :: PhysicalDeviceVulkan12Features -> Bool
checkFeature = \PhysicalDeviceVulkan12Features{Bool
shaderOutputViewportIndex :: Bool
shaderOutputViewportIndex :: PhysicalDeviceVulkan12Features -> Bool
shaderOutputViewportIndex} -> Bool
shaderOutputViewportIndex
          , enableFeature :: PhysicalDeviceVulkan12Features -> PhysicalDeviceVulkan12Features
enableFeature = \PhysicalDeviceVulkan12Features{Bool
shaderOutputViewportIndex :: PhysicalDeviceVulkan12Features -> Bool
samplerMirrorClampToEdge :: Bool
drawIndirectCount :: Bool
storageBuffer8BitAccess :: Bool
uniformAndStorageBuffer8BitAccess :: Bool
storagePushConstant8 :: Bool
shaderBufferInt64Atomics :: Bool
shaderSharedInt64Atomics :: Bool
shaderFloat16 :: Bool
shaderInt8 :: Bool
descriptorIndexing :: Bool
shaderInputAttachmentArrayDynamicIndexing :: Bool
shaderUniformTexelBufferArrayDynamicIndexing :: Bool
shaderStorageTexelBufferArrayDynamicIndexing :: Bool
shaderUniformBufferArrayNonUniformIndexing :: Bool
shaderSampledImageArrayNonUniformIndexing :: Bool
shaderStorageBufferArrayNonUniformIndexing :: Bool
shaderStorageImageArrayNonUniformIndexing :: Bool
shaderInputAttachmentArrayNonUniformIndexing :: Bool
shaderUniformTexelBufferArrayNonUniformIndexing :: Bool
shaderStorageTexelBufferArrayNonUniformIndexing :: Bool
descriptorBindingUniformBufferUpdateAfterBind :: Bool
descriptorBindingSampledImageUpdateAfterBind :: Bool
descriptorBindingStorageImageUpdateAfterBind :: Bool
descriptorBindingStorageBufferUpdateAfterBind :: Bool
descriptorBindingUniformTexelBufferUpdateAfterBind :: Bool
descriptorBindingStorageTexelBufferUpdateAfterBind :: Bool
descriptorBindingUpdateUnusedWhilePending :: Bool
descriptorBindingPartiallyBound :: Bool
descriptorBindingVariableDescriptorCount :: Bool
runtimeDescriptorArray :: Bool
samplerFilterMinmax :: Bool
scalarBlockLayout :: Bool
imagelessFramebuffer :: Bool
uniformBufferStandardLayout :: Bool
shaderSubgroupExtendedTypes :: Bool
separateDepthStencilLayouts :: Bool
hostQueryReset :: Bool
timelineSemaphore :: Bool
bufferDeviceAddress :: Bool
bufferDeviceAddressCaptureReplay :: Bool
bufferDeviceAddressMultiDevice :: Bool
vulkanMemoryModel :: Bool
vulkanMemoryModelDeviceScope :: Bool
vulkanMemoryModelAvailabilityVisibilityChains :: Bool
shaderOutputViewportIndex :: Bool
shaderOutputLayer :: Bool
subgroupBroadcastDynamicId :: Bool
subgroupBroadcastDynamicId :: PhysicalDeviceVulkan12Features -> Bool
shaderOutputLayer :: PhysicalDeviceVulkan12Features -> Bool
vulkanMemoryModelAvailabilityVisibilityChains :: PhysicalDeviceVulkan12Features -> Bool
vulkanMemoryModelDeviceScope :: PhysicalDeviceVulkan12Features -> Bool
vulkanMemoryModel :: PhysicalDeviceVulkan12Features -> Bool
bufferDeviceAddressMultiDevice :: PhysicalDeviceVulkan12Features -> Bool
bufferDeviceAddressCaptureReplay :: PhysicalDeviceVulkan12Features -> Bool
bufferDeviceAddress :: PhysicalDeviceVulkan12Features -> Bool
timelineSemaphore :: PhysicalDeviceVulkan12Features -> Bool
hostQueryReset :: PhysicalDeviceVulkan12Features -> Bool
separateDepthStencilLayouts :: PhysicalDeviceVulkan12Features -> Bool
shaderSubgroupExtendedTypes :: PhysicalDeviceVulkan12Features -> Bool
uniformBufferStandardLayout :: PhysicalDeviceVulkan12Features -> Bool
imagelessFramebuffer :: PhysicalDeviceVulkan12Features -> Bool
scalarBlockLayout :: PhysicalDeviceVulkan12Features -> Bool
samplerFilterMinmax :: PhysicalDeviceVulkan12Features -> Bool
runtimeDescriptorArray :: PhysicalDeviceVulkan12Features -> Bool
descriptorBindingVariableDescriptorCount :: PhysicalDeviceVulkan12Features -> Bool
descriptorBindingPartiallyBound :: PhysicalDeviceVulkan12Features -> Bool
descriptorBindingUpdateUnusedWhilePending :: PhysicalDeviceVulkan12Features -> Bool
descriptorBindingStorageTexelBufferUpdateAfterBind :: PhysicalDeviceVulkan12Features -> Bool
descriptorBindingUniformTexelBufferUpdateAfterBind :: PhysicalDeviceVulkan12Features -> Bool
descriptorBindingStorageBufferUpdateAfterBind :: PhysicalDeviceVulkan12Features -> Bool
descriptorBindingStorageImageUpdateAfterBind :: PhysicalDeviceVulkan12Features -> Bool
descriptorBindingSampledImageUpdateAfterBind :: PhysicalDeviceVulkan12Features -> Bool
descriptorBindingUniformBufferUpdateAfterBind :: PhysicalDeviceVulkan12Features -> Bool
shaderStorageTexelBufferArrayNonUniformIndexing :: PhysicalDeviceVulkan12Features -> Bool
shaderUniformTexelBufferArrayNonUniformIndexing :: PhysicalDeviceVulkan12Features -> Bool
shaderInputAttachmentArrayNonUniformIndexing :: PhysicalDeviceVulkan12Features -> Bool
shaderStorageImageArrayNonUniformIndexing :: PhysicalDeviceVulkan12Features -> Bool
shaderStorageBufferArrayNonUniformIndexing :: PhysicalDeviceVulkan12Features -> Bool
shaderSampledImageArrayNonUniformIndexing :: PhysicalDeviceVulkan12Features -> Bool
shaderUniformBufferArrayNonUniformIndexing :: PhysicalDeviceVulkan12Features -> Bool
shaderStorageTexelBufferArrayDynamicIndexing :: PhysicalDeviceVulkan12Features -> Bool
shaderUniformTexelBufferArrayDynamicIndexing :: PhysicalDeviceVulkan12Features -> Bool
shaderInputAttachmentArrayDynamicIndexing :: PhysicalDeviceVulkan12Features -> Bool
descriptorIndexing :: PhysicalDeviceVulkan12Features -> Bool
shaderInt8 :: PhysicalDeviceVulkan12Features -> Bool
shaderFloat16 :: PhysicalDeviceVulkan12Features -> Bool
shaderSharedInt64Atomics :: PhysicalDeviceVulkan12Features -> Bool
shaderBufferInt64Atomics :: PhysicalDeviceVulkan12Features -> Bool
storagePushConstant8 :: PhysicalDeviceVulkan12Features -> Bool
uniformAndStorageBuffer8BitAccess :: PhysicalDeviceVulkan12Features -> Bool
storageBuffer8BitAccess :: PhysicalDeviceVulkan12Features -> Bool
drawIndirectCount :: PhysicalDeviceVulkan12Features -> Bool
samplerMirrorClampToEdge :: PhysicalDeviceVulkan12Features -> Bool
..} -> PhysicalDeviceVulkan12Features{shaderOutputViewportIndex :: Bool
shaderOutputViewportIndex = Bool
True, Bool
samplerMirrorClampToEdge :: Bool
drawIndirectCount :: Bool
storageBuffer8BitAccess :: Bool
uniformAndStorageBuffer8BitAccess :: Bool
storagePushConstant8 :: Bool
shaderBufferInt64Atomics :: Bool
shaderSharedInt64Atomics :: Bool
shaderFloat16 :: Bool
shaderInt8 :: Bool
descriptorIndexing :: Bool
shaderInputAttachmentArrayDynamicIndexing :: Bool
shaderUniformTexelBufferArrayDynamicIndexing :: Bool
shaderStorageTexelBufferArrayDynamicIndexing :: Bool
shaderUniformBufferArrayNonUniformIndexing :: Bool
shaderSampledImageArrayNonUniformIndexing :: Bool
shaderStorageBufferArrayNonUniformIndexing :: Bool
shaderStorageImageArrayNonUniformIndexing :: Bool
shaderInputAttachmentArrayNonUniformIndexing :: Bool
shaderUniformTexelBufferArrayNonUniformIndexing :: Bool
shaderStorageTexelBufferArrayNonUniformIndexing :: Bool
descriptorBindingUniformBufferUpdateAfterBind :: Bool
descriptorBindingSampledImageUpdateAfterBind :: Bool
descriptorBindingStorageImageUpdateAfterBind :: Bool
descriptorBindingStorageBufferUpdateAfterBind :: Bool
descriptorBindingUniformTexelBufferUpdateAfterBind :: Bool
descriptorBindingStorageTexelBufferUpdateAfterBind :: Bool
descriptorBindingUpdateUnusedWhilePending :: Bool
descriptorBindingPartiallyBound :: Bool
descriptorBindingVariableDescriptorCount :: Bool
runtimeDescriptorArray :: Bool
samplerFilterMinmax :: Bool
scalarBlockLayout :: Bool
imagelessFramebuffer :: Bool
uniformBufferStandardLayout :: Bool
shaderSubgroupExtendedTypes :: Bool
separateDepthStencilLayouts :: Bool
hostQueryReset :: Bool
timelineSemaphore :: Bool
bufferDeviceAddress :: Bool
bufferDeviceAddressCaptureReplay :: Bool
bufferDeviceAddressMultiDevice :: Bool
vulkanMemoryModel :: Bool
vulkanMemoryModelDeviceScope :: Bool
vulkanMemoryModelAvailabilityVisibilityChains :: Bool
shaderOutputLayer :: Bool
subgroupBroadcastDynamicId :: Bool
subgroupBroadcastDynamicId :: Bool
shaderOutputLayer :: Bool
vulkanMemoryModelAvailabilityVisibilityChains :: Bool
vulkanMemoryModelDeviceScope :: Bool
vulkanMemoryModel :: Bool
bufferDeviceAddressMultiDevice :: Bool
bufferDeviceAddressCaptureReplay :: Bool
bufferDeviceAddress :: Bool
timelineSemaphore :: Bool
hostQueryReset :: Bool
separateDepthStencilLayouts :: Bool
shaderSubgroupExtendedTypes :: Bool
uniformBufferStandardLayout :: Bool
imagelessFramebuffer :: Bool
scalarBlockLayout :: Bool
samplerFilterMinmax :: Bool
runtimeDescriptorArray :: Bool
descriptorBindingVariableDescriptorCount :: Bool
descriptorBindingPartiallyBound :: Bool
descriptorBindingUpdateUnusedWhilePending :: Bool
descriptorBindingStorageTexelBufferUpdateAfterBind :: Bool
descriptorBindingUniformTexelBufferUpdateAfterBind :: Bool
descriptorBindingStorageBufferUpdateAfterBind :: Bool
descriptorBindingStorageImageUpdateAfterBind :: Bool
descriptorBindingSampledImageUpdateAfterBind :: Bool
descriptorBindingUniformBufferUpdateAfterBind :: Bool
shaderStorageTexelBufferArrayNonUniformIndexing :: Bool
shaderUniformTexelBufferArrayNonUniformIndexing :: Bool
shaderInputAttachmentArrayNonUniformIndexing :: Bool
shaderStorageImageArrayNonUniformIndexing :: Bool
shaderStorageBufferArrayNonUniformIndexing :: Bool
shaderSampledImageArrayNonUniformIndexing :: Bool
shaderUniformBufferArrayNonUniformIndexing :: Bool
shaderStorageTexelBufferArrayDynamicIndexing :: Bool
shaderUniformTexelBufferArrayDynamicIndexing :: Bool
shaderInputAttachmentArrayDynamicIndexing :: Bool
descriptorIndexing :: Bool
shaderInt8 :: Bool
shaderFloat16 :: Bool
shaderSharedInt64Atomics :: Bool
shaderBufferInt64Atomics :: Bool
storagePushConstant8 :: Bool
uniformAndStorageBuffer8BitAccess :: Bool
storageBuffer8BitAccess :: Bool
drawIndirectCount :: Bool
samplerMirrorClampToEdge :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0
      ]
  ByteString
"ShaderLayer" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"shaderOutputLayer"
          , checkFeature :: PhysicalDeviceVulkan12Features -> Bool
checkFeature = \PhysicalDeviceVulkan12Features{Bool
shaderOutputLayer :: PhysicalDeviceVulkan12Features -> Bool
shaderOutputLayer :: Bool
shaderOutputLayer} -> Bool
shaderOutputLayer
          , enableFeature :: PhysicalDeviceVulkan12Features -> PhysicalDeviceVulkan12Features
enableFeature = \PhysicalDeviceVulkan12Features{Bool
shaderOutputViewportIndex :: PhysicalDeviceVulkan12Features -> Bool
subgroupBroadcastDynamicId :: PhysicalDeviceVulkan12Features -> Bool
shaderOutputLayer :: PhysicalDeviceVulkan12Features -> Bool
vulkanMemoryModelAvailabilityVisibilityChains :: PhysicalDeviceVulkan12Features -> Bool
vulkanMemoryModelDeviceScope :: PhysicalDeviceVulkan12Features -> Bool
vulkanMemoryModel :: PhysicalDeviceVulkan12Features -> Bool
bufferDeviceAddressMultiDevice :: PhysicalDeviceVulkan12Features -> Bool
bufferDeviceAddressCaptureReplay :: PhysicalDeviceVulkan12Features -> Bool
bufferDeviceAddress :: PhysicalDeviceVulkan12Features -> Bool
timelineSemaphore :: PhysicalDeviceVulkan12Features -> Bool
hostQueryReset :: PhysicalDeviceVulkan12Features -> Bool
separateDepthStencilLayouts :: PhysicalDeviceVulkan12Features -> Bool
shaderSubgroupExtendedTypes :: PhysicalDeviceVulkan12Features -> Bool
uniformBufferStandardLayout :: PhysicalDeviceVulkan12Features -> Bool
imagelessFramebuffer :: PhysicalDeviceVulkan12Features -> Bool
scalarBlockLayout :: PhysicalDeviceVulkan12Features -> Bool
samplerFilterMinmax :: PhysicalDeviceVulkan12Features -> Bool
runtimeDescriptorArray :: PhysicalDeviceVulkan12Features -> Bool
descriptorBindingVariableDescriptorCount :: PhysicalDeviceVulkan12Features -> Bool
descriptorBindingPartiallyBound :: PhysicalDeviceVulkan12Features -> Bool
descriptorBindingUpdateUnusedWhilePending :: PhysicalDeviceVulkan12Features -> Bool
descriptorBindingStorageTexelBufferUpdateAfterBind :: PhysicalDeviceVulkan12Features -> Bool
descriptorBindingUniformTexelBufferUpdateAfterBind :: PhysicalDeviceVulkan12Features -> Bool
descriptorBindingStorageBufferUpdateAfterBind :: PhysicalDeviceVulkan12Features -> Bool
descriptorBindingStorageImageUpdateAfterBind :: PhysicalDeviceVulkan12Features -> Bool
descriptorBindingSampledImageUpdateAfterBind :: PhysicalDeviceVulkan12Features -> Bool
descriptorBindingUniformBufferUpdateAfterBind :: PhysicalDeviceVulkan12Features -> Bool
shaderStorageTexelBufferArrayNonUniformIndexing :: PhysicalDeviceVulkan12Features -> Bool
shaderUniformTexelBufferArrayNonUniformIndexing :: PhysicalDeviceVulkan12Features -> Bool
shaderInputAttachmentArrayNonUniformIndexing :: PhysicalDeviceVulkan12Features -> Bool
shaderStorageImageArrayNonUniformIndexing :: PhysicalDeviceVulkan12Features -> Bool
shaderStorageBufferArrayNonUniformIndexing :: PhysicalDeviceVulkan12Features -> Bool
shaderSampledImageArrayNonUniformIndexing :: PhysicalDeviceVulkan12Features -> Bool
shaderUniformBufferArrayNonUniformIndexing :: PhysicalDeviceVulkan12Features -> Bool
shaderStorageTexelBufferArrayDynamicIndexing :: PhysicalDeviceVulkan12Features -> Bool
shaderUniformTexelBufferArrayDynamicIndexing :: PhysicalDeviceVulkan12Features -> Bool
shaderInputAttachmentArrayDynamicIndexing :: PhysicalDeviceVulkan12Features -> Bool
descriptorIndexing :: PhysicalDeviceVulkan12Features -> Bool
shaderInt8 :: PhysicalDeviceVulkan12Features -> Bool
shaderFloat16 :: PhysicalDeviceVulkan12Features -> Bool
shaderSharedInt64Atomics :: PhysicalDeviceVulkan12Features -> Bool
shaderBufferInt64Atomics :: PhysicalDeviceVulkan12Features -> Bool
storagePushConstant8 :: PhysicalDeviceVulkan12Features -> Bool
uniformAndStorageBuffer8BitAccess :: PhysicalDeviceVulkan12Features -> Bool
storageBuffer8BitAccess :: PhysicalDeviceVulkan12Features -> Bool
drawIndirectCount :: PhysicalDeviceVulkan12Features -> Bool
samplerMirrorClampToEdge :: PhysicalDeviceVulkan12Features -> Bool
samplerMirrorClampToEdge :: Bool
drawIndirectCount :: Bool
storageBuffer8BitAccess :: Bool
uniformAndStorageBuffer8BitAccess :: Bool
storagePushConstant8 :: Bool
shaderBufferInt64Atomics :: Bool
shaderSharedInt64Atomics :: Bool
shaderFloat16 :: Bool
shaderInt8 :: Bool
descriptorIndexing :: Bool
shaderInputAttachmentArrayDynamicIndexing :: Bool
shaderUniformTexelBufferArrayDynamicIndexing :: Bool
shaderStorageTexelBufferArrayDynamicIndexing :: Bool
shaderUniformBufferArrayNonUniformIndexing :: Bool
shaderSampledImageArrayNonUniformIndexing :: Bool
shaderStorageBufferArrayNonUniformIndexing :: Bool
shaderStorageImageArrayNonUniformIndexing :: Bool
shaderInputAttachmentArrayNonUniformIndexing :: Bool
shaderUniformTexelBufferArrayNonUniformIndexing :: Bool
shaderStorageTexelBufferArrayNonUniformIndexing :: Bool
descriptorBindingUniformBufferUpdateAfterBind :: Bool
descriptorBindingSampledImageUpdateAfterBind :: Bool
descriptorBindingStorageImageUpdateAfterBind :: Bool
descriptorBindingStorageBufferUpdateAfterBind :: Bool
descriptorBindingUniformTexelBufferUpdateAfterBind :: Bool
descriptorBindingStorageTexelBufferUpdateAfterBind :: Bool
descriptorBindingUpdateUnusedWhilePending :: Bool
descriptorBindingPartiallyBound :: Bool
descriptorBindingVariableDescriptorCount :: Bool
runtimeDescriptorArray :: Bool
samplerFilterMinmax :: Bool
scalarBlockLayout :: Bool
imagelessFramebuffer :: Bool
uniformBufferStandardLayout :: Bool
shaderSubgroupExtendedTypes :: Bool
separateDepthStencilLayouts :: Bool
hostQueryReset :: Bool
timelineSemaphore :: Bool
bufferDeviceAddress :: Bool
bufferDeviceAddressCaptureReplay :: Bool
bufferDeviceAddressMultiDevice :: Bool
vulkanMemoryModel :: Bool
vulkanMemoryModelDeviceScope :: Bool
vulkanMemoryModelAvailabilityVisibilityChains :: Bool
shaderOutputViewportIndex :: Bool
shaderOutputLayer :: Bool
subgroupBroadcastDynamicId :: Bool
..} -> PhysicalDeviceVulkan12Features{shaderOutputLayer :: Bool
shaderOutputLayer = Bool
True, Bool
shaderOutputViewportIndex :: Bool
subgroupBroadcastDynamicId :: Bool
vulkanMemoryModelAvailabilityVisibilityChains :: Bool
vulkanMemoryModelDeviceScope :: Bool
vulkanMemoryModel :: Bool
bufferDeviceAddressMultiDevice :: Bool
bufferDeviceAddressCaptureReplay :: Bool
bufferDeviceAddress :: Bool
timelineSemaphore :: Bool
hostQueryReset :: Bool
separateDepthStencilLayouts :: Bool
shaderSubgroupExtendedTypes :: Bool
uniformBufferStandardLayout :: Bool
imagelessFramebuffer :: Bool
scalarBlockLayout :: Bool
samplerFilterMinmax :: Bool
runtimeDescriptorArray :: Bool
descriptorBindingVariableDescriptorCount :: Bool
descriptorBindingPartiallyBound :: Bool
descriptorBindingUpdateUnusedWhilePending :: Bool
descriptorBindingStorageTexelBufferUpdateAfterBind :: Bool
descriptorBindingUniformTexelBufferUpdateAfterBind :: Bool
descriptorBindingStorageBufferUpdateAfterBind :: Bool
descriptorBindingStorageImageUpdateAfterBind :: Bool
descriptorBindingSampledImageUpdateAfterBind :: Bool
descriptorBindingUniformBufferUpdateAfterBind :: Bool
shaderStorageTexelBufferArrayNonUniformIndexing :: Bool
shaderUniformTexelBufferArrayNonUniformIndexing :: Bool
shaderInputAttachmentArrayNonUniformIndexing :: Bool
shaderStorageImageArrayNonUniformIndexing :: Bool
shaderStorageBufferArrayNonUniformIndexing :: Bool
shaderSampledImageArrayNonUniformIndexing :: Bool
shaderUniformBufferArrayNonUniformIndexing :: Bool
shaderStorageTexelBufferArrayDynamicIndexing :: Bool
shaderUniformTexelBufferArrayDynamicIndexing :: Bool
shaderInputAttachmentArrayDynamicIndexing :: Bool
descriptorIndexing :: Bool
shaderInt8 :: Bool
shaderFloat16 :: Bool
shaderSharedInt64Atomics :: Bool
shaderBufferInt64Atomics :: Bool
storagePushConstant8 :: Bool
uniformAndStorageBuffer8BitAccess :: Bool
storageBuffer8BitAccess :: Bool
drawIndirectCount :: Bool
samplerMirrorClampToEdge :: Bool
samplerMirrorClampToEdge :: Bool
drawIndirectCount :: Bool
storageBuffer8BitAccess :: Bool
uniformAndStorageBuffer8BitAccess :: Bool
storagePushConstant8 :: Bool
shaderBufferInt64Atomics :: Bool
shaderSharedInt64Atomics :: Bool
shaderFloat16 :: Bool
shaderInt8 :: Bool
descriptorIndexing :: Bool
shaderInputAttachmentArrayDynamicIndexing :: Bool
shaderUniformTexelBufferArrayDynamicIndexing :: Bool
shaderStorageTexelBufferArrayDynamicIndexing :: Bool
shaderUniformBufferArrayNonUniformIndexing :: Bool
shaderSampledImageArrayNonUniformIndexing :: Bool
shaderStorageBufferArrayNonUniformIndexing :: Bool
shaderStorageImageArrayNonUniformIndexing :: Bool
shaderInputAttachmentArrayNonUniformIndexing :: Bool
shaderUniformTexelBufferArrayNonUniformIndexing :: Bool
shaderStorageTexelBufferArrayNonUniformIndexing :: Bool
descriptorBindingUniformBufferUpdateAfterBind :: Bool
descriptorBindingSampledImageUpdateAfterBind :: Bool
descriptorBindingStorageImageUpdateAfterBind :: Bool
descriptorBindingStorageBufferUpdateAfterBind :: Bool
descriptorBindingUniformTexelBufferUpdateAfterBind :: Bool
descriptorBindingStorageTexelBufferUpdateAfterBind :: Bool
descriptorBindingUpdateUnusedWhilePending :: Bool
descriptorBindingPartiallyBound :: Bool
descriptorBindingVariableDescriptorCount :: Bool
runtimeDescriptorArray :: Bool
samplerFilterMinmax :: Bool
scalarBlockLayout :: Bool
imagelessFramebuffer :: Bool
uniformBufferStandardLayout :: Bool
shaderSubgroupExtendedTypes :: Bool
separateDepthStencilLayouts :: Bool
hostQueryReset :: Bool
timelineSemaphore :: Bool
bufferDeviceAddress :: Bool
bufferDeviceAddressCaptureReplay :: Bool
bufferDeviceAddressMultiDevice :: Bool
vulkanMemoryModel :: Bool
vulkanMemoryModelDeviceScope :: Bool
vulkanMemoryModelAvailabilityVisibilityChains :: Bool
shaderOutputViewportIndex :: Bool
subgroupBroadcastDynamicId :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0
      ]
  ByteString
"ShaderViewportIndexLayerEXT" -> (,) [] []
  ByteString
"ShaderViewportMaskNV" -> (,) [] []
  ByteString
"PerViewAttributesNV" -> (,) [] []
  ByteString
"StorageBuffer16BitAccess" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"storageBuffer16BitAccess"
          , checkFeature :: PhysicalDeviceVulkan11Features -> Bool
checkFeature = \PhysicalDeviceVulkan11Features{Bool
storageBuffer16BitAccess :: PhysicalDeviceVulkan11Features -> Bool
storageBuffer16BitAccess :: Bool
storageBuffer16BitAccess} -> Bool
storageBuffer16BitAccess
          , enableFeature :: PhysicalDeviceVulkan11Features -> PhysicalDeviceVulkan11Features
enableFeature = \PhysicalDeviceVulkan11Features{Bool
shaderDrawParameters :: PhysicalDeviceVulkan11Features -> Bool
samplerYcbcrConversion :: PhysicalDeviceVulkan11Features -> Bool
protectedMemory :: PhysicalDeviceVulkan11Features -> Bool
variablePointers :: PhysicalDeviceVulkan11Features -> Bool
variablePointersStorageBuffer :: PhysicalDeviceVulkan11Features -> Bool
multiviewTessellationShader :: PhysicalDeviceVulkan11Features -> Bool
multiviewGeometryShader :: PhysicalDeviceVulkan11Features -> Bool
multiview :: PhysicalDeviceVulkan11Features -> Bool
storageInputOutput16 :: PhysicalDeviceVulkan11Features -> Bool
storagePushConstant16 :: PhysicalDeviceVulkan11Features -> Bool
uniformAndStorageBuffer16BitAccess :: PhysicalDeviceVulkan11Features -> Bool
storageBuffer16BitAccess :: PhysicalDeviceVulkan11Features -> Bool
storageBuffer16BitAccess :: Bool
uniformAndStorageBuffer16BitAccess :: Bool
storagePushConstant16 :: Bool
storageInputOutput16 :: Bool
multiview :: Bool
multiviewGeometryShader :: Bool
multiviewTessellationShader :: Bool
variablePointersStorageBuffer :: Bool
variablePointers :: Bool
protectedMemory :: Bool
samplerYcbcrConversion :: Bool
shaderDrawParameters :: Bool
..} -> PhysicalDeviceVulkan11Features{storageBuffer16BitAccess :: Bool
storageBuffer16BitAccess = Bool
True, Bool
shaderDrawParameters :: Bool
samplerYcbcrConversion :: Bool
protectedMemory :: Bool
variablePointers :: Bool
variablePointersStorageBuffer :: Bool
multiviewTessellationShader :: Bool
multiviewGeometryShader :: Bool
multiview :: Bool
storageInputOutput16 :: Bool
storagePushConstant16 :: Bool
uniformAndStorageBuffer16BitAccess :: Bool
uniformAndStorageBuffer16BitAccess :: Bool
storagePushConstant16 :: Bool
storageInputOutput16 :: Bool
multiview :: Bool
multiviewGeometryShader :: Bool
multiviewTessellationShader :: Bool
variablePointersStorageBuffer :: Bool
variablePointers :: Bool
protectedMemory :: Bool
samplerYcbcrConversion :: Bool
shaderDrawParameters :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0
      ]
  ByteString
"UniformAndStorageBuffer16BitAccess" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"uniformAndStorageBuffer16BitAccess"
          , checkFeature :: PhysicalDeviceVulkan11Features -> Bool
checkFeature = \PhysicalDeviceVulkan11Features{Bool
uniformAndStorageBuffer16BitAccess :: PhysicalDeviceVulkan11Features -> Bool
uniformAndStorageBuffer16BitAccess :: Bool
uniformAndStorageBuffer16BitAccess} -> Bool
uniformAndStorageBuffer16BitAccess
          , enableFeature :: PhysicalDeviceVulkan11Features -> PhysicalDeviceVulkan11Features
enableFeature = \PhysicalDeviceVulkan11Features{Bool
shaderDrawParameters :: PhysicalDeviceVulkan11Features -> Bool
samplerYcbcrConversion :: PhysicalDeviceVulkan11Features -> Bool
protectedMemory :: PhysicalDeviceVulkan11Features -> Bool
variablePointers :: PhysicalDeviceVulkan11Features -> Bool
variablePointersStorageBuffer :: PhysicalDeviceVulkan11Features -> Bool
multiviewTessellationShader :: PhysicalDeviceVulkan11Features -> Bool
multiviewGeometryShader :: PhysicalDeviceVulkan11Features -> Bool
multiview :: PhysicalDeviceVulkan11Features -> Bool
storageInputOutput16 :: PhysicalDeviceVulkan11Features -> Bool
storagePushConstant16 :: PhysicalDeviceVulkan11Features -> Bool
uniformAndStorageBuffer16BitAccess :: PhysicalDeviceVulkan11Features -> Bool
storageBuffer16BitAccess :: PhysicalDeviceVulkan11Features -> Bool
storageBuffer16BitAccess :: Bool
uniformAndStorageBuffer16BitAccess :: Bool
storagePushConstant16 :: Bool
storageInputOutput16 :: Bool
multiview :: Bool
multiviewGeometryShader :: Bool
multiviewTessellationShader :: Bool
variablePointersStorageBuffer :: Bool
variablePointers :: Bool
protectedMemory :: Bool
samplerYcbcrConversion :: Bool
shaderDrawParameters :: Bool
..} -> PhysicalDeviceVulkan11Features{uniformAndStorageBuffer16BitAccess :: Bool
uniformAndStorageBuffer16BitAccess = Bool
True, Bool
shaderDrawParameters :: Bool
samplerYcbcrConversion :: Bool
protectedMemory :: Bool
variablePointers :: Bool
variablePointersStorageBuffer :: Bool
multiviewTessellationShader :: Bool
multiviewGeometryShader :: Bool
multiview :: Bool
storageInputOutput16 :: Bool
storagePushConstant16 :: Bool
storageBuffer16BitAccess :: Bool
storageBuffer16BitAccess :: Bool
storagePushConstant16 :: Bool
storageInputOutput16 :: Bool
multiview :: Bool
multiviewGeometryShader :: Bool
multiviewTessellationShader :: Bool
variablePointersStorageBuffer :: Bool
variablePointers :: Bool
protectedMemory :: Bool
samplerYcbcrConversion :: Bool
shaderDrawParameters :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0
      ]
  ByteString
"StoragePushConstant16" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"storagePushConstant16"
          , checkFeature :: PhysicalDeviceVulkan11Features -> Bool
checkFeature = \PhysicalDeviceVulkan11Features{Bool
storagePushConstant16 :: PhysicalDeviceVulkan11Features -> Bool
storagePushConstant16 :: Bool
storagePushConstant16} -> Bool
storagePushConstant16
          , enableFeature :: PhysicalDeviceVulkan11Features -> PhysicalDeviceVulkan11Features
enableFeature = \PhysicalDeviceVulkan11Features{Bool
shaderDrawParameters :: PhysicalDeviceVulkan11Features -> Bool
samplerYcbcrConversion :: PhysicalDeviceVulkan11Features -> Bool
protectedMemory :: PhysicalDeviceVulkan11Features -> Bool
variablePointers :: PhysicalDeviceVulkan11Features -> Bool
variablePointersStorageBuffer :: PhysicalDeviceVulkan11Features -> Bool
multiviewTessellationShader :: PhysicalDeviceVulkan11Features -> Bool
multiviewGeometryShader :: PhysicalDeviceVulkan11Features -> Bool
multiview :: PhysicalDeviceVulkan11Features -> Bool
storageInputOutput16 :: PhysicalDeviceVulkan11Features -> Bool
storagePushConstant16 :: PhysicalDeviceVulkan11Features -> Bool
uniformAndStorageBuffer16BitAccess :: PhysicalDeviceVulkan11Features -> Bool
storageBuffer16BitAccess :: PhysicalDeviceVulkan11Features -> Bool
storageBuffer16BitAccess :: Bool
uniformAndStorageBuffer16BitAccess :: Bool
storagePushConstant16 :: Bool
storageInputOutput16 :: Bool
multiview :: Bool
multiviewGeometryShader :: Bool
multiviewTessellationShader :: Bool
variablePointersStorageBuffer :: Bool
variablePointers :: Bool
protectedMemory :: Bool
samplerYcbcrConversion :: Bool
shaderDrawParameters :: Bool
..} -> PhysicalDeviceVulkan11Features{storagePushConstant16 :: Bool
storagePushConstant16 = Bool
True, Bool
shaderDrawParameters :: Bool
samplerYcbcrConversion :: Bool
protectedMemory :: Bool
variablePointers :: Bool
variablePointersStorageBuffer :: Bool
multiviewTessellationShader :: Bool
multiviewGeometryShader :: Bool
multiview :: Bool
storageInputOutput16 :: Bool
uniformAndStorageBuffer16BitAccess :: Bool
storageBuffer16BitAccess :: Bool
storageBuffer16BitAccess :: Bool
uniformAndStorageBuffer16BitAccess :: Bool
storageInputOutput16 :: Bool
multiview :: Bool
multiviewGeometryShader :: Bool
multiviewTessellationShader :: Bool
variablePointersStorageBuffer :: Bool
variablePointers :: Bool
protectedMemory :: Bool
samplerYcbcrConversion :: Bool
shaderDrawParameters :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0
      ]
  ByteString
"StorageInputOutput16" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
      [ RequireDeviceFeature
          { featureName :: ByteString
featureName = ByteString
"storageInputOutput16"
          , checkFeature :: PhysicalDeviceVulkan11Features -> Bool
checkFeature = \PhysicalDeviceVulkan11Features{Bool
storageInputOutput16 :: PhysicalDeviceVulkan11Features -> Bool
storageInputOutput16 :: Bool
storageInputOutput16} -> Bool
storageInputOutput16
          , enableFeature :: PhysicalDeviceVulkan11Features -> PhysicalDeviceVulkan11Features
enableFeature = \PhysicalDeviceVulkan11Features{Bool
shaderDrawParameters :: PhysicalDeviceVulkan11Features -> Bool
samplerYcbcrConversion :: PhysicalDeviceVulkan11Features -> Bool
protectedMemory :: PhysicalDeviceVulkan11Features -> Bool
variablePointers :: PhysicalDeviceVulkan11Features -> Bool
variablePointersStorageBuffer :: PhysicalDeviceVulkan11Features -> Bool
multiviewTessellationShader :: PhysicalDeviceVulkan11Features -> Bool
multiviewGeometryShader :: PhysicalDeviceVulkan11Features -> Bool
multiview :: PhysicalDeviceVulkan11Features -> Bool
storageInputOutput16 :: PhysicalDeviceVulkan11Features -> Bool
storagePushConstant16 :: PhysicalDeviceVulkan11Features -> Bool
uniformAndStorageBuffer16BitAccess :: PhysicalDeviceVulkan11Features -> Bool
storageBuffer16BitAccess :: PhysicalDeviceVulkan11Features -> Bool
storageBuffer16BitAccess :: Bool
uniformAndStorageBuffer16BitAccess :: Bool
storagePushConstant16 :: Bool
storageInputOutput16 :: Bool
multiview :: Bool
multiviewGeometryShader :: Bool
multiviewTessellationShader :: Bool
variablePointersStorageBuffer :: Bool
variablePointers :: Bool
protectedMemory :: Bool
samplerYcbcrConversion :: Bool
shaderDrawParameters :: Bool
..} -> PhysicalDeviceVulkan11Features{storageInputOutput16 :: Bool
storageInputOutput16 = Bool
True, Bool
shaderDrawParameters :: Bool
samplerYcbcrConversion :: Bool
protectedMemory :: Bool
variablePointers :: Bool
variablePointersStorageBuffer :: Bool
multiviewTessellationShader :: Bool
multiviewGeometryShader :: Bool
multiview :: Bool
storagePushConstant16 :: Bool
uniformAndStorageBuffer16BitAccess :: Bool
storageBuffer16BitAccess :: Bool
storageBuffer16BitAccess :: Bool
uniformAndStorageBuffer16BitAccess :: Bool
storagePushConstant16 :: Bool
multiview :: Bool
multiviewGeometryShader :: Bool
multiviewTessellationShader :: Bool
variablePointersStorageBuffer :: Bool
variablePointers :: Bool
protectedMemory :: Bool
samplerYcbcrConversion :: Bool
shaderDrawParameters :: Bool
..}
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0
      ]
  ByteString
"GroupNonUniform" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0]
      [ RequireDeviceProperty
          { propertyName :: ByteString
propertyName = ByteString
"VkPhysicalDeviceVulkan11Properties"
          , checkProperty :: PhysicalDeviceVulkan11Properties -> Bool
checkProperty = \PhysicalDeviceVulkan11Properties
p -> SubgroupFeatureFlagBits
SUBGROUP_FEATURE_BASIC_BIT SubgroupFeatureFlagBits -> SubgroupFeatureFlagBits -> Bool
forall a. Bits a => a -> a -> Bool
.&&. PhysicalDeviceVulkan11Properties -> SubgroupFeatureFlagBits
subgroupSupportedOperations (PhysicalDeviceVulkan11Properties
p :: PhysicalDeviceVulkan11Properties)
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0
      ]
  ByteString
"GroupNonUniformVote" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0]
      [ RequireDeviceProperty
          { propertyName :: ByteString
propertyName = ByteString
"VkPhysicalDeviceVulkan11Properties"
          , checkProperty :: PhysicalDeviceVulkan11Properties -> Bool
checkProperty = \PhysicalDeviceVulkan11Properties
p -> SubgroupFeatureFlagBits
SUBGROUP_FEATURE_VOTE_BIT SubgroupFeatureFlagBits -> SubgroupFeatureFlagBits -> Bool
forall a. Bits a => a -> a -> Bool
.&&. PhysicalDeviceVulkan11Properties -> SubgroupFeatureFlagBits
subgroupSupportedOperations (PhysicalDeviceVulkan11Properties
p :: PhysicalDeviceVulkan11Properties)
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0
      ]
  ByteString
"GroupNonUniformArithmetic" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0]
      [ RequireDeviceProperty
          { propertyName :: ByteString
propertyName = ByteString
"VkPhysicalDeviceVulkan11Properties"
          , checkProperty :: PhysicalDeviceVulkan11Properties -> Bool
checkProperty = \PhysicalDeviceVulkan11Properties
p -> SubgroupFeatureFlagBits
SUBGROUP_FEATURE_ARITHMETIC_BIT SubgroupFeatureFlagBits -> SubgroupFeatureFlagBits -> Bool
forall a. Bits a => a -> a -> Bool
.&&. PhysicalDeviceVulkan11Properties -> SubgroupFeatureFlagBits
subgroupSupportedOperations (PhysicalDeviceVulkan11Properties
p :: PhysicalDeviceVulkan11Properties)
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0
      ]
  ByteString
"GroupNonUniformBallot" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0]
      [ RequireDeviceProperty
          { propertyName :: ByteString
propertyName = ByteString
"VkPhysicalDeviceVulkan11Properties"
          , checkProperty :: PhysicalDeviceVulkan11Properties -> Bool
checkProperty = \PhysicalDeviceVulkan11Properties
p -> SubgroupFeatureFlagBits
SUBGROUP_FEATURE_BALLOT_BIT SubgroupFeatureFlagBits -> SubgroupFeatureFlagBits -> Bool
forall a. Bits a => a -> a -> Bool
.&&. PhysicalDeviceVulkan11Properties -> SubgroupFeatureFlagBits
subgroupSupportedOperations (PhysicalDeviceVulkan11Properties
p :: PhysicalDeviceVulkan11Properties)
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0
      ]
  ByteString
"GroupNonUniformShuffle" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0]
      [ RequireDeviceProperty
          { propertyName :: ByteString
propertyName = ByteString
"VkPhysicalDeviceVulkan11Properties"
          , checkProperty :: PhysicalDeviceVulkan11Properties -> Bool
checkProperty = \PhysicalDeviceVulkan11Properties
p -> SubgroupFeatureFlagBits
SUBGROUP_FEATURE_SHUFFLE_BIT SubgroupFeatureFlagBits -> SubgroupFeatureFlagBits -> Bool
forall a. Bits a => a -> a -> Bool
.&&. PhysicalDeviceVulkan11Properties -> SubgroupFeatureFlagBits
subgroupSupportedOperations (PhysicalDeviceVulkan11Properties
p :: PhysicalDeviceVulkan11Properties)
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0
      ]
  ByteString
"GroupNonUniformShuffleRelative" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0]
      [ RequireDeviceProperty
          { propertyName :: ByteString
propertyName = ByteString
"VkPhysicalDeviceVulkan11Properties"
          , checkProperty :: PhysicalDeviceVulkan11Properties -> Bool
checkProperty = \PhysicalDeviceVulkan11Properties
p -> SubgroupFeatureFlagBits
SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT SubgroupFeatureFlagBits -> SubgroupFeatureFlagBits -> Bool
forall a. Bits a => a -> a -> Bool
.&&. PhysicalDeviceVulkan11Properties -> SubgroupFeatureFlagBits
subgroupSupportedOperations (PhysicalDeviceVulkan11Properties
p :: PhysicalDeviceVulkan11Properties)
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0
      ]
  ByteString
"GroupNonUniformClustered" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0]
      [ RequireDeviceProperty
          { propertyName :: ByteString
propertyName = ByteString
"VkPhysicalDeviceVulkan11Properties"
          , checkProperty :: PhysicalDeviceVulkan11Properties -> Bool
checkProperty = \PhysicalDeviceVulkan11Properties
p -> SubgroupFeatureFlagBits
SUBGROUP_FEATURE_CLUSTERED_BIT SubgroupFeatureFlagBits -> SubgroupFeatureFlagBits -> Bool
forall a. Bits a => a -> a -> Bool
.&&. PhysicalDeviceVulkan11Properties -> SubgroupFeatureFlagBits
subgroupSupportedOperations (PhysicalDeviceVulkan11Properties
p :: PhysicalDeviceVulkan11Properties)
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0
      ]
  ByteString
"GroupNonUniformQuad" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0]
      [ RequireDeviceProperty
          { propertyName :: ByteString
propertyName = ByteString
"VkPhysicalDeviceVulkan11Properties"
          , checkProperty :: PhysicalDeviceVulkan11Properties -> Bool
checkProperty = \PhysicalDeviceVulkan11Properties
p -> SubgroupFeatureFlagBits
SUBGROUP_FEATURE_QUAD_BIT SubgroupFeatureFlagBits -> SubgroupFeatureFlagBits -> Bool
forall a. Bits a => a -> a -> Bool
.&&. PhysicalDeviceVulkan11Properties -> SubgroupFeatureFlagBits
subgroupSupportedOperations (PhysicalDeviceVulkan11Properties
p :: PhysicalDeviceVulkan11Properties)
          }
      , Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
1 Word32
0
      ]
  ByteString
"GroupNonUniformPartitionedEXT" -> (,) [] []
  ByteString
"SampleMaskPostDepthCoverage" -> (,) [] []
  ByteString
"ShaderNonUniform" ->
    (,)
      [Word32 -> InstanceRequirement
RequireInstanceVersion (Word32 -> InstanceRequirement) -> Word32 -> InstanceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
      [Word32 -> DeviceRequirement
RequireDeviceVersion (Word32 -> DeviceRequirement) -> Word32 -> DeviceRequirement
forall a b. (a -> b) -> a -> b
$ Word32 -> Word32 -> Word32 -> Word32
MAKE_API_VERSION Word32
1 Word32
2 Word32
0]
  ByteString
"RuntimeDescriptorArray" -> (,) [] []
  ByteString
"InputAttachmentArrayDynamicIndexing" -> (,) [] []
  ByteString
"UniformTexelBufferArrayDynamicIndexing" -> (,) [] []
  ByteString
"StorageTexelBufferArrayDynamicIndexing" -> (,) [] []
  ByteString
"UniformBufferArrayNonUniformIndexing" -> (,) [] []
  ByteString
"SampledImageArrayNonUniformIndexing" -> (,) [] []
  ByteString
"StorageBufferArrayNonUniformIndexing" -> (,) [] []
  ByteString
"StorageImageArrayNonUniformIndexing" -> (,) [] []
  ByteString
"InputAttachmentArrayNonUniformIndexing" -> (,) [] []
  ByteString
"UniformTexelBufferArrayNonUniformIndexing" -> (,) [] []
  ByteString
"StorageTexelBufferArrayNonUniformIndexing" -> (,) [] []
  ByteString
"FragmentFullyCoveredEXT" -> (,) [] []
  ByteString
"Float16" -> (,) [] []
  ByteString
"Int8" -> (,) [] []
  ByteString
"StorageBuffer8BitAccess" -> (,) [] []
  ByteString
"UniformAndStorageBuffer8BitAccess" -> (,) [] []
  ByteString
"StoragePushConstant8" -> (,) [] []
  ByteString
"VulkanMemoryModel" -> (,) [] []
  ByteString
"VulkanMemoryModelDeviceScope" -> (,) [] []
  ByteString
"DenormPreserve" -> (,) [] []
  ByteString
"DenormFlushToZero" -> (,) [] []
  ByteString
"SignedZeroInfNanPreserve" -> (,) [] []
  ByteString
"RoundingModeRTE" -> (,) [] []
  ByteString
"RoundingModeRTZ" -> (,) [] []
  ByteString
"ComputeDerivativeGroupQuadsKHR" -> (,) [] []
  ByteString
"ComputeDerivativeGroupLinearKHR" -> (,) [] []
  ByteString
"ImageFootprintNV" -> (,) [] []
  ByteString
"MeshShadingNV" -> (,) [] []
  ByteString
"RayTracingKHR" -> (,) [] []
  ByteString
"RayQueryKHR" -> (,) [] []
  ByteString
"RayTraversalPrimitiveCullingKHR" -> (,) [] []
  ByteString
"RayCullMaskKHR" -> (,) [] []
  ByteString
"RayTracingNV" -> (,) [] []
  ByteString
"RayTracingMotionBlurNV" -> (,) [] []
  ByteString
"TransformFeedback" -> (,) [] []
  ByteString
"GeometryStreams" -> (,) [] []
  ByteString
"FragmentDensityEXT" -> (,) [] []
  ByteString
"PhysicalStorageBufferAddresses" -> (,) [] []
  ByteString
"CooperativeMatrixNV" -> (,) [] []
  ByteString
"IntegerFunctions2INTEL" -> (,) [] []
  ByteString
"ShaderSMBuiltinsNV" -> (,) [] []
  ByteString
"FragmentShaderSampleInterlockEXT" -> (,) [] []
  ByteString
"FragmentShaderPixelInterlockEXT" -> (,) [] []
  ByteString
"FragmentShaderShadingRateInterlockEXT" -> (,) [] []
  ByteString
"DemoteToHelperInvocation" -> (,) [] []
  ByteString
"FragmentShadingRateKHR" -> (,) [] []
  ByteString
"WorkgroupMemoryExplicitLayoutKHR" -> (,) [] []
  ByteString
"WorkgroupMemoryExplicitLayout8BitAccessKHR" -> (,) [] []
  ByteString
"WorkgroupMemoryExplicitLayout16BitAccessKHR" -> (,) [] []
  ByteString
"DotProductInputAll" -> (,) [] []
  ByteString
"DotProductInput4x8Bit" -> (,) [] []
  ByteString
"DotProductInput4x8BitPacked" -> (,) [] []
  ByteString
"DotProduct" -> (,) [] []
  ByteString
"FragmentBarycentricKHR" -> (,) [] []
  ByteString
"TextureSampleWeightedQCOM" -> (,) [] []
  ByteString
"TextureBoxFilterQCOM" -> (,) [] []
  ByteString
"TextureBlockMatchQCOM" -> (,) [] []
  ByteString
"TextureBlockMatch2QCOM" -> (,) [] []
  ByteString
"MeshShadingEXT" -> (,) [] []
  ByteString
"RayTracingOpacityMicromapEXT" -> (,) [] []
  ByteString
"CoreBuiltinsARM" -> (,) [] []
  ByteString
"ShaderInvocationReorderNV" -> (,) [] []
  ByteString
"ClusterCullingShadingHUAWEI" -> (,) [] []
  ByteString
"RayTracingPositionFetchKHR" -> (,) [] []
  ByteString
"RayQueryPositionFetchKHR" -> (,) [] []
  ByteString
"TileImageColorReadAccessEXT" -> (,) [] []
  ByteString
"TileImageDepthReadAccessEXT" -> (,) [] []
  ByteString
"TileImageStencilReadAccessEXT" -> (,) [] []
  ByteString
"CooperativeMatrixKHR" -> (,) [] []
  ByteString
"CooperativeMatrixConversionQCOM" -> (,) [] []
  ByteString
"ShaderEnqueueAMDX" -> (,) [] []
  ByteString
"GroupNonUniformRotateKHR" -> (,) [] []
  ByteString
"ExpectAssumeKHR" -> (,) [] []
  ByteString
"FloatControls2" -> (,) [] []
  ByteString
"QuadControlKHR" -> (,) [] []
  ByteString
"BFloat16TypeKHR" -> (,) [] []
  ByteString
"BFloat16DotProductKHR" -> (,) [] []
  ByteString
"BFloat16CooperativeMatrixKHR" -> (,) [] []
  ByteString
"RawAccessChainsNV" -> (,) [] []
  ByteString
"ReplicatedCompositesEXT" -> (,) [] []
  ByteString
"TensorAddressingNV" -> (,) [] []
  ByteString
"CooperativeMatrixReductionsNV" -> (,) [] []
  ByteString
"CooperativeMatrixConversionsNV" -> (,) [] []
  ByteString
"CooperativeMatrixPerElementOperationsNV" -> (,) [] []
  ByteString
"CooperativeMatrixTensorAddressingNV" -> (,) [] []
  ByteString
"CooperativeMatrixBlockLoadsNV" -> (,) [] []
  ByteString
"RayTracingSpheresGeometryNV" -> (,) [] []
  ByteString
"RayTracingLinearSweptSpheresGeometryNV" -> (,) [] []
  ByteString
"RayTracingClusterAccelerationStructureNV" -> (,) [] []
  ByteString
"CooperativeVectorNV" -> (,) [] []
  ByteString
"CooperativeVectorTrainingNV" -> (,) [] []
  ByteString
"PushConstantBanksNV" -> (,) [] []
  ByteString
"ShaderInvocationReorderEXT" -> (,) [] []
  ByteString
"TileShadingQCOM" -> (,) [] []
  ByteString
"TensorsARM" -> (,) [] []
  ByteString
"StorageTensorArrayDynamicIndexingARM" -> (,) [] []
  ByteString
"StorageTensorArrayNonUniformIndexingARM" -> (,) [] []
  ByteString
"Float8EXT" -> (,) [] []
  ByteString
"Float8CooperativeMatrixEXT" -> (,) [] []
  ByteString
"GraphARM" -> (,) [] []
  ByteString
"UntypedPointersKHR" -> (,) [] []
  ByteString
"FMAKHR" -> (,) [] []
  ByteString
"Shader64BitIndexingEXT" -> (,) [] []
  ByteString
"LongVectorEXT" -> (,) [] []
  ByteString
"DescriptorHeapEXT" -> (,) [] []
  ByteString
_ -> ([], [])