All Versions
Latest Version
Avg Release Cycle
27 days
Latest Release
1097 days ago

Changelog History
Page 1

  • v0.9.0 Changes

    June 18, 2021
    • This is the final crates-published release of gfx-hal. gfx-hal development was mainly driven by wgpu which has now switched to its own GPU abstraction: wgpu-hal. As such, gfx-hal will be in maintence mode until the story of gfx-portability is figured out. Read more about the transition in #3768.
    • MTL: Prevent accessing NSView on other threads.
    • Fix panics when android apps reopen.
    • Support dynamic array sizes on metal.
    • Added backend agnostic RenderDoc captures.
    • Allow initialization of gfx objects from raw handles.
    • Add missing features to the dx12 backend that are needed by wgpu.
    • Made PhysicalDevice::enabled_extensions public.
    • Added the ability to import formeign memory
    • GLES: Deferred deleting shaders until after linking
    • GLES: Fix texture views
    • GLES: Fix nearest neighbor filtering.
    • Assorted: Documentation fixes
  • v0.8.2 Changes

    May 08, 2021
    • fix linking to QuartzCore
  • v0.8.0 Changes

    April 29, 2021
    • Naga is the required and preferred shader translation path in Metal and OpenGL
    • enabling SPIRV-Cross is optional behind cross feature API:
      • all backends can create shader modules from naga::Module
      • sampler reduction modes (min/max samplers)
      • image view creation requires image::Usage to be specified
      • timestamp period query is moved to the Queue
      • DescriptorLimits is added to consolidate descriptor-related limits and its fields changed from usize to u32
      • Limits and Capabilities structures merged together as PhysicalDeviceProperties
      • Entries for Mesh Shading and Descriptor Indexing added to PhysicalDeviceProperties
      • buffer descriptor indexing
      • sparse memory binding
      • blend color is renamed to blend constants
      • debug capture API for interfacing with XCode/RenderDoc/PIX
      • better shader and pipeline creation errors
    • Infrastructure:
      • the new "bench" example is added
    • Metal backend:
      • pipeline cache support with binary archives
      • profiling integration
      • immutable sampler support on Naga path
      • improve window resizing, expose "present with transaction" option
  • v0.7.0 Changes

    January 30, 2021
    • Borrow and ExactSizeIterator bounds are removed from the iterators
    • error improvements:
      • use thiserror for errors
      • variants and a few names are refactored
    • API external synchronization constraints now match Vulkan, &mut changes affected the following parameters:
      • event in Device::set_event and Device::reset_event
      • fence in Device::reset_fences and Queue::submit
      • destination sets in write_descriptor_sets and copy_descriptor_sets
      • memory in map_memory and unmap_memory
      • queue in Queue::wait_idle
      • semaphore in Queue::present
    • ImageFeature improvements:
      • new STORAGE_READ_WRITE bit, indicating that the storage can be read and written within the same draw/dispatch call
      • new TRANSFER_SRC and TRANSFER_DST bits, following VK_KHR_maintenance1
      • new SAMPLED_MINMAX bit, following VK_EXT_sampling_minmax
    • Framebuffers become image-less, following VK_KHR_imageless_framebuffer
    • the old swapchain model is removed, and the new one is updated to match the backends even better
    • debug names are supported for all objectr
    • other API changes:
      • bind_index_buffer now doesn't need a separate structure
      • plural versions of reset_fence and create_xx_pipeline are removed
      • swapchain images can be used for transfer operations
      • separate feature for comparison mutable samplers
      • pipeline descriptor vectors are replaced with slices
      • features for non-normalized mutable samplers
      • Capabilities structure with supported dynamic state flags
    • OpenGL backend improvements:
      • finally has the API fully matching gfx-hal
      • now only uses OpenGL ES on Linux/Android/Web targets
      • binding model has been completely rewritten
      • various number of fixed in rendering, memory mapping, and other areas

    ๐Ÿš€ backend-dx12-unreleased

    • fix SPIR-V entry point selection
  • v0.6.7 Changes

    October 12, 2020
    • get proper support for compressed textures
  • v0.6.6 Changes

    October 05, 2020
    • allow color blend factors to be used on alpha channel
  • v0.6.5 Changes

    October 15, 2020
    • implement command buffer markers
    • debug names for render passes and descriptor sets
  • v0.6.4 Changes

    September 23, 2020
    • fix memory flush ranges
    • support presentation modes
  • v0.6.3 Changes

    August 31, 2020
    • update spirv_cross to 0.21:
      • force zero initialization in all generated shaders
      • force the use of native arrays for MSL
  • v0.6.2 Changes

    August 19, 2020
    • fix bindings filter by shader stages
    • implement copies from buffers into R8, RG8, and RGBA8 textures
    • fix read-only storage buffer support
    • fix race condition in internal shader operations