{-# language CPP #-} -- | = Name -- -- VK_EXT_texture_compression_astc_hdr - device extension -- -- == VK_EXT_texture_compression_astc_hdr -- -- [__Name String__] -- @VK_EXT_texture_compression_astc_hdr@ -- -- [__Extension Type__] -- Device extension -- -- [__Registered Extension Number__] -- 67 -- -- [__Revision__] -- 1 -- -- [__Extension and Version Dependencies__] -- -- - Requires Vulkan 1.0 -- -- - Requires @VK_KHR_get_physical_device_properties2@ -- -- [__Contact__] -- -- - Jan-Harald Fredriksen -- > > -- -- == Other Extension Metadata -- -- [__Last Modified Date__] -- 2019-05-28 -- -- [__IP Status__] -- No known issues. -- -- [__Contributors__] -- -- - Jan-Harald Fredriksen, Arm -- -- == Description -- -- This extension adds support for textures compressed using the Adaptive -- Scalable Texture Compression (ASTC) High Dynamic Range (HDR) profile. -- -- When this extension is enabled, the HDR profile is supported for all -- ASTC formats listed in -- . -- -- == New Structures -- -- - Extending -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2', -- 'Vulkan.Core10.Device.DeviceCreateInfo': -- -- - 'PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT' -- -- == New Enum Constants -- -- - 'EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME' -- -- - 'EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION' -- -- - Extending 'Vulkan.Core10.Enums.Format.Format': -- -- - 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT' -- -- - 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT' -- -- - 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT' -- -- - 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT' -- -- - 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT' -- -- - 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT' -- -- - 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT' -- -- - 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT' -- -- - 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT' -- -- - 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT' -- -- - 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT' -- -- - 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT' -- -- - 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT' -- -- - 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT' -- -- - Extending 'Vulkan.Core10.Enums.StructureType.StructureType': -- -- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT' -- -- == Issues -- -- 1) Should we add a feature or limit for this functionality? -- -- Yes. It is consistent with the ASTC LDR support to add a feature like -- textureCompressionASTC_HDR. -- -- The feature is strictly speaking redundant as long as this is just an -- extension; it would be sufficient to just enable the extension. But -- adding the feature is more forward-looking if wanted to make this an -- optional core feature in the future. -- -- 2) Should we introduce new format enums for HDR? -- -- Yes. Vulkan 1.0 describes the ASTC format enums as UNORM, e.g. -- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_4x4_UNORM_BLOCK', so it is -- confusing to make these contain HDR data. Note that the OpenGL (ES) -- extensions did not make this distinction because a single ASTC HDR -- texture may contain both unorm and float blocks. Implementations /may/ -- not be able to distinguish between LDR and HDR ASTC textures internally -- and just treat them as the same format, i.e. if this extension is -- supported then sampling from a -- 'Vulkan.Core10.Enums.Format.FORMAT_ASTC_4x4_UNORM_BLOCK' image format -- /may/ return HDR results. Applications /can/ get predictable results by -- using the appropriate image format. -- -- == Version History -- -- - Revision 1, 2019-05-28 (Jan-Harald Fredriksen) -- -- - Initial version -- -- == See Also -- -- 'PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT' -- -- == Document Notes -- -- For more information, see the -- -- -- This page is a generated document. Fixes and changes should be made to -- the generator scripts, not directly. module Vulkan.Extensions.VK_EXT_texture_compression_astc_hdr (PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT) where import Vulkan.CStruct (FromCStruct) import Vulkan.CStruct (ToCStruct) import Data.Kind (Type) data PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT instance ToCStruct PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT instance Show PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT instance FromCStruct PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT