Vulkan 1.3.285 Released With New Extension From Valve VKD3D-Proton Developer
![VULKAN](/assets/categories/vulkan.webp)
Hans-Kristian Arntzen of Valve's Linux graphics team who is known for his work on VKD3D-Proton for Direct3D 12 over Vulkan is the one responsible for this new extension: VK_MESA_image_alignment_control. The VK_MESA_image_alignment_control extension is for letting applications/games request a narrower alignment for images than the implementation would otherwise require.
The extension text does confirm the VK_MESA_image_alignment_control motivation is indeed around API layering like with VKD3D-Proton:
"In some API layering use cases such as D3D12, it is beneficial to be able to control the alignment, since certain alignments for placed resources are guaranteed to be supported, and emulating that expectation requires unnecessary padding of allocations."
This new VK_MESA_image_alignment_control extension is the main new feature of today's Vulkan 1.3.285 release.
In the past hour following the API spec update, Hans-Kristian Arntzen already opened a merge request implementing VK_MESA_image_alignment_control for the Radeon RADV driver. Arntzen added there:
"This implements VK_MESA_image_alignment_control, which lets us avoid allocation bloat in D3D12 placed resources, especially on RDNA3, which likes to use 256 KiB alignment. D3D12 requires 64 KiB for placed resources, and to work around this, we had to pad allocations needlessly. Similarly, there are rules for when 4 KiB alignment is guaranteed."
This should be landing soon in Mesa and there is also now a pull request for making use of this extension within VKD3D-Proton.
Add A Comment