Skip to content

Latest commit

 

History

History
532 lines (397 loc) · 15.1 KB

File metadata and controls

532 lines (397 loc) · 15.1 KB

Change Log

[3.27] - 2026-06-13

Bump API version to v1.4.351 — first Vulkan 1.4 release, covering spec versions 1.4.303 through 1.4.351.

Vulkan 1.4 Core

New Vulkan.Core14 module. The following 15 extensions are promoted to core:

  • VK_EXT_host_image_copy
  • VK_EXT_pipeline_protected_access
  • VK_EXT_pipeline_robustness
  • VK_KHR_dynamic_rendering_local_read
  • VK_KHR_global_priority
  • VK_KHR_index_type_uint8
  • VK_KHR_line_rasterization
  • VK_KHR_maintenance5
  • VK_KHR_maintenance6
  • VK_KHR_map_memory2
  • VK_KHR_push_descriptor
  • VK_KHR_shader_expect_assume
  • VK_KHR_shader_float_controls2
  • VK_KHR_shader_subgroup_rotate
  • VK_KHR_vertex_attribute_divisor

Types like BindDescriptorSetsInfoKHR now have unprefixed core aliases (BindDescriptorSetsInfo).

Breaking Changes

  • Vulkan.Core10.Pipeline split into Vulkan.Core10.ComputePipeline and Vulkan.Core10.GraphicsPipeline. Code importing Vulkan.Core10.Pipeline directly must update imports. Importing via Vulkan.Core10 is unaffected.
  • AccelerationStructureGeometryKHR is now extensible and takes a type-level list parameter (AccelerationStructureGeometryKHR '[]). The geometries field now expects SomeStruct-wrapped values.
  • ResourceDescriptorDataEXT union constructors renamed to avoid ambiguity with handle types (e.g. ImageAnImage, TensorARMATensorARM).
  • Deprecated KHR/EXT-suffixed constants removed after core promotion: LUID_SIZE_KHR, QUEUE_FAMILY_EXTERNAL_KHR, MAX_DEVICE_GROUP_SIZE_KHR, MAX_DRIVER_NAME_SIZE_KHR, MAX_DRIVER_INFO_SIZE_KHR, SHADER_UNUSED_NV, MAX_GLOBAL_PRIORITY_SIZE_EXT, DYNAMIC_STATE_LINE_STIPPLE_KHR (now DYNAMIC_STATE_LINE_STIPPLE).
  • Some types moved between extension modules due to XML restructuring of conditional <require depends="..."> blocks (e.g. types previously in VK_KHR_device_group now live in VK_KHR_swapchain).

New KHR Extensions

  • VK_KHR_copy_memory_indirect
  • VK_KHR_depth_clamp_zero_one
  • VK_KHR_device_address_commands
  • VK_KHR_device_fault (promoted from VK_EXT_device_fault)
  • VK_KHR_internally_synchronized_queues
  • VK_KHR_maintenance8
  • VK_KHR_maintenance9
  • VK_KHR_maintenance10
  • VK_KHR_maintenance11
  • VK_KHR_opacity_micromap (promoted from VK_EXT_opacity_micromap)
  • VK_KHR_present_id2
  • VK_KHR_present_mode_fifo_latest_ready
  • VK_KHR_present_wait2
  • VK_KHR_robustness2
  • VK_KHR_shader_abort
  • VK_KHR_shader_bfloat16
  • VK_KHR_shader_constant_data
  • VK_KHR_shader_fma
  • VK_KHR_shader_untyped_pointers
  • VK_KHR_surface_maintenance1
  • VK_KHR_swapchain_maintenance1
  • VK_KHR_unified_image_layouts

New EXT Extensions

  • VK_EXT_custom_resolve
  • VK_EXT_descriptor_heap
  • VK_EXT_external_memory_metal
  • VK_EXT_fragment_density_map_offset
  • VK_EXT_memory_decompression
  • VK_EXT_present_timing
  • VK_EXT_primitive_restart_index
  • VK_EXT_ray_tracing_invocation_reorder
  • VK_EXT_shader_64bit_indexing
  • VK_EXT_shader_float8
  • VK_EXT_shader_long_vector
  • VK_EXT_shader_split_barrier
  • VK_EXT_shader_subgroup_partitioned
  • VK_EXT_shader_uniform_buffer_unsized_array
  • VK_EXT_texture_compression_astc_3d
  • VK_EXT_zero_initialize_device_memory

New Vendor Extensions

  • AMD: gpa_interface
  • ARM: tensors, data_graph, format_pack, pipeline_opacity_micromap, data_graph_instruction_set_tosa, data_graph_neural_accelerator_statistics, data_graph_optical_flow, shader_instrumentation
  • AMDX: dense_geometry_format
  • NV: cooperative_vector, external_compute_queue, ray_tracing_linear_swept_spheres, present_metering, push_constant_bank, compute_occupancy_priority
  • QCOM: tile_shading, tile_memory_heap, cooperative_matrix_conversion, data_graph_model, elapsed_timer_query, image_processing3, queue_perf_hint, shader_multiple_wait_queues
  • SEC: pipeline_cache_incremental_mode, throttle_hint
  • VALVE: fragment_density_map_layered, shader_mixed_float_dot_product

Other

  • ~50 new format enumerants: ARM 14/12/10-bit packed formats, 3D ASTC, promoted FORMAT_A8_UNORM and FORMAT_A1B5G5R5_UNORM_PACK16.

[3.26.6] - 2026-03-07

  • Bump API version to v1.3.302
    • Last in the 1.3 series.

[3.26.5] - 2026-03-07

  • Bump API version to v1.3.278

[3.26.5] - 2026-03-05

  • Bump API version to v1.3.274
  • Bump API version to v1.3.275
  • Bump API version to v1.3.276
    • A minor breaking change that debugMessage text is now Maybe.
  • Bump API version to v1.3.277

[3.26.4] - 2025-05-31

  • Bump API version to v1.3.273

[3.26.3] - 2025-05-18

  • Bump API version to v1.3.271

[3.26.2] - 2024-06-28

  • New flag darwin-lib-dirs that auto-adds LunarG dylibs. Requires Cabal >=3.10.3.
  • Fix for GHC 9.8.2

[3.26.1] - 2023-10-21

  • Bump API version to v1.3.269

[3.26] - 2023-10-17

  • Bump API version to v1.3.268
    • A breaking change is that VkBufferMemoryBarrier has extensions, and as such must be wrapped with SomeStruct when being passed in lists, for example in cmdPipelineBarrier

[3.25] - 2023-10-17

  • Bump API version to v1.3.246
    • VulkanSC is not included

[3.24.5] - 2023-02-03

  • Bump API version to v1.3.240

[3.24.4] - 2023-01-20

  • Bump API version to v1.3.239

[3.24.3] - 2022-12-28

  • Bump API version to v1.3.238

[3.24.2] - 2022-12-27

  • Bump API version to v1.3.237

[3.24.1] - 2022-12-27

  • Bump API version to v1.3.236

[3.24] - 2022-12-27

  • Bump API version to v1.3.235

[3.23.4] - 2022-12-27

  • Bump API version to v1.3.234

[3.23.3] - 2022-12-27

  • Bump API version to v1.3.233

[3.23.2] - 2022-12-27

  • Bump API version to v1.3.232

[3.23.1] - 2022-12-26

  • Bump API version to v1.3.231

[3.23] - 2022-10-02

  • Bump API version to v1.3.230

[3.22.1] - 2022-09-25

  • Bump API version to v1.3.229

[3.22] - 2022-09-24

  • Bump API version to v1.3.228

[3.21.1] - 2022-09-12

  • Bump API version to v1.3.227

[3.21] - 2022-09-05

  • Bump API version to v1.3.226

[3.20] - 2022-09-05

  • Bump API version to v1.3.217

[3.19] - 2022-09-05

  • Bump API version to v1.3.216

[3.18.1] - 2022-09-05

  • Bump API version to v1.3.214

[3.18] - 2022-09-05

  • Bump API version to v1.3.213

[3.17.2] - 2022-04-21

  • Bump API version to v1.3.212

[3.17.1] - 2022-04-07

  • Bump API version to v1.3.211

[3.17] - 2022-03-31

  • Bump API version to v1.3.210
    • A significant breaking change is that GraphicsPipelineCreateInfo.rasterizationState is now optional (it's unused when VK_EXT_graphics_pipeline_library is enabled). Hence, this member is wrapped in Maybe

[3.16.2] - 2022-02-07

  • Zero instance for ()

[3.16.1] - 2022-02-05

  • Bump API version to v1.3.205

[3.16] - 2022-02-05

  • Bump API version to v1.3.204

[3.15] - 2022-01-14

  • Bump API version to v1.2.203

[3.14.2] - 2021-12-07

  • Bump API version to v1.2.202

[3.14.1] - 2021-12-01

  • Bump API version to v1.2.201

[3.14] - 2021-11-25

  • Bump API version to v1.2.200

[3.13.4] - 2021-11-17

  • Support ghc-9.3.20211111
  • No more warnings under 9.2

[3.13.3] - 2021-11-17

  • Bump API version to v1.2.199

[3.13.2] - 2021-11-09

  • Bump API version to v1.2.198

[3.13.1] - 2021-11-03

  • Bump API version to v1.2.197

[3.13] - 2021-10-14

  • Bump API version to v1.2.196

[3.12.2] - 2021-08-18

  • Bump API version to v1.2.189

[3.12.1] - 2021-08-12

  • Bump API version to v1.2.188

[3.12] - 2021-08-12

  • Bump API version to v1.2.188

[3.11.5] - 2021-08-03

  • Bump API version to v1.2.187

[3.11.4.1] - 2021-07-30

  • Documentation fixes

[3.11.4] - 2021-07-27

  • Bump API version to v1.2.186

[3.11.3] - 2021-07-21

  • Bump API version to v1.2.185

[3.11.2] - 2021-07-07

  • Bump API version to v1.2.184

[3.11.1] - 2021-06-28

  • Bump API version to v1.2.183

[3.11.0.2] - 2021-06-26

  • Tweak cabal file to please cabal check

[3.11.0.1] - 2021-06-26

  • Use allocaBytes over allocaBytesAligned where possible

[3.11] - 2021-06-21

  • Bump API version to v1.2.182

[3.10.4] - 2021-06-14

  • Bump API version to v1.2.181

[3.10.3] - 2021-06-07

  • Bump API version to v1.2.180

[3.10.2] - 2021-06-05

  • Bump API version to v1.2.179

[3.10.1] - 2021-03-31

[3.10] - 2021-02-18

  • Bump API version to v1.2.170

[3.9.1] - 2021-02-06

[3.10] - 2021-01-09

  • Make zero instance for TransformMatrixKHR return identity matrix. See expipiplus1/vulkan#240
  • Remove explicit 'count' field in AccelerationStructureBuildGeometryInfoKHR. See expipiplus1/vulkan#239
  • Do not bother poking empty vectors for zero pokes
  • Use 0 for spec version requirements for SPIRV Requirements, See expipiplus1/vulkan#249

[3.8.3] - 2021-01-04

  • Bump API version to v1.2.166

[3.8.2] - 2020-12-14

  • Bump API version to v1.2.165

[3.8.1] - 2020-12-08

  • Bump API version to v1.2.164

  • Add cabal flag trace-calls to enable calling traceEventIO before and after every Vulkan command

[3.8] - 2020-11-30

  • Bump API version to v1.2.163
  • Add Vulkan.Requirement, a module for specifying requirements for Devices and Instances
  • Expose SPIR-V Extensions and Capabilities in Vulkan.SPIRVRequirements
  • Expose extension dependencies in Vulkan.Extensions.Dependencies
  • Squash some warnings

Thanks to @sheaf for their help with this release!

[3.7] - 2020-11-24

  • Bump API version to v1.2.162
    • This is a breaking change to anyone using VK_KHR_ray_tracing (which no longer exists)
  • Add bracketing functions for withRayTracingPipelinesKHR and withRayTracingPipelinesNV
  • Add all possible storable instances for Vulkan structs
  • Remove tuples from the constructors of ClearColorValue
  • Unpack top level tuple in TransformMatrixKHR, the matrix record accessor has been split into matrixRow0, matrixRow1, and matrixRow2
  • Add extension documentation to extension modules.
  • Tweak ordering of documentation in Haddocks to make it more user-friendly

[3.6.15] - 2020-11-16

  • Bump API version to v1.2.161

[3.6.14] - 2020-11-15

  • Add FiniteBits instance for Flags
  • Fix getting function pointers for functions which have aliases (those which have been promoted to core versions mostly)

[3.6.13] - 2020-11-09

  • Bump API version to v1.2.160

[3.6.12] - 2020-11-03

  • Bump API version to v1.2.159
  • Include enum aliases defined in <enums> sections, until now only those enum aliases in features or extensions were used.

[3.6.11.1] - 2020-11-01

  • Raise bound on base

[3.6.11] - 2020-10-27

  • Bump API version to v1.2.158

[3.6.10] - 2020-10-12

  • Bump API version to v1.2.157

[3.6.9] - 2020-10-07

  • Bump API version to v1.2.156

[3.6.8] - 2020-09-28

  • Bump API version to v1.2.155

[3.6.7] - 2020-09-25

  • Bump API version to v1.2.154

[3.6.6] - 2020-08-27

  • Bump API version to 1.2.152
  • NoDuplicateRecordFields for Vulkan.Dynamic

[3.6.5] - 2020-08-17

  • Bump API version to 1.2.151

[3.6.4] - 2020-08-11

  • Bump API version to 1.2.150

[3.6.3] - 2020-08-05

  • Bump API version to 1.2.149

[3.6.2] - 2020-07-21

  • Bump API version to 1.2.148

[3.6.1] - 2020-07-14

  • Bump API version to 1.2.147

[3.6] - 2020-07-05

  • Bump API version to 1.2.146

[3.5] - 2020-06-22

  • Bump API version to 1.2.145
  • Bump API version to 1.2.143
  • Bump API version to 1.2.144
    • Only documentation and version number changes

[3.4] - 2020-06-03

  • Bump API version to 1.2.142
    • The spec includes specific locations for types, so we use them
    • BaseType -> FundamentalTypes
  • Add withSomeStruct helper

[3.3.1] - 2020-05-18

  • Bump API version to 1.2.141
  • Generate haddocks for command parameters, #92
  • Eq instances for some simple structs, #94
  • Generate safe FFI versions of blocking functions (Those with "wait" in the name or which can return "TIMEOUT"), #96
  • Add cabal flag for enable deriving Generic for structs, #99
  • Add complete pragmas for ::& and :&

[3.3] - 2020-05-07

  • Move package from Graphics.Vulkan to just Vulkan, #60
  • Bump API version to 1.2.140
  • Make the continuation the last argument to 'bracket' functions, discussion on #49
  • Begin/End bracket pairs are now called 'useXXX' rather than 'withXXX', #66
  • Begin/End bracket pairs where it's not necessary to 'End' on an exception have a simplified type, discussion on #49
  • Clarify optional vector lengths by preserving the length member, #71
  • Infer lengths of preserved length members when they are 0
  • Throw an exception when trying to call a null function pointer, #42
  • Implement HasObjectType class to automate getting VkObjectType, #54
  • Add constraints to check that structs are correctly extended
  • Simplify type of withDescriptorSets, it no longer requires the user specifying the DescriptorPool twice, #81
  • Wrap with SomeStruct extensible structs in Vector arguments to commands, #82

Thanks to @dpwiz for helping with this release!

[3.2.0.0] - 2020-05-02

  • Update API version 1.2.139
  • Bracket functions now take as an argument a function to consume a pair of begin/end actions
  • Change Either Word32 vec to vec where the non-empty length is constrained to be the length of another known vector
  • Move Counter prefix on PerformanceCounterResult to be a suffix
  • Drop dependency on vector-sized, it was only used internally

[3.1.0.0] - 2020-03-10

  • Commands are now in MonadIO
  • Improved documentation
  • More bracket functions for cmds
  • Add :& and ::& pattern synonyms for extensible struct construction

[3.0.0.0] - 2020-02-29

  • Rewrite, bindings are now much more idiomatic Haskell
  • Add sdl-triangle and info examples

[2.1.0.0] - 2018-04-22

  • Expose dynamic loader from Graphics.Vulkan.Dymamic
  • Turn on platform specific features by default
  • Make all foreign imports unsafe
  • Add option for enabling safe calls

[2.0.0.1] - 2018-04-21

  • Improved documentation (links, tables, math)
  • Use cpphs for preprocessing

[2.0.0.0] - 2018-04-20

  • Total rewrite of the generator
  • All extensions are in here
  • Split into core versions
  • Documentation on most things

[1.7.0.0] - 2016-04-13

  • Fix struct member names containing digits being erroneously truncated

[1.6.0.0] - 2016-03-30

  • Add DebugReport, Display, DisplaySwapchain and Swapchain extension modules

[1.5.1.0] - 2016-03-07

  • Add enumeration values for VkCompositeAlphaFlagsKHR and VkSurfaceTransformFlagsKHR

[1.5.0.0] - 2016-03-01

  • Remove VK_NULL_HANDLE
  • Remove Vulkan.Graphics.HeaderBoilerplate

[1.3.2.0] - 2016-02-29

  • Add type signatures to version functions

[1.3.1.0] - 2016-02-29

  • Add version information and generator to Graphics.Vulkan.Version

[1.3.0.0] - 2016-02-29

  • Add Read and Show instances for bitmasks

[1.2.0.0] - 2016-02-29

  • Add Read and Show instances for enumerations

[1.0.0.0] - 2016-02-25

  • Split the interface up into many modules.

[0.2.0.0] - 2016-02-22

  • Make wildcard matches lazy for sizeof and alignment

[0.1.0.0] - 2016-02-21

  • Initial release targeting Vulkan 1.0.3 Core