Skip to content

Releases: gfx-rs/portability

Support VK_KHR_portability_subset

20 Sep 04:24
Compare
Choose a tag to compare

This release comes with support for KHR of the portability extension (v1).
It also fixes the multiple frames in flight with the new swapchain model, which allows us to run Dota2 again:

portability-dota2-small

New swapchain model

26 Aug 03:28
Compare
Choose a tag to compare

The main feature (or anti-feature) of the release is the completely new swapchain model. See PR #210 for more info. TL;DR: it's smooth and fast, much better suited to Metal and D3D, but it's not compatible with some obscure use cases. So it either works great, or it doesn't work at all, which is arguably an improvement from the previous "mostly sometimes works". One of the side effects, for example, is proper fullscreen support.

As always, there are many correctness fixes, including (but not limited to):

  • image clears
  • border color support
  • added more limits that were missing
  • support for VK_KHR_get_surface_capabilities2

The highlight app of this release is Filament compatibility. It is a real-time physically based rendering engine from Google:
portability-filament-suzanne

Events support

22 Jul 17:43
Compare
Choose a tag to compare

We've done a number of binding model improvements, added support for VkEvent as well as experimented with Metal Argument Buffers (available behind GFX_METAL_ARGUMENTS env var, not ready for wide usage yet). In terms of applications, we have gzDoom running with a minor tweak to WSI:

Screen Shot 2019-07-22 at 13 41 55

vkQuake3 compatibility

27 Mar 14:27
Compare
Choose a tag to compare

The release carries a number of small patches necessary to get vkQuake3 going on Metal. It also improves the Diligent Engine support.

vkQuake3

VSand and Diligent Engine compatibility

21 Mar 20:46
Compare
Choose a tag to compare

The release features many small improvements:

  • less mem-copying around when allocating handles and populating vectors
  • more detailed limits
  • multiple submissions support
  • respect descriptor pool creation flags
  • Dx12 fixes for image view and vertex buffer binding
  • Metal retaining of NSView

vsand

Portability extension v0.2

09 Feb 16:45
Compare
Choose a tag to compare

The highlight of this release is official support for v0.2 of VK_EXTX_portability_subset.

Metal backend has seen a few important improvements as well:

  • basic support for secondary command buffers
  • improved surface handling

Dolphin compatibility

02 Dec 12:59
Compare
Choose a tag to compare

The release brings a number of improvements:

  • better error handling
  • more sophisticated presentation pipeline
  • dual source blending, and more

44739391-a4810c00-aac5-11e8-85c0-ae6fea747d5e

Latest release from the master branch

29 Aug 14:55
Compare
Choose a tag to compare
Pre-release
latest

latest

Multi-passed VkQuake

10 Sep 01:00
Compare
Choose a tag to compare

This release brings a bag of correctness fixes as well as the multi-pass support. It can run VkQuake without Metal validation errors:
VkQuake

LunarG cube example

06 Sep 10:40
Compare
Choose a tag to compare

This is the first named release of gfx-portability, focused on Metal. It's compatible with Vulkan ICD interface and can be used to run cube.app and vulkaninfo bundled in LunarG SDK.

gfx-macos-lunarg-cube